西北民族大學(xué)電氣工程學(xué)院 劉宇辰 陳 杰 姚 奧 張佳慧
隨著嵌入式控制技術(shù)的飛速發(fā)展,機(jī)器人的使用已經(jīng)滲透到了各個(gè)方面,移動機(jī)器人成為其中重要的一部分。尤其是在生活中,機(jī)器人的智能應(yīng)用已經(jīng)越來越有利于生活。但市場上目前很少有自動跟拍機(jī)器人這一方面的研究。目前的拍攝設(shè)備無論是手持拍攝還是固定點(diǎn)攝像機(jī)拍攝,由于拍攝目標(biāo)位置不佳或拍攝目標(biāo)移動而導(dǎo)致拍攝不清或者拍攝效果不佳,其存在的缺點(diǎn)就是耗費(fèi)了大量的人力和物力,也浪費(fèi)了時(shí)間。特別是在軍事、醫(yī)學(xué)等記錄方面,傳統(tǒng)的拍攝記錄方法制作的視頻可能因?yàn)槠D(zhuǎn)、調(diào)焦等問題,對捕捉、記錄的對象不能做到準(zhǔn)確的記錄,出現(xiàn)記錄的目標(biāo)不在視頻中心或者拍攝模糊等問題。
為了解決這個(gè)問題,本課題擬設(shè)計(jì)一種可以自動捕捉識別拍攝目標(biāo)且可以跟隨目標(biāo)移動的機(jī)器人,它還可以根據(jù)目標(biāo)的手勢進(jìn)行拍照、暫停等功能,達(dá)到更加自由拍攝的目的。該機(jī)器人是一種新型的智能拍照機(jī)器人,可以嘗試以此開辟新的商業(yè)市場需求領(lǐng)域,其可以運(yùn)用到醫(yī)學(xué)拍攝、課堂記錄、會議記錄、軍事捕捉等多個(gè)場所。
基于樹莓派和OpenCV的自跟隨手勢調(diào)焦拍攝機(jī)器人主要包括如下幾部分:視頻傳輸模塊、手勢識別模塊、拍攝控制模塊、智能控制模塊等,其核心模塊是智能控制模塊。樹莓派是一款基于ARM的微型電腦主板,以SD/MicroSD卡為內(nèi)存硬盤,卡片主板周圍有1/2/4個(gè)USB接口和一個(gè)10/100 以太網(wǎng)接口,可連接鍵盤、鼠標(biāo)和網(wǎng)線;同時(shí),其擁有視頻模擬信號的電視輸出接口和HDMI高清視頻輸出接口,能執(zhí)行如電子表格、文字處理、玩游戲、播放高清視頻等諸多功能。OpenCV是一個(gè)基于BSD許可(開源)發(fā)行的跨平臺計(jì)算機(jī)視覺庫,其實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。
使用Raspberry pi開發(fā)板連接USB攝像頭和USB無線網(wǎng)卡組成的視頻監(jiān)控系統(tǒng)的硬件平臺,并進(jìn)行交叉編譯環(huán)境的安裝和設(shè)置以及測試環(huán)境的配置;采用了Video for Linux two技術(shù)進(jìn)行視頻圖像的采集;將采集到的視頻圖像的格式統(tǒng)一轉(zhuǎn)換為YUV420格式,使用H.264編碼技術(shù)對采集到的視頻數(shù)據(jù)進(jìn)行編碼;采取了基于IP/UDP/RTP協(xié)議的視頻傳輸技術(shù),通過WIFI無線網(wǎng)絡(luò)搭建了Raspberry pi開發(fā)平臺與PC機(jī)之間的Socket通信,確保視頻采集平臺和PC端在同一個(gè)局域網(wǎng)絡(luò)中,實(shí)現(xiàn)了兩者之間視頻的實(shí)時(shí)傳輸;在PC端通過VLC流媒體播放器來實(shí)時(shí)接收和播放開發(fā)平臺上所獲取到的視頻圖像信息,實(shí)現(xiàn)了無線網(wǎng)絡(luò)視頻傳輸?shù)南到y(tǒng)模型。
視頻錄制可以根據(jù)錄制人的手勢進(jìn)行拍照特寫、暫停錄制、固定點(diǎn)特寫錄制等功能,給使用者以良好的使用體驗(yàn)。其中,其主要運(yùn)用OpenCV來采集圖像,進(jìn)而基于膚色對手勢記性分割,繼而用卡爾曼濾波算法對采集到的圖像進(jìn)行處理,提取手勢特征后將信息反饋給系統(tǒng)。
拍攝設(shè)備位置的微調(diào)控制主要包括:攝影機(jī)左、右、上、下旋轉(zhuǎn)、攝影機(jī)前后伸縮。這些調(diào)控都屬于小范圍動作,所以驅(qū)動電機(jī)選擇舵機(jī)。其功能的變化主要依據(jù)于圖像處理得到的信息,轉(zhuǎn)動方向由系統(tǒng)I/O口傳輸而來的PWM波控制。
智能控制模塊是整個(gè)跟拍系統(tǒng)的核心部分,它有兩個(gè)功能:一方面通過傳感和運(yùn)算實(shí)現(xiàn)識別拍攝對象的移動,從而控制拍攝設(shè)備移動實(shí)現(xiàn)跟隨;另一方面通過控制拍攝功能實(shí)現(xiàn)自動縮放、自動定焦、超越拍攝范圍自動調(diào)節(jié)以及拍照特寫圖片等相關(guān)動作,其采用的基礎(chǔ)是視覺識別。視覺識別是最近才興起的新技術(shù),它在智能時(shí)代可稱得上是機(jī)器的眼睛,其可以代替?zhèn)鹘y(tǒng)傳感器的應(yīng)用,實(shí)現(xiàn)類似人腦及眼睛的功能,它被科學(xué)家稱為智能化時(shí)代以及工業(yè)4.0時(shí)代最具備時(shí)代標(biāo)志的創(chuàng)新技術(shù)。這種識別技術(shù)早已普遍運(yùn)用在各行各業(yè),這些年形狀和顏色等方面的視覺識別在精度要求不高的場所也得到了推廣和應(yīng)用。其無需要高精度小尺度的識別效果,只需要識別展示過程中的指定形狀、顏色或固定姿態(tài)。采用視覺識別無需安裝任何傳感器,只需要一個(gè)攝像頭就可以實(shí)現(xiàn),其安裝和調(diào)試要求大大降低;并且,其編程語言為Python,圖像處理部分為C++,這樣可使其具有變通性、靈活性,更具適用性。
圖1 硬件結(jié)構(gòu)及信號流程
對硬件進(jìn)行搭建并進(jìn)行各種環(huán)境的測評分析、對軟件構(gòu)寫并測試多種環(huán)境魯棒性硬件設(shè)計(jì)參照圖1。本項(xiàng)目為了達(dá)到可自由調(diào)焦的目的,使用opencv類似的可自動調(diào)焦攝像頭,并在此基礎(chǔ)上進(jìn)行提取達(dá)到圖像處理以及應(yīng)對反應(yīng)的目的。對于連接的樹莓派進(jìn)行編程,使其達(dá)到錄制的目的并將處理結(jié)果反饋給舵機(jī)和攝像頭。由于舵機(jī)會根據(jù)目標(biāo)而轉(zhuǎn)動,攝像頭的底盤要足夠重而不會對拍攝造成抖動,并且質(zhì)量要在便于攜帶的范圍之內(nèi)。本項(xiàng)目中使用到了很多模塊,不同模塊用到了不同的通訊協(xié)議,所以在電路設(shè)計(jì)上要根據(jù)不同IO口所具有的硬件資源將不同模塊接在合適的IO口上,以實(shí)現(xiàn)硬件資源的合理使用。
攝像頭、樹莓派、舵機(jī)等要對應(yīng)輸入不同的電壓,所以要引入多種穩(wěn)壓模塊達(dá)到電路正常運(yùn)行的目的。
對軟件及程序設(shè)計(jì),本項(xiàng)目編程的計(jì)算機(jī)語言主要是C++和python,先對視屏畫面分析之后再使用樹莓派控制舵機(jī)轉(zhuǎn)向。軟件設(shè)計(jì)是本項(xiàng)目的核心,要通過編程對圖像進(jìn)行最大程度的抖動消除。目前所采用的處理方式要考慮到所捕捉物體的運(yùn)動狀態(tài)、形狀而采取更靈敏的追蹤方式,在追蹤的同時(shí)也要時(shí)刻檢測是否有所期望的手勢出現(xiàn),并及時(shí)作出反應(yīng)。其中,圖像處理部分為了達(dá)到更好的識別和反映效果,查閱資料后將用卡爾曼濾波算法以及粒子處理對圖像進(jìn)行處理,將得到的信息整合之后以PWM波的形式傳送給舵機(jī)轉(zhuǎn)動。程序編寫時(shí)使用模塊化編程,把不同模塊的初始化及驅(qū)動過程封裝在不同的文件中,在main文件中只實(shí)現(xiàn)調(diào)用的過程,不同文件中函數(shù)的調(diào)用通過對相應(yīng).h文件的引用來實(shí)現(xiàn)。模塊化編程最大的好處就是程序的可閱讀力比較強(qiáng),編程思路更加清晰,對于程序的分模塊調(diào)試以及程序修改也非常方便。
由于舵機(jī)的驅(qū)動電壓有明確的要求,在USB供電狀態(tài)下只能為芯片供電使其正常運(yùn)行,無法驅(qū)動舵機(jī)運(yùn)作。使用USB進(jìn)行對代碼的調(diào)試,在調(diào)試完畢之后,接入11.1V的電池查看調(diào)試情況,在11.1V電池供電狀態(tài)下就可以完成對舵機(jī)的供電。在調(diào)試過程中,由于有項(xiàng)目組成員對芯片并不是很熟悉,誤刪了很多庫文件和已經(jīng)調(diào)試好的源文件,導(dǎo)致了項(xiàng)目制作進(jìn)度的緩慢,后期及時(shí)進(jìn)行了調(diào)整。讓項(xiàng)目組成員去學(xué)習(xí)一些樹莓派和TensorFlow的相關(guān)入門書籍,對芯片有更深層次的了解,在之后的調(diào)試和磨合中會更加容易。
總結(jié)與展望:隨著科技的不斷進(jìn)步,自動與智能的應(yīng)用越來越受到大家的關(guān)注,如無人飛機(jī)、智能音箱、無人酒店等。因此,本項(xiàng)目采用基于樹莓派和OpenCV設(shè)計(jì)的自動跟隨拍照機(jī)器人來為大眾提供更方便的拍照方式,提升大家的拍照體驗(yàn)。本設(shè)計(jì)打破傳統(tǒng)的人工手機(jī)拍照和相機(jī)拍照,為大家提供更方便的拍照方式。