999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于嵌入式系統的手勢識別

2015-05-15 10:10:48滕岳呂勇毛海波
現代計算機 2015年1期
關鍵詞:嵌入式

滕岳,呂勇,毛海波

(北京信息科技大學儀器科學與光電工程學院,北京 100192)

基于嵌入式系統的手勢識別

滕岳,呂勇,毛海波

(北京信息科技大學儀器科學與光電工程學院,北京 100192)

隨著嵌入式技術不斷普及,小型化、操作自由、交互智能成為新一代人機交互技術的發展趨勢,基于嵌入式的手勢識別就是其中的一項關鍵技術。主要是成功將OpenCV移植到嵌入式平臺,通過V4L2架構實現USB攝像頭的視頻采集以及LCD顯示,利用OpenCV豐富的視覺庫實現色彩空間轉換,轉換到HSV空間,閾值分割得到二值化圖像,最后通過濾波處理、輪廓提取、輪廓樹匹配的方法實現手勢識別,實踐證明通過該方法實現嵌入式系統的手勢識別可行。

嵌入式;手勢識別;OpenCV;HSV空間;輪廓提取

0 引言

手勢識別技術作為人機交互領域的一項關鍵技術,受到越來越多學者的青睞和學術界的關注,特別是利用攝像頭來實現對手勢的非接觸性捕獲,并通過計算機視覺(如OpenCV)對手勢進行處理分析識別,完成特定的交互任務。但是隨著嵌入式技術的不斷發展以及人們對設備小型化需求的不斷提高,將手勢識別技術移植到嵌入式系統成為時代發展的需要,將OpenCV視覺庫應用到嵌入式系統是其中必不可少的一個環節。

基于視覺的手勢識別一般可分為手勢圖像的采集、手勢圖像的分割、特征提取及手勢識別四個步驟[1]。通過膚色分割獲取手勢的二值圖像,然后提取手勢輪廓特征是應用最廣泛的一種方法。通常對于手勢分割和識別是手勢識別算法的關鍵和難點,而對于嵌入式單純通過C程序編程來實現上述難點,首先代碼量會很大,影響嵌入式的運算速度,其次就是高效的視覺庫對于提高處理速度有很大的幫助,因此將OpenCV視覺庫移植到嵌入式系統是實現快速處理的重中之重。

本文主要通過單攝像頭的視頻捕獲、視覺庫的移植以及通過手勢分割、輪廓提取、圖像匹配等最終實現嵌入式系統的手勢識別。

1 由RGB到HSV空間轉換

HSV空間轉換主要將現實中物體的色彩信息從一個模型轉換到另外一個模型,目的就是為了使人們能方便地區分不同的物體,提取出想要的物體信息,其模型類似于六角椎體,這個模型中的顏色參數分別為:色調(H)、飽和度(S)、亮度(V),所以稱為HSV,模型如圖1所示。

其中色調H是通過角度進行度量,其取值范圍為0°~360°,從紅色開始按逆時針方向計算,紅色為0、綠色為120°,藍色為240°。它們的補色是:黃色為60°,青色為180°,品紅為300°;飽和度S表示色彩的純度,其取值范圍是0.0~1.0,其值越大表示色彩越純,其值越低表示色彩越暗淡;亮度V表示色彩的明亮程度,其取值范圍是0.0(黑色)~1.0(白色)。

圖1 HSV顏色空間模型

RGB顏色空間與HSV顏色空間的轉換公式為:

2 視頻采集與OpenCV的嵌入式平臺移植

在開始手勢識別程序編寫之前,需要進行一些相關的準備工作,保證手勢識別的編寫能夠像在計算機上一樣方便、高效。

2.1 嵌入式平臺下視頻捕獲的實現

基于V4L2的視頻捕獲主要通過如下流程來實現,包括:打開視頻設備、讀取設備信息、設置設備當前信息、內存映射、對采集數據的處理、關閉設備。其中這些具體操作主要是通過ioctl()函數完成系統調用來實現。其成功采集圖像的效果圖如圖2所示。

2.2 OpenCV的嵌入式平臺移植

本文采用OpenCV 2.3.1開源版本,OpenCV的編譯配置工具為cmake-2.8.12.2-linux-i386,cmake是一個跨平臺的安裝工具,可以用簡單的語句來描述所有平臺的安裝或編譯過程,基于Linux的cmake-gui使配置和編譯過程更加直觀和人性化,Linux下的配置如圖3所示。

圖2 視頻采集

圖3 cmake的配置

為了使OpenCV能夠支持視頻圖像壓縮、圖像編解碼等,在編譯OpenCV之前需要預先安裝支持這些功能的開源軟件。包括:

(1)zlib-1.2.7.tar.gz

編譯后為OpenCV提供壓縮和加壓縮之用。

(2)jpegsrc.v7.tar.gz

編譯后為OpenCV提供jpeg圖像壓縮功能。

(3)libpng-1.5.13.tar

編譯后為ffmpeg提供png格式文件的功能。

(4)yasm-1.2.0.tar.gz

編譯后成為X.264視頻編碼器的匯編編譯器。

(5)x264-snapshot-20120718-2245-stable.tar.bz2

為ffmpeg提供H.264視頻編碼,其可通過部分支持硬解碼的顯卡來播放,從而降低了CPU的負載并提高畫面的流暢度。

(6)Xcode-1.3.2.tar.gz

編譯后為FFmpeg提供生成FFpneg和MPEG-4的視頻編譯解碼器。

(7)ffmpeg-0.11.1.tar.gz

為OpenCV增加FFmpeg功能,使其處理圖像和視頻時更加方便和效率[1]。

2.3 OpenCV移植問題分析

在編譯配置上述軟件時可能會遇到一些問題,如果遇到類似于libOpenCV_core.so:undefined reference to clock_gettime、_TIFFerrorHandler等問題時,一般需要修改CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原來為空,加上-lpthread-lrt,WITH_TIFF:BOOL= NO,改成OFF,重新編譯即可消除錯誤。當所有都編譯完成后還要注意一下OpenCV庫的路徑,一般要將編譯出來的庫放到對應的交叉編譯器的lib里面,否則會有庫加載失敗的錯誤。

3 靜態手勢識別

手勢識別分為靜態手勢和動態手勢,靜態手勢是通過靜態的手型來傳遞信息,動態的手勢不但通過手型,還通過運動軌跡來傳遞信息。動態手勢研究起來復雜,本文僅針對靜態的手勢,提出基于膚色的有效提取方法,再經過閾值化,和形態學變換,得到手的輪廓,最后采用輪廓匹配的方法,得到識別結果。在各種光線下進行反復測試,調整系統參數,實驗表明,這種方案是可行的,并且獲得了良好的效果。

3.1 手勢圖像預處理

由于攝像頭采集到的圖像僅僅是圖像的原始形態,如果直接用原始圖像進行手勢識別必然會影響識別效果。因此需要對采集的圖像進行預處理,包括HSV空間轉換、平滑處理、閾值分割等。進行圖像預處理的關鍵一步就是膚色檢測與分割,而HSV顏色空間與YCrCb顏色空間是目前膚色檢測與分割中常用的兩種顏色空間。本文采用的是HSV顏色空間。

此外,圖像信號在產生、傳輸過程中,不可避免地會常常受到各種噪聲的干擾,因此,現實中的圖像都是帶有噪聲的圖像,一般在對圖像進行圖像分割、特征提取之前都會進行平滑處理。噪聲并不限于人眼所能看得見的失真和變形,有些噪聲只有進行圖像處理時才可以發現。圖像中常見的噪聲主要有加性噪聲、乘性噪聲和量化噪聲等。由于圖像的能量主要集中在低頻部分,而噪聲所在的頻段主要在高頻段,因此通常采用低通濾波的方法消除噪聲。

平滑處理是一項簡單且使用頻率很高的圖像處理方法。目前OpenCV可以提供五種不同的平滑操作方法,每種方法都有自己的特點與局限,而且所有操作都是由cvSmooth()函數來實現,它可以將用戶所期望的平滑方式作為參數,進行平滑處理。經過反復驗證,本文采用雙邊濾波方式(CV_BILATERAL),平滑處理前后的圖像對比如圖4和圖5所示。

圖4 平滑處理前

圖5 平滑處理后

3.2 手勢特征提取

由于在預處理階段,已經通過閾值分割和Canny算子獲取了目標手勢的邊緣,接下來只需對處理過的圖像進行輪廓提取即可,本文對于輪廓的提取采用的是基于OpenCV的cvFindContours()函數,通過對該函數的設置返回了檢測到的最大兩個輪廓,然后通過對兩個輪廓的比較得到了最感興趣的輪廓,圖6和圖7為未經過Canny算子和經過Canny算子的兩張對比圖。

圖6 未經Canny算子得到的輪廓

圖7 經過Canny算子得到的輪廓

3.3 輪廓模板匹配

輪廓模板匹配是比較獲得的目標輪廓與模板的特征相似程度,為了能夠提高識別準確度,再獲得手勢輪廓后,對手勢輪廓做了多邊形擬合處理,通過cvApproxPoly()和cvDrawContours()兩個函數得到了擬合后多邊形輪廓圖像。

常用的輪廓匹配方法有三類:幾何直方圖法、輪廓樹法、不變矩匹配法。基于OpenCV視覺庫的輪廓樹法高效有效,在OpenCV中通過cvCreateContourTree()構造輪廓樹,通過cvMatchContourTrees()進行輪廓樹的匹配,具體過程是從輪廓樹根開始逐層計算相似度,若相似度小于閾值則中斷。

本文選取了六種手勢作為實驗的手勢庫,如圖8所示,其中手勢的來源為實際拍攝。

圖8 本文選取的六種手勢

識別流程圖如圖9所示。

4 實驗與結果

在此次試驗中,找了兩位實驗者在攝像頭前輪流打手勢,兩位實驗者依次對六種手勢進行測試,每種手勢交替打二十次,然后得出每種手勢正確的識別次數,計算出識別率,對整體得出平均識別率,具體識別情況如表1所示。

圖9 識別流程圖

表1 靜態手勢識別結果

5 結語

手勢識別作為一種人性化的人機交互方式,將其應用于嵌入式平臺適應時代的快速發展和人們對于方便而小型化的人機交互平臺的需求顯得很重要。本文針對手勢識別簡單搭建了一個嵌入式系統交互平臺,并將將OpenCV計算機視覺庫應用于嵌入式平臺,實現了由按鍵控制的高效快速的手勢識別。經過實驗證明將OpenCV移植到嵌入式平臺可行,將其用于數字圖像處理方便高效,運用手勢的輪廓樹匹配方法進行手勢匹配,實現靜態手勢識別可靠可行。

[1] 梁喜軍.基于ARM嵌入式平臺的視覺手勢識別技術研究[D].蘭州:蘭州理工大學,2014

[2] 張運德.手勢識別技術的研究及應用[D].安徽:安徽大學,2013

[3] 趙健,張冬泉.基于OpenCV的數字手勢識別算法[J].計算機應用,2013(S2):193~196

[4] 任彧,顧成成.基于HOG特征和SVM的手勢識別[J].科技通報,2011(02):211~214

[5] 雷海龍,楊勝,劉紅新.融合圖像輪廓矩和傅立葉描敘子的手勢識別[J].微電子學與計算機,2011(04):103~106

[6] 徐成,馬翌倫,劉彥.一種基于嵌入式系統實時交互的手勢識別方法[J].計算機應用研究,2011(07):2782~2785

[7] Feng Zhi-quan,Yang Bo,Lv Na,etc.A Hand Gesture-Based Interactive Model to Choose One From Many[J].計算機輔助制造:英文版,2012(01):12~14

[8] YANG Shuai,PREMARATNE Prashan,VIAL Peter.Hand Gesture Recognition:Anover VIEW[A].IEEE Beijing Section.Proceedingsof 2013 5th IEEE International Conference on Broadband Network&Multimedia Technology[C].Beijing:IEEE Beijing Section,2013:7

[9] Bobo Zeng,Guijin Wang,Xing-gang Lin.Department of Electronic Engineering.A Hand Gesture Based Interactive Presentation System Utilizing Heterogeneous Cameras[J].清華大學學報:自然科學版(英文版),2012(03):329~336

[10] 陳冰超,李永剛.基于計算機視覺技術的手勢識別方法[J].現代計算機:專業版,2014(26):62~64

[11] 林水強,吳亞東,余芳,楊永華.姿勢序列有限狀態機動作識別方法[J].計算機輔助設計與圖形學學報,2014(09):1403~1411

[12] 武霞,張崎,許艷旭.手勢識別研究發展現狀綜述[J].電子科技,2013(06):171~174

Gesture Recognition Based on Embedded System

TENG Yue,LV Yong,MAO Hai-Bo
(School of Instrumentation Science&Optoelectronic Engineering,Beijing Information Science&Technology University,Beijing 100192)

With the growing popularity of embedded technology,miniaturization,operation freedom and interactive intelligence has become the development trend of the next generation of human-computer interaction technology,gesture recognition technology based on embedded system is one of the key technologies.Ports OpenCV to the embedded platform successfully.Through V4L2 architecture enables USB camera video capture and LCD display,uses OpenCV rich visual library achieves color space conversion,the conversion to HSV space,obtains threshold to binary image.Through the filtering process,contour extraction,contour tree matching method to achieve the gesture recognition,experience proves the feasibility of the embedded systems gesture recognition method.

Embedded;Gesture Recognition;OpenCV;HSV Space;Contour Extraction

1007-1423(2015)01-0053-05

10.3969/j.issn.1007-1423.2015.01.013

滕岳(1988-),男,河北滄州人,在讀碩士研究生,研究方向為光電檢測技術

呂勇(1971-),男,安徽蕪湖人,博士,教授,研究方向為光電檢測及精密測試

2014-11-28

2014-12-08

北京信息科技大學本科生培養-大學生科研訓練項目資助(No.PXM2014_014224_000079)、專業建設-光信息科學與技術項目資助(No.PXM2014_014224_000066)、大學生科技創新計劃

毛海波(1992-),男,遼寧朝陽人,在讀本科,研究方向為光電應用技術

猜你喜歡
嵌入式
Focal&Naim同框發布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
基于嵌入式Linux內核的自恢復設計
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
嵌入式PLC的設計與研究
電子制作(2018年16期)2018-09-26 03:27:18
搭建基于Qt的嵌入式開發平臺
基于嵌入式系統Windows CE的應用程序開發
嵌入式單片機在電機控制系統中的應用探討
電子制作(2017年8期)2017-06-05 09:36:15
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 国产在线视频二区| 久久中文电影| 日本午夜精品一本在线观看 | 欧美综合在线观看| 国产精品久线在线观看| 色综合成人| AV不卡国产在线观看| 亚洲中文字幕在线一区播放| 婷婷午夜天| 日韩欧美高清视频| 制服丝袜一区二区三区在线| 国产在线精品香蕉麻豆| a级高清毛片| 国产真实自在自线免费精品| 激情综合图区| 成年A级毛片| 日本亚洲国产一区二区三区| 人妻91无码色偷偷色噜噜噜| 亚洲丝袜中文字幕| 波多野结衣无码中文字幕在线观看一区二区 | 久久久黄色片| 97成人在线观看| 99视频精品全国免费品| 亚洲国产成人自拍| 亚洲日本中文字幕天堂网| 91亚洲免费| 波多野结衣国产精品| 国产网站免费| 久久亚洲黄色视频| 伊人欧美在线| 色悠久久综合| 青青久视频| 国产亚洲高清视频| 亚洲福利网址| 成人午夜福利视频| 亚洲成人播放| 中文字幕日韩视频欧美一区| 久久婷婷色综合老司机| av一区二区人妻无码| 色综合综合网| 国产精品综合色区在线观看| 无码人妻免费| 日韩精品欧美国产在线| 全部免费毛片免费播放| 一级毛片基地| 国产成人精品亚洲77美色| 国产高清精品在线91| 欧洲av毛片| 亚洲无码高清一区二区| 色综合天天视频在线观看| 国产自在线播放| 欧美色综合久久| a色毛片免费视频| 丝袜国产一区| 无码人中文字幕| 亚洲无码视频一区二区三区 | 激情六月丁香婷婷| 3p叠罗汉国产精品久久| 国产激情无码一区二区三区免费| 激情综合激情| 五月天香蕉视频国产亚| 国产精品妖精视频| h网站在线播放| 亚洲欧美日韩精品专区| 欧美成人午夜视频免看| 成人永久免费A∨一级在线播放| 久久视精品| 免费毛片全部不收费的| 日韩无码视频专区| 国产精品露脸视频| 中文字幕一区二区视频| 无码有码中文字幕| 亚洲美女久久| 中文字幕av一区二区三区欲色| 精品无码日韩国产不卡av| 国产在线拍偷自揄观看视频网站| 91娇喘视频| 亚洲日本精品一区二区| 青青青视频蜜桃一区二区| 老司机久久精品视频| 国产精品蜜臀| 色综合色国产热无码一|