自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

基于 YOLOv11 的手語檢測 | 附數(shù)據(jù)集+代碼

開發(fā)
在以往YOLO版本的令人印象深刻的進步基礎上,YOLO11在架構和訓練方法上引入了重大改進,使其成為廣泛計算機視覺任務的多功能選擇。

YOLO11是Ultralytics YOLO系列實時目標檢測器的最新迭代,它重新定義了尖端精度、速度和效率的可能性。在以往YOLO版本的令人印象深刻的進步基礎上,YOLO11在架構和訓練方法上引入了重大改進,使其成為廣泛計算機視覺任務的多功能選擇。

此模型可以做很多很酷的事情,比如:

  • 尋找物體:它可以在圖像中定位和識別不同的物體,如汽車、人或樹木。
  • 分類事物:它可以告訴你它看到了什么樣的物體,如貓或香蕉。
  • 理解物體的形狀:它甚至可以勾勒出物體的確切形狀,如追蹤它。
  • 弄清楚姿勢:它可以了解人體的位置,比如他們是站著、坐著還是揮手。

1.主要特點

  • 增強特征提?。篩OLO11采用了改進的骨干和頸部架構,增強了特征提取能力,實現(xiàn)了更精確的目標檢測和復雜任務的性能。
  • 優(yōu)化效率和速度:YOLO11引入了精細的架構設計和優(yōu)化的訓練流程,提供了更快的處理速度,并在準確性和性能之間保持了最佳平衡。
  • 參數(shù)更少,準確性更高:隨著模型設計的進步,YOLO11m在COCO數(shù)據(jù)集上實現(xiàn)了更高的平均精度均值(mAP),同時比YOLOv8m使用的參數(shù)減少了22%,使其在不犧牲準確性的情況下具有計算效率。
  • 適應不同環(huán)境:YOLO11可以無縫部署在各種環(huán)境中,包括邊緣設備、云平臺和支持NVIDIA GPU的系統(tǒng),確保了最大的靈活性。
  • 支持任務范圍廣泛:無論是目標檢測、實例分割、圖像分類、姿態(tài)估計還是定向目標檢測(OBB),YOLO11都旨在應對多樣化的計算機視覺挑戰(zhàn)。

2.數(shù)據(jù)集信息

在此項目中使用的美國手語(ASL)數(shù)據(jù)集來源自Roboflow Universe/duyguj/american-sign-language-letters。所有數(shù)據(jù)集中的圖像都預先標記,確保了準確的訓練數(shù)據(jù)。此外,還在Roboflow中應用了數(shù)據(jù)增強技術以增加數(shù)據(jù)集的多樣性,提高了模型的泛化能力。采用了翻轉、旋轉和亮度調(diào)整等技術。詳細鏈接:https://app.roboflow.com/duyguj/american-sign-language-letters-vouo0/1

(1) 該數(shù)據(jù)集包含總共1224張圖像,分為三組:

  • 訓練集:1008張圖像(82%)
  • 驗證集:144張圖像(12%)
  • 測試集:72張圖像(6%)

(2) 預處理:

  • 自動定向:應用以確保圖像正確對齊。
  • 調(diào)整大小:所有圖像都調(diào)整大小以適應640x640像素。

(3) 數(shù)據(jù)增強:

每個訓練示例由于增強而有兩個輸出,包括:

  • 旋轉:在-15°和+15°之間以模擬不同的手姿。
  • 曝光:在-10%和+10%之間調(diào)整以適應不同的光照條件。
  • 模糊:高達2px以模擬運動或相機模糊。

這種設置旨在通過讓模型接觸多樣化的輸入來提高其泛化能力。

(4) 訓練過程

YOLO11模型在此ASL數(shù)據(jù)集上進行了微調(diào),專門用于手語目標檢測。這個訓練過程包括:

  • 數(shù)據(jù)集增強:使用Roboflow通過轉換來增強數(shù)據(jù)集。
  • 模型訓練:使用這個增強的數(shù)據(jù)集訓練YOLOv11,并使用單獨的驗證數(shù)據(jù)集來驗證性能。
  • 測試:訓練完成后,模型在專用的測試集上進行測試,以評估其預測未見數(shù)據(jù)的能力。

(5) 性能和觀察

最終模型在隨機手語圖像和視頻上進行了測試,以觀察其在現(xiàn)實世界中的表現(xiàn)。結果顯示了在實時檢測不同ASL標志方面的有希望的結果,證明了YOLO11架構在處理復雜、基于手勢的任務方面的有效性。

3.設置和初始化

(1) 訪問GPU

我們可以使用nvidia-smi命令來做到這一點。如果遇到任何問題,請導航到“編輯”->“筆記本設置”->“硬件加速器”,將其設置為GPU。

# “注意:此設置適用于kaggle”

!pip install ultralytics supervision roboflow

from IPython import display
display.clear_output()

!pip install ultralytics --quiet
import ultralytics
ultralytics.checks()

(2) 加載數(shù)據(jù)集

① 配置API密鑰以加載數(shù)據(jù)集

為了微調(diào)YOLO11,你需要提供你的Roboflow API密鑰。請按照以下步驟操作:

  • 前往你的Roboflow設置頁面,點擊復制,這將把你的私有密鑰放在剪貼板中。 
  • 在Colab中,轉到左側面板并點擊“秘密”(??)。
  • 在名稱為ROBOFLOW_API_KEY下存儲Roboflow API密鑰。Roboflow:轉到你的Roboflow數(shù)據(jù)集下載 -> 選擇YOLO模型 -> 選擇顯示下載代碼 -> 點擊復制。在Colab中:轉到左側面板并點擊“秘密”(??)。
  • 在一個用戶名下存儲Roboflow API密鑰。 
  • 在Kaggle中:轉到“插件”→“秘密”→“添加秘密”(??),并存儲你的Kaggle API密鑰和用戶名。
# Save the API key in Kaggle
from kaggle_secrets import UserSecretsClient

user_secrets = UserSecretsClient()
secret_value_0 = user_secrets.get_secret("my_api_key")
# Roboflow Dataset API Code
!pip install roboflow --quiet
from roboflow import Roboflow

rf = Roboflow(secret_value_0)

project = rf.workspace("duyguj").project("american-sign-language-letters-vouo0")
version = project.version(1)
dataset = version.download("yolov11")

② 模型訓練

# Changing to the working directory in Kaggle
%cd /kaggle/working

# Training the YOLO model
!yolo task=detect mode=train model=yolo11n.pt data=/kaggle/working/American-Sign-Language-Letters-1/data.yaml epochs=10 imgsz=640 plots=True

#Results saved to runs/detect/train
#Learn more at https://docs.ultralytics.com/modes/train
from IPython.display import Image as IPyImage

# Display the confusion matrix image from the specified directory in Kaggle
IPyImage(filename='/kaggle/working/runs/detect/train/confusion_matrix.png', width=1000)

IPyImage(filename=f'/kaggle/working/runs/detect/train/results.png', width=1000)

IPyImage(filename=f'/kaggle/working/runs/detect/train/val_batch0_pred.jpg', width=1000)

③預測

# Run the prediction task on Test Data
!yolo task=detect mode=predict model=/kaggle/working/runs/detect/train/weights/best.pt conf=0.25 source=/kaggle/working/American-Sign-Language-Letters-1/test/images save=True

#Results saved to runs/detect/predict
#?? Learn more at https://docs.ultralytics.com/modes/predict
import glob
import os
from IPython.display import Image as IPyImage, display

# Get the latest prediction folder for detection in Kaggle
latest_folder = max(glob.glob('/kaggle/working/runs/detect/predict*/'), key=os.path.getmtime)

# Display images from the prediction folder
for img in glob.glob(f'{latest_folder}/*.jpg')[15:18]:
    display(IPyImage(filename=img, width=300))

完整代碼:https://www.kaggle.com/code/duygujones/sign-language-detection-using-yolo11

責任編輯:趙寧寧 來源: 小白玩轉Python
相關推薦

2024-10-28 16:12:26

2024-10-30 16:34:56

2024-10-07 11:12:55

2025-01-06 08:20:00

YOLOv11目標檢測Python

2025-01-03 16:17:08

2024-10-24 20:56:36

2024-11-29 16:49:23

2024-10-25 08:30:57

計算機視覺神經(jīng)網(wǎng)絡YOLOv8模型

2024-07-22 13:49:38

YOLOv8目標檢測開發(fā)

2020-10-26 14:14:36

YOLOv5數(shù)據(jù)科學 技術

2024-05-28 10:04:00

2023-11-09 23:45:01

Pytorch目標檢測

2024-08-06 11:01:03

2025-02-18 08:00:00

C++YOLO目標檢測

2013-07-27 21:04:58

2024-11-06 16:56:51

2025-02-17 07:00:00

ORB對象跟蹤器計算機視覺

2011-07-20 17:29:12

iPhone 網(wǎng)絡

2024-11-20 16:51:00

目標檢測模型

2024-04-19 08:00:00

點贊
收藏

51CTO技術棧公眾號