<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

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

本文引用地址:http://dyxdggzs.com/article/201910/406448.htm

  摘?要:基于視覺(jué)的與遠程控制機械手相結合,通過(guò)攝像頭采集用戶(hù)的手勢圖像并提取手勢命令,轉換為機械手舵機的控制命令并通過(guò)無(wú)線(xiàn)藍牙發(fā)送至機械手控制單元,實(shí)現視覺(jué)手勢對機械手的遠程控制,使操作簡(jiǎn)潔化。機械手端則由兩個(gè)協(xié)同進(jìn)行控制。符合低齡兒童啟蒙期的學(xué)習智商,幫助低齡兒童學(xué)習,娛樂(lè ),。從小培養兒童的學(xué)習積極性。

  關(guān)鍵詞:;;;;

  0 引言

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

  1 機器人的設計框圖

微信截圖_20191112164832.jpg

  由圖1可知:?jiǎn)⒚山逃龣C器人主要分為兩大系統,分別是系統和機械手控制系統。手勢識別系統由PC端攝像頭采集手勢信息,進(jìn)而通過(guò)以及相應的算法進(jìn)行圖像預處理,從而得到手勢所包含的控制指令;最后將手勢指令信息通過(guò)無(wú)線(xiàn)藍牙發(fā)送至機械手控制系統,按照設定程序,將運動(dòng)指令轉換為機械手各個(gè)舵機和語(yǔ)音模塊的控制指令,通過(guò)各舵機的協(xié)同操作實(shí)現運動(dòng)效果和不同功能從而實(shí)現更加智能的早教機器人,幫助孩子提升學(xué)習的興趣。

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

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

1573548664160632.jpg

  2.1 語(yǔ)音識別模塊

  語(yǔ)音處理技術(shù)是人機交互的核心技術(shù)之一,隨著(zhù)智能化的提升,越來(lái)越多的場(chǎng)景需要用到語(yǔ)音處理技術(shù),HBR740可以很簡(jiǎn)單地配置語(yǔ)音命令,實(shí)現語(yǔ)音識別功能。其系統架構如圖3:

微信截圖_20191112164856.jpg

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

  2.2 無(wú)線(xiàn)藍牙通信模塊

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

  2.3 MP3播放器模塊

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

  2.4 TTS串口轉語(yǔ)音播放模塊

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

  2.5 超聲波模塊

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

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

  3.1 軟件設計概述

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

  3.2 OPENCV手勢識別

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

  整個(gè)設計中具有決定性地位的便是OPENCV動(dòng)態(tài)手勢識別算法,它是整個(gè)系統的核心。

  3.2.1 手勢識別算法分析

  通過(guò)攝像頭來(lái)完成對圖像的捕獲工作,攝像頭類(lèi)似人眼,對周?chē)沫h(huán)境和運動(dòng)目標有著(zhù)較強的感知能力。而攝像頭獲取的圖像顏色信息非常豐富,直接用來(lái)進(jìn)行識別和檢測,會(huì )降低跟蹤和識別效果,而通過(guò)顏色空間轉換、降噪操作、二值化等方式處理之后,再用與識別和檢測,效果會(huì )大大提升,其過(guò)程被稱(chēng)為圖像的預處理過(guò)程。

  3.2.2 HSV顏色空間

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

微信截圖_20191112164905.jpg

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

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

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

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

  3.2.4 手勢識別核心代碼

int main(){

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

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

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

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);//輸出實(shí)時(shí)的攝像頭圖像

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

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

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

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

initTrackbars();//初始化拖動(dòng)條

for(;;){

hg.frameNumber++;

m.cap>>m.src;

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

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

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

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

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

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

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

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

showWindows(m);//打開(kāi)窗口

out <<m.src;

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

}

destroyAllWindows();//關(guān)閉所有窗口

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

m.cap.release();

return 0;

}

  手勢識別測試如圖5:

微信截圖_20191112164918.jpg

  3.3 STM32機械手程序功能設計

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

微信截圖_20191112164924.jpg

  4 總結

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

  5 參考文獻

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

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

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

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

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

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

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

  作者簡(jiǎn)介:

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

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

  本文來(lái)源于科技期刊《電子產(chǎn)品世界》2019年第11期第77頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>