基于OPENCV手勢(shì)識(shí)別的啟蒙教育機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)
祝朝坤,魏倫勝 (鄭州工商學(xué)院,河南 鄭州450000)
本文引用地址:http://cafeforensic.com/article/201910/406448.htm摘?要:基于視覺的手勢(shì)識(shí)別與遠(yuǎn)程控制機(jī)械手相結(jié)合,通過攝像頭采集用戶的手勢(shì)圖像并提取手勢(shì)命令,轉(zhuǎn)換為機(jī)械手舵機(jī)的控制命令并通過無線藍(lán)牙發(fā)送至機(jī)械手控制單元,實(shí)現(xiàn)視覺手勢(shì)對(duì)機(jī)械手的遠(yuǎn)程控制,使操作簡(jiǎn)潔化。機(jī)械手端則由兩個(gè)STM32協(xié)同進(jìn)行控制。符合低齡兒童啟蒙期的學(xué)習(xí)智商,幫助低齡兒童學(xué)習(xí),娛樂,啟蒙教育。從小培養(yǎng)兒童的學(xué)習(xí)積極性。
關(guān)鍵詞:OPENCV;STM32;無線傳輸;手勢(shì)識(shí)別;啟蒙教育
0 引言
在國(guó)外,機(jī)器人教育一直是個(gè)熱點(diǎn):早在1994年麻省理工學(xué)院(MIT)就設(shè)立了 “設(shè)計(jì)和建造LEGO機(jī)器人”課程(Martin),目的是提高工程設(shè)計(jì)專業(yè)學(xué)生的設(shè)計(jì)和創(chuàng)造能力。 隨著機(jī)器人技術(shù)的進(jìn)一步發(fā)展,機(jī)器人除了智能程度在持續(xù)提高,其應(yīng)用范圍也從工業(yè)向各個(gè)行業(yè)滲透。目前市面上的早教機(jī)器人仍是傳統(tǒng)的人機(jī)交互模式,在當(dāng)今人工智能全球化背景下,這一類型的智能機(jī)器人已經(jīng)逐漸落后,無論是在先進(jìn)性還是智能性,都對(duì)傳統(tǒng)的人機(jī)交互提出了更多的要求。本設(shè)計(jì)對(duì)早教機(jī)器人加以更新型的改進(jìn),使得人機(jī)交互更加智能,更加符合時(shí)代潮流。
1 啟蒙教育機(jī)器人的設(shè)計(jì)框圖
由圖1可知:?jiǎn)⒚山逃龣C(jī)器人主要分為兩大系統(tǒng),分別是手勢(shì)識(shí)別系統(tǒng)和機(jī)械手控制系統(tǒng)。手勢(shì)識(shí)別系統(tǒng)由PC端攝像頭采集手勢(shì)信息,進(jìn)而通過OPENCV以及相應(yīng)的算法進(jìn)行圖像預(yù)處理,從而得到手勢(shì)所包含的控制指令;最后將手勢(shì)指令信息通過無線藍(lán)牙發(fā)送至機(jī)械手控制系統(tǒng),按照設(shè)定程序,將運(yùn)動(dòng)指令轉(zhuǎn)換為機(jī)械手各個(gè)舵機(jī)和語音模塊的控制指令,通過各舵機(jī)的協(xié)同操作實(shí)現(xiàn)運(yùn)動(dòng)效果和不同功能從而實(shí)現(xiàn)更加智能的早教機(jī)器人,幫助孩子提升學(xué)習(xí)的興趣。
2 啟蒙教育機(jī)器人的硬件設(shè)計(jì)
本設(shè)計(jì)采用以STM32F429ZI6為核心,加載超聲波測(cè)距模塊、語音識(shí)別模塊、藍(lán)牙模塊、TTS串口轉(zhuǎn)語音播放模塊、擴(kuò)展SD卡模塊、MP3播放器模塊以及最核心的機(jī)械手舵機(jī)控制模塊,通過各種硬件的配合從而實(shí)現(xiàn)了各種功能。其中STM32承載了全部的計(jì)算任務(wù),是整個(gè)設(shè)計(jì)的“大腦”,而機(jī)械手和各類傳感器則是設(shè)計(jì)的手足和五官,從而進(jìn)行運(yùn)動(dòng)和收發(fā)信息的功能,該設(shè)計(jì)的整體電路如圖2所示。
2.1 語音識(shí)別模塊
語音處理技術(shù)是人機(jī)交互的核心技術(shù)之一,隨著智能化的提升,越來越多的場(chǎng)景需要用到語音處理技術(shù),HBR740可以很簡(jiǎn)單地配置語音命令,實(shí)現(xiàn)語音識(shí)別功能。其系統(tǒng)架構(gòu)如圖3:
在該設(shè)計(jì)中,使用語音識(shí)別主要進(jìn)行控制五大模式,為了使得識(shí)別誤差更低,則采用二級(jí)指令進(jìn)行校準(zhǔn)識(shí)別。
2.2 無線藍(lán)牙通信模塊
機(jī)器人在進(jìn)行手勢(shì)識(shí)別時(shí),用到的OpenCV手勢(shì)識(shí)別技術(shù)需要在PC端進(jìn)行操作,在PC端與機(jī)械手控制系統(tǒng)的信息傳輸中將手勢(shì)指令信息通過藍(lán)牙發(fā)送至機(jī)械手接收單元,故藍(lán)牙模塊的無線傳輸功能是兩個(gè)系統(tǒng)溝通的橋梁,有著極為重要的作用。
2.3 MP3播放器模塊
VS1003是一個(gè)單片MP3/WMA/MIDI音頻解碼器和 ADPCM編碼器。在本設(shè)計(jì)中,其接收輸入的MP3數(shù)據(jù),經(jīng)過VS1003內(nèi)置的采樣DAC轉(zhuǎn)換為音頻模擬量,最后通過Left﹑Right輸出,該模塊主要用于“兒歌播放模式”以及“講故事模式”中進(jìn)行音樂以及故事的播放。
2.4 TTS串口轉(zhuǎn)語音播放模塊
TTS串口轉(zhuǎn)語音播放模塊只需要用串口發(fā)送中文指令及可以實(shí)時(shí)輸出語音,可以很方便地將文字轉(zhuǎn)化為語音。本設(shè)計(jì)中使用該模塊用來進(jìn)行語音提示。例如總控制系統(tǒng)通過語音識(shí)別進(jìn)入到猜拳模式時(shí),該模塊會(huì)播報(bào)“已進(jìn)入猜拳模式”,從而提醒使用者機(jī)器人當(dāng)前位于哪種模式,實(shí)現(xiàn)更加人性化的設(shè)計(jì)。
2.5 超聲波模塊
HC-SR04超聲波測(cè)距模塊可提供2cm至400cm的非接觸式距離感測(cè)功能,本設(shè)計(jì)采用超聲波傳感器感應(yīng)是否有人位于啟蒙教育機(jī)器人的前方,從而判斷是否觸發(fā)自啟動(dòng)模式。
3 啟蒙教育機(jī)器人的軟件設(shè)計(jì)
3.1 軟件設(shè)計(jì)概述
軟件設(shè)計(jì)主要分為兩大部分,第一部分是PC端的OPENCV手勢(shì)識(shí)別算法,其配合USB攝像頭進(jìn)行實(shí)時(shí)的手勢(shì)圖像采集;第2部分是STM32端的程序設(shè)計(jì)。
3.2 OPENCV手勢(shì)識(shí)別
手勢(shì)是一種人類的基本特征,手勢(shì)識(shí)別技術(shù)的發(fā)展,為人與機(jī)器或其他設(shè)備的交互提供了可能。根據(jù)手勢(shì)在時(shí)間和空間上的差異,手勢(shì)可分為靜態(tài)手勢(shì)和動(dòng)態(tài)手勢(shì),對(duì)靜態(tài)手勢(shì)的研究主要考慮手勢(shì)的位置信息,而研究動(dòng)態(tài)手勢(shì)除了要考慮手勢(shì)空間位置變化,還需要考慮手勢(shì)在時(shí)序中的變化規(guī)律。
整個(gè)設(shè)計(jì)中具有決定性地位的便是OPENCV動(dòng)態(tài)手勢(shì)識(shí)別算法,它是整個(gè)系統(tǒng)的核心。
3.2.1 手勢(shì)識(shí)別算法分析
通過攝像頭來完成對(duì)圖像的捕獲工作,攝像頭類似人眼,對(duì)周圍的環(huán)境和運(yùn)動(dòng)目標(biāo)有著較強(qiáng)的感知能力。而攝像頭獲取的圖像顏色信息非常豐富,直接用來進(jìn)行識(shí)別和檢測(cè),會(huì)降低跟蹤和識(shí)別效果,而通過顏色空間轉(zhuǎn)換、降噪操作、二值化等方式處理之后,再用與識(shí)別和檢測(cè),效果會(huì)大大提升,其過程被稱為圖像的預(yù)處理過程。
3.2.2 HSV顏色空間
HSV 是由色調(diào)、飽和度、 亮度組合而成的,屬于非線性色彩系統(tǒng),如圖4所示的圓錐體子集所組成的模型即為HSV模型:
HSV模型和RGB模型之間有著緊密聯(lián)系,并且可以相互轉(zhuǎn)換,而通過這種轉(zhuǎn)換,最大的好處就是不同的顏色有著不同的HSV參數(shù)值,若取值V=S=1,則從色彩開始,顏色空間會(huì)隨著黑白兩種色彩的變化而變化,當(dāng)不斷增加白色時(shí),發(fā)現(xiàn)參數(shù)V的值會(huì)保持不變,而參數(shù)S的值卻會(huì)減小,正是由于這種特性,才便于對(duì)手勢(shì)圖像的預(yù)處理,有利于對(duì)動(dòng)態(tài)手勢(shì)的跟蹤監(jiān)測(cè),且其受干擾程度很低,更方便后續(xù)的形態(tài)學(xué)噪聲處理。
3.2.3 OPENCV手勢(shì)輪廓提取與指尖標(biāo)定
將基于膚色分割的類膚色圖像與基于運(yùn)動(dòng)前景分割的動(dòng)態(tài)手勢(shì)圖像進(jìn)行與操作,得到手勢(shì)的二值圖像。該圖像已排除了大部分類膚色區(qū)域,但仍包含較多的斑點(diǎn)噪聲。因此,需要對(duì)該圖像進(jìn)行形態(tài)學(xué)處理消除這些區(qū)域,以減少后期手勢(shì)識(shí)別過程中的干擾信息。采用OPENCV開源視覺庫(kù)中的輪廓操作函數(shù):輪廓查找( ovFindContours),輪廓繪制( cvDrawContours),輪廓凸包查找(ovConvexHull2),凸缺陷查找(cvConvexityDefects)。從圖像中提取出可以描述連通域的特征分量:輪廓、骨架、凸包和凸缺陷,進(jìn)而進(jìn)行手勢(shì)輪廓提取。
對(duì)于設(shè)計(jì)中的指尖標(biāo)定,采用最大曲率法可以求取圖像上各點(diǎn)處的曲率,設(shè)置相應(yīng)的閾值,提取到指尖和指縫,再根據(jù)其他條件分離指尖和指縫,最終實(shí)現(xiàn)指尖定位。這種方法很好滴避免了手腕和手臂上的干擾點(diǎn)對(duì)指尖定位的干擾,且曲率大小與手勢(shì)朝向無關(guān),這樣增加了手勢(shì)識(shí)別的靈活性以及準(zhǔn)確性。
3.2.4 手勢(shì)識(shí)別核心代碼
int main(){
MyImage m(0);//圖像采集初始化
HandGesture hg;//定義手勢(shì)采集信息變量
usartinit();//串口初始化,用于藍(lán)牙發(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);//輸出手勢(shì)輪廓提取的圖像
out.open(“out.avi”, CAP_OPENCV_
MJPEG, 15, m.src.size(), true);//輸出實(shí)時(shí)的攝像頭圖像
waitForPalmCover(&m);//手勢(shì)分割
average(&m);// 圖像二值化
destroyWindow(“img1”);//關(guān)閉圖像輸出
initWindows(m);//初始化窗口
initTrackbars();//初始化拖動(dòng)條
for(;;){
hg.frameNumber++;
m.cap>>m.src;
flip(m.src,m.src,1);//圖像反轉(zhuǎn)
pyrDown(m.src,m.srcLR);// 對(duì)圖像進(jìn)行高斯平滑,然后再進(jìn)行降采樣
blur(m.srcLR,m.srcLR,Size(3,3));//均值濾波
cvtColor(m.srcLR,m.srcLR,ORIGCOL2COL);//顏色空間轉(zhuǎn)換
produceBinaries(&m);// 生成二進(jìn)制
cvtColor(m.srcLR,m.srcLR,COL2ORIGCOL);//顏色空間轉(zhuǎn)換
makeContours(&m, &hg);\計(jì)數(shù)
hg.getFingerNumber(&m);//輸出手勢(shì)識(shí)別的數(shù)字
showWindows(m);//打開窗口
out <<m.src;
if(cv::waitKey(30) == char(‘q’)) break;
}
destroyAllWindows();//關(guān)閉所有窗口
out.release();//向外釋放內(nèi)存空間
m.cap.release();
return 0;
}
手勢(shì)識(shí)別測(cè)試如圖5:
3.3 STM32機(jī)械手程序功能設(shè)計(jì)
在設(shè)計(jì)組成的兩大關(guān)鍵中,機(jī)械手控制是不可或缺的一部分,當(dāng)上位機(jī)識(shí)別手勢(shì)識(shí)別完成后,將識(shí)別結(jié)果通過藍(lán)牙傳輸發(fā)送至機(jī)械手控制系統(tǒng)。控制系統(tǒng)則進(jìn)入相應(yīng)的模式,完成各項(xiàng)指令任務(wù),總程序分為若干部分,分開執(zhí)行,其大致流程圖如圖6所示。
4 總結(jié)
啟蒙教育機(jī)器人其適用人群為兒童,當(dāng)前市場(chǎng)上也有很多的兒童早前教育機(jī)器人。然而真正與手勢(shì)識(shí)別完全結(jié)合在一起的卻少之又少,與手勢(shì)互動(dòng)的更是幾乎沒有。因此,本文中的啟蒙教育機(jī)器人在設(shè)計(jì)之初就為了能與兒童有更多的互動(dòng),增加其學(xué)習(xí)的興趣,實(shí)現(xiàn)手勢(shì)識(shí)別技術(shù)在人機(jī)交互中的創(chuàng)新意義。其對(duì)于啟蒙教育而言則有了新的進(jìn)步,能幫助兒童進(jìn)行早期學(xué)前啟蒙,是處于全球人工智能背景下的設(shè)計(jì),實(shí)現(xiàn)了人工智能技術(shù)在教育領(lǐng)域的前沿探索。
5 參考文獻(xiàn)
[1]張瑞,焦曉瓊.基于OpenCV的圖像處理技術(shù)在國(guó)畫中的應(yīng)用[J].自動(dòng)化與儀器儀表,2019(09):226-229.
[2]楊帆,徐軍.基于人臉識(shí)別技術(shù)的電源開關(guān)控制系統(tǒng)[J/OL].傳感器與微系統(tǒng),2019(09):93-95,98[2019-10-09].
[3]李杰,劉子龍.基于計(jì)算機(jī)視覺的無人機(jī)物體識(shí)別追蹤[J/OL].軟件導(dǎo)刊:1-5[2019-10-09].
[4]王禾生,梁維保.一種自動(dòng)夾取及碼垛的機(jī)械手裝置設(shè)計(jì)[J].機(jī)電信息,2019(27):103-104.
[5]侯勇,毛潤(rùn)華,何獻(xiàn)章,張曉宇,李金桐.CNC多工位自動(dòng)上卸料機(jī)械臂設(shè)計(jì)[J].制造業(yè)自動(dòng)化,2019(09):125-128,148.
[6]周挺,楊榮.多媒體網(wǎng)絡(luò)語音音調(diào)數(shù)據(jù)特征智能識(shí)別方法[J].自動(dòng)化與儀器儀表,2019(09):132-135.
[7]梁慧.嵌入式英語語音識(shí)別系統(tǒng)誤差自動(dòng)檢測(cè)方法研究[J].自動(dòng)化與儀器儀表,2019(09):55-58.
作者簡(jiǎn)介:
祝朝坤,男,碩士,主要研究方向:嵌入式系統(tǒng)、模式識(shí)別與圖像處理
魏倫勝,男,本科,主要研究方向:嵌入式系統(tǒng)、圖像處理
本文來源于科技期刊《電子產(chǎn)品世界》2019年第11期第77頁(yè),歡迎您寫論文時(shí)引用,并注明出處。
評(píng)論