I. 引言
在新型冠狀病毒肺炎疫情的傳播過程中,病毒通過多種途徑傳播,包括飛沫和接觸傳播。雖然使用酒精基消毒劑或用肥皂洗手可以降低感染風險,但這些方法并不能完全隔離病菌。因此,非接觸式控制的需求正在迅速增長。此外,人工智能(AI)正在發展,許多應用程序都在整合AI技術以增強我們日常生活的便利性。一個例子是微軟在其電梯系統中集成了面部識別技術,使得用戶能夠更輕松地到達他們想去的樓層。這項技術通過簡單地查看用戶的面部就可以預測要到達的樓層。該系統使用了諸如“一次性查看”(YOLO)算法之類的物體識別技術來識別用戶的面部。近年來,手勢識別技術已經被廣泛應用到虛擬現實(VR)、人機交互以及運動醫學等領域。傳統的手勢識別有兩種方法:一種是使用數據手套,這種手套裝有傳感器來檢測手指的彎曲并向計算機發送電子信號進行識別。但是,這種方法需要硬件設備,并且共用手套會增加病毒感染的風險。另一種方法是使用視覺技術。視覺技術在機器視覺中最常用,它涉及捕捉和分析各種類型的圖像。它不僅僅局限于捕捉二維圖像,而是越來越多地采用雙鏡頭或深度相機的三維成像系統。手勢識別技術結合了鏡頭與深度學習。Baek等人提出了使用光學相機捕捉并分類動態和靜態手勢的方法。然而,這種方法需要特定的照明條件并且缺乏深度信息。另一種方法是使用紅綠藍加深度(RGB-D)深度相機進行手勢分類。不幸的是,這些設備在陽光下并不適用。此外,基于光學相機的手勢識別系統會引發隱私擔憂,因為用戶可能擔心他們的圖像被未經授權地捕獲或惡意使用。微型雷達傳感器可以克服相機的局限性。Salami等人提出使用毫米波雷達進行大動作手勢識別。毫米波雷達指的是工作在毫米波頻段的雷達系統,使用特殊雷達技術的短波長電磁波。線性調頻連續波(FMCW)是一種其頻率隨時間線性增加的正弦波信號。FMCW毫米波雷達技術提供了高分辨率的深度信息,并且較少受到環境溫度的影響。這使得它適合在非理想的光照和溫度環境中進行精確測量,包括遮擋、霧天、室內、室外等多種情況。使用毫米波雷達不會引發隱私擔憂,因此,許多研究集中在使用低成本、微型雷達傳感器進行非侵入性的手勢識別上。在疫情期間,各組織安裝了配備人工智能面部檢測技術的紅外熱成像儀來測量體溫。紅外熱成像儀能夠探測并測量物體表面發出的紅外輻射能量,并將其轉換為可視圖像。該設備可以在黑暗環境中測量溫度而不受光線影響。此外,圖像經過處理并轉化為特定的顏色分布圖。這減少了數據泄露并解決了與光學相機相關的問題。我們提出了一種結合毫米波雷達與熱成像技術及深度學習的大動作手勢識別系統。由于無需直接接觸設備,也緩解了與攝像頭拍攝人臉相關的隱私顧慮。
II. 系統概述
系統的架構如圖1所示。當用戶做出手勢時,BM201-PC3毫米波雷達收集點云信息。然后,Jetson Xavier NX嵌入式評估板處理這些數據,輸出時間序列結果,以識別如圖2所示的五個周期性動態手勢。我們使用YOLOv7訓練了一個手勢圖像識別模型,將該模型導入Jetson Xavier NX,并使用Lepton 3.5熱成像儀實時捕捉手勢圖像信息。Jetson Xavier NX用于實時分析和記錄手勢圖像的移動,輸出時間序列數據作為結果。在分析了毫米波雷達和熱成像儀的數據之后,手勢結果會通過音頻反饋給用戶。
Fig. 1.系統架構
A. 手部紅外圖像的圖像處理
人體手掌的溫度范圍大約在30至35攝氏度之間。本研究提出了兩種圖像顏色轉換的方法:單色轉換和多色轉換。在單色轉換中,通過熱成像儀檢測物體發出的紅外輻射能量,然后將其轉換為溫度數據。當溫度低于30攝氏度時,像素被過濾掉,并不顯示顏色。然而,超過30攝氏度的像素則轉換為紅色并顯示出來。但是,較高的體溫或室溫可能會導致物體在圖像中顯示為紅色,從而導致手部區域與背景重疊,造成手部圖像特征模糊或不存在,如圖3所示。因此,我們提出了一個多色轉換的方法。首先,在室內冬季環境下進行了測試,室溫約為22至26攝氏度。如果沒有劇烈運動,手部的測量溫度范圍在30至36攝氏度之間。如果有直射陽光或房間內有電腦,則熱成像儀記錄的溫度高于36攝氏度。多色轉換的詳細信息見表I。在顯示手掌溫度時,低于30攝氏度的像素被過濾掉并保持黑色。溫度在30至32攝氏度之間的像素顯示為紅色,而32至34攝氏度之間的像素則顯示為橙色。黃色像素代表34至36攝氏度之間的溫度,紫色像素表示溫度高于36攝氏度。這種多色轉換用于減少其他環境因素對手部特征的掩蓋影響。
B. 手部圖像檢測
在這項研究中,使用YOLOv7來訓練手部圖像檢測模型。收集了兩組訓練樣本數據集,一組是單色轉換圖像,另一組是多色轉換圖像,均來自熱成像儀。兩個數據集中總共有437張照片,均由同一個人拍攝。在訓練之前,使用Labeling圖像標注工具對物體進行標注。設計的分類包括手部圖像和個人,如圖4所示。Roboflow網站用于數據增強和數據集分割。在數據集分割設置中,95%的數據分配給了訓練集,3%分配給了測試集,2%分配給了驗證集。手部模型使用Google Colab上的YOLOv7手部圖像識別模型進行訓練。模型以批量大小為8進行了80次迭代的訓練。結果隨后被保存。我們收集了每個手勢的點云信息并對數據進行了預處理,以生成時間序列特征數據。最后,我們將數據導入神經網絡進行模型訓練并生成模型文件。
C. 毫米波手勢點云數據
毫米波雷達生成了帶有速度信息的目標點云數據。點云數據由毫米波雷達收集,用于訓練神經網絡。模型訓練過程如圖5所示。在毫米波點云測量屏幕上,圖6展示了毫米波雷達檢測當前范圍內運動的可視化點云圖像。圖6(b)顯示了手部快速前后移動所產生的點云信息。框表示毫米波雷達的測量范圍。
表I. 熱成像儀溫度與多色轉換對照表
溫度區間(攝氏度) | 顏色轉換 |
過濾掉 | < 30 |
紅色 | 30~32 |
橙色 | 32~34 |
黃色 | 34~36 |
紫色 | > 36 |
收集的點云數據包括仰角、方位角、多普勒速度、距離(到雷達的距離)和信噪比(SNR)。我們使用點云數據中的仰角(ψψ)、方位角(θθ)和距離(RR)來計算點云的x、y和z位置。圖7顯示了毫米波坐標軸的定義。三個值——仰角、方位角和距離,被轉換為點云的笛卡爾坐標,如公式(1)所示。
笛卡爾坐標轉換公式(假設公式(1)如下):
x=R?cos?(θ)?sin?(ψ)
y=R?sin?(θ)?sin?(ψ)
z=R?cos?(ψ)
這里,ψ 是仰角,θ 是方位角,R 是距離。通過這些角度和距離值,我們可以確定點云在三維空間中的確切位置。
D. 點云數據的預處理
我們對點云數據進行了預處理。為了濾除環境噪聲,我們保留了手部點云的數據并提取了其時間序列特征信息。毫米波雷達測量得到的點云數據經過疊加、最大速度限制處理后,先進行了基于密度的空間聚類算法(DBSCAN),然后進行配準、K均值聚類、第二次DBSCAN處理,最后提取出時間序列特征數據。最終,提取的時間序列特征被標準化并導入神經網絡進行訓練。
為了訓練手勢識別模型,我們記錄了每個手勢的點云數據。毫米波雷達在一個瞬間檢測到的點云分布被稱為一幀,毫米波雷達被設定為連續檢測200幀。這200幀的點云數據然后在同一數組上進行疊加,得到了181條記錄。詳細的流程如圖8所示。
當用戶揮手做手勢時,手部的移動速度大致相同,不會太快。如果存在速度過高的點云,很可能是噪聲點。因此,我們移除了速度大于2米/秒的點云數據,以消除過高的速度值。接著,我們使用了Scikit-Learn庫中的DBSCAN算法來過濾掉任何異常值。這一點非常重要,因為這些異常值可能是由環境造成的,而不是我們關注的手部和身體的點云信息。第一次DBSCAN處理后的逆時針手勢點云如圖9所示。
D. 注冊的目的
注冊的目的是將位于不同位置的點云旋轉和平移到一個固定的參考點,以便于后續的數據處理并提高識別準確性。為了分離手部和身體的點云信息,我們使用了Scikit-Learn庫中的K均值聚類算法將點云數據分為兩類:手部和身體。接著,為了過濾掉剩余的身體點云信息,進行了第二次DBSCAN處理。然后,我們從預處理后的手部點云信息中提取了時間序列特征數據。設計的手勢是動態且周期性的,僅憑外觀難以區分和生成點云信息。因此,必須從預處理后的手部點云信息中提取時間序列特征信息。每20幀包含四個特征值,包括歸一化的x、y和z坐標位置以及歸一化的速度值。
E. 毫米波手勢檢測模型
在這項研究中,使用PyTorch構建了三種類型的神經網絡,即循環神經網絡(RNN)、長短期記憶網絡(LSTM)和門控循環單元(GRU)。對于同一個體,記錄了每個手勢的200幀點云數據。每個手勢收集了16個樣本。五個手勢的總點云數據量為16,000幀。經過預處理后,對于每個樣本生成了181條時間序列特征數據。經過預處理后,每個手勢生成了2,896條時間序列特征數據,五個手勢總共生成了14,480條時間序列特征數據。模型訓練完成后,我們將訓練好的模型導入Jetson Xavier NX進行手勢識別。當程序啟動時,毫米波雷達處于待機模式。如果在一米范圍內檢測到物體,程序暫停。收集20幀點云數據后,揚聲器播放“停止”語音,收集的點云數據被存儲。數據通過Jetson Xavier NX進行預處理,處理后的時間序列特征數據被導入神經網絡模型。預測手勢并播放預測的手勢語音。
III. 結果與討論
在手部圖像識別中,獲得了熱成像儀的訓練結果和手勢識別模型的訓練結果。其中,手勢識別被分為以下兩個部分:毫米波雷達手勢識別和結合毫米波雷達與熱成像儀的手勢識別。
?A. 熱成像儀的手部圖像識別
與RGB相機不同,當熱成像儀捕捉圖像時,它會過濾掉溫度低于閾值的區域。對于溫度高于閾值的區域,圖像會進行顏色轉換。圖10展示了兩種主要的手部圖像識別訓練數據集類型。在單色轉換中,圖像中溫度高于30°C的區域被轉換為紅色,同時過濾掉溫度低于30°C的區域。在多色轉換中,根據溫度區間將圖像轉換為不同的顏色。我們對這兩個訓練數據集進行了數據增強。數據集由808張照片組成,分為768張訓練集圖像、23張驗證集圖像和17張測試集圖像。然后,訓練數據集進行了80次迭代。圖11顯示了訓練后的模型損失函數。單色轉換訓練模型的收斂效果不如多色轉換訓練模型。
這句話總結了使用熱成像儀進行手部圖像識別時的不同處理方法及其效果,并指出了單色轉換和多色轉換在模型訓練上的差異。如果您有圖10和圖11的具體內容或需要進一步解釋,請提供更多信息。
在實際場地測試中,單色轉換的性能受到了環境溫度和體溫的影響。具體來說,當溫度略高或體溫較高時,圖像中的著色區域傾向于與背景混合,如圖12(a)所示。這導致了較差的識別效果,因為手部圖像的特征無法被準確檢測。測試了多色轉換模型,結果如圖12(b)所示。在測試期間,環境和體溫較高,圖像中的著色區域占據了大部分屏幕。然而,通過使用多色轉換技術,手部圖像的特征并未與背景混合,這大大提高了識別率和準確性,即使在背景復雜的情況下也是如此。
表II顯示了單色轉換與多色轉換之間的比較。多色轉換相比單色轉換顯示出更高的準確性
表II. 單色轉換與多色轉換的準確性對比
測試次數 | 單色轉換 | 多色轉換 |
1 | 0.8 | 0.94 |
2 | 0.91 | 0.93 |
3 | 0.91 | 0.94 |
4 | 0.91 | 0.93 |
5 | 0.92 | 0.9 |
6 | 0.94 | 0.93 |
7 | 0.93 | 0.94 |
8 | 0.8 | 0.92 |
9 | 0.92 | 0.94 |
10 | 0.95 | 0.96 |
平均值 | 0.899 | 0.933 |