目標檢測

目標檢測是計算機視覺領域中一個新興的應用方向。

目標定位

圖像分類,定位分類和目標檢測
圖像分類是對圖像進行分類,比如判斷圖像中是否是車。定位分類不僅要圖片分類,而且需要確定目標在圖像中的哪個位置。目標檢測中要識別的對象不僅僅只有一個,目標檢測要識別圖像中多個對象。

自動駕駛需要用到目標檢測技術。給出一張汽車行駛中的圖片
自動駕駛圖片
我們需要判斷圖中1-是否有行人,2-是否有車,3-是否有摩托車,4-圖片是否只是背景圖,還需要判斷圖中汽車的位置。設圖片左上角的座標是(0,0),右下角座標爲(1,1)。圖中汽車的中心點位置大概爲 ( b x = 0.5 , b y = 0.7 ) ,汽車的長和高分別是 b w = 0.3 b h = 0.4 。我們訓練的神經網絡就要有兩種類型的輸出,一種是4種對象的檢測,另外一種是車的位置信息。

我們定義這張圖片的標籤y要包含下面幾個元素

y = [ p c ( 是否有對象 ) b x b y b h b w c 1 ( 是否有行人 ) c 2 ( 是否有汽車 ) c 3 ( 是否摩托車 ) ]

如果圖片中有任意的對象,比如上圖,那麼
y = [ 1 b x b y b h b w 0 1 0 ]

如果圖片中什麼都沒有,那麼
y = [ 0 ? ? ? ? ? ? ? ]

其中第一個元素置爲0,其它元素可以不用設置,因爲都沒有任何對象了,我們不關心其它的信息了。

目標定位的損失函數是

l ( y ^ , y ) = { ( y ^ 1 y 1 ) 2 + ( y ^ 2 y 2 ) 2 + + ( y ^ 8 y 8 ) 2  if  y 1 = 1 ( y ^ 1 y 1 ) 2  if  y 1 = 0

這裏簡單地使用了平方損失函數。

特徵點檢測

除了可以使用矩形框標出目標在圖片中的位置,還可以使用特徵點來表示目標的位置。

在人臉檢測中,可以使用特徵點來表示人臉的位置,或者具體的部位,比如眼睛,鼻子,嘴巴。
y^1y1)2 if y1=1 if y1=0 l ( y ^ , y ) = { ( y ^ 1 y 1 ) 2 + ( y ^ 2 y 2 ) 2 + + ( y ^ 8 y 8 ) 2  if  y 1 = 1 ( y ^ 1 y 1 ) 2  if  y 1 = 0


這裏簡單地使用了平方損失函數。

特徵點檢測

除了可以使用矩形框標出目標在圖片中的位置,還可以使用特徵點來表示目標的位置。

在人臉檢測中,可以使用特徵點來表示人臉的位置,或者具體的部位,比如眼睛,鼻子,嘴巴。
人臉特徵點
樣本的標籤y是一個座標點的集合,第1個點表示左眼左側眼角,第2個點表示左眼右側眼角,第3個點表示右眼左側眼角,以此類推。

特徵點檢測有許多應用場景。比如說AR,在人的頭上顯示一個皇冠,需要得到人臉的特徵nline-block; position: relative; width: 0.925em; height: 0px;">y1

相關文章
相關標籤/搜索