劉長坤 符志強 李舒怡 蔣明亮 宋曉金



摘要:隨著AI技術和計算機視覺的不斷進步,通過AI識別的智能控制系統(tǒng)開始蓬勃發(fā)展。該文研究基于手勢識別的智能家居控制系統(tǒng),以數字手勢控制不同的智能家居產品。系統(tǒng)采用了Python的OpenCV、PyQt5和Sklearn庫搭建完整的手勢識別系統(tǒng),以此作為控制智能家居的開關對智能家居進行集中控制。系統(tǒng)具有操作便捷、識別率高的特點。
關鍵詞:計算機視覺;手勢識別;OpenCV;智能家居
中圖分類號:TP391? ? ? 文獻標識碼:A
文章編號:1009-3044(2020)16-0009-02
開放科學(資源服務)標識碼(OSID):
1 背景
隨著物聯網的快速發(fā)展,越來越多的家居產品也開始互聯互通。智能家居是物聯網在家庭環(huán)境中的體現,不僅為人們提供了安全的、便利的、舒適的基礎生活設施,而且還能保證人們的居住環(huán)境環(huán)保節(jié)能[1-2]。目前普通家庭生活水平提高,智能家居產品不斷增加,對各種智能家居產品做進一步的集中、快捷管理的需求應運而生。而手勢作為人類的一種基本行為,是人與人交往和日常生活過程中的重要一部分。隨著AI技術和計算機視覺的不斷進步,手勢識別的相關研究不斷前進,以手勢識別來控制智能家居的方式成為目前研究的熱點之一。
2 關鍵技術
顏色空間YCrCb常用于手勢識別和人臉識別。其中Y為亮度信號,Cr為圖像中的紅色信號分量,Cb為圖像中的藍色信號分量。通過把基于RGB空間的圖像轉化為YCrCb后,亮度在該圖像中的影響就可以小到忽略不計,這樣處于膚色范圍內的點就會聚集在一起。因此判斷當前圖像內某個點是否是人臉或者是手臂等其他部位,可以通過其Cr、Cb值是否分布于膚色點的取值范圍內,以此來確定當前像素點是否屬于膚色,進一步區(qū)分識別圖像中的膚色與背景。最大類間差算法Otsu是目前用于圖像分割中閾值選取的算法,把前景和背景分成兩個灰度數不同的部分,使用聚類的思想,計算出最大的方差值,使得前景和后背景能夠明顯地區(qū)分開[3-4]。
本文主要通過Python的PyQt5進行頁面的設計,采用OpenCV實現對手勢動作的捕獲,用YCrCb顏色模型以及Otsu法閾值分割算法進行去噪和膚色檢測,接著進行形態(tài)學處理并提取手勢輪廓,完成對手勢圖像的預處理,再對輪廓點進行傅立葉算子提取進行二次降噪。之后采集手勢擴充手勢樣本庫,最后利用已有的手勢樣本庫訓練SVM模型,提高識別準確率。
3 系統(tǒng)設計
本系統(tǒng)最重要的核心部分是手勢識別模塊。目前實現手勢識別主要有兩種方式:
1)基于圖像識別;
2)基于立體三維加速度識別。
兩者當中,基于圖像識別的手勢識別技術較為成熟,理論研究較為廣泛且相關的算法識別成功率相對較高,復雜率也相對較低,可較好的完成對家居產品的控制操作。本文用PC機的攝像頭捕獲用戶做出的相應手勢,再通過對手勢的處理識別,判斷用戶想要對相應家居產品做出的相應控制,再由虛擬按鈕做出進一步響應動作,進而集中統(tǒng)一地控制各種智能家電設備。
手勢識別模板主要是通過PC機的攝像頭捕獲用戶的手勢,產生控制命令,進一步控制家居設備。該模塊主要由識別界面、圖像預處理、提取特征、模型訓練組成。
手勢識別主界面如圖1所示。
該部分先調用OpenCV獲取用戶基本手勢,創(chuàng)建了main和picture兩個文件。其中main作用為錄制當前攝像頭捕獲的畫面,picture作用則是完成對main中捕獲圖像的預處理,相關步驟為:去除噪點、基于YCrCb空間的膚色檢測、相關的形態(tài)學處理、提取處理過的圖像的輪廓。main調用攝像頭進行錄制,然后框選出需要的手勢部分,接著對圖像進行濾波,即對圖像實現噪聲的消除,增強圖像效果。基于YCrCb空間的膚色檢測,首先將原本基于RGB空間的圖像轉換到YCrCb中去,將亮度這一條件對圖像產生的影響降到最低,這樣膚色就會得到很好的聚合,再通過判斷像素點的Cr、Cb值是否分布于膚色點的取值范圍內,以此來確定當前像素點是否屬于膚色。提取出Cr分量圖像后,再對對CR通道進行單獨的Otsu處理,其中Otsu方法里的opencv用的是threshold對圖像灰度級進行聚類。
經過膚色檢測處理后的手勢圖像出現了背景白點,而且手勢上也有部分殘缺存在。這時需要對所分割出來的圖像做進一步的處理。腐蝕和膨脹是形態(tài)學運算中兩種基本運算,主要作用是尋找圖像中極大極小區(qū)域。腐蝕操作就是將圖像“變瘦”,膨脹操作就是將圖像“變胖”。先腐蝕再膨脹其作用是分離物體,去除圖像中孤立的小像素點和毛刺。先膨脹再腐蝕其作用為融合物體,將圖像中的小孔填平,彌合細小裂縫[5-6]。對捕獲的手勢圖像進行處理后效果如圖2所示。
可以看到經過形態(tài)學處理后,圖中的背景雜質點消除掉了。提取特征是對手勢圖像預處理后的輪廓點坐標,進行提取傅立葉描述子,建立手勢的特征庫。有許多計算表達不同物體形狀的方式,基于這些不同的形狀表示方式,有許多各種各樣的識別方法被研究提出,其中具有最佳識別物體形狀性能的就是傅立葉描述子。輪廓提取完成后,對圖像再進行第二次去除噪點的處理,最后去除圖像中相對面積較小的部分,效果如圖3所示。
最后使用支持向量機SVM對輪廓進行識別,它的基本思路就是在所給的空間中,找到一個平面,使得分離兩邊的間隔最大,這樣相關數據就較高的效率被分開了。SVM具有良好的學習能力,且得到的錯誤率較低,一般可用于模式的識別和物品的分類。該部分主要是在手勢庫上進行訓練分類器。本文用網格搜索法進行調參,保存模型用joblib模塊。通過識別用戶手勢,判斷用戶想對特定家居產品做出的控制,進行下一步響應。
4 結束語
本文研究基于手勢識別的智能家居控制系統(tǒng),系統(tǒng)最重要的核心內容就是對用戶手勢的識別,識別的準確與否將進一步影響用戶是否能準確操作想要操控的家居產品并做出準確的操作。本文采用了Python的OpenCV、PyQt5和Sklearn庫搭建完整的手勢識別系統(tǒng),以此作為控制智能家居的開關,對智能家居進行控制。經測試系統(tǒng)識別率較高,能準確地控制家居產品,系統(tǒng)操作較為便捷。
參考文獻:
[1] 韓洪江, 張建軍,張利魏,等. 智能家居系統(tǒng)與技術[M]. 合肥: 合肥工業(yè)大學出版社, 2011.
[2] 勝德8X家居智能化系統(tǒng)解決方案淺析[J]. 智能建筑技術, 2003(2): 33-35.
[3] 易靖國, 程江華, 庫錫樹. 復雜背景下的手勢識別方法[J]. 數字技術與應用, 2016(9): 50-53.
[4] 丁毅, 曹江濤, 李平, 等. 復雜背景下的手勢識別算法研究[J]. 自動化技術與應用, 2016, 35(8): 113-116.
[5] 徐戰(zhàn)武. 靜態(tài)圖像膚色檢測研究[D]. 杭州: 浙江大學, 2006.
[6] 魯一姝. 基于視覺的手勢識別研究[D]. 天津: 天津工業(yè)大學, 2016.
【通聯編輯:謝媛媛】