魏若禹,李丹
(四川大學錦城學院,四川成都,611731)
幼兒識物教育在幼兒教育中處于特殊的地位,因為在幼兒識字教育前,往往需要接受識物教育,讓幼兒對于世界可以有一個懵懂的概念,也是啟蒙教育的最初階段。在過去的幼兒識別物體的教育中,由于幼兒心智未成熟,教育者往往需要多次重復地教授幼兒圖像中的物體名稱,即使幼兒當時識別到了該張圖像的物體,可在不同圖像中的同一物體依舊難以識別。這樣的識別教育過程需要花費教育者大量的時間以及心力,且教育效果往往會受到不同教育者耐心程度的影響,較為耐心的教育者或許可以使得幼兒得到較好的教育效果,可缺乏耐心的教育者則會使得幼兒的教育效果極差,而教育者的教導水平也與地區(qū)等因素有關,這也使得一些不發(fā)達地區(qū)的幼兒無法接收到較好的幼兒教育?!?】
隨著科技的發(fā)展,這樣需要耐心的重復性的教導工作則可以交給機器去處理。這就導致了幼兒識物教育系統(tǒng)的出現(xiàn)。這些傳統(tǒng)的幼兒識物教育系統(tǒng)大都為簡單的去識別一開始設置好的信息。例如幼兒用的識物點讀機,只能識別固定書目的固定事物,又或者例如一些學習機中的識物系統(tǒng),只能識別事先輸入進去的事物信息,沒辦法做到為輸入圖片信息的圖片上的物體識別。而由于人工智能的飛速發(fā)展,目標識別算法在許多領域的應用都取得了較為不錯的成果,這也就使得目標檢測算法結合幼兒識物教育成為一種可能。鑒于FCOS算法在目前眾多的目標識別算法中有著獨特的優(yōu)勢,所以采用FCOS算法與幼兒識物教育系統(tǒng)相結合,可以使得幼兒在識物教育得到更好的教育效果。
不同于傳統(tǒng)的識別物體教育系統(tǒng)只能識別特定圖像中的物體,本文中提到的FCOS目標檢測算法只要預先經過訓練就可以較好的檢測任意圖像中的物體,并將識別結果傳送到相應的硬軟件系統(tǒng),將識別到的物體名稱以多種語言拼讀出來,以達到教導幼兒識別物體的結果。
目前大部分主流目標檢測算法例如Faster R-CNN,SSD和YOLOv2,YOLOv3等算法都是基于一組預定義的錨框的。也正因如此,在很長一段時間內人們普遍認為錨框的使用是檢測算法能否成功的主要因素?!?】但由于錨框的特性,檢測算法的性能對錨框大小、錨框橫縱比、錨框個數(shù)等因素極為敏感,所以在使用這些檢測算法時,需要將這些超參數(shù)仔細調整。但即使經過精心調整與設置,有些超參數(shù)例如錨框的橫縱比、錨框的規(guī)模等都是固定的,在處理一些涉及到識別形態(tài)變化較大的物體的任務時就會變得比較困難。因而這些檢測算法的使用往往需要根據不同的識別目標重新設計相應的錨框大小以及錨框的橫縱比?!?】
在使用基于錨框的檢測算法時,為了得到較高的召回率,會在輸入圖像上密集地放置錨框。而在訓練過程中,這些錨框大多數(shù)被標記為負樣本,這樣導致了正負樣本之間數(shù)量的不均衡。而且基于錨框的檢測算法還涉及到一些例如真實框的重疊度(IoU)這樣較為復雜的運算,加重了系統(tǒng)運算的負擔。【2】
本文所使用的訓練集是VOC2007數(shù)據集的train部分,測試集則采用的是VOC2007數(shù)據集的test部分,在VOC2007數(shù)據集中一共給出了帶標簽數(shù)據共二十個類別,其中包括四個大的類別,分別是人類、常見的動物、交通車輛以及室內的家具用品,二十個小類分別為人,貓,牛,狗,馬,羊,機、自行車、船、公共汽車、汽車、摩托車、火車,子、椅子、餐桌、盆栽、沙發(fā)、電視機。每張在角度、光照等面都有一定的不同之處。
之所以使用VOC2007數(shù)據集是因為在VOC2007數(shù)據集中包含了多種物品,而認識這些物品也是應該存在于幼兒識物教育的內容中的。因此使用VOC2007,利用其包含多種物品的特性,不但可以較好的訓練模型,還可以更好的結合幼兒教育所需。
FCOS不同于上述提到的算法,F(xiàn)COS是一種基于無錨框的單階段目標檢測算法。與上述基于錨框的算法相比,F(xiàn)COS有著減少設計參數(shù)的數(shù)量、避免與錨框相關的復雜計算等優(yōu)點。與同樣是基于無錨框的YOLOv1比起來,F(xiàn)COS可以利用真實邊框中的所有點來預測邊框,并且由于靠近目標邊框中心的位置可以得到更加可靠的預測效果,所以FCOS算法利用“中心度”分支來抑制檢測到的低質量的邊框。【2】
在FCOS算法中,怎樣怎樣判斷和處理不同邊框是極為重要的。如圖1所示,F(xiàn)COS對不同特征圖上不同大小的目標做檢測,我們使用了五個層次的特征映射{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ù)的基礎上保持與其相似的性能。此外,P3、P4、P5、P6和 P7的步長strides分別是 8、16、32、64和 128。【1】
圖1 圖中顯示為FCOS算法結構[1]
而在判斷邊框類型時,如果一個單位對應的坐標(x,y)在Ground Truth box(真實邊框)內,那么這個單位就歸為postive,并且其類別為真實邊框(Ground Truth box)類別,否則為negative,而如果落入多個Ground Truth box 中,則稱其為 ambiguous?!?】而在處理 ambiguous 的過程中,將ambiguous單元與Ground Truth box的四個邊的距離(l*,t*,r*,b*)的最大值max(l*,t*,r*,b*)與事先設置好的對應層次的m相比較(m是該層單元需要回歸的最大距離。m2,m3,m4,m5,m6,m7分別設為0,64,128,256,512,∞),如果max的值大于該層次所對應的strides的值或是下于其上一層層次所對應的strides的值,則使得該ambiguous為negative;若值在兩者之間則設置為postive?!?】在此之后,如果單元仍然為ambiguous,則選擇真實邊框(Ground Truth box)面積最小的那個與其進行綁定。這樣做的目的,簡單來說就是因為FCOS使用了基于FPN的多級預測,所以最底層的feature map上的單元就與一些小的bounding box綁定在一起,越往上層,該層的feature map就與越大的bounding box綁在一起。這樣就可以較好的解決了真實邊框(Ground Truth box)重疊會在訓練過程中造成難以處理的歧義的問題。【7】
在實驗過程中,一共設置了3組實驗參數(shù)并在兩臺TeslaV100上進行訓練,從而三種方案進行對比。
方案一的網絡的訓練參數(shù)如下:初始學習率設置為0.01,權重衰減設置為0.0001,訓練批次大小設置為4,訓練輪數(shù) 15 輪?!?】
方案二的網絡的訓練參數(shù)如下:初始學習率設置為0.01,權重衰減設置為0.0001,訓練批次大小設置為4,訓練輪數(shù) 30 輪。【3】
方案三的網絡的訓練參數(shù)如下:初始學習率設置為0.01,權重衰減設置為0.0001,訓練批次大小設置為8,訓練輪數(shù) 30 輪?!?】
訓練完后,以VOC2007數(shù)據集test部分為測試集,比較三種訓練方案下得出模型在識別VOC2007數(shù)據集中的二十種類別時的準確率。
如圖2所示,隨著訓練批次大小以及訓練輪數(shù)的增加,三種方案得出的模型在識別VOC2007數(shù)據集中的二十種類別時的準確率也明顯增加。在方案三下訓練出來的模型,在識別VOC2007數(shù)據集中的二十種類別時有著較高的準確率。因此,將FCOS算法應用于幼兒識物教育系統(tǒng)有者良好的實用效果。
圖2 實驗結果
在傳統(tǒng)幼兒識物教育系統(tǒng)中,往往需要事先將幼兒識物教育所用的圖片資料輸入到系統(tǒng)中,且每新增一張圖片就要連同圖片信息一起輸入到系統(tǒng)中,因而只能識別系統(tǒng)中保存的圖片中的物體,即使是相同物體在不同圖片中,傳統(tǒng)識物教育系統(tǒng)也無法識別。這就導致了如果幼兒識物能力較強,那么就要頻繁對系統(tǒng)進行更新,增加新的圖片讓幼兒認識不同照片中的事物。
但隨著深度學習在圖像處理、目標識別、目標檢測等領域的應用取得較大成功后,我們便設想是否能夠將目標檢測算法融入到幼兒識物教育系統(tǒng)中。使得以目標檢測算法為基礎構建的幼兒識物系統(tǒng)本身就具有物體識別的能力,這樣只要通過加載預先訓練好的模型去進行操作就可以使得系統(tǒng)不再局限于只能識別固定的圖片,而是可以識別任意圖片中的物體。在構建系統(tǒng)時,我們既可以將模型部署在云端【4】,只提供服務接口,讓用戶通過網絡遠程連接服務器進行運算,也可以將目標檢測的算法模型遷移到移動智能終端,如手機,平板電腦等設備上【5】,讓用戶通過智能終端所連接的攝像頭等設備得到需要識別的物體的影像,再通過智能終端中的處理器調用部署在本地的模型進行運算?!?】兩種應用都有著各自的優(yōu)勢與局限性,部署在服務器端可以使得模型運行更快速,得到的結果更加準確,但會受到網絡連接環(huán)境的影響,而部署在移動智能終端則避免了網絡環(huán)境波動造成的影響,但會受到移動智能設備處理器運算速度的制約。
而在算法的選擇上,我們選擇FCOS算法作為目標檢測的算法。因為該算法不需要預先定義錨框(anchor),與因此避免了和錨框(anchor)相關的大量計算,這樣大大減少了訓練所需的內存,也使得FCOS可以更快的應用在系統(tǒng)中。
如果一開始傳統(tǒng)識物系統(tǒng)中只有第一張圖片(圖3),而沒有第二張圖片(圖4),那么傳統(tǒng)識物教育系統(tǒng)只能通過新增信息去更新系統(tǒng)中的圖片和圖片資料,才能使得幼兒認識第二張圖片中的物體。而基于FCOS算法的識物教育系統(tǒng)則可以根據圖片得到圖片中的物體信息,即使兩張圖片都不在系統(tǒng)內,但都可以較為準確的識別出圖片中的物體。
圖3 狗(左一)和貓(右一)
圖4 馬
比傳統(tǒng)幼兒識物教育系統(tǒng)更好的是,基于FCOS算法的識物教育系統(tǒng)不但可以識別圖片中的物體,還可以識別視頻中的物體,這樣就使得幼兒識物教育不只停留在靜態(tài)物體的識別,也因此可以強化幼兒識物教育的效果。如圖5,圖6所示。
圖5 所示為某音樂視頻中的兩個人物角色
圖6 則是某道路車況視頻
根據圖片所示,我們可以得知基于FCOS算法的識物教育系統(tǒng)對于視頻中的物體有著較強的“識物“能力,也因此可以使得在幼兒在基于FCOS算法的識物教育系統(tǒng)的教育下可以結合動態(tài)物體識別與靜態(tài)物體識別,從而達到一個更好的學習效果。