譯者 | 朱先忠
審校 | 重樓
本篇是關于訓練圖像分割模型系列文章的第2部分。模型訓練的目的是對用戶反饋做出響應,并根據(jù)反饋(鼠標點擊)調(diào)整其預測結果。
在第1部分中,我們描述了訓練現(xiàn)成的圖像分割模型以響應用戶反饋的一般策略。在第1部分結束時發(fā)現(xiàn)的問題是,手動生成訓練模型所需的點擊是乏味、耗時的,并且如果數(shù)據(jù)集非常大和/或模型需要經(jīng)常重新訓練,這種方式可能根本不可行。因此,生成點擊需要自動化——這就是本篇的主題。
問題
首先,讓我們再來回顧一下我們正在試圖解決的問題:
圖像來源:乳腺超聲圖像數(shù)據(jù)集
左側矩形顯示的是帶有正確標注標簽的圖像;感興趣區(qū)域(RoI:region of interest)由人類專家用黃色標記;這是我們期望從模型中得到的預測的理想形狀。中間矩形內(nèi)容是來自模型的實際預測。右側的矩形顯示了真陽性區(qū)域(標簽和預測一致)、假陽性區(qū)域(模型預測RoI,但標簽中沒有這樣的東西)和假陰性區(qū)域(模型什么都不預測,但有實際的RoI)。TP區(qū)域以白色顯示,F(xiàn)P區(qū)域以綠色顯示,F(xiàn)N區(qū)域以紅色顯示。
為了引導模型的預測,我們在TP和FN區(qū)域分別放置了正(綠色)點擊,在FP區(qū)域放置了負(紅色)點擊,然后用圖像中包含的點擊訓練新模型。
對于操作人員來說,放置點擊是直觀的。但是,如果你想將流程分解為單獨的邏輯步驟和標準的話,則會變得非常復雜:
- 將TP、FP、FN區(qū)域拆分為單獨的連續(xù)段
- 將非常小的片段視為不相關而丟棄
- 對于剩余的每個片段,根據(jù)片段區(qū)域決定將被放置在其中的點擊總數(shù)
- 點擊不能放得太近
- 點擊不能放得離線段邊緣太近
最后兩個標準很難做到。其中的模糊性(“不太接近”)以及這兩個標準相互矛盾的事實,使得很難以保證收斂到模仿操作員操作的解決方案的方式來生成點擊。
值得欣喜的是,下面我們將展示另外一種方法,它將數(shù)學概念(Voronoi鑲嵌)與物理學知識(能量和模擬退火)相結合,能夠順利產(chǎn)生我們所需的結果。
Voronoi鑲嵌(Tesselation)
維基百科頁面中很好地解釋了Voronoi鑲嵌這個概念;但是,在這里我想再補充解釋一下這一概念。
在左邊的矩形中,我們有一個正方形區(qū)域,其中有幾個種子點。對于任何種子點,幀(圖像片斷)中必須有一個區(qū)域,其中所有像素都更靠近該種子,而不是所有其他種子。在右邊的矩形中,我們展示了這些圖像片斷,顏色編碼與種子相匹配。每個圖像片斷被稱為Voronoi單元,找到圖像片斷的過程的結果被稱為沃羅諾伊鑲嵌。
本例中的種子是隨機選擇的。我們得到的鑲嵌結果是不一致的。為了獲得均勻的鑲嵌,種子還必須是其對應圖像片斷的質(zhì)心(或接近質(zhì)心)——這被稱為質(zhì)心Voronoi鑲嵌。在眾多可能的例子中,下面是一個非?,嵥榈睦樱?/p>
要找到將導致區(qū)域的質(zhì)心Voronoi鑲嵌或近似的點擊坐標(種子),可以使用類似Lloyd算法的方法,而且速度非常快。這里有一個Lloyd算法的模擬器,它可以在你的瀏覽器中實時工作。但存在兩個問題:
- Lloyd算法通常用于平鋪矩形形狀。目前尚不清楚它將如何(或是否)推廣到我們需要為模型平鋪的任意形狀。
- 只有當形狀是凸的時,我們才需要質(zhì)心平鋪。當形狀是凹形時,質(zhì)心可能會落在我們平鋪的區(qū)域之外,這根本不是我們想要的(點擊會在區(qū)域之外)。
因此,我們需要一種能夠處理任意形狀的東西,即使形狀是凹形的,也能將點擊保持在區(qū)域內(nèi),并且在瑣碎的矩形情況下表現(xiàn)得像Lloyd算法。質(zhì)心Voronoi平鋪的推廣,適用于任意形狀,即使是凹形。這是下一節(jié)的主題。
能量模擬退火
考慮這種下圖中的平鋪:
單擊分布足夠均勻,并且單擊坐標離質(zhì)心不遠(所有形狀都是凸的)。就我們的目的而言,這是一個不錯的分布。我們能找到一個與點擊坐標相對應的目標函數(shù)嗎?我們可以反復嘗試最大化或最小化該函數(shù),從而得出這樣的分布嗎?
讓我們看看點擊周圍的空間:
像素能量熱圖
想象一下,圖像中的每個像素都被分配了一個“能量”。只有一次單擊——最近的單擊,會貢獻像素的能量。所有其他點擊都沒有任何作用。任何像素的能量與其最近點擊的距離成反比。因此,要找到任何像素的能量,我們需要:
- 找到最近的點擊
- 計算像素到點擊的距離
- 計算距離的倒數(shù),即像素的能量
上面顯示的圖像只是像素能量的熱圖,給出了點擊分布。Voronoi瓷磚(Voronoi Tiles)的邊緣已經(jīng)被相鄰點擊之間最暗的區(qū)域所暗示。
如果我們計算所有像素的總能量,然后四處移動點擊,尋找總能量最高的點擊位置,這會導致區(qū)域的均勻平鋪嗎?事實上,這正是上面顯示的點擊分布獲得的方式:
- 從完全隨機的點擊坐標開始
- 計算感興趣區(qū)域中所有像素的總能量
- 對點擊坐標應用模擬退火算法,以找到最大化總能量的坐標
完整的代碼顯示在鏈接地址https://github.com/FlorinAndrei/segmentation_click_train/blob/main/uniform_clicks.py處。該算法很穩(wěn)健,可以很好地處理凹形形狀——這里是一個在鐮刀形片段中以視覺上均勻的方式放置點擊的例子:
將點擊放置在凹形區(qū)域
分割片段是較淺的藍色陰影,鐮刀的形狀,與深色背景形成對比。其中,點擊對應于最亮的地方。
點擊不會太靠近片段的邊緣,因為這會減少總能量(片段邊緣以外的像素沒有能量)。它們不會靠得太近,因為這不會“激發(fā)”遠離緊密點擊組的像素。該算法是自我調(diào)節(jié)的。
注意:這個問題與手機信號塔覆蓋問題有相似之處,即你試圖在地圖上放置N個手機信號塔,以便在大多數(shù)地區(qū)信號盡可能強。
再回到分割模型
概括一下,我們正在嘗試訓練圖像分割模型,使其對用戶反饋(鼠標點擊)做出響應。整個過程是:
- 將圖像數(shù)據(jù)集拆分為5個組
- 為每個折疊訓練分割模型;這就產(chǎn)生了一組5個基線模型
- 使用基線模型對所有圖像進行預測;每個模型都對訓練中沒有看到的圖像進行預測
- 將預測與標簽進行比較;提取包含真陽性、假陽性、假陰性預測的所有區(qū)域
- 將所述TP、FP、FN區(qū)域分割成連續(xù)的段;丟棄最小的分段(小于100個像素左右)
- 對于每個片段,生成統(tǒng)一的點擊,如本文所示;點擊次數(shù)取決于片段的面積:較大的片段會收到更多的點擊,達到合理的限制(對于512x512像素的圖像,4…5左右)
- 將所有圖像信息移動到B頻道,騰出R和G頻道,將點擊嵌入R和G通道;TP和FN區(qū)域的點擊在G通道中(正點擊);FP區(qū)域的點擊在R通道中(負點擊)
- 使用點擊增強圖像,在相同的褶皺上訓練一組新的5個模型;這些是經(jīng)過點擊訓練的模型,是整個項目的最終產(chǎn)物
以下是根據(jù)實際基線模型預測為圖像片段生成的均勻點擊的一些示例。我們從數(shù)據(jù)集中挑選了3張圖像,用基線模型進行了預測,并查看了每張圖像的TP、FP和FN片段。每個片段都是比背景淺的藍色陰影,點擊對應于每個片段中最亮的點。
圖像來源:乳腺超聲圖像數(shù)據(jù)集
點擊最終或多或少地被放置在操作員將要放置的位置:彼此不要太近,也不要太靠近邊緣,有利于每個片段中的大塊或寬區(qū)域。點擊分布在視覺上看起來是均勻的。
總結
至此,我們已經(jīng)成功訓練了現(xiàn)成的圖像分割模型來響應用戶反饋,而不會以任何方式改變它們的架構,也不會在ImageNet上從頭開始重新訓練它們。
需要說明的是,經(jīng)過點擊訓練的模型并不一定比基線模型表現(xiàn)得更好。如圖所示,通過點擊進行訓練只能使模型對用戶反饋做出響應。當然,在用于創(chuàng)建5個訓練組的數(shù)據(jù)集上,點擊訓練的模型將大大優(yōu)于基線模型。這是因為創(chuàng)建點擊本質(zhì)上是在訓練和測試之間泄露數(shù)據(jù)。在以前100%看不見的數(shù)據(jù)上,點擊訓練模型和基線模型的性能相同。
以下是點擊訓練模型對用戶反饋的響應方式的更多應用情形。
- 給定視頻中顯示兩幅不同的圖像。在這兩張圖中,你可以看到模型對其預測的RoI有很高的信任度。在預測的RoI中放置負面點擊的嘗試不是很成功——該模型繼續(xù)將該區(qū)域預測為RoI。
- 該模型確實接受了將其他領域作為潛在ROI的建議。
在上述兩種情況下,您都可以從模型中看到兩種輸出:純分割和熱圖。熱圖只是RoI的可能性圖。
鏈接、引文、評論
本文中的這個項目是我在數(shù)據(jù)科學碩士研究的最后一個學期的畢業(yè)項目的延伸。
畢業(yè)項目和這項工作都是在威斯康星大學拉克羅斯分校的乳腺超聲圖像計算機輔助診斷(CADBUSI)項目中完成的,由Jeff Baggett博士監(jiān)督。參考地址:https://datascienceuwl.github.io/CADBUSI/。
包含本文代碼的GitHub存儲庫:https://github.com/FlorinAndrei/segmentation_click_train。
本文中使用的所有超聲圖像都是乳腺超聲圖像數(shù)據(jù)集的一部分,可在CC BY 4.0許可證下獲得。引文鏈接有:
Al-Dhabyani, W., Gomaa, M., Khaled, H., & Fahmy, A. (2019)。《乳腺超聲圖像數(shù)據(jù)集》(Dataset of Breast Ultrasound Images)。ResearchGate。檢索日期:2023年5月1日,論文:https://www.sciencedirect.com/science/article/pii/S2352340919312181。
其他鏈接、引用和評論:
- Liu, Q., Zheng, M., Planche, B., Karanam, S., Chen, T., Niethammer, M., & Wu, Z. (2022)?!秱吸c擊:具有點擊模仿的交互式圖像分割》(PseudoClick: Interactive Image Segmentation with Click Imitation)。arXiv.org。檢索日期:2023年5月1日,論文:https://arxiv.org/abs/2207.05282。
- Xie, E., Wang, W., Yu, Z., Anandkumar, A., Alvarez, J. M., & Luo. P. (2021)?!禨egFormer:一種簡單高效的變壓器語義分割設計》(SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers)。arXiv.org。檢索日期:2023年5月1日,論文:https://arxiv.org/abs/2105.15203。
- 《HuggingFace的預訓練SegFormer模型》(Pretrained SegFormer models at HuggingFace):https://huggingface.co/docs/transformers/model_doc/segformer。
最后,本文中不屬于乳腺超聲圖像數(shù)據(jù)集的圖像由作者創(chuàng)建。
譯者介紹
朱先忠,51CTO社區(qū)編輯,51CTO專家博客、講師,濰坊一所高校計算機教師,自由編程界老兵一枚。
原文標題:Train Image Segmentation Models to Accept User Feedback via Voronoi Tiling, Part 2,作者:Florin Andrei