陶 金,王智勇,林鴻生,周怡伶
(1.海軍士官學(xué)校,安徽 蚌埠 233012;2.92682 部隊,廣東 湛江 524000)
視覺感知交互系統(tǒng)在民用領(lǐng)域應(yīng)用廣泛。早期的視覺感知一般是物體探知,如避障拐杖[1]、電子式行進輔具[2]、導(dǎo)盲機器人[3]等,其原理大多都是利用可見光、紅外、聲吶等傳感器進行探測,判斷障礙物的情況,然后通過報警的形式提醒用戶,但隨著AI 技術(shù)的進步,僅探測功能并不能滿足“感知”層次的需求,即對環(huán)境與物體的性質(zhì)判斷與屬性解釋。在這方面,語音智能助理發(fā)展較快、應(yīng)用更廣,語音智能助理主要意義在于解放雙手,語義辨識功能就是感知的直接體現(xiàn)。因循這一思路,可以開發(fā)一種對環(huán)境與物體進行視覺感知,配合輔助語音交互的嵌入式系統(tǒng),具有較強的現(xiàn)實意義和應(yīng)用前景。
該系統(tǒng)的開發(fā)需要考慮以下幾個方面。
1)采集圖像以后,需要判斷圖像中存在哪些目標(biāo)以及獲取它們的坐標(biāo)位置。
2)采用卷積神經(jīng)網(wǎng)絡(luò)對不同的目標(biāo)進行分類識別,并在嵌入3 式平臺上實現(xiàn)。
3)語音識別如何實現(xiàn)。
4)語音播放如何實現(xiàn)。
系統(tǒng)以ARM Cortex-A9 處理器為核心,頻率達到650 MHz,片內(nèi)集成了32 KB 指令Cache 和32 KB 數(shù)據(jù)Cache,NEON 媒體處理引擎,非常適合于圖像處理。
系統(tǒng)構(gòu)成主要包括語音識別、語音播放、圖形采集、中央處理控制等功能模塊。硬件組成框圖如圖1 所示。由圖1 可看出,語音識別模塊收集語音指令,引導(dǎo)圖像采集模塊完成圖形采集,中央處理控制模塊對采集的圖像數(shù)據(jù)進行計算處理,完成圖像中邏輯目標(biāo)的分割并智能識別,識別結(jié)果通過語音播放模塊輸出給用戶。
考慮到系統(tǒng)使用的是Ubuntu 操作系統(tǒng),圖像采集模塊采用支持UVC 協(xié)議的Rmoncam S907 USB 攝像頭為圖像采集設(shè)備。鏡頭焦距為6 mm;輸出分辨率為640×480;像素為130 萬。
語音識別目前主要有2 個方案:本地語音識別方案和云端語音識別方案。考慮到云端語音識別需要連接網(wǎng)絡(luò),所以采用本地語音識別方案。識別框架如圖2所示。
圖2 本地語音識別框架
語音播放模塊采用MP3 播放模式,選用型號為BY8301-16P 模塊。該模塊支持MP3、WAV 格式的解碼,內(nèi)部獨立存儲介質(zhì)使用SPI-FLASH,設(shè)計安裝功率為3 W 的語音播放驅(qū)動單元。
本系統(tǒng)底層硬件提供驅(qū)動支持、中斷管理、內(nèi)存管理等功能通過嵌入式操作系統(tǒng)實現(xiàn),當(dāng)系統(tǒng)啟動后,引導(dǎo)程序?qū)硬僮飨到y(tǒng)并初始化各部分硬件,再進入目標(biāo)分割與識別的主程序。本系統(tǒng)采用Ubuntu 操作系統(tǒng)。系統(tǒng)軟件流程如圖3 所示。
圖3 系統(tǒng)軟件流程
本文重點研究其中的目標(biāo)分割算法[4-10]與目標(biāo)識別算法[11-13]。
該算法的主要程序步驟如下。
1)選擇基于面截塊的圖像分割算法獲取初始化分割截塊R={r1,r2,…,rn}。
2)將擬合度集合初始化S=?。
3)計算相鄰分割截塊擬合程度量化值,并將該量化值以元素形式納入擬合度集合S中。
4)查詢到擬合度集合S中擬合度最大的2 個分割截塊。在此標(biāo)記為ri和rj,將ri和rj合并成為一個分割截塊,并標(biāo)記為rt,查詢上一步中所涉及的ri和rj分別相鄰的分割截塊,再次計算獲取擬合度,并將此值從擬合度集合S中剔除;再次計算rt與相鄰分割截塊(即第一步中與ri或rj相鄰的分割截塊)的擬合度,重新將新獲得的計算結(jié)果納入擬合度集合S中;最后,將通過合并得到的新分割截塊rt添加到分割截塊集合R中。
5)逐一提取各分割截塊的邊界矩形,聯(lián)合所有矩形,即可獲得目標(biāo)物體的概略位置。
此步的難點在于原始分割截塊的獲取和擬合度的計算。
2.1.1 原始分割截塊的獲取
將最小生成樹算法與分割截塊合并方法結(jié)合,采用基于自適應(yīng)閾值的快速最小生成樹分割方法,分別取2 個相鄰分割截塊各自的最大邊權(quán)值與閾值求和數(shù),當(dāng)該分割截塊之間的閾值小于上述數(shù)值使即將此兩分割截塊進行合并處理。
式中:K為一個常數(shù),|C1|和|C2|為分割截塊C1和C2的二維平面大小,Int(C)為最小生成樹中分割截塊C的最大邊權(quán)值。為分割截塊C1和C2邊緣連接指數(shù)的最小權(quán)值。
2.1.2 擬合度的計算
1)顏色擬合度。為使用高維向量表示每個分割截塊的顏色特征,使用L1 范數(shù)歸一化逐一顏色通道計算獲得圖像的數(shù)值分布直方圖,由于每個顏色通道的直方圖有25 位,因此各分割截塊可得到唯一對應(yīng)的75 維向量。分割截塊之間顏色擬合度通過下面的公式計算
合并分割截塊時,新生成分割截塊的直方圖需要重新計算,如下式所示
2)紋理擬合度。每個顏色通道含8 個不同方向,設(shè)方差σ=1,運行高斯微分,獲得10 bins 的分通道單色值直方圖。參照顏色擬合度計算方式運行紋理擬合度計算,新分割截塊紋理特征計算過程亦類似。
3)二維平面大小擬合度。通過合度方法計算二維平面大小數(shù)值,數(shù)值小的分割截塊優(yōu)先合并
4)吻合擬合度。取已合并分割截塊Bounding Box值,該值大小對應(yīng)吻合擬合度低與高,即值越大,吻合擬合度越低,反之越高。
最后,組合上述各類擬合指標(biāo)的擬合度計算方式。
作為最常見的深度學(xué)習(xí)網(wǎng)絡(luò)架構(gòu),卷積神經(jīng)網(wǎng)絡(luò)在解決圖像目標(biāo)識別方面具有非常實用和卓越的效果。
綜合考慮運算速度和識別準(zhǔn)確率,本文采用卷積網(wǎng)絡(luò)的典型架構(gòu)。采用的分類網(wǎng)絡(luò)結(jié)構(gòu)如圖4 所示。輸入彩色圖像尺寸為32×32×3,卷積層組合(3×3 卷積、3×3 卷積、池化層)重復(fù)3 次,2 個全連接層都含有1 024 個神經(jīng)元,輸出層為SVM。其中卷積核大小均為3×3,池化層尺寸為2×2。
圖4 圖像分類識別網(wǎng)絡(luò)結(jié)構(gòu)
本文采用Cifar-10 和Cifar-100 作為物體識別的數(shù)據(jù)集。從2 個數(shù)據(jù)集中抽取10 個類別的數(shù)據(jù)組成一個新的數(shù)據(jù)集,用于網(wǎng)絡(luò)訓(xùn)練。每個類別抽取600 張圖片,其中500 張為訓(xùn)練集,100 張為測試集。
為了驗證本文方法的可行性,作者從網(wǎng)絡(luò)上收集了簡單背景的圖片12 張,圖片里共有物體21 個;收集了復(fù)雜背景的圖片16 張,圖片里共有物體21 個。
按照上述方法進行實驗,重點對目標(biāo)分割算法和圖像分類識別算法進行驗證。目標(biāo)的分割結(jié)果在圖像上以方框來呈現(xiàn),如圖5 所示;目標(biāo)的識別結(jié)果以分類識別的概率大小來呈現(xiàn)。本文對簡單背景和復(fù)雜背景下的場景進行實驗,部分實驗對象如圖6 和圖7 所示。簡單背景的實驗結(jié)果見表1,復(fù)雜背景的實驗結(jié)果見表2。
表1 簡單背景的實驗結(jié)果
表2 復(fù)雜背景的實驗結(jié)果
圖5 目標(biāo)的定位結(jié)果
圖6 簡單背景的部分實驗對象
圖7 復(fù)雜背景的部分實驗對象
通過實驗,得到如下結(jié)論。
1)簡單背景和復(fù)雜背景下,均識別了21 個物體,其中3 個識別錯誤,識別準(zhǔn)確率均為85.7%。
2)圖像分辨率越大,消耗時間越多。
3)進行物體識別所消耗的時間比較小,適合于應(yīng)用到嵌入式系統(tǒng)。
4)復(fù)雜背景的圖片要比簡單背景的圖片耗時長。
本文設(shè)計并實現(xiàn)了嵌入式視覺感知交互系統(tǒng),實現(xiàn)了目標(biāo)圖像的采集、目標(biāo)的分割、目標(biāo)的識別以及語音識別、語音播放。針對設(shè)計的目標(biāo)分割定位算法、目標(biāo)識別算法,本文進行了大量實驗,驗證了系統(tǒng)設(shè)計的可行性。下一步研究方向是在嵌入式平臺上采用卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)目標(biāo)分割,提高分割的準(zhǔn)確率及縮短運行時間,達到可以實時處理的水平,并將其應(yīng)用于一些智能化系統(tǒng)之中。