马赛克的克星,真的来了!

今天跟大家聊聊 MAE,何恺明大神的新作。

我们先说下 MAE 的任务:

简单讲:将图片随机遮挡然后复原

并且遮挡的比例,非常大超过整张图的 80% ,我们直接看效果:

第一列是遮挡图,第二列是修复结果,第三列是原图。

图片太多,可能看不清,我们单看一个:

看这个遮挡的程度,表针、表盘几乎都看不见了。但是 MAE 依然能够修复出来:

这个效果真的很惊艳!

甚至对于遮挡 95% 面积的图片依然 work。

看左图,你能看出来被遮挡的是蘑菇吗??

MAE 却能轻松修复出来。

MAE

MAE 的意义不仅在这个修复遮挡,去掉 mask 本身。更在于为 CV 领域大一统的预训练模型提供了无限的想象。

做过 NLP 的小伙伴应该知道,在 NLP 任务中,Bert 已经一统江湖。各子任务(如翻译、生成、文本理解等)均可使用相同的无监督预训练模型。这保证了每个任务都能有非常不错的效果。

但在 CV 任务中,却各玩各的,分类任务有自己的无监督学习,检测任务有自己的无监督学习,每个 CV 领域的子任务,都有自己一套无监督学习,一直无法统一。

而 MAE 一出,可以想象大一统的 CV 无监督预训练模型的时代已不远矣。

可能这段话,一些刚入门的小伙伴看不太懂。

没关系,慢慢学。学了 Bert,你就明白这意味着什么了。MAE 就是类似 Bert 存在的东西,可以认为它就是 Bert 的一个 CV 版。

接下来简单讲解下 MAE。

Vit

讲解 MAE 之前不得不先说下 Vit。

红遍大江南北的 Vision Transformer,ViT。

领域内的小伙伴,或多或少都应该听说过。

它将 Transformer 应用到了 CV 上面,将整个图分为 16 * 16 的小方块,每个方块做成一个词,然后放进 Transformer 进行训练。

从 ViT 开始,CV 小伙伴们终于可以更优雅地使用 Transformer了。

MAE

MAE 结构设计得非常简单:

将一张图随机打 Mask,未 Mask 部分输入给 Encoder 进行编码学习,这个 Encoder 就是 Vit,然后得到每个块的特征。

再将未 Mask 部分以及 Mask 部分全部输入给 Decoder 进行解码学习,最终目标是修复图片。

而 Decoder 就是一个轻量化的 Transformer。它的损失函数就是普通的 MSE。

所以说, MAE 的 Encoder 和 Decoder 结构不同,是非对称式的。Encoder 将输入编码为 latent representation,而 Decoder 将从 latent representation 重建原始信号。

更详细的细节大家可以直接看看论文:

https://arxiv.org/abs/2111.06377

算法测试

官方刚刚开源6天,就已经获得了1.5k+的 Star,关注度可见一斑。

项目地址:

https://github.com/facebookresearch/mae

项目提供了 Colab,如果你能登录,那么可以直接体验:

https://colab.research.google.com/github/facebookresearch/mae/blob/main/demo/mae_visualize.ipynb

如果不能登录,可以直接本地部署,作者提供了预训练模型。

一起看下我跑的效果:

这个修复效果,你打几分?

最后

MAE 可以用来生成不存在的内容,就像 GAN 一样。

很多小伙伴可能又有了一些“大胆”的想法,不过玩笑归玩笑,自己玩玩就好,大家还是要遵纪守法哦~

各位伙伴们好,詹帅本帅搭建了一个个人博客和小程序,汇集各种干货和资源,也方便大家阅读,感兴趣的小伙伴请移步小程序体验一下哦!(欢迎提建议)
推荐阅读牛逼!Python常用数据类型的基本操作(长文系列第①篇)
牛逼!Python的判断、循环和各种表达式(长文系列第②篇)牛逼!Python函数和文件操作(长文系列第③篇)牛逼!Python错误、异常和模块(长文系列第④篇)

马赛克,克星,真来了!相关推荐

  1. “马赛克”真能去除了?老司机狂喜!

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 有人说,马赛克的发明,就是人类文明史上一次重大的"开倒车& ...

  2. 美翻朋友圈:用Python生成蒙太奇马赛克图片

    题图 | 视觉中国 来源 | ZackSock(ID:ZackSock) 我们有时候会听到这么一个词--"蒙太奇",但却不知道这个词是什么意思.蒙太奇原为建筑学术语,意为构成.装配 ...

  3. 唯真才能永久--读《十年》

    我认为这个自然界总是唯真,讲究优胜劣汰.就如人工喂养的狮子不能称雄于草原,统治标榜的先进不能恒久一样. 看过了很多人为的痕迹--无论是对于自然界,还是对于历史--但在事实面前,却让强制者和伪造者汗颜. ...

  4. AI 补代码神器诞生,百度网盘克星诞生,Google 取消中国搜索引擎项目! | 开发者周刊...

    整理 | 张红月 出品 | CSDN(ID:CSDNnews) 本周热门项目    TabNine:支持23种语言及5种主流编辑器AI补代码工具问世(下附链接) https://github.com/ ...

  5. 【笔记】位图(.bmp)和矢量图(Vector):位图是点阵图或光栅图,使用像素的一格一格来描述图像,放大以后每一个像素看就像是一个个的马赛克;矢量图是使用直线和曲线来描述图形,可以无限方法,不会失真

    一.什么是位图 计算机能以位图和矢量图格式显示图像. 1.位图(Bitmap): 图像又称点阵图或光栅图,它使用我们称为像素(象素,Pixel)的一格一格的小点来描述图像.计算机屏幕其实就是一张包含大 ...

  6. 广东省计算机二级c语言真题,广东省计算机二级考试题及答案

    广东省计算机二级考试题及答案 2016年计算机考试就要开始了,下面yjbys小编为大家分享的是广东省的计算机等级考试真题,欢迎阅读! ⒈ 判断题 ⑴ 分辨率是指在单位长度内所含有的点(即像素)的多少. ...

  7. 什么是“真AI相机”

    https://www.toutiao.com/a6650045633564508686/ 2019-01-24 20:53:25 从去年开始,AI(人工智能)概念在手机行业大行其道,并且与消费者最关 ...

  8. 真小白|一步步教你用Python抓取微信好友分析

    前言 前段时间公司里有个同事发了张图片在群上,是他所有微信好友头像拼成的一张大图,我看着挺有意思,就想自己也搞一下,然后百度了下怎么抓取微信好友之类的--一搜全是用Python抓取的,之前就听说过Py ...

  9. 我的世界java能开光追吗_五彩斑斓的马赛克!我的世界开光追是怎样一种体验...

    原标题:五彩斑斓的马赛克!我的世界开光追是怎样一种体验 [前言] NVIDIA推出支持实时光线追踪技术的GeForce RTX 20系列显卡已经有了一段时间,如今可以开启光追的游戏不下数十款,其中不仅 ...

最新文章

  1. win10鼠标灵敏度怎么调_和平精英最稳压枪灵敏度怎么调教程,适合所有段位以及适合国际版PUBG手游压枪...
  2. 同时使用多网卡提升树莓派网络利用率
  3. B17_NumPy IO(save,load,savez,loadtxt,savetxt)
  4. 【渝粤教育】 国家开放大学2020年春季 2245社会福利与保障 参考试题
  5. 非对称加密算法 --- RSA签名算法
  6. 3mysql的引擎哪_你知道哪几种MySQL存储引擎?
  7. SSO单点登录学习总结(3)—— 基于CAS实现单点登录实例
  8. Android GSON解析JSON数据
  9. 【UML】免费的UML绘图工具yEd
  10. 【工控老马】S7-200通过自由口控制Modbus变频器正反转实例详解
  11. 华为谷歌安装器 Android6.0,gms安装器华为
  12. 盘点百度开放云编程马拉松八大亮点
  13. Android中高级面试必知必会,绝对干货
  14. 甘特图中的依赖关系是什么?
  15. 计算机课范文,计算机课程论文范文 计算机课程方面论文范文文献2500字
  16. sql中如何添加数据
  17. jarvisoj_level1
  18. 深圳:华侨城,世界之窗,锦绣中华
  19. 一个葫芦娃的小程序,爷青回!
  20. 我们学校的计算机房英语作文,精选我的学校英语作文6篇

热门文章

  1. PL/SQL块结构和组成元素
  2. 高考 | 满分作文:《我们都是读“书”人》
  3. 一图看懂py2/py3编码
  4. elk收集nginx日志
  5. ngx_lua与go高并发性能对比
  6. MySQL——修改root密码的4种方法(以windows为例)
  7. Go的协程与Swoole的协程的区别:环境支持 线程
  8. PHP字符串替换函数选择
  9. Go的testing包数据类型M/T/B/PB
  10. 计算机组成原理 陈泽,江西师范大学-计算机组成原理的期末复习.doc