王天珩,張軼
(四川大學(xué)視覺(jué)合成圖形圖像技術(shù)國(guó)家重點(diǎn)學(xué)科實(shí)驗(yàn)室,成都 610065)
目標(biāo)檢測(cè)是近年來(lái)一個(gè)非常熱門(mén)的研究方向。目標(biāo)檢測(cè)的本質(zhì)可以理解為在場(chǎng)景中對(duì)一個(gè)物體進(jìn)行分類(lèi)和定位,但是該領(lǐng)域存在一個(gè)問(wèn)題:預(yù)測(cè)結(jié)果的偏置和精度飽和問(wèn)題。
理想情況下:樣本越多,檢測(cè)精度越高。而在很多真實(shí)世界應(yīng)用場(chǎng)景下,如果選擇的樣本有偏差,可能會(huì)造成在有監(jiān)督學(xué)習(xí)方式下目標(biāo)檢測(cè)的效果下降。于是,在盡可能減少標(biāo)簽代價(jià)的情況下盡可能增加目標(biāo)檢測(cè)精度就成為了當(dāng)前研究的熱點(diǎn)。
近些年來(lái),深度卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測(cè)領(lǐng)域發(fā)展迅速,產(chǎn)生了大量的深度網(wǎng)絡(luò),其中有Fast R-CNN、SPP等網(wǎng)絡(luò)模型,但是當(dāng)訓(xùn)練樣本的數(shù)量較少或者樣本中存在大量困難樣例的時(shí)候,檢測(cè)精度就會(huì)不可避免地下降。主動(dòng)學(xué)習(xí)[1]是一種能夠保證目標(biāo)性能不受太大影響下,同時(shí)能夠有效減少標(biāo)注樣本數(shù)量的機(jī)器學(xué)習(xí)算法。主動(dòng)學(xué)習(xí)先是訓(xùn)練少量有標(biāo)簽的樣本,然后將訓(xùn)練出的模型預(yù)測(cè)大量無(wú)標(biāo)簽樣本并且加入訓(xùn)練集中,可以看做是特殊的半監(jiān)督學(xué)習(xí)[2]。本文將主動(dòng)學(xué)習(xí)算法和深度卷積網(wǎng)絡(luò)結(jié)合在了一起。
在本算法中,有標(biāo)簽樣本會(huì)被分為完備數(shù)據(jù)集和不完備數(shù)據(jù)集。一個(gè)完備的樣本是有著正確的感興趣區(qū)域(ROI)信息,例如物體的類(lèi)別、屬性、位置信息和尺寸,但是在訓(xùn)練中所用到的不完備樣本信息以上的信息則可能不完全正確。對(duì)于不完備數(shù)據(jù)的處理不同于其他完備數(shù)據(jù),因?yàn)檫@些不完備數(shù)據(jù)不但可能對(duì)于當(dāng)前的分類(lèi)模型沒(méi)有幫助,甚至可能造成目標(biāo)檢測(cè)分類(lèi)器性能下降。
在實(shí)驗(yàn)中,采用了信息含量較高的樣本,兼顧了樣本的多樣性。目標(biāo)就是先用少量的完備有標(biāo)簽數(shù)據(jù)集訓(xùn)練出一個(gè)初始模型,然后隨著迭代逐次往其中加入不完備數(shù)據(jù)或者無(wú)標(biāo)簽樣本。由于該算法采用了主動(dòng)學(xué)習(xí)和聚類(lèi)算法[3]思想,就將這種算法命名為ACL(Active-Clustering Learning)算法。
比起前人算法,ACL算法有如下優(yōu)勢(shì):
(1)結(jié)合了主動(dòng)學(xué)習(xí)算法和聚類(lèi)思想,提高了篩選樣本的質(zhì)量,減少了大量的冗余樣本和標(biāo)簽代價(jià)。
(2)減少了不平衡數(shù)據(jù)分類(lèi)中,樣本的選擇偏差問(wèn)題。
筆者將提出的算法應(yīng)用在具有挑戰(zhàn)性的目標(biāo)檢測(cè)[4]和動(dòng)作識(shí)別數(shù)據(jù)上。實(shí)驗(yàn)證明,與前人的方法比較而言,這套方法的性?xún)r(jià)比較高。在部分類(lèi)別上,精度超越了前人最優(yōu)算法。在目標(biāo)檢測(cè)和動(dòng)作識(shí)別等多個(gè)公開(kāi)數(shù)據(jù)庫(kù)上,該算法已經(jīng)證明了其優(yōu)越性。
圖1 算法總體流程圖
ACL算法總體流程:
輸入:n,v(2n>v);完備數(shù)據(jù)集Dconf和不完備數(shù)據(jù)集
輸出:有標(biāo)注數(shù)據(jù)庫(kù)DΔ和候選數(shù)據(jù)庫(kù)Dbatch,DΔ< 方法: Step 1.令Dconf為初始訓(xùn)練樣本,訓(xùn)練出一個(gè)初始化模型:M0。 Repeat Step 2.從Dimp中選擇出數(shù)據(jù)Dbatch,根據(jù)公式(1)給出當(dāng)前分類(lèi)器的分類(lèi)結(jié)果Ft。 Step 3.確定一個(gè)批次數(shù)據(jù)庫(kù)的規(guī)模: 1.通過(guò)上下界選擇出部分不確定樣本。 2.從不確定數(shù)據(jù)集Duncertain中的各個(gè)聚類(lèi)中一共選擇v個(gè)樣本,即Ddivers。 3.根據(jù)當(dāng)前選擇的樣本初始化上下界。 4.重復(fù)第3步直至DΔ的數(shù)量達(dá)到定值。 Step 4.人工修正DΔ中沒(méi)有正確標(biāo)注的樣本。 Step 5.重新訓(xùn)練Ft,每輪都加入DΔ中的新樣本,Dimp中的樣本在持續(xù)減少。 訓(xùn)練直到達(dá)到收斂或者Dimp中樣本耗盡。 (1)目標(biāo)檢測(cè)數(shù)據(jù)庫(kù)上的實(shí)驗(yàn)結(jié)果: 本環(huán)節(jié)的實(shí)驗(yàn)主要是為了驗(yàn)證該算法在目標(biāo)檢測(cè)公開(kāi)庫(kù)上的實(shí)驗(yàn)效果和精度。實(shí)驗(yàn)主要從檢測(cè)平均精度(mAP)和節(jié)省的樣本比例兩個(gè)維度來(lái)證明該算法的杰出性能。同時(shí)還會(huì)給出不同類(lèi)別的物體在不同算法上的精度差異。 實(shí)驗(yàn)數(shù)據(jù)庫(kù):PASCAL VOC 2012數(shù)據(jù)集中包含了20類(lèi),訓(xùn)練集中一共包含了5717張圖片,測(cè)試用到了5823張圖片。 為了盡量減少誤差,每個(gè)實(shí)驗(yàn)都做了五次以求中間結(jié)果。所有的實(shí)驗(yàn)都從相同的baseline目標(biāo)檢測(cè)器作為初始化模型,從無(wú)標(biāo)簽數(shù)據(jù)集中選擇出來(lái)500張圖片進(jìn)行訓(xùn)練。此后,每個(gè)主動(dòng)學(xué)習(xí)算法執(zhí)行15輪。每一輪中,算法選擇出置信度接近于0.5的200張圖片,并把這些圖片加入到已有訓(xùn)練集中,訓(xùn)練出一個(gè)新的模型,如此一直循環(huán)下去。 本文中的實(shí)驗(yàn)對(duì)比方法分別是隨機(jī)采樣,不確定性采樣,TCAL[5]和本算法。 圖2 不同算法在PASCAL數(shù)據(jù)庫(kù)上的檢測(cè)精度 圖3 不同算法在PASCAL數(shù)據(jù)庫(kù)上節(jié)約的樣本比例 在數(shù)據(jù)庫(kù)所包含的20個(gè)物體類(lèi)別中,有些樣本使用ACL算法提升明顯,有些樣本則不升反降,屬于困難樣例。 表1 20類(lèi)物體在不同方法下的檢測(cè)精度 表1展示的是每種方法在PASCAL VOC 2012數(shù)據(jù)集上的平均精度(有標(biāo)簽訓(xùn)練集的數(shù)量是1100)。每種方法的結(jié)果是五輪訓(xùn)練結(jié)果的平均值。每列加粗的字體是最好的結(jié)果,下標(biāo)劃?rùn)M線的是第二好的結(jié)果。精度低于被動(dòng)學(xué)習(xí)40%的樣本算作是困難樣例,已經(jīng)用星號(hào)標(biāo)了出來(lái),這類(lèi)樣本在主動(dòng)學(xué)習(xí)中提升的效果比較有限。 圖4困難樣例TCAL算法和本算法性能差異 圖4 顯示的是在PASCAL VOC 2012數(shù)據(jù)庫(kù)中,不同類(lèi)別樣本在TCAL和本文算法的精度差異。通過(guò)圖表可以觀察出:本算法在部分類(lèi)別上的精確度超過(guò)了state-of-the-art,在所有20個(gè)類(lèi)別上則是平均超過(guò)了大約1%??傮w上說(shuō),本算法的性能還是比較優(yōu)越的。 本算法在9個(gè)類(lèi)別上超過(guò)了TCAL算法,具有較為優(yōu)越的性能。 (2)動(dòng)作識(shí)別數(shù)據(jù)庫(kù)上的實(shí)驗(yàn)結(jié)果: 在本環(huán)節(jié),將方法在有挑戰(zhàn)性的動(dòng)作分類(lèi)Willow actions數(shù)據(jù)庫(kù)上進(jìn)行了實(shí)驗(yàn)。該數(shù)據(jù)庫(kù)包含了7類(lèi)人體動(dòng)作,分別是使用電腦、攝影、使用樂(lè)器、騎自行車(chē)、騎馬、跑步以及步行,數(shù)據(jù)庫(kù)比較具有挑戰(zhàn)性。數(shù)據(jù)庫(kù)中每類(lèi)中至少包括108張圖片,其中40張用于訓(xùn)練,30張用于驗(yàn)證,剩余的圖片用于測(cè)試。 對(duì)比方法分別是隨機(jī)采樣,不確定性采樣,TCAL和本算法。 表2 七類(lèi)動(dòng)作在不同方法下的檢測(cè)精度 表2展示的是在這個(gè)數(shù)據(jù)庫(kù)上不同方法的效果圖。最高的檢測(cè)率已經(jīng)加粗,本文的算法是基于Faster R-CNN,將運(yùn)用主動(dòng)學(xué)習(xí)算法,結(jié)合部分?jǐn)?shù)據(jù)的Faster R-CNN算法和使用了全部數(shù)據(jù)的Faster R-CNN算法進(jìn)行對(duì)比。其中,“使用樂(lè)器”類(lèi)達(dá)到了最好的效果。而本文的算法通過(guò)多輪迭代,達(dá)到了性?xún)r(jià)比較高的結(jié)果,在“使用樂(lè)器”,“攝影”和“使用計(jì)算機(jī)”類(lèi)上達(dá)到了最好的結(jié)果。原因是這類(lèi)動(dòng)作中人和物體間的聯(lián)系較為緊密,使用全部數(shù)據(jù)可能會(huì)造成部分困難樣例,對(duì)分類(lèi)器造成干擾。同時(shí),在其他多數(shù)類(lèi)別上,本文算法都能達(dá)到不錯(cuò)的性能,雖然沒(méi)能實(shí)現(xiàn)最高檢測(cè)精度,但是能節(jié)省部分樣本,可以實(shí)現(xiàn)高性?xún)r(jià)比,即用較少的樣本達(dá)到較高的精度。 本文中提出了一個(gè)基于聚類(lèi)思想,對(duì)樣本進(jìn)行精篩的主動(dòng)學(xué)習(xí)算法,并且在圖像分類(lèi)和目標(biāo)檢測(cè)領(lǐng)域的有挑戰(zhàn)公開(kāi)庫(kù)上證明了其有效性。 首先,實(shí)驗(yàn)證明了使用主動(dòng)學(xué)習(xí)方法的性能表現(xiàn)接近于使用100%的有標(biāo)簽數(shù)據(jù)集。其次,實(shí)驗(yàn)證明了將聚類(lèi)思想融入到主動(dòng)學(xué)習(xí)算法以后,能夠進(jìn)一步將樣本精篩,提高選擇樣本的效率。在部分特定類(lèi)別物體上的檢測(cè)效率,超過(guò)了使用整個(gè)數(shù)據(jù)集的方法。2 實(shí)驗(yàn)結(jié)果
3 結(jié)語(yǔ)