diff --git a/README.md b/README.md index f2946fd..1cb575b 100644 --- a/README.md +++ b/README.md @@ -72,16 +72,19 @@ python3 main.py python3 -m utils/capture_photo.py --dir data/raw ``` Нажмите `s`, подождите 3 секунды, фото сохранится в папку `data/raw`. Нажмите `q` чтобы закончить. + 2. Разметьте фото с помощью аннотатора: ``` python3 -m utils/annotate.py --folder data/raw --classes dome,cross,none --output data.csv ``` Для каждого фото нажмите цифру, соответствующую жесту (1–dome, 2–cross, 3–none), или n для пропуска. При выходе данные сохранятся в `data.csv`. + 3. Обучите модель ``` python3 -m ml_gestures/train.py --csv data.csv --model ml_gestures/models/special_model.pkl --type mlp --balance --target_classes dome,cross ``` Параметр `balance` уменьшит целевые классы (в параметре `target_classes`) до размера наименьшего из них, чтобы избежать перекоса. Класс none остаётся неизменным. + 4. Оценка модели После обучения модель сохраняется, и создаётся отчёт `special_model_report.json` с метриками (`accuracy`, `precision`, `recall`, `f1`, `confusion matrix`). Для повторной оценки используйте: ``` @@ -104,9 +107,14 @@ python3 main.py 1. Управление скоростями - Линейная скорость (вперёд) – горизонтальное положение правой руки (рука вдоль тела – 0, вытянута в сторону – максимум). - Угловая скорость – вертикальное положение левой руки (рука на уровне плеча – 0, вверх – поворот вправо, вниз – поворот влево). + +![Схема управления скоростями](images/arm_control.png) + 2. Специальные жесты. Режим распознавания может быть геометрическим (по правилам) или обучаемым (ML-модель). - Домик – обе руки над головой (включает управление). - Крест – предплечья скрещены на груди (выключает управление). + +![Схема управления жестами](images/gesture_control.png) ## Возможные проблемы 1. Камера не работает - проверьте `CAMERA_ID` в `config.py` (обычно 0 или 1). diff --git a/image/arm_control.png b/image/arm_control.png new file mode 100644 index 0000000..1345bcb Binary files /dev/null and b/image/arm_control.png differ diff --git a/image/gesture_control.png b/image/gesture_control.png new file mode 100644 index 0000000..90850d3 Binary files /dev/null and b/image/gesture_control.png differ diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..0cdf457 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,7 @@ +opencv-python +mediapipe +numpy +pygame +scikit-learn +pandas +joblib