Компьютерное зрение и распознавание

b{ "title": "Компьютерное зрение и распознавание: что упускают 90 % специалистов — экспертный разбор", "keywords": "компьютерное зрение, распознавание изображений, ошибки CV, аннотация данных, аугментация, метрики качества, продуктивные модели", "description": "Экспертный разбор частых ошибок в проектах компьютерного зрения: смещение датасета, переоценка точности, неочевидные причины плохой работы моделей. Практические советы и цифры.", "html_content": "

Почему точность 99 % на тесте — это ловушка

Самая частая ошибка, которую я вижу в коммерческих проектах по компьютерному зрению, — слепая вера в метрики валидационного набора. Модель показывает 99,2 % accuracy на отложенной выборке, но в реальных условиях падает до 60 %. Проблема не в архитектуре, а в несовпадении распределения данных (data distribution shift). Даже небольшое изменение освещения, угла камеры или фона ломает нейросеть, если она не обучалась на таких примерах.

Профессионалы всегда оценивают модель на нескольких независимых датасетах — как минимум из другого источника (cross-dataset evaluation) и с синтетическими искажениями. Истинная точность — это не цифра на лидере Kaggle, а стабильность при смене условий съёмки.

В 2026 году в коммерческих проектах стандартом стал отчёт по 5+ метрикам надёжности: accuracy на чистом тесте, accuracy при синтетическом шуме (Gaussian blur, изменение яркости), worst-group accuracy, calibration error и latency-accuracy tradeoff. Без этого модель нельзя выпускать в прод.

Аннотация данных: где теряется 80 % бюджета

В любом проекте компьютерного зрения затраты на разметку часто превышают затраты на разработку модели. Но дело не в цене за штуку, а в системных ошибках: несогласованность инструкций, разный уровень разметчиков, неконтролируемая разметка границ объектов. Это ведёт к «грязному» датасету: модель учится на шуме, а не на признаках.

Распространённая иллюзия, что больше данных автоматически означает лучше модель. На практике 10 000 качественно размеченных изображений дают лучший результат, чем 100 000 с мусором. В 2026 году подходы с активным обучением (active learning) позволяют сократить объём разметки на 40–60 % при сохранении точности: модель сама выбирает, какие неподписанные примеры ей «непонятны», и их размечают в первую очередь.

Ещё одно правило из промышленных проектов: никогда не используйте crowdsourcing-разметку без контрольных затравок (golden questions). Вставляйте 5–10 % тестовых изображений с известной истинной разметкой — если разметчик ошибается на них чаще 5 %, забраковывайте всю его работу.

Выбор архитектуры: не гонитесь за SOTA на лидере

В интернете полно статей, сравнивающих ResNet, EfficientNet, ConvNeXt, Vision Transformers (ViT) и гибриды вроде CoAtNet. Соблазн взять самую мощную модель с минимальным error rate на ImageNet велик. Но для реального приложения действует правило «железного треугольника»: точность, скорость, память. И в 90 % победных подходов на лидере жертвуют двумя последними, что неприемлемо для деплоя.

В итоге выбор архитектуры — это не поиск лучшей модели на лидере, а осознанный компромисс. Профессионал всегда начинает с бенчмарка: фиксирует разрешение (224 или 256), латентность (например, 15 ms), и бюджет памяти (< 100 MB для мобильного приложения). Затем среди моделей, удовлетворяющих этим ограничениям, выбирает по mAP на релевантном датасете, а не на общем ImageNet.

Задача сегментировать медицинские изображения с точностью 0.96 Dice — не про SOTA с 0.98, а про стабильность предсказаний на 2D и 3D. Я рекомендую хранить 3–5 моделей с разными компромиссами (скорость vs качество) и выбирать на этапе деплоя под реальные требования.

Обработка редких случаев: где модель слепнет

Даже идеально работающая модель падает на редких паттернах: перевёрнутые объекты, необычные ракурсы, частичное закрытие, артефакты съёмки (засветка, блики, грязь на линзе). Таких примеров в стандартном датасете мало (1–3 %), но продуктовая ошибка на них приводит к отказу пользователя. Например, face unlock не работает в тёмной комнате, детектор автомобиля пропускает мотоцикл с пассажиром сзади.

Система компьютерного зрения промышленного уровня должна иметь механизм fallback: если модель не уверена (softmax < порога, например, < 0.7), возвращать NULL с пометкой «не определено». Это предотвращает ложные срабатывания на редких паттернах и повышает доверие пользователя. В 2026 году такой порог — норма для safety-critical систем.

Не забывайте про тестирование на adversarial examples: даже небольшие возмущения, невидимые глазу, могут полностью изменить предсказание. Сделайте robustness benchmark со стандартными атаками (FGSM, PGD) и используйте атакующее обучение (adversarial training) для защиты дорогих сценариев (платёжное распознавание лиц, безопасность автомобиля).

Мониторинг после деплоя: как модель деградирует незаметно

После запуска модели в реальную эксплуатацию её точность неизбежно падает — это называется distribution drift. В течение 3–6 месяцев mAP может уменьшиться на 5–10 % из-за изменения камер, освещения, появления новых объектов (например, новые модели автомобилей). Без мониторинга вы узнаете об этом от пользователей — когда они пожалуются на ошибки. К тому моменту отток может составить 5–10 % клиентов.