博客專欄

EEPW首頁 > 博客 > 對通用骨架提取方法的改進(jìn)

對通用骨架提取方法的改進(jìn)

發(fā)布人:地平線開發(fā)者 時間:2024-10-27 來源:工程師 發(fā)布文章
01 骨架提取的任務(wù)引入


骨架(或中軸線)具有在二進(jìn)制形狀和自然圖像中提供緊湊而有意義的對象表示的潛力(以下簡稱為“形狀”和“圖像”),適用于圖像表示和各種多媒體應(yīng)用。在實踐中,對象骨架通常以圖形格式編碼,即“骨架圖”,以便于骨架修剪、匹配、分類和分析任務(wù)。為了術(shù)語的清晰,通常將各種骨架圖組件定義如下:


1) 端點:骨架點只有一個相鄰點。

2) 交叉點:有三個或更多相鄰點。

3) 連接點:既不是端點也不是交叉點。

4) 骨架分支:兩個直接連接的骨架點之間的連接點序列。



圖片



02 相關(guān)方法與現(xiàn)存問題


傳統(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)用情景。


圖片



03 預(yù)測任務(wù)的轉(zhuǎn)移


由于高分辨率圖像中信息的豐富性,對骨架細(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ù)的實驗證實了這一分析。



04 實驗結(jié)果


圖片


上述四幅圖像分別代表在訓(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)放大顯示。



05 總結(jié)


增加預(yù)測數(shù)量顯著提高了 BlumNet 內(nèi)的訓(xùn)練效果和檢測準(zhǔn)確性。最初,模型專注于定位任務(wù),隨后過渡到骨架附近的細(xì)節(jié)導(dǎo)向預(yù)測通過分類任務(wù)。這使得模型能夠有效處理高分辨率圖像中的復(fù)雜信息,從而實現(xiàn)更準(zhǔn)確的骨架提取。通過調(diào)整輸入查詢,增強(qiáng)了 BlumNet 對不同操作條件的適應(yīng)能力。


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: 算法 自動駕駛

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉