我們為手勢辨識( HGR )系統引入了大型影像資料集HaGRIDv2 ( HA和手勢辨識影像資料集)。您可以將其用於影像分類或影像檢測任務。提議的資料集允許建立 HGR 系統,可用於視訊會議服務(Zoom、Skype、Discord、Jazz 等)、家庭自動化系統、汽車產業等。
HaGRIDv2 大小為1.5T ,資料集包含1,086,158張全高清 RGB 影像,分為33 個手勢類別和一個新的單獨的「no_gesture」類別,其中包含特定領域的自然手勢。此外,如果訊框中存在第二隻無手勢手,則某些影像具有no_gesture
類別。這個額外的類別包含2,164 個樣本。資料依主題user_id
分為訓練集 76%、驗證集 9% 和測試集 15%,訓練影像為 821,458 張,驗證影像為 99,200 張,測試影像為 165,500 張。
該資料集包含65,977 個獨特的人物和至少這個數量的獨特場景。受試者是18歲以上的人。此資料集主要在室內收集,光照變化很大,包括人造光和自然光。此外,該資料集還包括在極端條件下拍攝的影像,例如面向和背向窗戶。此外,受試者必須在距離攝影機 0.5 至 4 公尺的距離內做出手勢。
範例及其註解範例:
欲了解更多信息,請參閱我們的 arxiv 論文 TBA。
2024/09/24
: 我們發佈了 HaGRIDv2。 ?
HaGRID 資料集已擴展為 15 個新手勢類別,包括雙手手勢
新增了具有特定領域自然手勢的新類別「no_gesture」( 2,164 個樣本,除以訓練/驗證/測試,分別包含 1,464、200、500 個圖像)
額外的no_gesture
類別包含200,390 個邊界框
新增了手勢檢測、手部檢測和全幀分類的新模型
資料集大小為1.5T
1,086,158張全高清 RGB 影像
訓練/驗證/測試劃分:(821,458) 76% / (99,200) 9% / (165,500) 15% (依主題user_id
劃分)
65,977 個獨特的人
2023/09/21
: 我們發佈 HaGRID 2.0。 ✌️
所有用於訓練和測試的檔案都合併到一個目錄中
數據進一步清理,新增數據
多GPU訓練與測試
新增了新的檢測和全幀分類模型
資料集大小為723GB
554,800張全高清 RGB 影像(清理和更新類別,按種族添加多樣性)
額外類別no_gesture
包含120,105 個樣本
訓練/驗證/測試劃分:(410,800) 74% / (54,000) 10% / (90,000) 16% (依主題user_id
劃分)
37,583 個獨特的人
2022/06/16
:HaGRID(初始資料集)?
資料集大小為716GB
552,992張全高清 RGB 影像,分為18 個類別
額外類別no_gesture
包含123,589 個樣本
訓練/測試比例:(509,323) 92% / (43,669) 8% (依主題user_id
劃分)
34,730 名18 歲至 65 歲的獨特人士
距離相機0.5米至4米
克隆並安裝所需的 python 套件:
git clone https://github.com/hukenovs/hagrid.git# 或鏡像連結:cd hagrid# 透過 conda 或 venvconda 建立虛擬環境 create -n 手勢 python=3.11 -y conda 啟動手勢# 安裝需求 pip install -r requests.txt
由於資料量較大,我們透過手勢將訓練資料集分成 34 個檔案。從以下鏈接下載並解壓縮它們:
手勢 | 尺寸 | 手勢 | 尺寸 | 手勢 | 尺寸 |
---|---|---|---|---|---|
call | 37.2GB | peace | 41.4GB | grabbing | 48.7GB |
dislike | 40.9GB | peace_inverted | 40.5GB | grip | 48.6GB |
fist | 42.3GB | rock | 41.7GB | hand_heart | 39.6GB |
four | 43.1GB | stop | 41.8GB | hand_heart2 | 42.6GB |
like | 42.2GB | stop_inverted | 41.4GB | holy | 52.7GB |
mute | 43.2GB | three | 42.2GB | little_finger | 48.6GB |
ok | 42.5GB | three2 | 40.2GB | middle_finger | 50.5GB |
one | 42.7GB | two_up | 41.8GB | point | 50.4GB |
palm | 43.0GB | two_up_inverted | 40.9GB | take_picture | 37.3GB |
three3 | 54GB | three_gun | 50.1GB | thumb_index | 62.8GB |
thumb_index2 | 24.8GB | timeout | 39.5GB | xsign | 51.3GB |
no_gesture | 493.9 MB |
dataset
註釋: annotations
HaGRIDv2 512px - 完整資料集的輕量級版本, min_side = 512p
119.4 GB
或使用 python 腳本
python download.py --save_path--註釋 --資料集
使用鍵--dataset
執行以下命令來下載帶有圖像的資料集。透過--annotations
鍵下載所選階段的註解。
用法:download.py [-h] [-a] [-d] [-t TARGETS [TARGETS ...]] [-p SAVE_PATH] 下載資料集... 可選參數: -h, --help 顯示此幫助訊息並退出-a, --annotations 下載註解-d, --dataset 下載資料集-t TARGETS [TARGETS ...], --targets TARGETS [TARGETS . .. ] 下載訓練集的目標 -p SAVE_PATH, --save_path SAVE_PATH 儲存路徑
下載後,您可以透過執行以下命令解壓縮檔案:
解壓縮 <歸檔路徑> -d <儲存路徑>
資料集的結構如下:
├── hagrid_dataset│ ├── call │ │ ├── 00000000.jpg │ │ ├── 00000001.jpg │ │ ├── ... ├── hagrid_annotations │ ├── train │ │ ├── call.json │ │ ├── ... │ ├── val │ │ ├── call.json │ │ ├── ... │ ├── test │ │ ├── call.json │ │ ├── ...
我們提供了一些在 HaGRIDv2 上預先訓練的模型作為基線,以及用於手勢分類、手勢檢測和手部檢測的經典骨幹架構。
手勢檢測器 | 地圖 |
---|---|
YOLOv10x | 89.4 |
YOLOv10n | 88.2 |
SSDLiteMobileNetV3Large | 72.7 |
另外,如果需要偵測手,可以使用YOLO檢測模型,在HaGRIDv2上預訓練
手部探測器 | 地圖 |
---|---|
YOLOv10x | 88.8 |
YOLOv10n | 87.9 |
但是,如果您需要單一手勢,則可以使用預先訓練的全幀分類器而不是偵測器。若要使用全幀模型,請刪除 no_gesture 類
全幀分類器 | F1 手勢 |
---|---|
MobileNetV3_small | 86.7 |
MobileNetV3_large | 93.4 |
維生素B16 | 91.7 |
殘差網路18 | 98.3 |
殘網152 | 98.6 |
ConvNeXt 基礎 | 96.4 |
您可以使用下載的訓練模型,或在configs
資料夾中選擇訓練參數。要訓練模型,請執行以下命令:
單GPU:
python run.py -c train -p configs/
多GPU:
bash ddp_run.sh -g 0,1,2,3 -c train -p configs/
其中 -g 是 GPU id 清單。
每一步,當前損失、學習率和其他值都會記錄到Tensorboard 。透過開啟命令列查看所有已儲存的指標和參數(這將開啟一個位於localhost:6006
網頁):
張量板 --logdir=<工作目錄>
透過執行以下命令來測試您的模型:
單GPU:
python run.py -c test -p configs/
多GPU:
bash ddp_run.sh -g 0,1,2,3 -c test -p configs/
其中 -g 是 GPU id 清單。
python demo.py -p--landmarks
python demo_ff.py -p
註釋由帶有手勢標籤的 COCO 格式的手和手勢的邊界框[top left X position, top left Y position, width, height]
組成。我們提供user_id
字段,讓您可以自行分割訓練/驗證/測試資料集,以及包含自動註釋的年齡、性別和種族的元資訊。
“04c49801-1101-4b4e-82d0-d4607cd01df0”:{“bboxes”:[ [0.0694444444, 0.3104166667, 0.2666666667, 0.2640625], [0.5993055556、0.2875、0.2569444444、0.2760416667] ], "標籤": [ "thumb_index2", "thumb_index2" ], "united_bbox": [ [0.0694444444、0.2875、0.7868055556、0.2869791667] ], "united_label": [ "thumb_index2" ], "user_id": "2fe6a9156ff8ca27fbce8ada318c592b", "hand_landmarks": [ [ [0.37233507701702123, 0.5935673528948108], [0.3997604810145188,0.5925499847441514],... ], [ [0.37388438145820907, 0.47547576284667353], [0.39460467775730607, 0.4698847093520443], ... ] ] "meta": { "age": [24.41], "gender": ["female"], "race": ["White"] }
鍵 - 不含副檔名的圖片名稱
Bboxes - 每隻手的標準化 bbox 清單[top left X pos, top left Y pos, width, height]
標籤 - 每隻手的類別標籤列表, like
、 stop
、 no_gesture
United_bbox - 雙手手勢情況下兩個手盒的聯合組合(“hand_heart”、“hand_heart2”、“thumb_index2”、“timeout”、“holy”、“take_picture”、“xsign”)和“null”單手勢的情況
United_label - 在雙手手勢的情況下為 United_bbox 的類標籤,在單手手勢的情況下為 'null'
使用者 ID - 主題 ID(對於將資料分割為訓練/驗證子集很有用)。
Hand_landmarks - 自動註釋每隻手的 MediaPipe 地標。
元 - 使用 FairFace 和 MiVOLO 神經網路自動註釋元資訊包含年齡、性別和種族
目的 | 火車 | 瓦爾 | 測試 | 全部的 |
---|---|---|---|---|
手勢 | 980 924 | 120 003 | 200006 | 1 300 933 |
沒有手勢 | 154403 | 19411 | 29 386 | 203 200 |
總箱數 | 1 135 327 | 139 414 | 229 392 | 1 504 133 |
目的 | 火車 | 瓦爾 | 測試 | 全部的 |
---|---|---|---|---|
擁有地標的總手數 | 983 991 | 123230 | 201 131 | 1 308 352 |
我們提供了一個腳本將註釋轉換為 YOLO 格式。若要轉換註釋,請執行以下命令:
python -m Converters.hagrid_to_yolo --cfg--mode <'手'或'手勢'>
轉換後,您需要將原始定義 img2labels 變更為:
def img2label_paths(img_paths): img_paths = list(img_paths) # 將標籤路徑定義為影像路徑的函數 if "train" in img_paths[0]: return [x.replace("train", "train_labels").replace(" .jpg", ".txt") for x in img_paths] elif "test" in img_paths[0]: return [x.replace("test", "test_labels").replace(".jpg", ".txt" ) for x in img_paths] elif "val" in img_paths[0]: return [x.replace("val", "val_labels").replace(".jpg", ".txt") for x in img_paths]
此外,我們還提供了一個腳本將註釋轉換為 Coco 格式。若要轉換註釋,請執行以下命令:
python -m Converters.hagrid_to_coco --cfg--mode <'手'或'手勢'>
本作品根據 Creative Commons Attribution-ShareAlike 4.0 International License 的變體授權。
請查看具體許可證。
亞歷山大·卡皮塔諾夫
安德烈·馬克利亞丘克
卡琳娜·克萬基亞尼
亞歷山大·納加耶夫
羅曼·克雷諾夫
安東·努日丁
吉圖布
arXiv
您可以使用以下 BibTeX 條目引用該論文:
@InProceedings{Kapitanov_2024_WACV, author = {Kapitanov, Alexander and Kvanchiani, Karina and Nagaev, Alexander and Kraynov, Roman and Makhliarchuk, Andrei}, title = {HaGRID -- HAnd Gesture Recognition Image Dataset}, booktitle = {Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision (WACV)}, month = {January}, year = {2024}, pages = {4572-4581} }