小哥質(zhì)疑谷歌頂會論文有錯,并且拿出了復現(xiàn)代碼來證明
快速拯救超分辨率
蕭簫 發(fā)自 凹非寺
量子位 報道 | 公眾號 QbitAI
景色很好看,可是手機相機分辨率太低,照不出清晰的照片?
沒關系,試試這個超分辨率算法,讓AI“自動”幫你調(diào)整分辨率。
經(jīng)過算法調(diào)整后,照片幾乎立刻就清晰了數(shù)倍,連角落里模糊的文字都看得清:
這是來自谷歌的一個手機超分辨率算法,此前登上過SIGGRAPH 2019頂會,闡述的是自家手機Pixel 3中使用的超分技術(shù)。
現(xiàn)在,這個算法確實被復現(xiàn)了出來,然而,方法卻與論文不全一致(復現(xiàn)的作者Michael Kunz認為,論文有些地方寫錯了)。
來看看這是怎么回事。
多幀合一幀,效果更清晰
論文中,這個用手機實現(xiàn)超分辨率的原理,是這樣的:
在用手機拍照的過程中,手部會出現(xiàn)輕微的震顫。
△手抖示例
這導致在連續(xù)拍攝同一景象的過程中,每張照片都會有一個微小的偏移量,這些小偏移量,恰好能提供超分辨率所需要的亞像素信息。
然后,將這些彼此之間略有差異的圖像幀,進行對齊、融合,就可以得到一張每個像素位置都有紅、綠、藍三通道值的圖像。
具體算法是這樣的:
首先,獲取多幀RAW圖像;然后,選擇其中一幀作為基準幀,其余圖像進行局部對齊,并通過核回歸,估計每一幀對結(jié)果的局部貢獻度;最后,分成RGB三種顏色通道,將貢獻進行疊加。
在訓練過程中,圖像的局部特征會對核形狀進行調(diào)整,并對采樣值進行加權(quán)。
最后,對每個顏色通道進行歸一化,獲得最后的RGB圖像。
整體來說,就是用多幀融合算法,代替了去馬賽克的傳統(tǒng)超分辨率算法。
然而,聽起來非常完美的算法,有人在復現(xiàn)的過程中,卻發(fā)現(xiàn)了一些問題。
實際復現(xiàn)并不容易
項目的作者表示,在復現(xiàn)這篇論文的過程中,發(fā)現(xiàn)了一些bug,但目前論文原作者、發(fā)行方都還沒回應他。
再來看看這個算法:
首先,在圖像幀的獲取上,如果采用谷歌相機的單反模式進行拍攝,由于時間間隔較長,手部產(chǎn)生的“震顫”可能比想象得大,需要再通過全局的預對齊來彌補缺陷。
然后,主要的問題出在b、c兩個步驟上。
第一個不準確的問題,是具體采用的幀數(shù)。論文表明“通過分析每個幀的局部梯度結(jié)構(gòu)張量,來計算核的協(xié)方差矩陣”,然而作者發(fā)現(xiàn),對每一幀都這樣操作其實毫無意義。
作者放棄了像論文所述那樣進行采樣,選擇了5×5而非3×3的核,并對梯度進行了高斯平滑,在全分辨率下計算每個像素的結(jié)構(gòu)張量。
此外,則是步驟d的情況,經(jīng)過長時間曝光的圖像,包含許多低頻噪聲,使得精確跟蹤無法實現(xiàn)。因此,作者在跟蹤步驟前面還加入了一個高通濾波器。
然而,論文卻完全沒有提到“高通濾波器”這種東西。
到了步驟e和f,谷歌論文的作者用了一個專業(yè)術(shù)語“Wiener shrinkage” ,但這個術(shù)語在引用論文中完全沒有出現(xiàn),無法得知具體含義。
因此,復現(xiàn)的作者,只能根據(jù)自己的猜測,結(jié)合引用的論文來復現(xiàn)。
其他還有一些細節(jié)上的錯誤,例如把公式搞錯了的情況也有發(fā)生:
好在,最后他還是將這篇論文復現(xiàn)了出來:
而且做成了一個完整的項目,來看看具體效果。
具體效果
先來看看論文中所展示的效果,看上去還是非常不錯的:
不僅噪點去除了不少,邊緣也很平滑,沒有放大后物體輪廓凸顯的棱角。
而且,看起來也比其他的論文算法要更好:
那么,實際上復現(xiàn)出來的效果如何呢?
整體好像不太看得出效果,放大一點試試:
單棟大樓的窗子確實清晰了不少,原本是模糊一片,現(xiàn)在幾乎能數(shù)得出數(shù)量了。
不過,相比于論文中的效果,復現(xiàn)出來的實際結(jié)果,似乎并沒有那么“完美”。
但用來拍攝風景,效果還挺好:
拍照如果手抖的話,可以將它裝到手機里試一試了~
項目地址:
https://github.com/kunzmi/ImageStackAlignator
論文地址:
https://dl.acm.org/doi/10.1145/3306346.3323024
- 首個GPT-4驅(qū)動的人形機器人!無需編程+零樣本學習,還可根據(jù)口頭反饋調(diào)整行為2023-12-13
- IDC霍錦潔:AI PC將顛覆性變革PC產(chǎn)業(yè)2023-12-08
- AI視覺字謎爆火!夢露轉(zhuǎn)180°秒變愛因斯坦,英偉達高級AI科學家:近期最酷的擴散模型2023-12-03
- 蘋果大模型最大動作:開源M芯專用ML框架,能跑70億大模型2023-12-07