新聞中心

EEPW首頁 > 設計應用 > 基于OPENCV手勢識別的啟蒙教育機器人的設計與實現

基于OPENCV手勢識別的啟蒙教育機器人的設計與實現

—— 基于OPENCV手勢識別的啟蒙教育機器人的設計與實現(11月刊)
作者:時間:2019-10-29來源:電子產品世界收藏

  祝朝坤,魏倫勝 (鄭州工商學院,河南 鄭州450000)

本文引用地址:http://www.crmfjg.tw/article/201910/406448.htm

  摘?要:基于視覺的與遠程控制機械手相結合,通過攝像頭采集用戶的手勢圖像并提取手勢命令,轉換為機械手舵機的控制命令并通過無線藍牙發送至機械手控制單元,實現視覺手勢對機械手的遠程控制,使操作簡潔化。機械手端則由兩個協同進行控制。符合低齡兒童啟蒙期的學習智商,幫助低齡兒童學習,娛樂,。從小培養兒童的學習積極性。

  關鍵詞:

  0 引言

  在國外,機器人教育一直是個熱點:早在1994年麻省理工學院(MIT)就設立了 “設計和建造LEGO機器人”課程(Martin),目的是提高工程設計專業學生的設計和創造能力。 隨著機器人技術的進一步發展,機器人除了智能程度在持續提高,其應用范圍也從工業向各個行業滲透。目前市面上的早教機器人仍是傳統的人機交互模式,在當今人工智能全球化背景下,這一類型的智能機器人已經逐漸落后,無論是在先進性還是智能性,都對傳統的人機交互提出了更多的要求。本設計對早教機器人加以更新型的改進,使得人機交互更加智能,更加符合時代潮流。

  1 機器人的設計框圖

微信截圖_20191112164832.jpg

  由圖1可知:啟蒙教育機器人主要分為兩大系統,分別是系統和機械手控制系統。手勢識別系統由PC端攝像頭采集手勢信息,進而通過以及相應的算法進行圖像預處理,從而得到手勢所包含的控制指令;最后將手勢指令信息通過無線藍牙發送至機械手控制系統,按照設定程序,將運動指令轉換為機械手各個舵機和語音模塊的控制指令,通過各舵機的協同操作實現運動效果和不同功能從而實現更加智能的早教機器人,幫助孩子提升學習的興趣。

  2 啟蒙教育機器人的硬件設計

  本設計采用以F429ZI6為核心,加載超聲波測距模塊、語音識別模塊、藍牙模塊、TTS串口轉語音播放模塊、擴展SD卡模塊、MP3播放器模塊以及最核心的機械手舵機控制模塊,通過各種硬件的配合從而實現了各種功能。其中STM32承載了全部的計算任務,是整個設計的“大腦”,而機械手和各類傳感器則是設計的手足和五官,從而進行運動和收發信息的功能,該設計的整體電路如圖2所示。

1573548664160632.jpg

  2.1 語音識別模塊

  語音處理技術是人機交互的核心技術之一,隨著智能化的提升,越來越多的場景需要用到語音處理技術,HBR740可以很簡單地配置語音命令,實現語音識別功能。其系統架構如圖3:

微信截圖_20191112164856.jpg

  在該設計中,使用語音識別主要進行控制五大模式,為了使得識別誤差更低,則采用二級指令進行校準識別。

  2.2 無線藍牙通信模塊

  機器人在進行手勢識別時,用到的OpenCV手勢識別技術需要在PC端進行操作,在PC端與機械手控制系統的信息傳輸中將手勢指令信息通過藍牙發送至機械手接收單元,故藍牙模塊的功能是兩個系統溝通的橋梁,有著極為重要的作用。

  2.3 MP3播放器模塊

  VS1003是一個單片MP3/WMA/MIDI音頻解碼器和 ADPCM編碼器。在本設計中,其接收輸入的MP3數據,經過VS1003內置的采樣DAC轉換為音頻模擬量,最后通過Left﹑Right輸出,該模塊主要用于“兒歌播放模式”以及“講故事模式”中進行音樂以及故事的播放。

  2.4 TTS串口轉語音播放模塊

  TTS串口轉語音播放模塊只需要用串口發送中文指令及可以實時輸出語音,可以很方便地將文字轉化為語音。本設計中使用該模塊用來進行語音提示。例如總控制系統通過語音識別進入到猜拳模式時,該模塊會播報“已進入猜拳模式”,從而提醒使用者機器人當前位于哪種模式,實現更加人性化的設計。

  2.5 超聲波模塊

  HC-SR04超聲波測距模塊可提供2cm至400cm的非接觸式距離感測功能,本設計采用超聲波傳感器感應是否有人位于啟蒙教育機器人的前方,從而判斷是否觸發自啟動模式。

  3 啟蒙教育機器人的軟件設計

  3.1 軟件設計概述

  軟件設計主要分為兩大部分,第一部分是PC端的手勢識別算法,其配合USB攝像頭進行實時的手勢圖像采集;第2部分是STM32端的程序設計。

  3.2 OPENCV手勢識別

  手勢是一種人類的基本特征,手勢識別技術的發展,為人與機器或其他設備的交互提供了可能。根據手勢在時間和空間上的差異,手勢可分為靜態手勢和動態手勢,對靜態手勢的研究主要考慮手勢的位置信息,而研究動態手勢除了要考慮手勢空間位置變化,還需要考慮手勢在時序中的變化規律。

  整個設計中具有決定性地位的便是OPENCV動態手勢識別算法,它是整個系統的核心。

  3.2.1 手勢識別算法分析

  通過攝像頭來完成對圖像的捕獲工作,攝像頭類似人眼,對周圍的環境和運動目標有著較強的感知能力。而攝像頭獲取的圖像顏色信息非常豐富,直接用來進行識別和檢測,會降低跟蹤和識別效果,而通過顏色空間轉換、降噪操作、二值化等方式處理之后,再用與識別和檢測,效果會大大提升,其過程被稱為圖像的預處理過程。

  3.2.2 HSV顏色空間

  HSV 是由色調、飽和度、 亮度組合而成的,屬于非線性色彩系統,如圖4所示的圓錐體子集所組成的模型即為HSV模型:

微信截圖_20191112164905.jpg

  HSV模型和RGB模型之間有著緊密聯系,并且可以相互轉換,而通過這種轉換,最大的好處就是不同的顏色有著不同的HSV參數值,若取值V=S=1,則從色彩開始,顏色空間會隨著黑白兩種色彩的變化而變化,當不斷增加白色時,發現參數V的值會保持不變,而參數S的值卻會減小,正是由于這種特性,才便于對手勢圖像的預處理,有利于對動態手勢的跟蹤監測,且其受干擾程度很低,更方便后續的形態學噪聲處理。

  3.2.3 OPENCV手勢輪廓提取與指尖標定

  將基于膚色分割的類膚色圖像與基于運動前景分割的動態手勢圖像進行與操作,得到手勢的二值圖像。該圖像已排除了大部分類膚色區域,但仍包含較多的斑點噪聲。因此,需要對該圖像進行形態學處理消除這些區域,以減少后期手勢識別過程中的干擾信息。采用OPENCV開源視覺庫中的輪廓操作函數:輪廓查找( ovFindContours),輪廓繪制( cvDrawContours),輪廓凸包查找(ovConvexHull2),凸缺陷查找(cvConvexityDefects)。從圖像中提取出可以描述連通域的特征分量:輪廓、骨架、凸包和凸缺陷,進而進行手勢輪廓提取。

  對于設計中的指尖標定,采用最大曲率法可以求取圖像上各點處的曲率,設置相應的閾值,提取到指尖和指縫,再根據其他條件分離指尖和指縫,最終實現指尖定位。這種方法很好滴避免了手腕和手臂上的干擾點對指尖定位的干擾,且曲率大小與手勢朝向無關,這樣增加了手勢識別的靈活性以及準確性。

  3.2.4 手勢識別核心代碼

int main(){

MyImage m(0);//圖像采集初始化

HandGesture hg;//定義手勢采集信息變量

usartinit();//串口初始化,用于藍牙發送到

STM32端

init(&m);//初始化顏色空間

m.cap>>m.src;

n a m e d W i n d o w ( “ i m g 1 ” , W I N D O W _

KEEPRATIO);//輸出手勢輪廓提取的圖像

out.open(“out.avi”, CAP_OPENCV_

MJPEG, 15, m.src.size(), true);//輸出實時的攝像頭圖像

waitForPalmCover(&m);//手勢分割

average(&m);// 圖像二值化

destroyWindow(“img1”);//關閉圖像輸出

initWindows(m);//初始化窗口

initTrackbars();//初始化拖動條

for(;;){

hg.frameNumber++;

m.cap>>m.src;

flip(m.src,m.src,1);//圖像反轉

pyrDown(m.src,m.srcLR);// 對圖像進行高斯平滑,然后再進行降采樣

blur(m.srcLR,m.srcLR,Size(3,3));//均值濾波

cvtColor(m.srcLR,m.srcLR,ORIGCOL2COL);//顏色空間轉換

produceBinaries(&m);// 生成二進制

cvtColor(m.srcLR,m.srcLR,COL2ORIGCOL);//顏色空間轉換

makeContours(&m, &hg);\\計數

hg.getFingerNumber(&m);//輸出手勢識別的數字

showWindows(m);//打開窗口

out <<m.src;

if(cv::waitKey(30) == char(‘q’)) break;

}

destroyAllWindows();//關閉所有窗口

out.release();//向外釋放內存空間

m.cap.release();

return 0;

}

  手勢識別測試如圖5:

微信截圖_20191112164918.jpg

  3.3 STM32機械手程序功能設計

  在設計組成的兩大關鍵中,機械手控制是不可或缺的一部分,當上位機識別手勢識別完成后,將識別結果通過藍牙傳輸發送至機械手控制系統。控制系統則進入相應的模式,完成各項指令任務,總程序分為若干部分,分開執行,其大致流程圖如圖6所示。

微信截圖_20191112164924.jpg

  4 總結

  啟蒙教育機器人其適用人群為兒童,當前市場上也有很多的兒童早前教育機器人。然而真正與手勢識別完全結合在一起的卻少之又少,與手勢互動的更是幾乎沒有。因此,本文中的啟蒙教育機器人在設計之初就為了能與兒童有更多的互動,增加其學習的興趣,實現手勢識別技術在人機交互中的創新意義。其對于啟蒙教育而言則有了新的進步,能幫助兒童進行早期學前啟蒙,是處于全球人工智能背景下的設計,實現了人工智能技術在教育領域的前沿探索。

  5 參考文獻

  [1]張瑞,焦曉瓊.基于OpenCV的圖像處理技術在國畫中的應用[J].自動化與儀器儀表,2019(09):226-229.

  [2]楊帆,徐軍.基于人臉識別技術的電源開關控制系統[J/OL].傳感器與微系統,2019(09):93-95,98[2019-10-09].

  [3]李杰,劉子龍.基于計算機視覺的無人機物體識別追蹤[J/OL].軟件導刊:1-5[2019-10-09].

  [4]王禾生,梁維保.一種自動夾取及碼垛的機械手裝置設計[J].機電信息,2019(27):103-104.

  [5]侯勇,毛潤華,何獻章,張曉宇,李金桐.CNC多工位自動上卸料機械臂設計[J].制造業自動化,2019(09):125-128,148.

  [6]周挺,楊榮.多媒體網絡語音音調數據特征智能識別方法[J].自動化與儀器儀表,2019(09):132-135.

  [7]梁慧.嵌入式英語語音識別系統誤差自動檢測方法研究[J].自動化與儀器儀表,2019(09):55-58.

  作者簡介:

  祝朝坤,男,碩士,主要研究方向:嵌入式系統、模式識別與圖像處理

  魏倫勝,男,本科,主要研究方向:嵌入式系統、圖像處理

  本文來源于科技期刊《電子產品世界》2019年第11期第77頁,歡迎您寫論文時引用,并注明出處。



評論


相關推薦

技術專區

關閉
山西快乐扑克