通過檢測按鍵發出的聲音來判斷
發布時間:2013/11/10 16:10:30 訪問次數:1674
通過檢測按鍵發出的聲音來判斷:這里假設使用者在按鍵時會碰觸桌面,產生一定的敲擊聲。通過檢測該聲音傳播時間,可以進行定位。國外的一些研究機構已經實現了該方案。
通過超聲波雷達手段來判斷:AT28C010-12DM/883通過發射超聲波并檢測反射波的傳播時間差來檢測目標物體(手指)的位置。
這3種方案國內外均有文獻表明可以實現,不過相對來說,計算機視覺方案的硬件較為簡單,僅僅需要一個攝像頭,因此這里我們采用了這種方式。
圖5所示是本制作早期階段,攝像頭所拍攝的使用過程的畫面,基于這類畫面進行計算機視覺的運算,就可以得到我們需要的鍵盤事件。
其實這里涉及兩個子問題:
1.如何判斷手指按下的是哪個鍵?
2.如何判斷手指已經“按到”了對應的“按鈕”?
由于人類主要是通過視覺來理解外部世界的,因此可以很直觀地想到,只要能夠識別并定位畫面中手指的位置,第一個問題就可以解決了。這里先不討論定位本身該如何實現,假設我們的算法已經可以和人腦一樣,輕松地在一副畫面中找到手指的位置,并用相對于圖像的坐標來表示。
接下來就要考慮第二個問題,如何判斷手指已經“按下按鈕”?一個辦法是通過捕捉聲音,即像前文提到的那樣,通過捕捉手指碰觸桌面產生的敲擊聲來判斷,但這樣會帶來額外的問題。
1.需要額外的硬件和電路,增加了復雜性。
2.如何將敲擊聲與畫面中真正敲擊的手指對應?比如圖5中的5個手指都可能處于敲擊狀態,此時難以進衍匹配。
3.其他的噪音也會被當作鍵盤敲擊。
因此這里還是依靠視覺的手段來進行判斷。在分析可行方案前,需要明確“按下按鈕”的具體指標。我們可以定義當手指碰觸桌面,或者距離桌面足夠近時為“按下”。那么問題的實質就是我們需要檢測出手指距離桌面的距離z。在求出該數值后,我們只需簡單地判斷它小于某一個值,就認為手指已經“按下按鍵”。
通過檢測按鍵發出的聲音來判斷:這里假設使用者在按鍵時會碰觸桌面,產生一定的敲擊聲。通過檢測該聲音傳播時間,可以進行定位。國外的一些研究機構已經實現了該方案。
通過超聲波雷達手段來判斷:AT28C010-12DM/883通過發射超聲波并檢測反射波的傳播時間差來檢測目標物體(手指)的位置。
這3種方案國內外均有文獻表明可以實現,不過相對來說,計算機視覺方案的硬件較為簡單,僅僅需要一個攝像頭,因此這里我們采用了這種方式。
圖5所示是本制作早期階段,攝像頭所拍攝的使用過程的畫面,基于這類畫面進行計算機視覺的運算,就可以得到我們需要的鍵盤事件。
其實這里涉及兩個子問題:
1.如何判斷手指按下的是哪個鍵?
2.如何判斷手指已經“按到”了對應的“按鈕”?
由于人類主要是通過視覺來理解外部世界的,因此可以很直觀地想到,只要能夠識別并定位畫面中手指的位置,第一個問題就可以解決了。這里先不討論定位本身該如何實現,假設我們的算法已經可以和人腦一樣,輕松地在一副畫面中找到手指的位置,并用相對于圖像的坐標來表示。
接下來就要考慮第二個問題,如何判斷手指已經“按下按鈕”?一個辦法是通過捕捉聲音,即像前文提到的那樣,通過捕捉手指碰觸桌面產生的敲擊聲來判斷,但這樣會帶來額外的問題。
1.需要額外的硬件和電路,增加了復雜性。
2.如何將敲擊聲與畫面中真正敲擊的手指對應?比如圖5中的5個手指都可能處于敲擊狀態,此時難以進衍匹配。
3.其他的噪音也會被當作鍵盤敲擊。
因此這里還是依靠視覺的手段來進行判斷。在分析可行方案前,需要明確“按下按鈕”的具體指標。我們可以定義當手指碰觸桌面,或者距離桌面足夠近時為“按下”。那么問題的實質就是我們需要檢測出手指距離桌面的距離z。在求出該數值后,我們只需簡單地判斷它小于某一個值,就認為手指已經“按下按鍵”。