胡嘉航
摘要:災(zāi)區(qū)現(xiàn)場(chǎng)環(huán)境復(fù)雜,救援工作具有極大難度,特別在火場(chǎng)、震區(qū)等情況下,人工搜尋極其不便。設(shè)計(jì)了一種基于ARM的嵌入式救援搜尋系統(tǒng),搭配小型飛行器等救援機(jī)器人,利用COFDM調(diào)制技術(shù),實(shí)現(xiàn)系統(tǒng)與上位機(jī)的通信,實(shí)時(shí)傳輸視頻圖像數(shù)據(jù),并采用紅外感應(yīng)及人臉識(shí)別等功能,協(xié)助進(jìn)行搜尋工作。實(shí)際測(cè)試結(jié)果表明,救援搜尋系統(tǒng)具有一定實(shí)用價(jià)值,在復(fù)雜環(huán)境中能夠有效地進(jìn)行搜救工作。
關(guān)鍵詞:救援搜尋;嵌入式;COFDM;紅外感應(yīng);圖像識(shí)別
DOIDOI:10.11907/rjdk.171612
中圖分類號(hào):TP319文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):16727800(2017)010012303
0引言
在火場(chǎng)、震區(qū)等災(zāi)區(qū)中,救援搜尋工作具有較大難度,如何在保證救援人員安全的情況下進(jìn)行快速的救援搜尋成為一個(gè)亟需解決的問題。在這種情況下,使用救援機(jī)器人協(xié)助進(jìn)行搜救已經(jīng)成為一個(gè)趨勢(shì),它能夠進(jìn)入人體無法穿越的狹小區(qū)域進(jìn)行快速搜尋,并借助搭載的攝像頭實(shí)時(shí)傳輸視頻圖像。本文提出了一種基于ARM高級(jí)精簡(jiǎn)指令集計(jì)算機(jī)的救援搜尋系統(tǒng),同時(shí)配備紅外感應(yīng)和人臉識(shí)別功能,以便于在黑暗中采集視頻圖像協(xié)助進(jìn)行搜救工作,搭載的無線傳輸模塊能夠在較復(fù)雜的環(huán)境中順利進(jìn)行數(shù)據(jù)傳輸。
1系統(tǒng)整體框架
救援搜尋系統(tǒng)主要完成在目標(biāo)環(huán)境中現(xiàn)場(chǎng)視頻圖像的傳輸、存儲(chǔ)及識(shí)別,由無線傳輸模塊、視頻圖像采集模塊、64位四核ARM處理器Cortex-A53以及上位機(jī)軟件組成,系統(tǒng)框架如圖1所示。圖像采集模塊采集現(xiàn)場(chǎng)視頻圖像數(shù)據(jù),傳輸給Cortex-A53處理器進(jìn)行編碼處理,處理器通過無線傳輸模塊實(shí)時(shí)傳輸視頻流數(shù)據(jù)給救援人員所持的上位機(jī)軟件。在上位機(jī)軟件中,設(shè)置有輔助搜救的人臉識(shí)別功能,以協(xié)助救援人員進(jìn)行搜救工作。
圖1救援搜尋系統(tǒng)框架
1.1圖像采集模塊
圖像采集模塊由兩部分組成,分別是用于采集接收視頻圖像的攝像頭模塊和用于適應(yīng)救援環(huán)境的紅外感應(yīng)電路模塊。攝像頭模塊可以單獨(dú)工作,在紅外感應(yīng)電路模塊中,設(shè)置的可調(diào)節(jié)電阻用于配合光敏電阻設(shè)置該模塊開啟的光照強(qiáng)度閾值,以適應(yīng)實(shí)際救援環(huán)境。同時(shí),設(shè)置3W大功率感光紅外燈用于黑暗環(huán)境中的圖像視頻采集工作。
在圖像視頻采集結(jié)束后,需要在主控芯片Cortex-A53中對(duì)其進(jìn)行編碼操作,由于H.264編碼標(biāo)準(zhǔn)為現(xiàn)今主流的視頻編解碼標(biāo)準(zhǔn)[1],因此本文選定的圖像編碼方式以H.264為基礎(chǔ)。段書強(qiáng)[2]認(rèn)為,在救援工作中,對(duì)單畫面的清晰度要求相對(duì)較高,并且MPEG-4能夠在提供較高壓縮比的同時(shí),實(shí)現(xiàn)較小的數(shù)據(jù)損失,其采用幀間壓縮,僅存儲(chǔ)連續(xù)幀之間有差別的地方,而H.264的性能通過增加其算法的復(fù)雜度得到提升;陳曦[3]、孫金慶[1]認(rèn)為,在復(fù)雜環(huán)境中,首先需要保證的是數(shù)據(jù)傳輸通暢,而H.264具有較強(qiáng)的網(wǎng)絡(luò)適應(yīng)性,能夠通過增加不同的NAL頭片適應(yīng)網(wǎng)絡(luò)需求,減少碼流傳輸誤差,在網(wǎng)絡(luò)狀況較差的情況下,較其它編碼方式具有極大優(yōu)勢(shì),可保障動(dòng)作的連貫性與清晰度。通過對(duì)比編碼特點(diǎn),本文采用H.264作為救援搜尋系統(tǒng)的編碼標(biāo)準(zhǔn)。
由于救援環(huán)境較為復(fù)雜,無線傳輸環(huán)境較差,可能導(dǎo)致視頻圖像在傳輸過程中出現(xiàn)傳輸距離受阻以及數(shù)據(jù)丟包現(xiàn)象。為解決該問題,可在對(duì)圖像進(jìn)行編碼的同時(shí),進(jìn)行圖像的連續(xù)行檢測(cè)。由于拍攝的圖像之間必然存在相同畫面,則可以在上一幀圖像的基礎(chǔ)上對(duì)下一幀圖像進(jìn)行編碼處理,識(shí)別出靜態(tài)圖像及動(dòng)態(tài)圖像,分別進(jìn)行編碼傳輸,以減少數(shù)據(jù)丟包帶來的影響。
此處使用0V5647感光芯片,500萬像素的高清攝像頭,具有調(diào)焦功能,傳感器支持的最佳像素為1 080p。
1.2Cortex-A53處理器
Cortex-A53處理器為64位4核處理器,具有較好的性能,其工作頻率為1.2GHZ,能夠輕松運(yùn)行Linux系統(tǒng),可用于各類小型嵌入式功能的開發(fā)與應(yīng)用。
1.3無線傳輸模塊
如今,無線圖像傳輸方式主要有模擬傳輸、數(shù)字電臺(tái)傳輸、GPRS/CDMA傳輸、無線局域網(wǎng)傳輸以及多載波COFDM調(diào)制技術(shù)[4]。其中,模擬傳輸技術(shù)無法在阻擋環(huán)境中和移動(dòng)中使用;數(shù)字電臺(tái)、GPRS/CDMA技術(shù)有效傳輸速率較低,一般在100Kbps以下,無法傳輸高質(zhì)量的連續(xù)圖像,并且需要覆蓋式的專用網(wǎng)絡(luò),無法在震區(qū)使用;無線局域網(wǎng)技術(shù)為單載波調(diào)制體制,繞射能力較差;多載波COFDM調(diào)制技術(shù)傳輸速率較高,具有較好的繞射及穿透能力。
綜上所述,在復(fù)雜環(huán)境中,由于無線信號(hào)傳輸受到嚴(yán)重干擾,無線傳輸模塊采用COFDM多載波調(diào)制技術(shù)。其中,COFDM需要使用信道編碼和OFDM調(diào)制技術(shù),信道編碼可以使用卷積碼,而OFDM調(diào)制技術(shù)是使調(diào)制的各個(gè)子載波間可以相互重疊,且之間具有正交性[5]。其編碼調(diào)制流程如圖2所示。
由于2.4GHZ頻段為公共開放頻段,因此選擇2.4GHZ為無線傳輸模塊的頻率區(qū)域。
其中,卷積碼前后碼組具有相關(guān)性,即卷積碼編碼后的n個(gè)碼元不僅與當(dāng)前段的k個(gè)信息有關(guān),而且與前面(N-1)(N為編碼約束度)段的信息有關(guān)。其中,k個(gè)信息比特也被編成n個(gè)比特的碼組,但k和n通常很小,并且可以通過串行或并行方式進(jìn)行傳輸,而且時(shí)延很小[6]。
OFDM調(diào)制將高速率的串行數(shù)據(jù)流通過串并轉(zhuǎn)換成N路的并行低速率的子數(shù)據(jù)流,再進(jìn)行IFFT運(yùn)算,并插入循環(huán)前綴即可生成一個(gè)OFDM信號(hào)。插入保護(hù)間隔是為了分離相鄰碼元,防止碼間干擾。在上位機(jī)獲得傳輸?shù)臄?shù)據(jù)流后,可以通過去除添加的保護(hù)間隔,并對(duì)數(shù)據(jù)進(jìn)行并串轉(zhuǎn)換和FFT處理后,還原得到OFDM的調(diào)制信號(hào)。
H.264編碼壓縮芯片采用Hi3510,OFDM調(diào)制載波芯片采用LME2980,無線收發(fā)器使用E01-ML01DP5 2.4G無線模塊。endprint
1.4上位機(jī)軟件
上位機(jī)軟件分為兩部分,一部分用于控制搜救機(jī)器人,此處不進(jìn)行討論,另一部分則用于接收視頻圖像并進(jìn)行處理。在上位機(jī)接收到無線傳輸模塊發(fā)送的數(shù)據(jù)包后,需要先對(duì)其進(jìn)行編碼解調(diào),獲得所需圖像。
在上位機(jī)軟件中,配置有人臉識(shí)別功能用于協(xié)助救援人員搜尋被困人員,以免出現(xiàn)搜救工作的遺漏。使用人臉識(shí)別功能需要先進(jìn)行Opencv的安裝,Opencv是一個(gè)開源的跨平臺(tái)計(jì)算機(jī)視覺庫(kù),實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法,輕量級(jí)且高效,十分適合于安裝在微型嵌入式計(jì)算機(jī)上。由于人臉識(shí)別需要對(duì)每一幀圖像進(jìn)行處理,因此使用支持多線程、輕量級(jí)的Linux系統(tǒng)對(duì)于小型嵌入式系統(tǒng)是最佳選擇。在Linux系統(tǒng)上安裝Opencv的命令如下:
sudo apt-get install python-opencv
人臉識(shí)別的內(nèi)容包括[7]:①圖像預(yù)處理,用于消除因救援環(huán)境造成的光照等外界因素對(duì)識(shí)別精確度的影響;②特征提取,為人臉識(shí)別提供幾何特征等基礎(chǔ)信息;③對(duì)比識(shí)別,將獲得的人臉特征與人臉數(shù)據(jù)庫(kù)或人臉識(shí)別分類器進(jìn)行對(duì)比,若特征相匹配,則認(rèn)為是人臉圖像。其運(yùn)行流程如圖3所示。
在Opencv中,自帶有關(guān)人臉識(shí)別的人臉檢測(cè)分類器XML文件,因此本文使用其自帶的XML文件進(jìn)行實(shí)驗(yàn)測(cè)試。以下為用python實(shí)現(xiàn)的人臉識(shí)別的關(guān)鍵代碼:
face_cascade = cv2.CascadeClassifier('/home/opencv-2.4.9/data/haarcascades /haarcascade_frontalface_alt.xml')
### Utils ###################
def get_faces( img ):
gray = cv2.cvtColor( img, cv2.COLOR_BGR2GRAY )
faces = face_cascade.detectMultiScale( gray )
def draw_frame( img, faces ):
global xdeg
global ydeg
//在臉的附近畫上矩形框用于輔助識(shí)別
for ( x, y, w, h ) in faces:
cv2.rectangle( img, ( x, y ),( x + w, y + h ), ( 200, 255, 0 ), 2 )
tx = x + w/2
ty = y + h/2
//矩形框的大小,代碼省略
### Main ###################
if __name__ == '__main__':
//開啟4個(gè)線程池,以提高圖像處理速度
pool = mp.Pool( processes=4 )
fcount = 0
camera.capture( rawCapture, format="bgr" )
r1 = pool.apply_async( get_faces, [ rawCapture.array ] )
r2 = pool.apply_async( get_faces, [ rawCapture.array ] )
r3 = pool.apply_async( get_faces, [ rawCapture.array ] )
r4 = pool.apply_async( get_faces, [ rawCapture.array ] )
f1, i1 = r1.get()
f2, i2 = r2.get()
f3, i3 = r3.get()
f4, i4 = r4.get()
rawCapture.truncate( 0 )
for frame in camera.capture_continuous( rawCapture, format="bgr", resize=(320,240),use_video_port=True ):
image = frame.array
//fcount表示當(dāng)前線程標(biāo)號(hào),輸出當(dāng)前圖像,并獲取下一個(gè)線程進(jìn)行繪制
if fcount == 1:
r1 = pool.apply_async( get_faces, [ image ] )
f2, i2 = r2.get()
draw_frame( i2, f2 )
//若fcount為4,則置為0,以上為fcount為1時(shí)的代碼,其余情況的代碼省略
fcount += 1
rawCapture.truncate( 0 )
2測(cè)試結(jié)果與分析
2.1視頻圖像及人臉識(shí)別測(cè)試結(jié)果
為驗(yàn)證提出的嵌入式救援搜尋系統(tǒng)的性能,首先對(duì)視頻圖像的采集及處理進(jìn)行測(cè)試,測(cè)試內(nèi)容分別為正常光照下和黑暗環(huán)境下的視頻圖像采集,以及人臉識(shí)別功能的可靠性。
圖4(a)為正常光照條件下的圖像數(shù)據(jù),圖4(b)為黑暗無光條件下采集的圖像數(shù)據(jù)。通過觀察對(duì)比圖像,可以發(fā)現(xiàn)在黑暗環(huán)境中,搜尋系統(tǒng)依然能夠采集較清晰的環(huán)境視頻圖像,達(dá)到了搜尋系統(tǒng)的設(shè)計(jì)要求。
圖5為人臉檢測(cè)的實(shí)際效果圖,其中圖5(a)為單獨(dú)進(jìn)行人臉檢測(cè)的圖片實(shí)驗(yàn)效果,圖5(b)為搜尋系統(tǒng)工作時(shí)其中一幀的視頻圖像。觀察實(shí)際圖像處理效果可以發(fā)現(xiàn),其人臉檢測(cè)精度能夠滿足救援搜尋系統(tǒng)的設(shè)計(jì)要求,達(dá)到了輔助搜尋受困人員的目的。endprint
2.2無線傳輸距離測(cè)試結(jié)果
由于提出的嵌入式救援搜尋系統(tǒng)主要應(yīng)用于救援工作,因此需要在復(fù)雜環(huán)境下對(duì)其進(jìn)行有效傳輸距離的測(cè)試。實(shí)驗(yàn)地點(diǎn)設(shè)置為通道狹小、具有多墻面障礙的室內(nèi)環(huán)境,模擬在救援工作中救援人員的操作。由于室內(nèi)面積較小,因此無法測(cè)試大范圍內(nèi)的信號(hào)傳輸質(zhì)量。經(jīng)初步測(cè)試,數(shù)據(jù)有效傳輸距離超過400m,視頻圖像無明顯卡頓、掉幀現(xiàn)象,能夠完成小范圍內(nèi)的救援搜尋工作。
3結(jié)語
本文基于ARM處理器和Linux操作系統(tǒng),使用圖像采集模塊、無線傳輸模塊以及上位機(jī)軟件,實(shí)現(xiàn)了基于嵌入式的救援搜尋系統(tǒng)設(shè)計(jì)。針對(duì)在進(jìn)行救援工作時(shí),由于處于復(fù)雜環(huán)境造成的無線數(shù)據(jù)傳輸困難的情況,使用COFDM多載波調(diào)制技術(shù),強(qiáng)化數(shù)據(jù)信號(hào)的繞射及穿透能力,達(dá)到了遠(yuǎn)程實(shí)時(shí)獲取救援現(xiàn)場(chǎng)環(huán)境視頻圖像數(shù)據(jù)的目的。實(shí)驗(yàn)結(jié)果表明,設(shè)計(jì)的救援搜尋系統(tǒng)能夠一定程度上在保障救援人員安全的前提下,完成小范圍內(nèi)的搜尋工作,具有一定實(shí)用價(jià)值。
參考文獻(xiàn):
[1]孫金慶.火場(chǎng)環(huán)境下視頻編碼與視頻傳輸系統(tǒng)設(shè)計(jì)[D].濟(jì)南:山東大學(xué),2016.
[2]段書強(qiáng).井下遠(yuǎn)程數(shù)據(jù)傳輸與處理系統(tǒng)研究[D].西安:西安工程大學(xué),2011.
[3]陳曦.一種井下多媒體無線通信網(wǎng)絡(luò)的開發(fā)[D].西安:西安電子科技大學(xué),2011.
[4]隋虎林,邱巖松.基于多載波調(diào)制技術(shù)的火場(chǎng)圖像傳輸系統(tǒng)[J].消防技術(shù)與產(chǎn)品信息,2007(8):3233,59.
[5]歐陽玉梅,劉盛宇.無人機(jī)數(shù)字圖像傳輸系統(tǒng)設(shè)計(jì)[J].科技視界,2016(27):137,161.
[6]何小敏.卷積碼編碼與維特比譯碼加速器設(shè)計(jì)[D].北京:北京郵電大學(xué),2010.
[7]劉爽.嵌入式人臉識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2012(3):174177.
[8]姚東明,馬川,于溪,等.一種高效的人臉馬賽克方法[J].軟件導(dǎo)刊,2017(3):167169.
[9]王道強(qiáng).基于COFDM的無線視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].廣州:華南理工大學(xué),2011.
[10]王道強(qiáng),蔡敏,段瀅.基于COFDM的無線視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].移動(dòng)通信,2011(12):6972.
[11]李振華,陳仕敏,唐光波,等.基于無線控制的消防偵察車[J].電子世界,2017(5):4950.
[12]廖廣軍.復(fù)雜條件下的人臉檢測(cè)與識(shí)別應(yīng)用研究[D].廣州:華南理工大學(xué),2014.
責(zé)任編輯(責(zé)任編輯:黃健)endprint