目標定位(Object localization)


目標定位(Object localization

 

圖片分類任務我們已經熟悉了,就是算法遍歷圖片,判斷其中的對象是不是汽車,這就是圖片分類。定位分類問題,這意味着,我們不僅要用算法判斷圖片中是不是一輛汽車,還要在圖片中標記出它的位置,用邊框或紅色方框把汽車圈起來,這就是定位分類問題。其中“定位”的意思是判斷汽車在圖片中的具體位置。

 

圖片分類問題我們已經並不陌生了,例如,輸入一張圖片到多層卷積神經網絡。這就是卷積神經網絡,它會輸出一個特征向量,並反饋給 softmax 單元來預測圖片類型。

 

 

 

如果你正在構建汽車自動駕駛系統,那么對象可能包括以下幾類:行人、汽車、摩托車和背景,這四個分類就是 softmax 函數可能輸出的結果,這就是標准的分類過程。如果你還想定位圖片中汽車的位置,該怎么做呢?我們可以讓神經網絡多輸出幾個單元,輸出一個邊界框。具體說就是讓神經網絡再多輸出 4 個數字,標記為bxbybhbw,這四個數字是被檢測對象的邊界框的參數化表示。要確定邊界框的具體位置,需要指定紅色方框的中心點,這個點表示為(bxby),邊界框的高度為bh,寬度為bw。因此訓練集不僅包含神經網絡要預測的對象分類標簽,還要包含表示邊界框的這四個數字,接着采用監督學習算法,輸出一個分類標簽,還有四個參數值,從而給出檢測對象的邊框位置,圖片左上角的坐標為(0,0),右下角標記為(1,1)。此例中,bx的理想值是 0.5,因為它表示汽車位於圖片水平方向的中間位置;by大約是 0.7,表示汽車位於距離圖片底部 3/10的位置;bh約為 0.3,因為紅色方框的高度是圖片高度的 0.3 倍;bw約為 0.4,紅色方框的寬度是圖片寬度的 0.4 倍。目標標簽y的定義如下:

 

 

 

它是一個向量,第一個組件pc表示是否含有對象,如果對象屬於前三類(行人、汽車、摩托車),則pc= 1,如果是背景,則圖片中沒有要檢測的對象,則pc = 0。我們可以這樣理解pc,它表示被檢測對象屬於某一分類的概率,背景分類除外。如果檢測到對象,就輸出被檢測對象的邊界框參數bxbybhbw。最后,如果存在某個對象,那么pc = 1,同時輸出c1c2c3,表示該對象屬於 1-3 類中的哪一類,是行人,汽車還是摩托車。鑒於我們所要處理的問題,我們假設圖片中只含有一個對象,所以針對這個分類定位問題,圖片最多只會出現其中一個對象。

 

神經網絡的損失函數,其參數為類別y和網絡輸出y^,如果采用平方誤差策略,則:,損失值等於每個元素相應差值的平方和。如果圖片中存在定位對象,那么y1 = 1,所以y1 = pc,同樣地,如果圖片中存在定位對象,pc = 1,損失值就是不同元素的平方和。另一種情況是,y1 = 0,也就是pc = 0,損失值是(y1^ y1)2,因為對於這種情況,我們不用考慮其它元素,只需要關注神經網絡輸出pc 的准確度。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM