小哥质疑谷歌顶会论文有错,并且拿出了复现代码来证明
点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
作者丨萧箫
来源丨量子位
编辑丨极市平台
景色很好看,可是手机相机分辨率太低,照不出清晰的照片?
没关系,试试这个超分辨率算法,让AI“自动”帮你调整分辨率。
经过算法调整后,照片几乎立刻就清晰了数倍,连角落里模糊的文字都看得清:
这是来自谷歌的一个手机超分辨率算法,此前登上过SIGGRAPH 2019顶会,阐述的是自家手机Pixel 3中使用的超分技术。
现在,这个算法确实被复现了出来,然而,方法却与论文不全一致(复现的作者Michael Kunz认为,论文有些地方写错了)。
来看看这是怎么回事。
多帧合一帧,效果更清晰
论文中,这个用手机实现超分辨率的原理,是这样的:
在用手机拍照的过程中,手部会出现轻微的震颤。
△手抖示例
这导致在连续拍摄同一景象的过程中,每张照片都会有一个微小的偏移量,这些小偏移量,恰好能提供超分辨率所需要的亚像素信息。
然后,将这些彼此之间略有差异的图像帧,进行对齐、融合,就可以得到一张每个像素位置都有红、绿、蓝三通道值的图像。
具体算法是这样的:
首先,获取多帧RAW图像;然后,选择其中一帧作为基准帧,其余图像进行局部对齐,并通过核回归,估计每一帧对结果的局部贡献度;最后,分成RGB三种颜色通道,将贡献进行叠加。
在训练过程中,图像的局部特征会对核形状进行调整,并对采样值进行加权。
最后,对每个颜色通道进行归一化,获得最后的RGB图像。
整体来说,就是用多帧融合算法,代替了去马赛克的传统超分辨率算法。
然而,听起来非常完美的算法,有人在复现的过程中,却发现了一些问题。
实际复现并不容易
项目的作者表示,在复现这篇论文的过程中,发现了一些bug,但目前论文原作者、发行方都还没回应他。
再来看看这个算法:
首先,在图像帧的获取上,如果采用谷歌相机的单反模式进行拍摄,由于时间间隔较长,手部产生的“震颤”可能比想象得大,需要再通过全局的预对齐来弥补缺陷。
然后,主要的问题出在b、c两个步骤上。
第一个不准确的问题,是具体采用的帧数。论文表明“通过分析每个帧的局部梯度结构张量,来计算核的协方差矩阵”,然而作者发现,对每一帧都这样操作其实毫无意义。
作者放弃了像论文所述那样进行采样,选择了5×5而非3×3的核,并对梯度进行了高斯平滑,在全分辨率下计算每个像素的结构张量。
此外,则是步骤d的情况,经过长时间曝光的图像,包含许多低频噪声,使得精确跟踪无法实现。因此,作者在跟踪步骤前面还加入了一个高通滤波器。
然而,论文却完全没有提到“高通滤波器”这种东西。
到了步骤e和f,谷歌论文的作者用了一个专业术语“Wiener shrinkage” ,但这个术语在引用论文中完全没有出现,无法得知具体含义。
因此,复现的作者,只能根据自己的猜测,结合引用的论文来复现。
其他还有一些细节上的错误,例如把公式搞错了的情况也有发生:
好在,最后他还是将这篇论文复现了出来:
而且做成了一个完整的项目,来看看具体效果。
具体效果
先来看看论文中所展示的效果,看上去还是非常不错的:
不仅噪点去除了不少,边缘也很平滑,没有放大后物体轮廓凸显的棱角。
而且,看起来也比其他的论文算法要更好:
那么,实际上复现出来的效果如何呢?
整体好像不太看得出效果,放大一点试试:
单栋大楼的窗子确实清晰了不少,原本是模糊一片,现在几乎能数得出数量了。
不过,相比于论文中的效果,复现出来的实际结果,似乎并没有那么“完美”。
但用来拍摄风景,效果还挺好:
拍照如果手抖的话,可以将它装到手机里试一试了~
项目地址:
https://github.com/kunzmi/ImageStackAlignator
论文地址:
https://dl.acm.org/doi/10.1145/3306346.3323024
本文仅做学术分享,如有侵权,请联系删文。
下载1
在「3D视觉工坊」公众号后台回复:3D视觉,即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。
下载2
在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总,即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。
下载3
在「3D视觉工坊」公众号后台回复:相机标定,即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配,即可下载独家立体匹配学习课件与视频网址。
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~
小哥质疑谷歌顶会论文有错,并且拿出了复现代码来证明相关推荐
- 日本小哥“自虐神器”一夜爆火:用手柄控制自己的脸,代码自取,后果自负...
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 鱼羊 丰色 发自 凹非寺 量子位 | 公众号 QbitAI 用游戏手 ...
- 4年4篇顶刊顶会论文!清华开源肖像线条画生成代码,惟妙惟肖模仿人类作画...
视学算法报道 编辑:好困 [新智元导读]近日,清华大学提出的非成对人脸照片肖像线条画生成方法,被IEEE Transactions on Pattern Analysis and Machin ...
- 小哥自创AI防拖延系统,一玩手机就被“闪瞎” | Reddit高热
Alex 发自 凹非寺 量子位 | 公众号 QbitAI 你有过被Deadline支配的恐惧吗? 为了克服拖延症,一位小哥对自己"下了狠手". 他编写出一套使用物体检测API的算法 ...
- 6篇论文入选NIPS 2018,这位中国小哥的开挂人生
世界上总有一群人,过着开挂的人生. 很不幸,我不是这样的人. 根据 Google Scholar Metric 的最新榜单,NIPS 是 Artificial Intelligence 下排名最高的学 ...
- MLNLP顶会论文发表总榜:谷歌最狂,清北入前十,周明、张岳、刘挺华人前三...
中美差距何止一丁点! 作者 | 丛末.蒋宝尚 编辑 | 贾伟 伦敦帝国理工学院机器学习和自然语言处理著名学者Marek Rei 教授从2016年起,每年都会对ML&NLP相关的会议论文进行统计 ...
- 微软图像加密算法被破解,谷歌等大厂都在用,MIT硕士小哥开源逆向所用方法...
明敏 发自 凹非寺 量子位 报道 | 公众号 QbitAI 微软号称"永不会被逆向"的图像加密算法,现在被MIT一位硕士小哥轻松破解了. 只用几行代码,原本被加密为一串数字的图片便 ...
- 德国小哥1人“黑掉”谷歌地图:99部手机就能造成交通拥堵
十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 想要"黑掉"谷歌地图,99部手机就够了. 对于大多数开车的人来说,想要去一个不熟悉的地方,地图APP无疑是一个非常有利的 ...
- centos网络隔一段时间就断_潮汕青年说 | 瞎吃小哥:隔着屏幕也要把你看馋的顶配版吃货...
编者按 这已经是他第N次站在镜头前了,但是做直播,还是第一次.在新浪潮汕直播间,我们认识了这个在镜头背后十分内向腼腆,说话都脸红的他.看了直播,很多粉丝惊呼,这么腼腆,还是我们认识的瞎吃小哥吗? 为什 ...
- 语音合成论文与韩国小哥“撞车”后续:英伟达“赶紧”把代码开源了
乾明 编辑整理 量子位 出品 | 公众号 QbitAI 前两天,量子位报道了韩国小哥语音合成论文与英伟达撞车一事. 在得知自己的论文与英伟达的论文"撞车"之后,韩国小哥赶紧在arX ...
最新文章
- 这位北大CS硕士小老弟,简直是“卷怪”!
- 对我而言Linux究竟有什么魅力
- 如何在WPF中通过XAML代码创建菜单项
- 2022年全球及中国滑雪铲行业品牌调研与市场消费规模分析报告
- 迁移数据时 timestamp类型字段报错: 1067 - Invalid default value for 'login_time'
- 让linux系统做网关,代理上网!!!
- ligerDialog的使用
- ruby 生成哈希值_如何检查Ruby中是否存在哈希键?
- dj电商-数据表的设计-购物车表与订单表设计
- 面试官系统精讲Java源码及大厂真题 - 10 Map源码会问哪些面试题
- 蝗虫优化算法(GOA)优化深度置信网络DBN【matlab源码】
- Interview Tips with Consulting Firms
- WEB测试项目实战——2.产品需求与设计评审
- 网页Loding效果的实现
- ARM Cortex-M处理器详解
- 遭遇“windows已经阻止此软件因为无法验证发行者
- 在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,用Python编写程序,问有多少种摆法?并列举出所有摆法。
- 服务器修改系统盘符,服务器盘符怎么改
- openCV的sobel算子的深度学习卷积网络部分的C语言源码
- 基于JAVA毕业设计的客户关系系统的设计与实现