?

基于計算機視覺及深度學習的無人機手勢控制系統

2024-04-08 10:09龐文宇
電腦迷 2024年2期
關鍵詞:計算機視覺深度學習

龐文宇

【摘? 要】 在當今社會的諸多領域,無人機應用已日益普及,涵蓋了影視、航測等多個方面。然而,傳統無人機的人機交互相對復雜,并且需要大量的專業設備和訓練,這使得很大一部分用戶無法直接應用便捷的無人機。此時就需要一種便攜、易學習和使用的控制系統和方式。其中,基于計算機視覺及深度學習的無人機手勢控制系統可以避免過往無人機控制和使用中的諸多困難,并且有助于去除復雜背景以及相機漂移的影響,使得控制更加便捷和有效,對無人機的應用和控制水平提升具有重要意義和價值。文章旨在深入探討和分析基于計算機視覺及深度學習的無人機手勢控制系統。

【關鍵詞】 計算機視覺;深度學習;無人機控制;手勢控制

一、器材選取與工作平臺搭建

本系統研究初級階段,采用妙算Manifold作為機載處理器進行圖像的處理和識別,搭載在大疆M100飛行器上,利用大疆開發者平臺,實現手勢識別結果到對無人機飛行姿態及操作命令的映射,從而實現無人機的手勢操控:

(一)Manifold模塊

Manifold模塊是DJI推出的一款高性能計算模塊,模塊集成了強大的核心處理器和預裝內置系統,可以支持復雜的圖像處理、SLAM算法和深度學習等計算密集型任務。Manifold模塊的核心處理器采用了NVIDIA的TegraK1So C處理器,擁有4個ARM Cortex-A15核心和一個NVID IAKepler GPU,具有強大的計算能力和低功耗特性。同時,該模塊還支持多種接口和通信協議,包括HDMI、USB、Ethernet、CAN總線、UART和SPI等,能夠方便地與其他設備進行通信和數據交換。Manifold模塊預裝了DJI的內置系統和軟件開發工具,提供了豐富的API和SDK,方便開發者進行應用開發和調試。開發者可以基于Manifold模塊,使用Python、C++等編程語言,快速開發各種智能應用,如機器人視覺導航、目標追蹤、SLAM算法、深度學習等。此外,Manifold模塊還支持ROS(Robot Operating System),ROS用于控制M100無人機及攝像頭的運轉工作,這為本系統研究和開發奠定了良好基礎。

(二)ROS模塊

通過ROS,開發者可以使用ROS提供的各種功能包和工具,快速構建機器人應用程序。對DJI的無人機,ROS提供了一個DJISDK的ROS接口,可以直接與DJI無人機進行通信和控制。開發者可以使用ROS的命令行工具或編寫ROS節點,通過調用DJISDK的API實現無人機的起飛、降落、定位、導航等功能,這使得手勢控制系統能夠實現的功能變得比較多。譬如,通過ROS的靈活性和可擴展性,開發者可以將無人機的控制與其他傳感器、算法等模塊進行集成,實現更復雜的機器人應用。例如,可以結合視覺傳感器和SLAM算法,實現無人機的自主導航和避障;也可以結合深度學習算法,實現無人機的目標識別和跟蹤等功能。在Ubuntu14.04系統下選擇安裝ROS Indio版本,此外需要預先安裝C、C++編譯器及相關開發工具和CMake3.2及更高版本。

二、圖像預處理

(一)定位手勢位置

在基于計算機視覺及深度學習的無人機手勢控制系統研究中,為克服使用者手部特征比較少和拍攝中輪廓變化比較大的問題,本系統采用簡捷方法實現手勢位置的定位。

首先使得系統進行人臉識別,在拍攝圖片中找到人臉,隨后在人臉的特定位置定位手勢。在人臉識別方面,使用 OpenCV 提供的物體檢測功能,庫中還自帶一系列的檢測參數,包含人臉、眼睛、嘴巴等。其次,在訓練階段,決策樹通過已知的正確、錯誤圖片進行優化。最后,通過系統方法,系統可以在照片中找到人臉,并且進行圓圈標記,隨后進行計算,假設圓圈半徑為R,在人臉作者創建一個邊長為2R的正方形區域。僅此區域內的手勢能夠被精確定位和截取,從而間接實現了手勢的模糊定位。這一方法在現實環境中的應用得以驗證。

(二)識別截取手勢圖片

在上述創建正方形區域后,區域內不一定存在手勢,因此在這一區域需要進行進一步識別,以確定區域中是否存在手勢。BGR直方圖是基于圖像的RGB顏色空間的三個通道,即藍色、綠色和紅色通道。通過統計圖像中每個通道的像素強度分布情況,可以得到一個三維的顏色直方圖。在手勢位置定位中,可以通過對圖像進行顏色分割,提取出手部區域,并使用BGR直方圖對手部區域的顏色特征進行匹配,以確定手勢的位置。

HSV直方圖是基于圖像的HSV顏色空間的三個通道,即色調、飽和度和亮度值。HSV顏色空間將顏色的表示方式從原始的RGB空間轉換為更加直觀和易于處理的形式。色調表示顏色的種類或類型,飽和度表示顏色的純度或鮮艷程度,亮度值表示顏色的明暗程度。通過計算圖像中每個通道的像素分布情況,可以得到一個三維的HSV顏色直方圖。在手勢位置定位中,可以利用HSV直方圖對手部區域的顏色特征進行匹配,以準確定位手勢位置。因此,通過這種方式,系統可以捕捉到手部區域的顏色特征,并通過對比和匹配來確定手勢的位置。相比于BGR直方圖,HSV直方圖在處理顏色變化和光照變化時更具魯棒性,因為HSV顏色空間將顏色信息與亮度信息分離開來,更適合于對顏色特征的提取和匹配。

在手勢識別時用這些 H-S 膚色直方圖進行匹配。如果在照片中匹配率達到50%以上,截取圖片。否則判定指定區域內無手勢。

(三)減輕背景干擾

由于手勢背景相對復雜,不利于識別,因此需要將背景簡化,利于識別,提升識別準確性和有效性。系統使用反向投影,先計算某一特征的直方圖模型,然后使用模型去尋找圖像中存在的該特征的方法。所使用的模型為預先獲取的 H-S 膚色直方圖。

三、手勢識別

(一)卷積神經網絡結構

系統卷積神經網絡結構使用谷歌發布的人工智能系統Tensorflow平臺進行搭建,建立一個輸入層、兩個卷積層、兩個池化層、兩個全連接層、一個輸出層,具體如以下所示:

1. 輸入層

輸入層為一組圖片input,目的在于加快系統的訓練速度,并且可以在一定水平方面避免過擬合現象和問題。本系統輸入張量為:[50,28,28,3]。

2. 第一卷積層

第一卷積層將圖片張量與一卷積核做卷積操作,第一卷積層的卷積核weight_1為[5,5,3,64]的張量,偏置為一[50,28,28,64]的張量bias_1。經卷積后,得到一[50,28,28,64]的特征圖map_1。

3. 第一池化層

池化大小為3×3,每次移動2個像素點,得到一[50,14,14,64]的特征圖map_pool_1

4. 第二卷積層

第二卷積層的卷積核為一[5,5,64,64]的張量weight_2。偏置為一[50,14,14,64]的張量bias_2。經卷積后,得到一[50,14,14,64]的特征圖。

5. 第二池化層

池化大小為3×3,每次移動2個像素點,得到一[50,7,7,64]的特征圖map_pool_2。

6. 第一全連接層

將[50,7,7,64]的張量變成一個[50,3136]的張量tensor_1。權重張量weight_3大小為[3136,448]。偏置張量bias_3大小為[50,448],得到一[50,448]的張量tensor_2。

7. 第二全連接層

該層權重張量weight_4大小為[448,6]。偏置張量bias_4為[50,6]。得到一[50,6]的張量X。

8. 輸出層

將張量中的三個元素做softmax運算,得一新的[50,6]張量y,此張量中的每個值代表概率。

(二)訓練過程

訓練過程包含3600張圖片,以一個batch(50張圖片)為單位提取圖片。為降低網絡中參數對圖片對比度、拍攝角度、使用左手或右手的敏感度的影響,會在一定范圍內隨機改變圖像的亮度,并對其進行角度變化和翻轉。將分好類的圖像讀入神經網絡。

為減少loss值并達到批量化的參數優化,采用Tensorboard顯示訓練過程中loss的變化折線圖。通過觀察loss的變化,可以調整學習率以確保穩步下降,以充分利用圖像數據而避免過擬合。同時,Tensorboard還可以展示數據在網絡結構中的完整流動過程。

訓練過程完成后,保存訓練過程中的參數,即可將其運用在圖像的測試過程中,輸出手勢分類結果,具體的參數訓練過程和初期loss值變化如(圖1和圖2)所示:

四、項目研究成果

人工控制無人機的位置使其穩定后,可以通過攝像頭進行圖像截取,當視野中出現靜態手勢時,能完成識別,并控制無人機飛行,對攝像頭傳回的圖片,識別正確率接近80%。

五、結語

通過攝像頭進行圖像截取和靜態手勢識別以及對無人機飛行的控制。這些技術的綜合應用使得無人機能夠實現基于手勢的控制,為無人機應用領域帶來了新的可能性。

首先,人工控制無人機的位置穩定是實現準確的圖像截取和手勢識別的關鍵。通過精確控制無人機的飛行姿態和位置,保持相對穩定的拍攝環境,可以提高后續圖像處理和手勢識別的準確性。

其次,利用攝像頭進行圖像截取能夠獲取實時的視覺信息。攝像頭將實時傳回的圖像用于后續的手勢識別,為靜態手勢的檢測和識別提供數據支持。在圖像截取過程中,需要考慮圖像質量、光照條件和攝像頭參數等因素,以確保圖像清晰度和準確性。靜態手勢識別是本項目的關鍵任務之一。通過對截取到的圖像進行圖像處理和計算機視覺算法的運用,可以識別出圖像中出現的靜態手勢。靜態手勢的識別準確率接近80%,這表明算法在處理不同手勢姿勢和背景條件下具有一定的魯棒性。

最后,通過靜態手勢的識別結果,可以實現對無人機飛行的控制。根據識別到的手勢類型和位置信息,可以制訂相應的飛行指令,實現無人機的起飛、降落、懸停、前進、后退等操作。這為無人機的控制提供了一種直觀且便捷的方法,拓寬了其應用領域。

參考文獻:

[1] 閆耀芳,張子林,錢堂,等. 無人機目標追蹤系統設計與實現[J]. 山西電子技術,2022(05):18-20.

[2] 于昌立,范書瑞,劉洋. 基于數據手套的無人機端側控制系統設計[J]. 電子測量技術,2022,45(12):40-47.

[3] 李蕊冰. 四旋翼飛行器手勢控制及定點懸停技術研究與設計[D]. 西安:西安石油大學,2021.

猜你喜歡
計算機視覺深度學習
基于深度卷積神經網絡的物體識別算法
雙目攝像頭在識別物體大小方面的應用
機器視覺技術發展及其工業應用
危險氣體罐車液位計算機視覺監控識別報警系統設計
有體驗的學習才是有意義的學習
電子商務中基于深度學習的虛假交易識別研究
MOOC與翻轉課堂融合的深度學習場域建構
大數據技術在反恐怖主義中的應用展望
基于計算機視覺的細小顆粒團重量測量的研究
深度學習算法應用于巖石圖像處理的可行性研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合