對通用骨架提取方法的改進(jìn)
1) 端點:骨架點只有一個相鄰點。
2) 交叉點:有三個或更多相鄰點。
3) 連接點:既不是端點也不是交叉點。
4) 骨架分支:兩個直接連接的骨架點之間的連接點序列。
傳統(tǒng)的骨架提取方法主要依賴于圖形操作。近年來,由于卷積神經(jīng)網(wǎng)絡(luò)(CNN)方法的崛起,采用像素級二進(jìn)制分類來處理這個問題取得了顯著的改進(jìn)。盡管這些方法取得了部分進(jìn)展,但仍然存在明顯的質(zhì)量和魯棒性問題。例如,輸出的骨架分支可能出現(xiàn)噪聲、不連貫、不完整,并且對變形不夠魯棒。
BlumNet 的引入有效地緩解了這些缺點。具體而言,它將骨架圖分解為有組織的組件,通過將任務(wù)分割為涉及圖形組件檢測和組裝的獨立過程來實現(xiàn)這一目標(biāo)。
盡管這項任務(wù)是優(yōu)雅而有效的,但仍然存在一些不足之處,比如在細(xì)節(jié)方面的精度不足和推理時間過長。向分解和重構(gòu)骨架提取過程的轉(zhuǎn)變提出了新的挑戰(zhàn),特別是在組件檢測的準(zhǔn)確性和在分解后的數(shù)據(jù)集上進(jìn)行訓(xùn)練的有效性方面。高分辨率圖像凸顯了這些問題,特別是在線交叉點處,預(yù)測精度出現(xiàn)了不足,這表面了在處理高分辨率數(shù)據(jù)的細(xì)節(jié)時存在問題。
BlumNet 采用了基于 Transformer 的架構(gòu)(如下圖所示)來進(jìn)行輸出特征的編碼和解碼,然而,未能充分設(shè)計 Transformer 以更好地匹配輸入和輸出數(shù)據(jù)的具體性。因此,對檢測模型進(jìn)行適當(dāng)修改可以實現(xiàn)更高的準(zhǔn)確性和更穩(wěn)健的結(jié)果。此外,盡管與過去的工作相比,BlumNet 可以獲得更高的準(zhǔn)確性,但其推理時間更長,可能并不適用于所有應(yīng)用情景。
由于高分辨率圖像中信息的豐富性,對骨架細(xì)節(jié)的預(yù)測特別容易受到周圍復(fù)雜信息的干擾。這種干擾可能導(dǎo)致鋸齒狀或有問題的骨架,表明在這種情況下無法獲得精確的預(yù)測。為了有效處理這些復(fù)雜信息,模型需要更多的候選選項,以從中選擇更準(zhǔn)確的一個。因此,增加預(yù)測數(shù)量是解決這個問題的直觀選擇。
此外,考慮到一個極端的情況,即圖像上的每個像素最初都覆蓋線的端點,問題就變成了一個像素級的二進(jìn)制分類問題。然而,由于模型在開始時無法準(zhǔn)確區(qū)分正確的檢測對象,在匈牙利匹配的影響下,錯誤的對象可能會移向骨架。因此,在訓(xùn)練的后期階段,大量的預(yù)測結(jié)果將累積在目標(biāo)骨架的邊緣周圍。在這一點上,模型只需要從這些結(jié)果中進(jìn)行選擇。這種方法與以前的方法的不同之處在于,它將分類區(qū)域從整個圖像縮小到骨架附近。
以上分析揭示了更多的預(yù)測輸出也會導(dǎo)致訓(xùn)練過程的變化。在訓(xùn)練的初期階段,學(xué)習(xí)的重點是預(yù)測點的精確位置。隨著訓(xùn)練的進(jìn)行,預(yù)測點逐漸接近真實值,訓(xùn)練的重點將轉(zhuǎn)移到區(qū)分預(yù)測結(jié)果是否在骨架上。從以前的工作中得知,像素級的二進(jìn)制分類可以在整個圖像上取得良好的結(jié)果。因此,我們認(rèn)為在骨架附近對更多的候選選項進(jìn)行分類將減少模型預(yù)測的難度。后續(xù)的實驗證實了這一分析。
上述四幅圖像分別代表在訓(xùn)練 20 個周期、50 個周期、100 個周期和 200 個周期的情況下,使用 1000 個查詢時的所有預(yù)測輸出線。以下四個圖顯示了在 4000 個查詢的情況下的輸出情況。圖中的藍(lán)色點是成對出現(xiàn)的,因為這些點對代表了預(yù)測線的兩個端點。在圖中呈現(xiàn)點而不是線段使得觀察預(yù)測分布更加方便。
模型訓(xùn)練的過程可以看作是將離散點聚集到骨架上的過程。在 1000 個查詢的情況下,最終預(yù)測的點大部分集中在骨架上,但在 4000 個查詢的情況下,仍然有大量點散布在圖上的各個區(qū)域。
在計算損失之前進(jìn)行匈牙利匹配的前提下,骨架上鄰近點的數(shù)量越多,在訓(xùn)練過程中預(yù)測點與目標(biāo)點之間的距離就越小。這有助于訓(xùn)練點的位置。更多的預(yù)測點會使得訓(xùn)練模型更難以識別輸出,但從直覺上看,這似乎比前者更容易學(xué)習(xí)。
圖中繪制了不同查詢情況下最重要的兩種損失的曲線。IsBranch Loss 限制了輸出線的置信度,而 Lines Loss 則指導(dǎo)輸出線朝向骨架。與我們的分析一致,增加查詢數(shù)量有效地降低了 Lines Loss。即使要訓(xùn)練的查詢數(shù)量增加,模型只需要對更準(zhǔn)確的點分配更高的置信度。
因此,isBranch Loss 最初會增加,但隨著訓(xùn)練的進(jìn)行,損失會減小到接近較少查詢結(jié)果的結(jié)果??梢钥闯?,增加查詢數(shù)量將任務(wù)的重點從定位轉(zhuǎn)移到分類。
利用 SK1491 數(shù)據(jù)集,我們比較了六種不同 query 數(shù)量的情況下的結(jié)果。如表所示,在使用 VGG16 和 Swin-base 骨干網(wǎng)絡(luò)的情況下,在 SK1491 數(shù)據(jù)集上達(dá)到了最佳性能,分別獲得了 0.805 和 0.836 的得分。另一方面,在使用 Resnet50 和 3000 個查詢的條件下,獲得的最佳性能為 0.804。
可以觀察到,初始時,隨著查詢數(shù)量的增加,準(zhǔn)確性顯著提高。在達(dá)到 1000 個查詢后,準(zhǔn)確性提升的速度減緩,但仍然存在穩(wěn)定的提升。基于 CNN 的骨干網(wǎng)絡(luò)通常受到查詢數(shù)量的影響,需要一定數(shù)量的查詢才能達(dá)到最佳結(jié)果。相比之下,Swin-Transformer 即使在較少的 query 數(shù)量下也能表現(xiàn)良好。
上圖是不同查詢下圖像骨架提取的比較。結(jié)果在紅色框內(nèi)放大顯示。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。