任小康 葛化亞 丁星 李道全
摘要:為了解決智能家居行業(yè)中用戶交互體驗不佳和操作復雜等問題,本文將基于LeapMotion的手勢識別技術融入智能家居系統(tǒng),使用LeapMotion獲取手腕、手掌和手指圖像的深度信息與骨骼數(shù)據(jù)。設計了智能家居系統(tǒng)的硬件電路與相應的模塊軟件,并采用Socket技術實現(xiàn)了手勢控制指令的傳輸。實驗結果表明,該系統(tǒng)操作簡單,能通過簡單的手勢實現(xiàn)對家居的操作。
關鍵詞:Leap Motion;手勢識別;智能家居;互聯(lián)網(wǎng)+
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)27-0170-03
Design of Intelligent Home System Based on Gesture Recognition
REN Xiao-kang, GE Hua-ya, DING Xing, LI Dao-quan
(School of Information and Control Engineering, Qingdao University of Technology, Qingdao 266520, China)
Abstract: In order to solve the problems of poor user interaction experience and complex operation in smart home industry, this paper integrates the gesture recognition technology Based on LeapMotion into the smart home system, and uses LeapMotion to obtain depth information and bone data of wrist, palm and finger images. The hardware circuit and corresponding module software of smart home system are designed, and the transmission of gesture control instruction is realized by Socket technology. The experimental results show that the system is easy to operate and can be operated by simple gestures.
Key words: Leap Motion; gesture recognition; intelligent Home Furnishing; Internet plus
1 概述
近年來,人工智能已經(jīng)成為這個時代最激動人心、最值得期待的技術,將成為未來10年乃至更長時間內(nèi)IT產(chǎn)業(yè)發(fā)展的焦點。包括語音、體感等技術的智能設備也是層出不窮。
智能家居是在互聯(lián)網(wǎng)影響下產(chǎn)生的,也是互聯(lián)網(wǎng)+的體現(xiàn)。與普通家居相比,智能家居不僅具有傳統(tǒng)的居住功能,還兼?zhèn)浣ㄖ?、網(wǎng)絡通信、信息家電、設備自動化,提供全方位的信息交互功能,甚至為各種能源費用節(jié)約資金該智能家居系統(tǒng)涉及機械設計、機械制造、電器控制、體感技術、數(shù)據(jù)處理、硬件編程等諸多方面的知識[1-2]。該系統(tǒng)通過預先設置的手勢可以輕松實現(xiàn)對家用電器的控制。例如:開關燈,拉閉窗簾,開關門,開關風扇等。為了解決這些問題,本文將基于LeapMotion的手勢識別技術融入設計的智能家居系統(tǒng)。
2 系統(tǒng)綜述
2.1 系統(tǒng)框架與原理
本系統(tǒng)拓撲結構如圖1所示;圖2所示為系統(tǒng)的原理框架圖[3-4]。
本系統(tǒng)分為四個部分:操作者手勢采集模塊、數(shù)據(jù)分析處理模塊、數(shù)據(jù)傳輸模塊及動作執(zhí)行模塊。各模塊功能如下:
操作者手勢采集模塊:操作者在LeapMotion掃描范圍內(nèi)做出命令手勢,該部分通過Leap Motion將采集的數(shù)據(jù)傳送給數(shù)據(jù)分析處理部分[5-6]。
數(shù)據(jù)分析處理模塊:接受從操作者手勢采集部分傳來的數(shù)據(jù),并對其進行分析生成手勢命令。
數(shù)據(jù)傳輸模塊:把經(jīng)過手勢識別處理得到的手勢命令傳送給動作執(zhí)行模塊
動作執(zhí)行模塊:接受從數(shù)據(jù)分析處理部分傳來的手勢命令,家居設備執(zhí)行命令完成操作。
3 系統(tǒng)硬件設計
本系統(tǒng)硬件包括三部分:Leap Motion采集手勢模塊設計、樹莓派執(zhí)行動作命令模塊設計及被控制的家居設備模塊設計,下面分別做扼要介紹。
3.1 LeapMotion
LeapMotion是面向PC以及Mac的體感控制器。Leap Motion系統(tǒng)識別并跟蹤手和手指。該設備以高精度(1/100 毫米)和跟蹤幀率(200幀/秒)緊密結合并報告手和手指位置和運動。Leap Motion控制器的有效范圍從設備上方約25毫米至600毫米(1英寸至2英尺),150°寬幅的控件視場。Leap Motion的主要原理是使用紅外LED+灰階camera的方式才采集數(shù)據(jù),并生成3D數(shù)據(jù)。LeapMotion如圖3所示。
4 系統(tǒng)軟件設計
本系統(tǒng)軟件設計主要分為手勢數(shù)據(jù)處理分析模塊(PC)、樹莓派與主控制器通信模塊以及各嵌入式模塊軟件設計。
4.1 手勢數(shù)據(jù)處理分析模塊
手勢數(shù)據(jù)處理分析模塊是從LeapMotion獲取到的數(shù)據(jù),經(jīng)過處理分析得到指令的過程。處理分析的結果有兩個大部分,一部分是與我們特定手勢不符合,我們舍掉;另一部分是與我們特定手勢相符合的,然后得到相應的指令,經(jīng)數(shù)據(jù)傳輸模塊發(fā)送到樹莓派主控制器。
那么我們是如何分析的呢?首先我們需要先了解一下我們從LeapMotion獲取的是什么數(shù)據(jù)。LeapMotion以幀采集數(shù)據(jù),大約200幀每秒。一幀的畫面里可以識別手臂、手掌和手指。我們這里只需手掌和手指。我們把它看成一個集合,一幀里面識別處兩只手或一只手。每當出現(xiàn)在LeapMotion里的手我們給它賦一個ID,同一只手只要不超過LeapMotion檢測范圍,我們就一直保持這個ID。我們每隔0.2秒抽取一幀,當抽取集8幀我們視為一個單位,我們具體分析這個單位里的手勢,如果超過兩只手,則作廢;如果這個單位里有連續(xù)兩個空幀(未識別出手或者識別不出手勢),則作廢。我們通過這8幀里手的移動情況和手勢情況來進行判定,來得到一個指令或作廢。
關鍵代碼如下:
手勢方向判斷代碼段:
4.2 通信模塊
這個模塊應用了基于TCP/IP協(xié)議族的socket編程實現(xiàn)了從數(shù)據(jù)分析處理端到動作執(zhí)行模塊的數(shù)據(jù)傳輸。Socket是應用層與TCP/IP協(xié)議族通信的中間軟件抽象層,它是一組接口。
我們的數(shù)據(jù)分析處理模塊是Java環(huán)境,而動作執(zhí)行模塊是Python環(huán)境,我們用IP地址+協(xié)議+端口號來唯一標識一個網(wǎng)絡進程。我們在Python環(huán)境里搭建一個服務器,并為Socket綁定Ip地址和端口號。服務器Socket監(jiān)聽端口號請求,隨時準備接受客戶端發(fā)來的連接。我們在Java環(huán)境里創(chuàng)建Socket客戶端,打開Socket,根據(jù)服務器IP地址和端口號請求連接到服務器Socket,即Python環(huán)境下的服務器。當服務器Socket監(jiān)聽到或接收到客戶端Socket連接的請求時,雙方確認建立連接。連接成功后,客戶端向服務器端發(fā)送手勢命令信息。
4.3 各嵌入式模塊軟件設計
從Socket傳輸來指令到樹莓派,我們判斷具體是哪個指令來打開或關閉樹莓派的某個引腳,然后調(diào)用相應函數(shù)來發(fā)送控制指令,來具體對繼電器或舵機進行操作。
5 系統(tǒng)測試
此次系統(tǒng)測試對風扇控制子系統(tǒng)、門控制子系統(tǒng)、窗簾控制子系統(tǒng)和電燈控制子系統(tǒng)進行了多維度測試,包括恢復測試、安全測試、壓力測試等。
經(jīng)過測試判定該智能家居系統(tǒng)實現(xiàn)了預期需求,系統(tǒng)實現(xiàn)的正確性得到良好保證,系統(tǒng)的性能很好地滿足了實際需要,而且該智能家居系統(tǒng)可靠性良好,易于使用。經(jīng)過測試,該系統(tǒng)達到了預期效果。
6 結論
最終整體結果表明,LeapMotion可準確采集手勢,并進行有效識別,發(fā)出控制指令;樹莓派和簡單的機械原件可以完成對家居的控制。基于手勢識別的智能家居系統(tǒng)控制動作簡單便捷,且識別率高,完全滿足日常生活對家居設備控制的需要。
參考文獻:
[1] 張燕.我國智能家居的現(xiàn)狀和發(fā)展方向[J].山西電子技術, 2016(04).
[2] 鄧中祚.智能家居控制系統(tǒng)設計與實現(xiàn)[D].哈爾濱工業(yè)大學, 2015.
[3] 黃俊,景紅.基于Leap Motion的手勢控制技術初探[J].計算機系統(tǒng)應用. 2015(10).
[4] S Bak,CLee,H Shin. "Edutainment content production utilizing the leap motion device,". Proceedings of The Korea Contents Associations. 2015.
[5] 李楊韜,禹東川,靳來鵬,宋文凱.基于LeapMotion手勢識別的認知訓練系統(tǒng)的設計和實現(xiàn)[J]. 電子設計工程, 2016(09).
[6] 林書坦,尹長青.基于LeapMotion的數(shù)字手勢識別[J].電腦知識與技術,2015(35).
[通聯(lián)編輯:梁書]