陳朋誼,房宇佳,甘偉鵬,邵萬鵬,王 燕,夏思雨,阮偉華,王海鵬
(三江學院 電子信息工程學院,江蘇 南京210012)
近年來隨著人工智能的火熱,在圖像識別的方向也有了長足的進步,有越來越多的成熟物體檢測和識別的模型。而對于微控制器這種級別的芯片如果想要實現(xiàn)復雜的識別和大量的計算,目前來說很難實現(xiàn),但是通過圖像無線傳輸?shù)姆椒▽⑽⒖刂破骱陀嬎隳芰姶蟮脑O(shè)備結(jié)合起來,即由本地采集圖像,然后通過無線Wi-Fi將圖像數(shù)據(jù)傳輸給計算機[1],在計算機端進行復雜的識別運算算法,再將算法處理結(jié)果通過無線網(wǎng)絡(luò)傳輸?shù)轿⒖刂破?,最后再由微控制器做出決策。在這種拓撲結(jié)構(gòu)中,圖像的傳輸具有極其重要的作用:第一,圖像的傳輸技術(shù)能夠采集具有高清晰度的圖像,這樣可以提高識別的準確度;第二,更快的傳輸速度可以使計算終端接收幀率更高的圖像,提升識別速度和實時性。所以圖像傳輸和人工智能的結(jié)合在未來將大有潛力。
在無人機中經(jīng)??梢钥吹綀D像傳輸(簡稱“圖傳”)系統(tǒng)的身影[2],而圖傳系統(tǒng)在安防系統(tǒng)中的地位更是舉足輕重。在移動的嵌入式設(shè)備上很多時候也需要將圖像傳輸?shù)狡渌K端上,以便觀察或者完成其他的操作[3-10],本文提出并設(shè)計一種基于Wi-Fi無線傳輸?shù)牡统杀緢D傳系統(tǒng)。
圖1 所示為整個原型系統(tǒng)框圖,主要包括兩端,是圖像的采集和發(fā)送端,其中包含攝像頭模塊(OV2640),負責圖像的采集和壓縮。微控制MCU(STM32F407ZGT6)用來接收攝像頭模塊發(fā)送過來的數(shù)據(jù)[6],并將數(shù)據(jù)通過SPI接口傳輸?shù)絎i-Fi模塊。Wi-Fi模塊(ALK8266)轉(zhuǎn)發(fā)數(shù)據(jù)到圖像的接收端,也可轉(zhuǎn)發(fā)另一端消息MCU,另一端圖像接收端用來查看Wi-Fi發(fā)送過來的圖像,這一端是終端接收設(shè)備,可以是一臺電腦或者手機,并運行上位機軟件或者瀏覽器。
圖1 基于STM32微控制器的Wi-Fi圖傳原型系統(tǒng)框圖
整個系統(tǒng)采用由下而上開發(fā)的順序,如圖2所示。軟件開發(fā)總體分成四層結(jié)構(gòu),首先要確定最底層的硬件接口,保證所有接口合理分配并和MCU資源接口匹配,例如Wi-Fi模塊需要串行外設(shè)接口(SPI)方式通信,不可以隨意分配端口。上一層需要完成底層驅(qū)動的編寫,初始化所有外設(shè),使MCU控制所有外設(shè)模塊。再上一層就需要完成2個部分的內(nèi)容,一個是對于Wi-Fi模塊中TCP/IP協(xié)議棧配置[7],另一個是對于圖像數(shù)據(jù)的采集和存儲。頂層為應(yīng)用層,主要負責完成發(fā)送圖像到其他終端,由于需要發(fā)送圖像到瀏覽器,所以包含WEB服務(wù)器的實現(xiàn)。
圖2 基于STM32微控制器的圖傳原型系統(tǒng)軟件開發(fā)順序框圖
首先對核心板通電,燒錄測試代碼,觀察到核心板上綠色LED燈進行閃爍。實物效果如圖3所示,通過串口查看獲取到的圖像數(shù)據(jù)。最終檢測Wi-Fi模塊,通電啟動后查看Wi-Fi模塊狀態(tài)指示燈是否正常,供電電壓是否達到3.3V,通過連接熱點進行數(shù)據(jù)的發(fā)送,串口打印接收到的數(shù)據(jù)。
圖3 圖傳系統(tǒng)整體實物圖
連接好各模塊后,就可以將圖像數(shù)據(jù)通過TCP服務(wù)器發(fā)送到連接上的客戶端。圖像發(fā)送的格式為JPEG格式,這是一種壓縮后的圖像格式,JPEG圖像以二進制打開會看到編碼是以0XFF、0XD8開頭,以0XFF、0XD9結(jié)尾,通過編寫函數(shù)來查找特定開頭和結(jié)尾的十六進制數(shù),就可以得到寫入SRAM中一幅完整JPEG圖像的開頭地址和數(shù)據(jù)的長度,特別需要注意的是在向瀏覽器每次發(fā)送圖片之前都要加入如下幀頭:
" --camera "
"Content-Type:image/jpeg "
"Content-Length:"+ "jpeg_data_len"+" "
需要注意參數(shù)“jpeg_data_len”是圖片大小,發(fā)送是需要將整型轉(zhuǎn)化為字符串,這樣瀏覽器就可以一直顯示視頻流直到關(guān)閉瀏覽器。圖像的發(fā)送核心的代碼如圖4所示:
圖4 圖像的發(fā)送核心的代碼截圖
搭建好原型系統(tǒng)之后,運行調(diào)試程序,攝像頭會采集圖像信息,傳輸?shù)絊TM32微控制器開發(fā)平臺中進行處理,調(diào)用圖像發(fā)送函數(shù),經(jīng)過Wi-Fi傳輸?shù)缴衔粰C和瀏覽器中,打開圖像接收上位機軟件,輸入代碼中設(shè)置的IP地址和端口號,然后點擊啟動。實驗現(xiàn)象如圖5所示,上位機程序接收圖像。瀏覽器接收到的圖像如圖6所示。
圖5 上位機接收圖像
圖6 瀏覽器接收到的圖像
本論文設(shè)計實現(xiàn)了一套基于微控制器的低成本無線圖傳系統(tǒng),可通過Wi-Fi技術(shù)實現(xiàn)較高幀率的無線圖像傳輸,利用成本較低、在資源有限的微控制器上實現(xiàn)攝像頭數(shù)據(jù)的采集和發(fā)送,Wi-Fi模塊可以讓嵌入式設(shè)備連接網(wǎng)絡(luò),并且可以通過瀏覽器直接查看視頻,整套系統(tǒng)成本約為150元。傳輸?shù)乃俣瘸^許多同類原型系統(tǒng),為后來此類圖傳問題提供了一種可行的解決思路。