胡峰濤 傅自鋼 李建民 羅升 何鑫
摘要:人物追蹤技術(shù)一直是當(dāng)代的熱門技術(shù)話題之一,其研究和發(fā)展能夠更好的改善人們的生活。而基于樹莓派的人物追蹤系統(tǒng)是這一技術(shù)發(fā)展的重要體現(xiàn)。該系統(tǒng)主要設(shè)計了基于OpenCV的視頻圖像處理模塊、人物距離測定模塊、車體控制模塊,并采用了基于OpenCV的人物特征值提取技術(shù)和超聲波測距技術(shù),涉及到了圖像處理中的掩膜處理和腐蝕膨脹等重要方法。各個模塊通過參數(shù)的讀取協(xié)調(diào)工作,完成對人物的鎖定和小車的追蹤。
關(guān)鍵詞:人物追蹤;視頻圖像處理;腐蝕膨脹;超聲波測距;掩膜
1概述
隨著人類社會的發(fā)展進步,智能技術(shù)不斷地改善著人們的日常生活,對人們的影響越來越大。人物追蹤作為機器視覺的重要組成部分,其發(fā)展和研究對智能技術(shù)的進一步提升以及人與機器之間交互的推動有著巨大的促進作用,而基于樹莓派的人物追蹤系統(tǒng)及其小車實現(xiàn)則是研究所得的重要成果。對于搭載了基于樹莓派的人物追蹤系統(tǒng)的智能小車,用戶可以通過不斷的自身移動來實現(xiàn)小車的自動移位以完成小車的跟隨和避障等任務(wù)。
2設(shè)計流程和模塊處理
2.1基本設(shè)計概念和處理流程
基于樹莓派的人物追蹤系統(tǒng)主要基于搭載有四核ARMCortex-A53 1.2GHz型CPU、1GB大小RAM芯片的3代B型樹莓派,并配有1個卡帶式樹莓派攝像頭、4個超聲波傳感器、1張16GB大小的SD卡,同時還帶有一個充電寶作為DC 5V/2.5A的電源輸入。而小車則主要有電機、底板、橡膠輪和測試用的樹莓派組成。當(dāng)小車上電后,小車便自動開啟跟隨功能。小車的攝像頭會對準(zhǔn)用戶,當(dāng)人物開始移動時,小車的攝像頭會始終跟隨用戶并鎖定,以防止目標(biāo)發(fā)生錯亂,并且小車在移動過程中,會始終距離用戶1米左右的距離,以便用戶的活動,同時又能確保小車不會跟丟用戶。若用戶開始加速移動,小車也會做加速度不恒定的加速運動,在此過程中,小車會不斷根據(jù)小車距用戶的距離來調(diào)整自身的速度直到距離恒定為1米為止。當(dāng)小車在跟隨的過程中檢測到行進路上有障礙物時,會自動調(diào)整方向以繞開障礙物,并加速跟上用戶。當(dāng)小車檢測到用戶有大幅度的拐彎時,小車會加速前進,將用戶與小車的距離縮短至0.5米以防止跟丟目標(biāo)。
2.2模塊的劃分和相關(guān)技術(shù)的運用
基于樹莓派的人物追蹤系統(tǒng)及其小車實現(xiàn)主要設(shè)計了OpenCV視頻圖像處理模塊、人物距離測定模塊和車體控制模塊三個模塊。在小車工作期間,OpenCV視頻圖像處理模塊主要負(fù)責(zé)處理攝像頭視頻流,并獲取相關(guān)信息。人物距離測定模塊主要負(fù)責(zé)捕獲周圍的環(huán)境信息并測定小車與用戶之間的距離,車體控制模塊則負(fù)責(zé)處理OpenCV視頻圖像處理模塊和人物距離測定模塊所傳來的信息,并將之轉(zhuǎn)化為電機驅(qū)動信息,驅(qū)動小車前進,實現(xiàn)小車的跟隨。圖一介紹的是模塊的劃分以及與外部的聯(lián)系。
2.2.1基于OpenCV的人物特征值提取技術(shù)
為了防止小車的跟隨目標(biāo)發(fā)生混亂,小車必須通過處理攝像頭傳來的視頻流獲取人物的相關(guān)信息并鎖定,基于樹莓派的人物追蹤系統(tǒng)采用了基于OpenCV的人物特征值提取信息來完成任務(wù)的識別鎖定。當(dāng)小車開始工作時,樹莓派攝像頭會不斷的捕獲圖像形成視頻流并傳給OpenCV視頻圖像處理模塊。當(dāng)OpenCV模塊接收到外部傳來的視頻流后,會以幀為單位去處理視頻流,每次處理一幀圖像,并通過基于OpenCV的人物特征值提取技術(shù)提取出用戶的特征值。圖二是特征值提取的基本流程。
基于OpenCV的人物特征值提取技術(shù)主要又分為兩部分:興趣部分識別技術(shù)和人物邊緣提取技術(shù)。下文將詳細(xì)闡述兩個技術(shù)。
1)興趣部分識別技術(shù)
掩膜處理是進行圖像處理的常用方法之一,主要是用選定的圖像、圖形或物體,對待處理的圖像(全部或局部)進行遮擋,來控制圖像處理的區(qū)域或處理過程。目的是為了提取感興趣區(qū),用預(yù)先制作的感興趣區(qū)掩模與待處理圖像相乘,得到感興趣區(qū)圖像,感興趣區(qū)內(nèi)圖像值保持不變,而區(qū)外圖像值都為0。興趣部分識別技術(shù)就是基于掩膜處理技術(shù)。為了提取圖像中的任務(wù)信息,必須對每次截取的一幀圖片進行掩膜處理。在接收到一幀圖像后,基于OpenCV的視頻圖像處理模塊會調(diào)用OpenCV中的顏色空間轉(zhuǎn)換函數(shù):
cv.CvtColor(img,hsv,cv.CV_BGR2HSV)
顏色空間轉(zhuǎn)換函數(shù)會自動將RGB的原圖像轉(zhuǎn)化為HSV型的圖像,在轉(zhuǎn)化完成后,模塊會調(diào)用OpenCV函數(shù)庫中另外一個用于掩膜處理的函數(shù):
cv.InRangeS(hsv,lower_blue,upper_blue,mask、
函數(shù)會對已經(jīng)生成的HSV型圖像進行遮掩處理,通過參數(shù)的調(diào)整只保留感興趣的部分,并將其值設(shè)為1,這樣也能同時完成保留圖像的圖像二值化,為后面的人物邊緣提取操作打下基礎(chǔ)。
2)人物邊緣提取技術(shù)
腐蝕和膨脹是對圖像處理的另外一種手段,對圖像采取腐蝕和膨脹處理主要是為了消除噪聲、分割出獨立的圖像元素以及在圖像中連接相鄰的元素。其視覺效果便是使高亮區(qū)域更大或是更小。對于腐蝕來說,就是讓高亮區(qū)域更小,即被將處理的二值圖像中的每一個點與結(jié)構(gòu)元素中的中心點進行重合比較,若結(jié)構(gòu)元素中的高亮點都在二值圖像的高亮點內(nèi),則該點設(shè)為高亮點。而對膨脹來說,就是讓高亮區(qū)域更大,基即將被處理的二值圖像中的所有點與結(jié)構(gòu)元素中的中心點重合比較,結(jié)構(gòu)元素中的高亮點只要有一個落在被處理的二值圖像的高亮區(qū)域中,則該點就設(shè)置為高亮點。人物邊緣提取技術(shù)就基于腐蝕和膨脹這兩種算法。在完成了對圖像的掩膜處理后,輸出的圖像首先會被進行腐蝕處理,其主要目的是獲取人物的邊緣輪廓,基于樹莓派的人物追蹤系統(tǒng)會調(diào)用OpenCV函數(shù)庫中的腐蝕函數(shù):
cv.Erode(mask,eroded,element,iterations)
該函數(shù)會將被掩膜處理后的圖像的邊界提取出來,生成的圖像會被進行膨脹處理,基于樹莓派的人物追蹤系統(tǒng)會調(diào)用OpenCV函數(shù)庫中的膨脹函數(shù)
cv.Dilate(eroded,dilated,element,iterations)
該函數(shù)會將腐蝕得到的人物邊緣輪廓進行放大,以便更好更精準(zhǔn)的識別。在完成了這些操作后,基于樹莓派的人物追蹤系統(tǒng)便通過樹莓派攝像頭獲得了目標(biāo)的特征值,并且每一次截取一幀圖像后所得的特征值都會與上一次獲得的特征值進行比較,若發(fā)現(xiàn)人物特征值出現(xiàn)偏移,樹莓派會自動調(diào)整攝像頭以鎖定目標(biāo),當(dāng)系統(tǒng)確定了特征值后,便會將信息傳遞給車體控制模塊,以便實現(xiàn)跟隨任務(wù)。
2.2.2超聲波測距技術(shù)
由于超聲波指向性強,能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲波經(jīng)常用于距離的測量。為了保持小車與用戶之間的距離并躲避沿途的障礙,小車上搭載了4個HC-SR04型超聲波測距儀,實時對周圍信息進行采集并及時躲避障礙。圖3是超聲波測距基本流程。HC-SR0d共有4個引腳,分別為VCC、Trig、Echo和GND。當(dāng)小車開始工作時,樹莓派會通過10口給出10微秒的高電壓來觸發(fā)Trig,當(dāng)Trig被觸發(fā)后,超聲波測距模塊會產(chǎn)生8個40KHz的方波,并檢測是否有方波返回,若檢測到有方波返回則會通過Echo引腳輸出一個高電平,高電平持續(xù)的時間就是方波從發(fā)射到返回所經(jīng)歷的時間。通過距離計算公式便可得出障礙物的距離,公式如下:
S=T×C
s為障礙路距小車的距離,T為高電平持續(xù)的時間,C為光速。由于沒有溫度補償,可能會有一點誤差,但對小車的影響可忽略不計。小車的4個超聲波測距儀分別搭載于小車的四周,每次同時發(fā)射超聲波檢測障礙物,人物距離測定模塊會自動處理四個超聲波測距儀傳來的信息,并生成相應(yīng)的信號傳給車體控制模塊,使小車能夠朝著沒有障礙物的路線行進。
3實測分析
為了測試基于樹莓派的人物追蹤系統(tǒng)的穩(wěn)定性,小車經(jīng)歷了大量的試驗。在測試期間,小車的攝像頭能實時鎖定人物,并隨之轉(zhuǎn)動,同時還能指引小車追蹤人物。當(dāng)小車與人物距離在增大時,小車能夠及時加速追上人物并將距離穩(wěn)定在1米左右。當(dāng)目標(biāo)人物有較大幅度的方向改變時,小車會自動縮短與人物之間的距離。若在途中遇到障礙物,小車會自動調(diào)整方向,選擇一條無障礙物的路線繼續(xù)行進。大量的實測數(shù)據(jù)能夠證明,基于樹莓派的人物追蹤系統(tǒng)已經(jīng)十分穩(wěn)定。圖4是用戶實測的流程。
4結(jié)論
本文就如何實現(xiàn)基于樹莓派的人物追蹤系統(tǒng)作了詳細(xì)的闡述,各個模塊通過信息的傳遞、參數(shù)的讀取來實現(xiàn)各個模塊之間協(xié)調(diào)工作,以實現(xiàn)人物特征值提取功能,超聲波自動測距避障功能。并且在測試時期間,小車能夠流暢的實現(xiàn)障礙物的躲避和攝像頭對用戶的鎖定,最終達到了預(yù)期要求,完成了對人物的追蹤任務(wù)。