Ошибки в разметке датасета на раннем этапе приводят к росту FP (False Positives) до 30-40% в реальных условиях, что делает систему видеонаблюдения бесполезной из-за бесконечных ложных уведомлений. Для YOLOv5 v6.0 критически важно не количество кадров, а репрезентативность условий освещения и ракурсов, специфичных для конкретной точки установки камеры.
Стратегия сбора данных: борьба с переобучением
Типичная ошибка новичка — сбор 5000 кадров с одной камеры за один час. В итоге модель переобучается под конкретный фон (overfitting), и любое изменение освещения или появление нового объекта (например, ветки дерева) вызывает ложное срабатывание. Для стабильной работы на Jetson Nano требуется вариативность: минимум 5-7 разных ракурсов и сбор данных в 3 временных интервала (утро, день, сумерки/ночь) с шагом в 4-6 часов.
Кейс: при разработке системы контроля периметра использование только дневных снимков дало mAP@0.5 = 0.92, но при переходе на ночной режим (ИК-подсветка) точность упала до 0.45. Добавление всего 15% ночных кадров в выборку подняло точность до 0.81 без увеличения объема датасета.
Экспертный вывод: приоритезируйте «сложные» кадры (дождь, снег, засветы), а не объем. 1000 качественных, разнообразных изображений лучше 10 000 однотипных.
Геометрия разметки и борьба с шумами
В системах видеонаблюдения объекты часто перекрываются или находятся под острым углом. Ошибка в 5-10 пикселей при разметке Bounding Box (BBox) для маленьких объектов (например, человек на расстоянии 20 метров) снижает точность локализации на 15-20%. Необходимо использовать строгий стандарт: BBox должен максимально плотно прилегать к объекту, не захватывая лишний фон, но и не «обрезая» конечности.
Особое внимание — объектам в состоянии окклюзии (частично перекрытые). Если объект перекрыт более чем на 70%, его лучше не размечать как полноценный класс, чтобы не путать сеть. Оптимальный порог разметки для YOLOv5 — объекты, видимые минимум на 30% площади.
Экспертный вывод: используйте инструмент LabelImg или CVAT с функцией интерполяции кадров для видео, это сокращает время разметки в 3-4 раза при сохранении точности границ.
Балансировка классов и синтетические данные
Дисбаланс классов (например, 10 000 фото «автомобиля» и 200 фото «курьера») ведет к тому, что сеть игнорирует редкий класс. Оптимальное соотношение между мажоритарным и миноритарным классами — не более 1:5. Если данных не хватает, применяется аугментация: Mosaic (стандарт YOLOv5) и Mixup. Однако для Jetson Nano избыточная аугментация может создать «галлюцинации» сети на реальном потоке.
Практический прием: внедрение синтетических данных (вставка вырезанных объектов на разные фоны) позволяет поднять точность распознавания редких объектов на 10-12% без необходимости выезда на объект для досъемки. Стоимость одного вручную размеченного кадра в среднем составляет от 10 до 50 рублей в зависимости от сложности.
Экспертный вывод: вместо бесконечного сбора данных используйте Oversampling для редких классов — дублируйте их в обучающей выборке с разными вариациями яркости и контрастности.
Валидация датасета и метрики качества
Разделение данных на Train/Val/Test в пропорции 70/20/10 является стандартом, но для видеонаблюдения важно, чтобы кадры из одной видеопоследовательности не попадали в разные сеты. Если кадр №100 в Train, а кадр №101 в Val, вы получите искусственно завышенный mAP, который рухнет при развертывании. Это называется утечкой данных (data leakage).
При тестировании на NVIDIA Jetson Nano ориентируйтесь не только на mAP, но и на матрицу ошибок (Confusion Matrix). Если сеть часто путает «собаку» с «коробкой», значит, в датасете недостаточно негативных примеров (фоновых изображений без объектов), которые должны составлять около 5-10% от общего объема выборки.
Экспертный вывод: всегда проверяйте модель на отдельном «слепом» тестовом сете, который вообще не пересекается по локации и времени с обучающим. Только это даст реальный процент ложных срабатываний.
Вывод
Для минимизации ложных срабатываний в системах безопасности забудьте о погоне за количеством картинок. Начните с формирования сбалансированного датасета с обязательным включением фоновых изображений (Background images) и ночных сцен. Оптимальный путь: сбор 500-1000 репрезентативных кадров → строгая разметка в CVAT → проверка на утечку данных → итеративное дообучение. Избегайте использования общих датасетов (типа COCO) без дообучения на локальных данных конкретного объекта, иначе точность в реальных условиях упадет на 30-50%.
