魏若禹,李丹
(四川大學(xué)錦城學(xué)院,四川成都,611731)
幼兒識物教育在幼兒教育中處于特殊的地位,因?yàn)樵谟變鹤R字教育前,往往需要接受識物教育,讓幼兒對于世界可以有一個(gè)懵懂的概念,也是啟蒙教育的最初階段。在過去的幼兒識別物體的教育中,由于幼兒心智未成熟,教育者往往需要多次重復(fù)地教授幼兒圖像中的物體名稱,即使幼兒當(dāng)時(shí)識別到了該張圖像的物體,可在不同圖像中的同一物體依舊難以識別。這樣的識別教育過程需要花費(fèi)教育者大量的時(shí)間以及心力,且教育效果往往會(huì)受到不同教育者耐心程度的影響,較為耐心的教育者或許可以使得幼兒得到較好的教育效果,可缺乏耐心的教育者則會(huì)使得幼兒的教育效果極差,而教育者的教導(dǎo)水平也與地區(qū)等因素有關(guān),這也使得一些不發(fā)達(dá)地區(qū)的幼兒無法接收到較好的幼兒教育?!?】
隨著科技的發(fā)展,這樣需要耐心的重復(fù)性的教導(dǎo)工作則可以交給機(jī)器去處理。這就導(dǎo)致了幼兒識物教育系統(tǒng)的出現(xiàn)。這些傳統(tǒng)的幼兒識物教育系統(tǒng)大都為簡單的去識別一開始設(shè)置好的信息。例如幼兒用的識物點(diǎn)讀機(jī),只能識別固定書目的固定事物,又或者例如一些學(xué)習(xí)機(jī)中的識物系統(tǒng),只能識別事先輸入進(jìn)去的事物信息,沒辦法做到為輸入圖片信息的圖片上的物體識別。而由于人工智能的飛速發(fā)展,目標(biāo)識別算法在許多領(lǐng)域的應(yīng)用都取得了較為不錯(cuò)的成果,這也就使得目標(biāo)檢測算法結(jié)合幼兒識物教育成為一種可能。鑒于FCOS算法在目前眾多的目標(biāo)識別算法中有著獨(dú)特的優(yōu)勢,所以采用FCOS算法與幼兒識物教育系統(tǒng)相結(jié)合,可以使得幼兒在識物教育得到更好的教育效果。
不同于傳統(tǒng)的識別物體教育系統(tǒng)只能識別特定圖像中的物體,本文中提到的FCOS目標(biāo)檢測算法只要預(yù)先經(jīng)過訓(xùn)練就可以較好的檢測任意圖像中的物體,并將識別結(jié)果傳送到相應(yīng)的硬軟件系統(tǒng),將識別到的物體名稱以多種語言拼讀出來,以達(dá)到教導(dǎo)幼兒識別物體的結(jié)果。
目前大部分主流目標(biāo)檢測算法例如Faster R-CNN,SSD和YOLOv2,YOLOv3等算法都是基于一組預(yù)定義的錨框的。也正因如此,在很長一段時(shí)間內(nèi)人們普遍認(rèn)為錨框的使用是檢測算法能否成功的主要因素?!?】但由于錨框的特性,檢測算法的性能對錨框大小、錨框橫縱比、錨框個(gè)數(shù)等因素極為敏感,所以在使用這些檢測算法時(shí),需要將這些超參數(shù)仔細(xì)調(diào)整。但即使經(jīng)過精心調(diào)整與設(shè)置,有些超參數(shù)例如錨框的橫縱比、錨框的規(guī)模等都是固定的,在處理一些涉及到識別形態(tài)變化較大的物體的任務(wù)時(shí)就會(huì)變得比較困難。因而這些檢測算法的使用往往需要根據(jù)不同的識別目標(biāo)重新設(shè)計(jì)相應(yīng)的錨框大小以及錨框的橫縱比?!?】
在使用基于錨框的檢測算法時(shí),為了得到較高的召回率,會(huì)在輸入圖像上密集地放置錨框。而在訓(xùn)練過程中,這些錨框大多數(shù)被標(biāo)記為負(fù)樣本,這樣導(dǎo)致了正負(fù)樣本之間數(shù)量的不均衡。而且基于錨框的檢測算法還涉及到一些例如真實(shí)框的重疊度(IoU)這樣較為復(fù)雜的運(yùn)算,加重了系統(tǒng)運(yùn)算的負(fù)擔(dān)?!?】
本文所使用的訓(xùn)練集是VOC2007數(shù)據(jù)集的train部分,測試集則采用的是VOC2007數(shù)據(jù)集的test部分,在VOC2007數(shù)據(jù)集中一共給出了帶標(biāo)簽數(shù)據(jù)共二十個(gè)類別,其中包括四個(gè)大的類別,分別是人類、常見的動(dòng)物、交通車輛以及室內(nèi)的家具用品,二十個(gè)小類分別為人,貓,牛,狗,馬,羊,機(jī)、自行車、船、公共汽車、汽車、摩托車、火車,子、椅子、餐桌、盆栽、沙發(fā)、電視機(jī)。每張?jiān)诮嵌?、光照等面都有一定的不同之處?/p>
之所以使用VOC2007數(shù)據(jù)集是因?yàn)樵赩OC2007數(shù)據(jù)集中包含了多種物品,而認(rèn)識這些物品也是應(yīng)該存在于幼兒識物教育的內(nèi)容中的。因此使用VOC2007,利用其包含多種物品的特性,不但可以較好的訓(xùn)練模型,還可以更好的結(jié)合幼兒教育所需。
FCOS不同于上述提到的算法,F(xiàn)COS是一種基于無錨框的單階段目標(biāo)檢測算法。與上述基于錨框的算法相比,F(xiàn)COS有著減少設(shè)計(jì)參數(shù)的數(shù)量、避免與錨框相關(guān)的復(fù)雜計(jì)算等優(yōu)點(diǎn)。與同樣是基于無錨框的YOLOv1比起來,F(xiàn)COS可以利用真實(shí)邊框中的所有點(diǎn)來預(yù)測邊框,并且由于靠近目標(biāo)邊框中心的位置可以得到更加可靠的預(yù)測效果,所以FCOS算法利用“中心度”分支來抑制檢測到的低質(zhì)量的邊框?!?】
在FCOS算法中,怎樣怎樣判斷和處理不同邊框是極為重要的。如圖1所示,F(xiàn)COS對不同特征圖上不同大小的目標(biāo)做檢測,我們使用了五個(gè)層次的特征映射{P3;P4;P5;P6;P7.}P3、P4和P5由主干 CNN的特征圖C3、C4和C5生成,具有如圖1中所示,自上向下連接,P6,P7是在P5,P6上由3x3,步長為2的卷積層處理得到的。該種方案的與RetinaNet從C5獲得P6和P7不同,但FCOS算法可以在使用更少參數(shù)的基礎(chǔ)上保持與其相似的性能。此外,P3、P4、P5、P6和 P7的步長strides分別是 8、16、32、64和 128?!?】

圖1 圖中顯示為FCOS算法結(jié)構(gòu)[1]
而在判斷邊框類型時(shí),如果一個(gè)單位對應(yīng)的坐標(biāo)(x,y)在Ground Truth box(真實(shí)邊框)內(nèi),那么這個(gè)單位就歸為postive,并且其類別為真實(shí)邊框(Ground Truth box)類別,否則為negative,而如果落入多個(gè)Ground Truth box 中,則稱其為 ambiguous?!?】而在處理 ambiguous 的過程中,將ambiguous單元與Ground Truth box的四個(gè)邊的距離(l*,t*,r*,b*)的最大值max(l*,t*,r*,b*)與事先設(shè)置好的對應(yīng)層次的m相比較(m是該層單元需要回歸的最大距離。m2,m3,m4,m5,m6,m7分別設(shè)為0,64,128,256,512,∞),如果max的值大于該層次所對應(yīng)的strides的值或是下于其上一層層次所對應(yīng)的strides的值,則使得該ambiguous為negative;若值在兩者之間則設(shè)置為postive。【1】在此之后,如果單元仍然為ambiguous,則選擇真實(shí)邊框(Ground Truth box)面積最小的那個(gè)與其進(jìn)行綁定。這樣做的目的,簡單來說就是因?yàn)镕COS使用了基于FPN的多級預(yù)測,所以最底層的feature map上的單元就與一些小的bounding box綁定在一起,越往上層,該層的feature map就與越大的bounding box綁在一起。這樣就可以較好的解決了真實(shí)邊框(Ground Truth box)重疊會(huì)在訓(xùn)練過程中造成難以處理的歧義的問題?!?】
在實(shí)驗(yàn)過程中,一共設(shè)置了3組實(shí)驗(yàn)參數(shù)并在兩臺TeslaV100上進(jìn)行訓(xùn)練,從而三種方案進(jìn)行對比。
方案一的網(wǎng)絡(luò)的訓(xùn)練參數(shù)如下:初始學(xué)習(xí)率設(shè)置為0.01,權(quán)重衰減設(shè)置為0.0001,訓(xùn)練批次大小設(shè)置為4,訓(xùn)練輪數(shù) 15 輪。【3】
方案二的網(wǎng)絡(luò)的訓(xùn)練參數(shù)如下:初始學(xué)習(xí)率設(shè)置為0.01,權(quán)重衰減設(shè)置為0.0001,訓(xùn)練批次大小設(shè)置為4,訓(xùn)練輪數(shù) 30 輪?!?】
方案三的網(wǎng)絡(luò)的訓(xùn)練參數(shù)如下:初始學(xué)習(xí)率設(shè)置為0.01,權(quán)重衰減設(shè)置為0.0001,訓(xùn)練批次大小設(shè)置為8,訓(xùn)練輪數(shù) 30 輪?!?】
訓(xùn)練完后,以VOC2007數(shù)據(jù)集test部分為測試集,比較三種訓(xùn)練方案下得出模型在識別VOC2007數(shù)據(jù)集中的二十種類別時(shí)的準(zhǔn)確率。
如圖2所示,隨著訓(xùn)練批次大小以及訓(xùn)練輪數(shù)的增加,三種方案得出的模型在識別VOC2007數(shù)據(jù)集中的二十種類別時(shí)的準(zhǔn)確率也明顯增加。在方案三下訓(xùn)練出來的模型,在識別VOC2007數(shù)據(jù)集中的二十種類別時(shí)有著較高的準(zhǔn)確率。因此,將FCOS算法應(yīng)用于幼兒識物教育系統(tǒng)有者良好的實(shí)用效果。

圖2 實(shí)驗(yàn)結(jié)果
在傳統(tǒng)幼兒識物教育系統(tǒng)中,往往需要事先將幼兒識物教育所用的圖片資料輸入到系統(tǒng)中,且每新增一張圖片就要連同圖片信息一起輸入到系統(tǒng)中,因而只能識別系統(tǒng)中保存的圖片中的物體,即使是相同物體在不同圖片中,傳統(tǒng)識物教育系統(tǒng)也無法識別。這就導(dǎo)致了如果幼兒識物能力較強(qiáng),那么就要頻繁對系統(tǒng)進(jìn)行更新,增加新的圖片讓幼兒認(rèn)識不同照片中的事物。
但隨著深度學(xué)習(xí)在圖像處理、目標(biāo)識別、目標(biāo)檢測等領(lǐng)域的應(yīng)用取得較大成功后,我們便設(shè)想是否能夠?qū)⒛繕?biāo)檢測算法融入到幼兒識物教育系統(tǒng)中。使得以目標(biāo)檢測算法為基礎(chǔ)構(gòu)建的幼兒識物系統(tǒng)本身就具有物體識別的能力,這樣只要通過加載預(yù)先訓(xùn)練好的模型去進(jìn)行操作就可以使得系統(tǒng)不再局限于只能識別固定的圖片,而是可以識別任意圖片中的物體。在構(gòu)建系統(tǒng)時(shí),我們既可以將模型部署在云端【4】,只提供服務(wù)接口,讓用戶通過網(wǎng)絡(luò)遠(yuǎn)程連接服務(wù)器進(jìn)行運(yùn)算,也可以將目標(biāo)檢測的算法模型遷移到移動(dòng)智能終端,如手機(jī),平板電腦等設(shè)備上【5】,讓用戶通過智能終端所連接的攝像頭等設(shè)備得到需要識別的物體的影像,再通過智能終端中的處理器調(diào)用部署在本地的模型進(jìn)行運(yùn)算?!?】兩種應(yīng)用都有著各自的優(yōu)勢與局限性,部署在服務(wù)器端可以使得模型運(yùn)行更快速,得到的結(jié)果更加準(zhǔn)確,但會(huì)受到網(wǎng)絡(luò)連接環(huán)境的影響,而部署在移動(dòng)智能終端則避免了網(wǎng)絡(luò)環(huán)境波動(dòng)造成的影響,但會(huì)受到移動(dòng)智能設(shè)備處理器運(yùn)算速度的制約。
而在算法的選擇上,我們選擇FCOS算法作為目標(biāo)檢測的算法。因?yàn)樵撍惴ú恍枰A(yù)先定義錨框(anchor),與因此避免了和錨框(anchor)相關(guān)的大量計(jì)算,這樣大大減少了訓(xùn)練所需的內(nèi)存,也使得FCOS可以更快的應(yīng)用在系統(tǒng)中。
如果一開始傳統(tǒng)識物系統(tǒng)中只有第一張圖片(圖3),而沒有第二張圖片(圖4),那么傳統(tǒng)識物教育系統(tǒng)只能通過新增信息去更新系統(tǒng)中的圖片和圖片資料,才能使得幼兒認(rèn)識第二張圖片中的物體。而基于FCOS算法的識物教育系統(tǒng)則可以根據(jù)圖片得到圖片中的物體信息,即使兩張圖片都不在系統(tǒng)內(nèi),但都可以較為準(zhǔn)確的識別出圖片中的物體。

圖3 狗(左一)和貓(右一)

圖4 馬
比傳統(tǒng)幼兒識物教育系統(tǒng)更好的是,基于FCOS算法的識物教育系統(tǒng)不但可以識別圖片中的物體,還可以識別視頻中的物體,這樣就使得幼兒識物教育不只停留在靜態(tài)物體的識別,也因此可以強(qiáng)化幼兒識物教育的效果。如圖5,圖6所示。

圖5 所示為某音樂視頻中的兩個(gè)人物角色

圖6 則是某道路車況視頻
根據(jù)圖片所示,我們可以得知基于FCOS算法的識物教育系統(tǒng)對于視頻中的物體有著較強(qiáng)的“識物“能力,也因此可以使得在幼兒在基于FCOS算法的識物教育系統(tǒng)的教育下可以結(jié)合動(dòng)態(tài)物體識別與靜態(tài)物體識別,從而達(dá)到一個(gè)更好的學(xué)習(xí)效果。