機器之心報導
編輯:蛋醬、杜偉、小舟
世界上從來不缺少摳圖工具,但始終缺少更完美的摳圖工具(尤其是對於手殘黨來說)。
在傳統年代,人們能想到最精準的摳圖方法,大概是 Photoshop 之類的專業圖像處理軟體,顯然這種處理方式會很繁瑣。隨著人工智慧技術的發展,從業者開始嘗試將最先進的機器學習技術融入到圖像處理工作之中。這些開源算法最終變成了各種各樣的在線摳圖程序,最重要的是——它們的操作方法非常簡單且完全免費。
比如「Remove.bg」,你只需要上傳圖片,網站就能識別其中的主體並去除背景,最終返回一張透明背景的 PNG 格式圖片。儘管在前景與背景之間邊界處理上存在瑕疵,但藉助 AI 來摳圖確實比自己動手要便捷,不是嗎?
網站地址:https://www.remove.bg/
近日,一款名為「ObjectCut」的圖像處理新工具進入了大家的視野。你甚至不需事先將圖片下載到本地,只需要輸入圖片網址,即可得到一張去除背景後的圖片。
https://objectcut.com/
使用教程演示。
項目作者表示,這一工具所使用方法基於 CVPR 2019 論文《BASNet: Boundary-Aware Salient Object Detection》,並使用了一些相關的公開數據集來進行訓練,包括 ECSSD、SOD、DUTS 等。
論文地址:https://openaccess.thecvf.com/content_CVPR_2019/papers/Qin_BASNet_Boundary-Aware_Salient_Object_Detection_CVPR_2019_paper.pdf
巧合的是,前段時間在社交網絡上大火的「隔空移物」神器 AR Cut & Paste,也是基於 BASNet 來執行顯著目標檢測和背景移除的,不管是盆栽、衣服還是書本,可見即可拷,一鍵操作就能將任何主體挪進 Photoshop 變為圖像素材。
所以,大家都在用的 BASNet,為何如此神奇?
BASNet論文詳解
深度卷積神經網絡已經被用於顯著目標檢測(Salient object detection),並獲得了 SOTA 的性能。但先前研究的重點大多集中在區域準確率而非邊界質量上。
因此,在本文中,來自加拿大阿爾伯塔大學的研究者提出了一種預測優化架構 BASNet,以及一種用於邊界感知顯著目標檢測(Boundary-Aware Salient object detection)的新型混合損失。論文的第一作者秦雪彬曾就讀於山東農業大學和北京大學,現在是阿爾伯塔大學的博士後研究員。
具體而言,該架構由密集監督的編碼器 - 解碼器網絡和殘差優化模塊組成。它們分別負責顯著性預測和顯著圖優化。混合損失通過集合二進位交叉熵(Binary Cross Entropy, BCE)、結構相似性(Structural SIMilarity, SSIM)和交並比(Intersectionover-Union, IoU)損失,指導網絡學習輸入圖像和真值(ground-truth)之間的轉換。
藉助於混合損失,預測優化架構能夠有效地分割顯著目標區域,並準確地預測具有清晰邊界的精細結構。
在六個公開數據集上的實驗結果表明,無論是在區域評估還是在邊界評估方面,該研究提出的方法都優於當前 SOTA 方法。
如下圖 2 所示,本研究提出的 BASNet 包含兩個模塊,分別是預測模塊(Predict Module)和殘差優化模塊(Residual Refinement Module, RRM)。
預測模塊是一個類 U-Net 的密集監督式編碼器 - 解碼器網絡,它學習預測出自輸入圖像的顯著圖;多尺度殘差精煉模塊通過學習顯著圖和真值之間的殘差來優化預測模塊得到的顯著圖。
BASNet 整體架構。
預測模塊
受 U-Net[57] 和 SegNet[2] 的啟發,研究者在設計中將顯著目標預測模塊作為編碼器 - 解碼器網絡,因為這種架構能夠同時捕獲高級全局上下文和低級細節。為了減少過擬合,每個解碼器階段的最後一層都受到了 HED[67] 啟發的真值的監督。編碼器部分具有一個輸入卷積層和六個由基本殘差塊組成的階段。輸入卷積層和前四個階段均採用 ResNet-34[16]。
優化模塊
優化模塊(RM)[22, 6] 通常被設計成殘差塊,通過學習顯著圖和真值之間的殘差 S_residual 來細化預測的粗略顯著圖 S_coarse,其中:
在提出優化模塊之前,研究者定義了術語「粗略(coarse)」。在此,粗略包含兩方面的意思:一種是模糊和有噪聲的邊界(如下圖 3(b) 中 one-dimension(1D) 所示)。另一種情況是不均勻預測的區域概率(如圖 3(c) 所示)。
實際預測的粗略顯著圖通常包含兩種情況(見圖 3(d))。如下圖 4(a) 所示,基於局部上下文的殘差細化模塊(RRM LC)最初是用於邊界優化。
為了在粗略顯著圖中同時優化區域和邊界,研究者提出了一種新的殘差優化模塊,它採用殘差編碼器 - 解碼器架構 RRM_ Ours(如上圖 2 和下圖 4(c) 所示)。
RRM_Ours 的主要架構與預測模塊相似,但更加簡單,包含輸入層、編碼器、橋、解碼器和輸出層。與預測模塊不同的是,它的編碼器和解碼器都有 4 個階段,每個階段都只有一個卷積層。
混合損失
訓練損失被定義為所有輸出的總和:
為了獲得高質區域分割和清晰邊界,研究者提出將 ^ (k) 定義為一個混合損失:
其中,^ (k)_ bce 表示 BCE 損失, ^(k)_ ssim 表示 SSIM 損失, ^(k)_ iou 表示 IoU 損失,這三種損失的影響如下圖 5 所示:
實驗設置及結果
研究者在 6 個常用的基準數據集上對該方法展開評估,它們分別為 SOD、ECSSD、DUT-OMRON、PASCAL-S、HKU-IS 和 DUTS。
實驗採用的評估指標有 4 種,分別為精確率 - 召回率(Rrecision-Recall, PR)曲線、F 度量(F-measure)、平均絕對誤差(Mean Absolute Error, MAE)和 relaxed F-measure of boundary(relaxF^b_β)。
研究者首先驗證了模型中每個關鍵組件的有效性。控制變量研究包含兩部分內容:架構和損失,並且相關實驗在 ECSSD 數據集上展開。
下表 1 展示了控制變量研究的結果。可以看到,BASNet 架構在這些配置下實現了最佳性能:
為了進一步闡釋損失的定性效果,研究者在不同的損失設置下對 BASNet 進行訓練,結果如下圖 7 所示。很明顯,本研究提出的混合損失取得了非常好的定性結果。
此外,為了評估分割顯著性目標(salient object)的質量,研究者在圖 6 中展示了 ECSSD、DUT-OMRON、PASCAL-S、HKU-IS 和 DUTS-TE 等 5 個最大數據集的 PR 曲線和 F-measure 曲線。
如下表 2 所示,研究者展示了 BASNet 與其他 15 種方法在 SOD、ECSSD 等 6 個數據集上的最大 F-measure(maxF_β)、relaxed boundary F-measure(relaxF^b_β)和 MAE 結果比較:
最後,為了進一步闡釋 BASNet 的優越性能,研究者在下圖 8 中展示了與其他 7 種同類方法的定性比較結果,可以看到,BASNet 可以對不同挑戰性場景中的顯著性目標實現準確分割。