基于紅外的非接觸式手勢(shì)識(shí)別系統(tǒng)設(shè)計(jì)
引 言
人機(jī)交互技術(shù)的發(fā)展大大增強(qiáng)了應(yīng)用系統(tǒng)的智能化設(shè)計(jì)[1], 手勢(shì)識(shí)別[2] 也逐漸成為人機(jī)交互的核心技術(shù)。隨著人機(jī)界面技術(shù)和設(shè)計(jì)理念的進(jìn)步,紅外線接近感應(yīng)器正逐漸成為非接觸式手勢(shì)識(shí)別用戶界面的創(chuàng)新點(diǎn)。早期的傳統(tǒng)紅外線接近感應(yīng)系統(tǒng)由老式光電探測(cè)器和光電斷路器組成,其觸發(fā)方式基于是否移動(dòng)或中斷,但這些器件在應(yīng)用方面受感應(yīng)器尺寸、功耗和可配置性的限制[3-7]。相比于這些早期的紅外線接近傳感器, Silicon Labs的Si1143 傳感器不僅體積更小、功耗更低,還可以驅(qū)動(dòng)多個(gè)紅外線發(fā)光二極管,可實(shí)現(xiàn)高級(jí)的多維手勢(shì)輸入功能。本文結(jié)合面向人機(jī)界面應(yīng)用的 Si1143 傳感器的優(yōu)勢(shì),給出了一種非接觸式手勢(shì)識(shí)別系統(tǒng)的設(shè)計(jì)方案。該方案支持兩個(gè)和三個(gè)LED 實(shí)現(xiàn)更復(fù)雜的接近傳感器集成電路,使人們能夠更方便、更安全、更愉快的通過非接觸手勢(shì)識(shí)別用戶界面。
1 Si1143的基本特性
Si1143 是基于反射的低功率紅外線臨近和環(huán)境光傳感器, 其結(jié)構(gòu)框圖如圖 1 所示。它包括 ADC 轉(zhuǎn)換器、可見光光電二 極管、紅外線光電二極管、數(shù)字信號(hào)處理器以及集成的紅外 線 LED 驅(qū)動(dòng)器等。工作時(shí)LED發(fā)送紅外光被物理反射回來后, 由可吸收波長(zhǎng) 850 880 nm 的紅外光電二極管接收,而環(huán)境 光則由可接收波長(zhǎng)在 500 600 nm 范圍內(nèi)的可見光光電二極 管接收,然后轉(zhuǎn)化為電信號(hào)經(jīng)AMUX送入ADC進(jìn)行數(shù)據(jù)轉(zhuǎn)換, 進(jìn)而通過 I2C 總線將數(shù)據(jù)傳輸至控制器。接近傳感器的檢測(cè) 距離和靈敏度由系統(tǒng)的信噪比(SNR)決定,SNR 越高,距 離越遠(yuǎn)。多種可變因素影響系統(tǒng)的 SNR,包括環(huán)境噪聲 / 光 線補(bǔ)償、光電二極管靈敏度、濾波和模數(shù)轉(zhuǎn)換器(ADC)架 構(gòu) [8]。Si1143 的聯(lián)合架構(gòu)優(yōu)化具有非常高的系統(tǒng) SNR,從而 使 Si1143 接近傳感器具有較遠(yuǎn)的感應(yīng)距離、較高的靈敏度和較快的數(shù)據(jù)采集速度。
2 非接觸式手勢(shì)識(shí)別系統(tǒng)組成
圖 2 所示為 Si1143 與控制器的連接電路示意圖。Si1143 可與Silicon Labs 提供的多種電容式觸摸感應(yīng)微控制器相結(jié)合, 包括 C8051F700、C8051F800 或C8051F99x 處理器,組成非接觸式的手勢(shì)識(shí)別系統(tǒng),并能用于多種動(dòng)作和手勢(shì)檢測(cè),以及目標(biāo)物體距離校準(zhǔn)應(yīng)用。Si1143 器件的感應(yīng)模式提供有用信息給MCU,用以確定背景光類型,如日光、熒光燈光或白熾燈光。這種信息具有廣泛應(yīng)用,可改善IR 接近感應(yīng)、優(yōu)化紅外感應(yīng)功耗、增強(qiáng)顯示設(shè)備的背景亮度調(diào)節(jié)功能以及控制系統(tǒng)內(nèi)的其他設(shè)備。
3 紅外技術(shù)實(shí)現(xiàn)手勢(shì)感應(yīng)
Si1143 接近環(huán)境光傳感器適用于非接觸式手勢(shì)感應(yīng),如 讀者翻頁,滾動(dòng)平板電腦或 GUI 導(dǎo)航。Si1143 可提供高達(dá)三 個(gè) LED 驅(qū)動(dòng)器,并可在 7 15 cm 產(chǎn)品互動(dòng)區(qū)域內(nèi)感知手勢(shì)。 我們通過使用紅外線技術(shù)實(shí)現(xiàn)動(dòng)作感應(yīng),主要采用基于位置 和基于相位的手勢(shì)感應(yīng)。
(1)基于位置的手勢(shì)感應(yīng)通過計(jì)算對(duì)象的位置來實(shí)現(xiàn)手 勢(shì)感應(yīng)。
(2)基于相位的手勢(shì)檢測(cè)則通過定時(shí)信號(hào)的變化來判斷 物體的運(yùn)動(dòng)方向。
3.1 基于位置的手勢(shì)感應(yīng)
基于位置的運(yùn)動(dòng)傳感算法涉及三個(gè)主要步驟 :
(1)將原始數(shù)據(jù)輸入轉(zhuǎn)換成可用的距離數(shù)據(jù),
(2)使用距離數(shù)據(jù)來估計(jì)目標(biāo)對(duì)象的位置,
(3)檢查位置數(shù)據(jù)移動(dòng)的定時(shí),以查看是否有手勢(shì)出現(xiàn)。
3.2 基于相位的手勢(shì)感應(yīng)
基于相位的手勢(shì)感應(yīng)包括從原始數(shù)據(jù)尋找鄰近測(cè)量和尋 找每個(gè) LED 的定時(shí)變化反饋。當(dāng)手放在 LED 的正上方,將出 現(xiàn)每個(gè) LED 的最大反饋點(diǎn)。如果手掃過兩個(gè) LED,可以通過 查看其 LED 首次出現(xiàn)的反饋來確定劃過的方向。
3.3 兩方法優(yōu)缺點(diǎn)比較
基于位置方法的優(yōu)點(diǎn)是可以提供目標(biāo)的位置信息 , 并允許 系統(tǒng)實(shí)現(xiàn)比例控制?;谖恢梅椒ǖ闹饕秉c(diǎn)是位置計(jì)算的 精度。位置算法假定 LED 是球形輸出,但在實(shí)際應(yīng)用中 LED 的輸出是圓錐形。該方法還假定 LED 的整個(gè)輸出是均勻光強(qiáng), 但實(shí)際情況中光強(qiáng)度會(huì)衰減。且該方法不考慮目標(biāo)的形狀,一 個(gè)獨(dú)特形狀的對(duì)象會(huì)導(dǎo)致位置輸出不一致。例如該系統(tǒng)區(qū)別不出手和手腕之間的差異,因此涉及該手腕運(yùn)動(dòng)的區(qū)域檢測(cè)則 不太精確。該方法中提供的位置信息用于低分辨率系統(tǒng)是足 夠的,但當(dāng)前的定位算法并不太適合于定點(diǎn)應(yīng)用。
對(duì)于不需要位置信息的應(yīng)用,基于相位的方法提供了一 個(gè)非常可靠的方法檢測(cè)手勢(shì)。每個(gè)手勢(shì)可以在可檢測(cè)區(qū)域任 一入口或出口進(jìn)行檢測(cè),該方法的缺點(diǎn)是不能提供位置信息。 這意味著可以實(shí)現(xiàn)手勢(shì)的數(shù)量比以位置為基礎(chǔ)的方法更有限。 相位法只能從檢測(cè)區(qū)域區(qū)別出進(jìn)入和退出的方向,無法檢測(cè)到 可檢測(cè)區(qū)域中的任何運(yùn)動(dòng)。
3.4 兩方法結(jié)合提高手勢(shì)識(shí)別
系統(tǒng)將兩種方法結(jié)合,彌補(bǔ)了彼此的缺陷?;谖恢玫?方法可提供某些位置信息進(jìn)行比例控制,基于相位的方法可 以用于檢測(cè)大多數(shù)的手勢(shì)。這兩種方法配合使用,可以給手勢(shì) 感應(yīng)提供強(qiáng)大的解決方案。
4 系統(tǒng)軟硬件設(shè)計(jì)相關(guān)
4.1 臨近感應(yīng)
Si1143 可以驅(qū)動(dòng)三個(gè)單獨(dú)的紅外線 LED。將這三個(gè)紅外 線 LED 放入 L 形配置中時(shí),可以對(duì)三維臨近場(chǎng)地內(nèi)的物體進(jìn) 行三角測(cè)量。每當(dāng)?shù)?PS 測(cè)量時(shí),Si1143 會(huì)進(jìn)行多達(dá)三次測(cè)量, 具體依據(jù) CHLIST 中啟用的參數(shù)而定。也可以修改這些測(cè)量 的 ADC 參數(shù),允許在不同環(huán)境光條件下正常運(yùn)行。在這三次 測(cè)量中,都可以對(duì) LED 選擇進(jìn)行設(shè)定。在默認(rèn)情況下,每次 測(cè)量打開一個(gè) LED 驅(qū)動(dòng)器,但容易顛倒測(cè)量順序,或讓所有 LED 同時(shí)打開。根據(jù)情況,可以將每次臨近測(cè)量值與主機(jī)設(shè) 定的閾值進(jìn)行比較。
為了動(dòng)態(tài)支持不同的電源使用效率情形,每個(gè)輸出的紅 外線 LED 電流都可以獨(dú)立設(shè)定,可在幾毫安到幾百毫安之 間任意取值,因此主機(jī)可以動(dòng)態(tài)地臨近探測(cè)性能或節(jié)能優(yōu)化。 此功能允許主機(jī)在一個(gè)物體已進(jìn)入臨近范圍后降低 LED電流, 并在采用較低電流設(shè)置時(shí)仍然可以跟蹤該物體。最后通過靈活 的電流設(shè)置,采用受控制的電流吸收器控制紅外線 LED 電流, 從而提高精確度。
4.2 環(huán)境光
Si11413 具有能夠同時(shí)測(cè)量可見光和紅外光的光電二極 管,但可見光光電二極管也受紅外光影響。測(cè)量照明度時(shí)需 要與人眼相同的光譜響應(yīng)。如果需要準(zhǔn)確測(cè)量照明度,則必 須補(bǔ)償可見光光電二極管的額外 IR 響應(yīng)。為了讓主控制器可 以對(duì)紅外光的影響進(jìn)行校正,Si1143 在單獨(dú)通道報(bào)告紅外光 的測(cè)量結(jié)果。單獨(dú)的可見光光電二極管和 IR 光電二極管適合 于各種算法解決方案。主控制器可以執(zhí)行兩次測(cè)量,運(yùn)行算 法推導(dǎo)出與人眼感覺相當(dāng)?shù)恼彰鞫?。在主機(jī)中運(yùn)行 IR 校正算 法可以非常靈活地調(diào)節(jié)系統(tǒng)相關(guān)變量。如果在系統(tǒng)中使用的 玻璃阻止的可見光超過紅外光,則需要調(diào)節(jié) IR 校正。如果主機(jī)沒有進(jìn)行任何紅外線校正,則可以在 CHLIST 參數(shù)中關(guān)閉 紅外線測(cè)量。
4.3 主控制器接口 Si1143 的主控制器接口由 SCL、SDA 及 INT 三個(gè)引腳組 成,設(shè)計(jì) INT、SCL 和 SDA 引腳的目的是使 Si1143 通過軟件 命令進(jìn)入關(guān)閉模式,而不會(huì)干擾總線上其他 I2C 器件的正常 運(yùn)行。Si1143 的 I2C 從地址是 0x5A,可響應(yīng)全局地址 (0x00) 和全局復(fù)位命令 (0x06),但僅支持 7 位 I2C 地址,不支持 10 位 I2C 地址。
4.4 運(yùn)行模式
Si1143 的運(yùn)行模式包括關(guān)閉模式、初始化模式、備用模式、 強(qiáng)制轉(zhuǎn)換模式和自發(fā)模式,在任何時(shí)候可以處于眾多運(yùn)行模式 中的一種。且必須考慮運(yùn)行模式,因?yàn)樵撃J綄?duì) Si1143 的整 體功耗有影響。
4.5 命令和響應(yīng)結(jié)構(gòu)
在讀 取 或 寫入 所 有 Si1143 的 I2C 寄 存 器( 除了寫入 COMMAND 寄存器之外)時(shí)都不喚醒內(nèi)部定序器。Si1143 可 以在強(qiáng)制測(cè)量模式或自發(fā)模式中運(yùn)行。處于強(qiáng)制測(cè)量模式時(shí), 除非主控制器通過特定命令明確請(qǐng)求 Si1143 進(jìn)行測(cè)量,否則 Si1143 不進(jìn)行任何測(cè)量。此時(shí)需要寫入 CHLIST 參數(shù),以便 讓 Si1143 知道要進(jìn)行哪些測(cè)量。參數(shù) MEAS_RATE 為零時(shí) 會(huì)將內(nèi)部定序器置于強(qiáng)制測(cè)量模式。處于強(qiáng)制測(cè)量模式時(shí), 僅當(dāng)主控制器寫入 COMMAND 寄存器時(shí),內(nèi)部定時(shí)器才喚 醒。處于強(qiáng)制測(cè)量模式時(shí) (MEAS_RATE=0),耗電量最低。 當(dāng) MEAS_RATE 不為零時(shí),Si1143 在自發(fā)運(yùn)行模式中運(yùn)行。 MEAS_RATE 表示 Si1143 定期喚醒的時(shí)間間隔。內(nèi)部定時(shí)器 喚醒后,定序器根據(jù) PS_RATE 和 ALS_RATE 寄存器管理 內(nèi)部 PS 計(jì)數(shù)器和 ALS 計(jì)數(shù)器。當(dāng)內(nèi)部 PS 計(jì)數(shù)器過期時(shí),根 據(jù)通過 CHLIST 參數(shù)高位啟用的測(cè)量,最多執(zhí)行三個(gè)臨近測(cè) 量(PS1、PS2 和 PS3)。順序執(zhí)行這三個(gè) PS 測(cè)量,從 PS1 測(cè) 量通道開始。同樣當(dāng) ALS 計(jì)數(shù)器過期時(shí),根據(jù)通過 CHLIST 參數(shù)高位啟用的測(cè)量,最多執(zhí)行三個(gè)測(cè)量(ALS_VIS、ALS_ IR 和 AUX)。
4.6 命令協(xié)議
與其他主機(jī)可寫入的 I2C 寄存器不同的是,COMMAND 寄存器將內(nèi)部定序器從備用模式喚醒,以處理主機(jī)請(qǐng)求。執(zhí) 行命令時(shí),將更新 RESPONSE 寄存器。通常在沒有錯(cuò)誤時(shí), 高四位不為零。為了允許命令跟蹤,低四位實(shí)施4位循環(huán)計(jì)數(shù)器。 一般而言,如果 RESPONSE 寄存器的高半字節(jié)不為零,則表 示有錯(cuò)誤或需要特殊處理。
5 結(jié) 語
在各種多元化的手勢(shì)識(shí)別環(huán)境中,當(dāng)用戶的手被占用、出汗或手持物體而不利于觸摸屏操作時(shí),就要用到非接觸式手 勢(shì)識(shí)別。Si114x 系列傳感器的手勢(shì)識(shí)別系統(tǒng)可以滿足非接觸的 需求。Si114x 系列傳感器具有高靈敏度、高效節(jié)能以及超長(zhǎng)感應(yīng)距離等優(yōu)點(diǎn),且封裝體積小,易用性高,能夠用于手機(jī)、 電子閱讀器、平板電腦、個(gè)人媒體播放器、辦公設(shè)備、工業(yè)控 制、安全系統(tǒng)、銷售終端和其他設(shè)備,可實(shí)現(xiàn)高級(jí)的接近感應(yīng) 和非接觸式界面。