王甜昆 李 政 張克儉 宋方韜 于浩偉 俞曉冬 董 霞 劉樹林
(齊魯工業(yè)大學(xué)(山東省科學(xué)院)電氣工程與自動化學(xué)院 山東·濟(jì)南 250353)
傳統(tǒng)的照明控制方式具有簡單、有效、直觀的優(yōu)點(diǎn)[1-4],但這種方式過多依賴控制者,而且控制相對分散,無法有效管理,也無法實(shí)現(xiàn)一鍵智能控制,其適時性和自動化程度不高,不能滿足節(jié)能的要求和社會發(fā)展,文獻(xiàn)[5]提出了一種智能的自習(xí)室照明控制系統(tǒng),該系統(tǒng)以單片機(jī)為核心組件,結(jié)合紅外傳感器和光敏電阻達(dá)到照明系統(tǒng)的智能控制,但是這需要大量的傳感器,線路比較復(fù)雜。2005年,法國研究人員Dalal對照明系統(tǒng)的智能化控制檢測算法開始研究,并在CVPR發(fā)表HOG+SVM行人檢測算法[6],該算法計算量大,檢測結(jié)果也并不理想。文獻(xiàn)[7]提出根據(jù)形態(tài)學(xué)的方法進(jìn)行人物邊界提取,結(jié)合改進(jìn)的邊界跟蹤算法實(shí)現(xiàn)人物頭部判別,其利用了圖像灰度化和二值化、圖像邊緣檢測與跟蹤等一系列處理技術(shù),處理過程比較繁雜。
本文提出了利用卷積神經(jīng)網(wǎng)絡(luò)對大量圖片進(jìn)行訓(xùn)練和深度學(xué)習(xí),通過訓(xùn)練一種端對端的目標(biāo)檢測模型,采用YOLOv3算法對攝像頭的行人檢測技術(shù)進(jìn)行優(yōu)化與處理,大大提高了攝像頭檢測和處理圖像的精確度,計算量小,處理速度快,且顯示界面直觀清晰,為建立智能化教室照明系統(tǒng)提供可靠的理論與實(shí)驗(yàn)依據(jù)。
通過調(diào)用訓(xùn)練好的數(shù)據(jù)集進(jìn)行相似匹配,搭建卷積神經(jīng)網(wǎng)絡(luò),調(diào)取YOLOv3算法訓(xùn)練的模型來對攝像頭采集的人體圖像進(jìn)行處理與優(yōu)化,增強(qiáng)了行人檢測的識別準(zhǔn)確度。此系統(tǒng)由兩部分組成:上位機(jī)子系統(tǒng)與下位機(jī)子系統(tǒng)。上位機(jī)子系統(tǒng)負(fù)責(zé)對教室內(nèi)進(jìn)行實(shí)時的圖像采集、處理、顯示與存儲,并實(shí)現(xiàn)分區(qū)域控制等功能。下位機(jī)子系統(tǒng)負(fù)責(zé)對教室的照明燈具進(jìn)行控制。系統(tǒng)的原理是:教室內(nèi)的監(jiān)控攝像頭實(shí)時采集圖像,傳輸給上位機(jī)進(jìn)行行人檢測,上位機(jī)調(diào)用提前訓(xùn)練好的行人檢測模型,在圖像采集區(qū)域建立坐標(biāo)系,利用質(zhì)心追蹤算法獲取行人中心坐標(biāo),并將該坐標(biāo)轉(zhuǎn)換為物理坐標(biāo),經(jīng)過處理的數(shù)據(jù)通過串口通信的方式發(fā)送給下位機(jī),由下位機(jī)對照明燈具進(jìn)行控制,技術(shù)路線如圖1所示。
本系統(tǒng)包括模型訓(xùn)練、圖像采集、上位機(jī)數(shù)據(jù)處理三個工作過程。
首先,訓(xùn)練一種端到端的目標(biāo)檢測模型,然后,利用YOLOv3卷積神經(jīng)網(wǎng)絡(luò),對大量圖片提取特征,得到特定大小的特征圖輸出,形成行人檢測數(shù)據(jù)集。卷積神經(jīng)網(wǎng)絡(luò)具有自動提取特征、權(quán)值共享、圖像輸入與網(wǎng)絡(luò)結(jié)構(gòu)結(jié)合良好等優(yōu)勢。權(quán)值共享使得圖像可以直接作為網(wǎng)絡(luò)的輸入,自動識別特征,提高圖像識別的精度和效率,訓(xùn)練結(jié)果如圖2所示。
在圖像采集環(huán)節(jié),系統(tǒng)自動調(diào)取監(jiān)控設(shè)備采集的視頻序列,并進(jìn)行每秒25幀的圖像采集,采集完成之后將視頻序列轉(zhuǎn)換為圖像幀,系統(tǒng)對圖像幀進(jìn)行空間域、圖像分割以及邊緣檢測等預(yù)處理。圖像的預(yù)處理在數(shù)字圖像中占了很重要的地位,圖像質(zhì)量的好壞,直接影響系統(tǒng)的分析,圖像預(yù)處理完成之后將其發(fā)送到上位機(jī),如圖3所示。
利用上位機(jī)進(jìn)行可視化界面的展示和相應(yīng)的數(shù)據(jù)處理。首先,對采集的圖像幀進(jìn)行分析,將圖像坐標(biāo)轉(zhuǎn)換為物理坐標(biāo),如圖4所示。然后把位置信息類型轉(zhuǎn)換之后上傳給信息處理終端,用Qt的串口通信技術(shù)與下位機(jī)(stm32單片機(jī))進(jìn)行信息交互,最后再由下位機(jī)對燈具進(jìn)行控制。
圖1:技術(shù)路線圖
從教室監(jiān)控視頻中截取并保存大量的行人照片,將照片預(yù)處理之后的結(jié)果作為卷積神經(jīng)網(wǎng)絡(luò)的輸入,進(jìn)而訓(xùn)練一種端到端的目標(biāo)檢測模型,對大量圖片提取特征,最終得到特定大小的特征圖輸出。輸入圖像分成13×13的grid cell,如果真實(shí)框中某個object的中心坐標(biāo)落在某個grid cell中,就由該gridcell來預(yù)測object。每個object有固定數(shù)量的boundingbox,YOLOv3中有三個boundingbox,使用邏輯回歸確定預(yù)測的bounding box,并形成最終的行人檢測的訓(xùn)練模型。
圖3:圖像預(yù)處理
圖4:坐標(biāo)轉(zhuǎn)換
在Windows下搭建Qt+OpenCV平臺中,通過Open-CV中的cv::VideoWriter函數(shù)讀取監(jiān)控攝像頭中的視頻序列,并進(jìn)行每秒25幀的圖像采集,采集完成之后將視頻序列轉(zhuǎn)換為圖像幀,系統(tǒng)對圖像幀進(jìn)行空間域、圖像分割以及邊緣檢測等預(yù)處理,預(yù)處理完成之后發(fā)送到上位機(jī)。
先用特征檢測器檢測圖像幀的行人特征,然后利用行人檢測器調(diào)取訓(xùn)練好的行人檢測模型進(jìn)行特征匹配,達(dá)到行人檢測的功能,再對目標(biāo)進(jìn)行運(yùn)動追蹤,并利用輪廓追蹤函數(shù)給行人建立標(biāo)定框,并且通過Qt采用C++編程將目標(biāo)框的信息上傳,與此同時發(fā)送指令給下位機(jī)。
通過Qt與stm32的串口通信技術(shù),使stm32接收到上位機(jī)的行人檢測目標(biāo)框信息和物理坐標(biāo)信息,然后自動運(yùn)行提前燒錄好的控制程序,在接收到數(shù)據(jù)之后,通過條件判斷,做出不同的使能信號。當(dāng)有人進(jìn)比某一區(qū)域之后,此區(qū)域的燈具會接收到使能信號,燈具開啟,當(dāng)此區(qū)域的行人離開之后,燈具關(guān)閉。
本文利用卷積神經(jīng)網(wǎng)絡(luò),對大量圖片進(jìn)行特征點(diǎn)提取,不斷進(jìn)行迭代,生成特征點(diǎn)數(shù)據(jù)集,調(diào)用數(shù)據(jù)集可進(jìn)行準(zhǔn)確而迅速的目標(biāo)追蹤。在攝像頭識別過程中,通過調(diào)用訓(xùn)練好的模型進(jìn)行相似檢測,可以識別復(fù)雜的人體動作輪廓,達(dá)到更好地檢測行人的效果。然后在圖像采集的目標(biāo)區(qū)建立二維物理坐標(biāo)系,將檢測目標(biāo)所在的圖像坐標(biāo)轉(zhuǎn)換為物理坐標(biāo),并且利用質(zhì)心追蹤算法確定目標(biāo)的中心坐標(biāo),然后將物理坐標(biāo)系上傳給上位機(jī)進(jìn)行區(qū)域塊的配對。最后由上位機(jī)使用Qt設(shè)計一個可視化界面,并通過串口通信技術(shù)與下位機(jī)進(jìn)行信息交互,最后再由下位機(jī)對照明燈具進(jìn)行控制。