自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深度學(xué)習(xí)檢測小目標(biāo)常用方法

人工智能 深度學(xué)習(xí)
在深度學(xué)習(xí)目標(biāo)檢測中,特別是人臉檢測中,小目標(biāo)、小人臉的檢測由于 分辨率低,圖片模糊,信息少,噪音多 ,所以一直是一個實(shí)際且常見的困難問題。

 [[427475]]

引言

在深度學(xué)習(xí)目標(biāo)檢測中,特別是人臉檢測中,小目標(biāo)、小人臉的檢測由于 分辨率低,圖片模糊,信息少,噪音多 ,所以一直是一個實(shí)際且常見的困難問題。 不過在這幾年的發(fā)展中,也涌現(xiàn)了一些提高小目標(biāo)檢測性能的解決手段,本文對這些手段做一個分析、整理和總結(jié)。

歡迎探討,本文持續(xù)維護(hù)。

實(shí)驗(yàn)平臺

N/A

傳統(tǒng)的圖像金字塔和多尺度滑動窗口檢測

最開始在深度學(xué)習(xí)方法流行之前,對于不同尺度的目標(biāo),大家普遍使用將原圖build出 不同分辨率的圖像金字塔 ,再對每層金字塔用固定輸入分辨率的分類器在該層滑動來檢測目標(biāo),以求在金字塔底部檢測出小目標(biāo); 或者只用一個原圖,在原圖上,用 不同分辨率的分類器 來檢測目標(biāo),以求在比較小的窗口分類器中檢測到小目標(biāo)。

在著名的人臉檢測器 MTCNN (https://arxiv.org/abs/1604.02878) 中,就使用了圖像金字塔的方法來檢測不同分辨率的人臉目標(biāo)。

不過這種方式速度慢(雖然通常build圖像金字塔可以使用卷積核分離加速或者直接簡單粗暴地resize,但是還是需要做多次的特征提取呀),后面有人借鑒它的思想搞出了特征金字塔網(wǎng)絡(luò)FPN,它在不同層取特征進(jìn)行融合,只需要一次前向計算,不需要縮放圖片,也在小目標(biāo)檢測中得到了應(yīng)用,在本文后面會講到。

簡單粗暴又可靠的Data Augmentation

深度學(xué)習(xí)的效果在某種意義上是靠大量數(shù)據(jù)喂出來的,小目標(biāo)檢測的性能同樣也可以通過增加訓(xùn)練集中小目標(biāo)樣本的種類和數(shù)量來提升。在《深度學(xué)習(xí)中不平衡樣本的處理》[2]一文中已經(jīng)介紹了許多數(shù)據(jù)增強(qiáng)的方案,這些方案雖然主要是解決不同類別樣本之間數(shù)量不均衡的問題的,但是有時候小目標(biāo)檢測之難其中也有數(shù)據(jù)集中小樣本相對于大樣本來說數(shù)量很少的因素,所以其中很多方案都可以用在小樣本數(shù)據(jù)的增強(qiáng)上,這里不贅述。另外,在19年的論文 Augmentation for small object detection (https://arxiv.org/abs/1902.07296) 中,也提出了兩個簡單粗暴的方法:

1. 針對COCO數(shù)據(jù)集中包含小目標(biāo)的圖片數(shù)量少的問題,使用過采樣OverSampling策略;

2. 針對同一張圖片里面包含小目標(biāo)數(shù)量少的問題,在圖片內(nèi)用分割的Mask摳出小目標(biāo)圖片再使用復(fù)制粘貼的方法(當(dāng)然,也加上了一些旋轉(zhuǎn)和縮放,另外要注意不要遮擋到別的目標(biāo))。

在同一張圖中有更多的小目標(biāo),在Anchor策略的方法中就會匹配出更多的正樣本。

特征融合的FPN

不同階段的特征圖對應(yīng)的感受野不同,它們表達(dá)的信息抽象程度也不一樣。 淺層的特征圖感受野小,比較適合檢測小目標(biāo)(要檢測大目標(biāo),則其只“看”到了大目標(biāo)的一部分,有效信息不夠);深層的特征圖感受野大,適合檢測大目標(biāo)(要檢測小目標(biāo),則其”看“到了太多的背景噪音,冗余噪音太多) 。所以,有人就提出了將不同階段的特征圖,都融合起來,來提升目標(biāo)檢測的性能,這就是特征金字塔網(wǎng)絡(luò) FPN (https://arxiv.org/abs/1612.03144) 。

在人臉領(lǐng)域,基本上性能好一點(diǎn)的方法都是用了FPN的思想,其中比較有代表性的有 RetinaFace : Single-stage Dense Face Localisation in the Wild (https://arxiv.org/pdf/1905.00641.pdf)

另外一個思路:既然可以在不同分辨率特征圖做融合來提升特征的豐富度和信息含量來檢測不同大小的目標(biāo),那么自然也有人會進(jìn)一步地猜想,如果只用高分辨率的特征圖(淺層特征)去檢測小臉;用中間分辨率的特征圖(中層特征)去檢測大臉;最后用地分辨率的特征圖(深層特征)去檢測小臉。比如人臉檢測中的 SSH (https://arxiv.org/pdf/1708.03979.pdf) 。

合適的訓(xùn)練方法SNIP,SNIPER,SAN

機(jī)器學(xué)習(xí)里面有個重要的觀點(diǎn), 模型預(yù)訓(xùn)練的分布要盡可能地接近測試輸入的分布 。所以,在大分辨率(比如常見的224 x 224)下訓(xùn)練出來的模型,不適合檢測本身是小分辨率再經(jīng)放大送入模型的圖片。如果是小分辨率的圖片做輸入,應(yīng)該在小分辨率的圖片上訓(xùn)練模型;再不行,應(yīng)該用大分辨率的圖片訓(xùn)練的模型上用小分辨率的圖片來微調(diào)fine-tune;最差的就是直接用大分辨率的圖片來預(yù)測小分辨率的圖(通過上采樣放大)。但是這是在理想的情況下的(訓(xùn)練樣本數(shù)量、豐富程度都一樣的前提下,但實(shí)際上,很多數(shù)據(jù)集都是小樣本嚴(yán)重缺乏的),所以 放大輸入圖像+使用高分率圖像預(yù)訓(xùn)練再在小圖上微調(diào),在實(shí)踐中要優(yōu)于專門針對小目標(biāo)訓(xùn)練一個分類器 。

 


在下圖中示意的是SNIP訓(xùn)練方法, 訓(xùn)練時只訓(xùn)練合適尺寸的目標(biāo)樣本,只有真值的尺度和Anchor的尺度接近時來用來訓(xùn)練檢測器,太小太大的都不要,預(yù)測時輸入圖像多尺度,總有一個尺寸的Anchor是合適的,選擇那個最合適的尺度來預(yù)測 。對 R-FCN (https://arxiv.org/abs/1605.06409) 提出的改進(jìn)主要有兩個地方,一是多尺寸圖像輸入,針對不同大小的輸入,在經(jīng)過RPN網(wǎng)絡(luò)時需要判斷valid GT和invalid GT,以及valid anchor和invalid anchor,通過這一分類,使得得到的預(yù)選框更加的準(zhǔn)確;二是在RCN階段,根據(jù)預(yù)選框的大小,只選取在一定范圍內(nèi)的預(yù)選框,最后使用NMS來得到最終結(jié)果。

 

SNIPER是SNIP的實(shí)用升級版本,這里不做詳細(xì)介紹了。

更稠密的Anchor采樣和匹配策略S3FD,FaceBoxes

在前面Data Augmentation部分已經(jīng)講了,復(fù)制小目標(biāo)到一張圖的多個地方可以增加小目標(biāo)匹配的Anchor框的個數(shù),增加小目標(biāo)的訓(xùn)練權(quán)重,減少網(wǎng)絡(luò)對大目標(biāo)的bias。同樣,反過來想,如果在數(shù)據(jù)集已經(jīng)確定的情況下,我們也可以增加負(fù)責(zé)小目標(biāo)的Anchor的設(shè)置策略來讓訓(xùn)練時對小目標(biāo)的學(xué)習(xí)更加充分。例如人臉檢測中的 FaceBoxes (https://arxiv.org/abs/1708.05234) 其中一個Contribution就是Anchor densification strategy,Inception3的anchors有三個scales(32,64,128),而32 scales是稀疏的,所以需要密集化4倍,而64 scales則需要密集化2倍。在 S3FD (http://openaccess.thecvf.com/content_ICCV_2017/papers/Zhang_S3FD_Single_Shot_ICCV_2017_paper.pdf) 人臉檢測方法中,則用了Equal-proportion interval principle來保證不同大小的Anchor在圖中的密度大致相等,這樣大臉和小臉匹配到的Anchor的數(shù)量也大致相等了。

另外,對小目標(biāo)的Anchor使用比較寬松的匹配策略(比如IoU > 0.4)也是一個比較常用的手段。

先生成放大特征再檢測的GAN

Perceptual GAN 使用了GAN對小目標(biāo)生成一個和大目標(biāo)很相似的Super-resolved Feature(如下圖所示),然后把這個Super-resolved Feature疊加在原來的小目標(biāo)的特征圖(如下下圖所示)上,以此增強(qiáng)對小目標(biāo)特征表達(dá)來提升小目標(biāo)(在論文中是指交通燈)的檢測性能。

利用Context信息的Relation Network和PyramidBox

小目標(biāo),特別是像人臉這樣的目標(biāo),不會單獨(dú)地出現(xiàn)在圖片中(想想單獨(dú)一個臉出現(xiàn)在圖片中,而沒有頭、肩膀和身體也是很恐怖的)。像 PyramidBox (https://arxiv.org/abs/1803.07737) 方法,加上一些頭、肩膀這樣的上下文Context信息,那么目標(biāo)就相當(dāng)于變大了一些,上下文信息加上檢測也就更容易了。

這里順便再提一下通用目標(biāo)檢測中另外一種加入Context信息的思路, Relation Networks (https://arxiv.org/abs/1711.11575) 雖然主要是解決提升識別性能和過濾重復(fù)檢測而不是專門針對小目標(biāo)檢測的,但是也和上面的PyramidBox思想很像的,都是利用上下文信息來提升檢測性能,可以歸類為Context一類。

總結(jié)

本文比較詳細(xì)地總結(jié)了一些在通用目標(biāo)檢測和專門人臉檢測領(lǐng)域常見的小目標(biāo)檢測的解決方案 ,后面有時間會再寫一些專門在人臉領(lǐng)域的困難點(diǎn)(比如ROP的側(cè)臉,RIP的360度人臉)及現(xiàn)在學(xué)術(shù)界的解決方案。

責(zé)任編輯:張燕妮 來源: 極市平臺
相關(guān)推薦

2023-12-19 16:01:40

深度學(xué)習(xí)人工智能目標(biāo)檢測

2017-09-20 16:25:00

深度學(xué)習(xí)視覺領(lǐng)域計算機(jī)

2017-10-02 16:13:47

深度學(xué)習(xí)目標(biāo)檢測計算機(jī)視覺

2017-09-22 11:45:10

深度學(xué)習(xí)OpenCVPython

2020-09-21 05:58:40

深度學(xué)習(xí)算法目標(biāo)檢測

2019-05-24 10:30:38

2010-08-26 10:12:54

2021-04-15 09:50:41

深度學(xué)習(xí)編程人工智能

2017-08-03 11:00:20

2024-07-17 10:30:00

2024-01-15 08:52:34

自動駕駛目標(biāo)檢測

2021-07-01 08:00:00

深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)架構(gòu)

2022-10-26 15:41:38

深度學(xué)習(xí)Deepfake機(jī)器學(xué)習(xí)

2019-05-23 10:02:00

AI

2017-09-19 16:10:50

深度學(xué)習(xí)目標(biāo)檢測模型

2017-04-25 15:12:45

神經(jīng)網(wǎng)絡(luò)SSD檢測

2024-08-01 09:00:00

目標(biāo)檢測端到端

2022-04-17 23:09:07

深度學(xué)習(xí)人工智能芯片

2019-06-25 10:09:42

Web攻擊機(jī)器學(xué)習(xí)網(wǎng)絡(luò)攻擊

2023-11-21 09:32:17

深度學(xué)習(xí)人工智能
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號