Downloads · 30 days
0
ajdanoff/asl-unified-yolo11n-mp
asl-unified-yolo11n-mp is a object detection model from ajdanoff. Use it when you need objects located in an image. The card lists the license as mit.
This model detects American Sign Language (ASL) alphabet gestures (A–Z) and digits (0–9) in images and video. It is intended for use in gesture-controlled systems, such as commanding a mobile robot swarm.
Downloads · 30 days
0
Access
Public
Updated Sep 21, 2026
Repo size
5.5 MB
Likes
0
Public
Click a slice to open those files.
.pt5.5 MB · 100%
From the Hugging Face model README
This model detects American Sign Language (ASL) alphabet gestures (A–Z) and digits (0–9) in images and video. It is intended for use in gesture-controlled systems, such as commanding a mobile robot swarm.
0, 1, 2, 3, 4, 5, 6, 7, 8, 9A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, ZTrained on a unified YOLO-format dataset derived from:
Both datasets were converted to YOLO detection format with MediaPipe-based bounding boxes, 80/20 train/val split, and unified class mapping (36 classes). Filenames were prefixed by source and class to avoid collisions.
Details about the conversion and class mapping are available in the associated GitHub repository.
Validation metrics (val split, 1,006 images, 36 classes):
These classes are particularly important for robot-swarm control:
| Class | Precision | Recall | mAP50 | mAP50–95 |
|---|---|---|---|---|
| A | 0.969 | 0.935 | 0.979 | 0.946 |
| B | 0.987 | 1.000 | 0.995 | 0.979 |
| L | 0.992 | 1.000 | 0.995 | 0.949 |
| R | 0.868 | 0.885 | 0.957 | 0.908 |
| U | 0.944 | 0.931 | 0.988 | 0.949 |
| D | 0.932 | 0.939 | 0.985 | 0.937 |
| 1 | 1.000 | 0.961 | 0.995 | 0.975 |
| 2 | 0.790 | 0.750 | 0.899 | 0.882 |
Full per-class metrics are available in the training logs.
from ultralytics import YOLO
import cv2
model = YOLO("asl_unified_yolo11n_mp_best.pt")
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
if not ret:
break
results = model(frame, conf=0.7, iou=0.45, verbose=False)
boxes = results.boxes
if len(boxes) > 0:
cls = int(boxes.cls)
conf = float(boxes.conf)
symbol = model.names[cls]
print(f"Detected: {symbol} (conf={conf:.2f})")
cv2.imshow("frame", frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
cap.release()
cv2.destroyAllWindows()
gesture_swarm packagefrom gesture_swarm.detector import GestureDetector
detector = GestureDetector(
"asl_unified_yolo11n_mp_best.pt",
conf_thresh=0.7,
)
# frame: OpenCV BGR image (e.g., from cv2.VideoCapture)
symbol = detector.detect_from_frame(frame)
if symbol is not None:
print("Detected symbol:", symbol)
You can integrate this detector into a pipeline that accumulates symbols into words or command sequences (e.g., ["B", "2"] → “move forward 2 units”) and maps them to structured swarm commands.
0, 2, 6, O, M) have lower mAP than others; consider adding domain-specific data if these are critical for your application.If you use this model in a paper, project report, or demo, please cite it as:
@misc{jdanoff2026aslunifiedyolo11nmp,
author = {Alexander Jdanoff},
title = {{ASL Unified Gesture Detector (YOLO11n, MediaPipe boxes)}},
year = {2026},
howpublished = {\url{[https://huggingface.co/ajdanoff/asl-unified-yolo11n-mp](https://huggingface.co/ajdanoff/asl-unified-yolo11n-mp)}},
note = {YOLO11n model for ASL alphabet (A–Z) and digits (0–9) gesture detection, trained with MediaPipe-based bounding boxes.}
}
In text, you can refer to it as:
“We use the ASL Unified Gesture Detector (YOLO11n, MediaPipe boxes) [Jdanoff, 2026], available at https://huggingface.co/ajdanoff/asl-unified-yolo11n-mp.”
Model weights and code: MIT License (see LICENSE).
Datasets: see the original Kaggle dataset licenses and attribution requirements.
This project uses: