Перейти к содержимому
Учи.Онлайн Выбрать школу
Статья

Компьютерное зрение: что это, где применяется и как освоить

Компьютерное зрение — навык, который позволяет поручить программе работу с изображениями: определить, что на снимке, найти и посчитать объекты, обвести их контур или прочитать текст. Человек, который им владеет, формулирует задачу, подбирает подходящий способ — от нескольких строк в библиотеке OpenCV до готовой нейросети или обучения собственной модели, — готовит и размечает примеры и проверяет, насколько часто программа ошибается. Навык нужен не только CV-инженерам: им пользуются разработчики, инженеры по качеству, аналитики, агрономы и геодезисты, которые снимают поля и площадки с дронов.

Автор: редакция Учи.ОнлайнОтветственный редактор: Дмитрий Игнатьев
Содержание
Иллюстрация к статье: Компьютерное зрение: что это, где применяется и как освоить

Новички чаще всего начинают с вопроса «какую нейросеть обучать», хотя его стоит задавать последним. Многие задачи закрывает классическая обработка изображений по цвету и форме, часть — модель, которую уже обучили на миллионах снимков. Своя модель нужна, когда ни то ни другое не справляется, и тогда основная работа уходит не на код, а на примеры и их разметку. Ошибки в разметке незаметно портят даже оценку качества, поэтому проверять её приходится так же внимательно, как саму модель.

Четыре задачи и кому они нужны

Почти любую практическую задачу можно свести к одной из четырёх. Классификация отвечает, что изображено на снимке целиком: лист здоровый или поражённый, шов годный или с дефектом. Детекция находит объекты и обводит их рамками, чтобы посчитать или указать место. Сегментация размечает изображение по пикселям и нужна, когда важны площадь и форма: какая доля поля полегла, где проходит граница пятна. OCR, оптическое распознавание символов, превращает надпись на фото в текст: номер вагона, маркировку, показания счётчика.

Разработчик проверяет загруженные пользователями фото или вытаскивает данные из чека. Инженер по качеству переводит часть визуального контроля на камеру. Аналитик считает машины на парковке по часам. Агроном и геодезист обрабатывают снимки с дронов: считают растения, ищут подтопленные участки.

OpenCV, готовая модель или своя

Классические методы библиотеки OpenCV — пороги по цвету, поиск контуров, морфологические операции — работают, когда объект чётко отличается от фона, а съёмка стабильна. Обучающие данные им не нужны, а результат легко объяснить.

Готовые модели обучены заранее на больших наборах. Модели Ultralytics YOLO по документации решают детекцию, сегментацию, классификацию, оценку позы и поиск повёрнутых объектов (OBB); последнее полезно для аэрофотоснимков, где объекты повёрнуты под разными углами. Предобученные детекторы обычно знают категории набора COCO, а их 80: люди, автомобили, животные, бытовые предметы. Если ваш объект в этот список не входит, модель его не найдёт. Модель SAM (Segment Anything) по описанию авторов обучена на 11 млн изображений и более чем миллиарде масок и выделяет контур объекта по щелчку или рамке, но не называет, что это за объект. Поэтому SAM ускоряет разметку, но не заменяет классификатор.

Способ Когда подходит Что понадобится
Классический OpenCV контрастный объект, постоянный свет и фон несколько тестовых снимков, подбор порогов
Готовая модель объект из известных категорий или нужен только контур проверка на своих снимках
Своя модель нестандартный объект, меняющиеся условия сотни размеченных примеров, видеокарта или облако

Учебный пример: сколько саженцев не прижилось

Ситуация учебная. Через месяц после посадки яблоневого сада агроном облетает участок дроном и получает ортофотоплан — сшитый из кадров снимок. Нужно понять, сколько саженцев погибло и где их подсадить.

Первая мысль — взять готовый детектор. Но в COCO нет категории «саженец», а ближайшая, «растение в горшке», описывает совсем другие снимки. SAM по щелчку аккуратно выделяет крону, однако щёлкать по тысячам деревьев вручную бессмысленно.

Тогда агроном пробует классический путь. Для каждого пикселя считается индекс избыточной зелени ExG = 2G − R − B: на голой почве он низкий, на листве высокий. Порог, найденный методом Оцу, отделяет зелень от земли, поиск контуров даёт пятна крон, а фильтр по площади отсекает сорняки. Точка схемы посадки без пятна — кандидат на выпад, и такие места агроном проверяет глазами.

К середине лета междурядья зарастают травой, и порог по зелени перестаёт отличать крону от травы. Здесь уже оправдана своя модель: агроном нарезает ортофотоплан на фрагменты, размечает несколько сотен крон рамками (SAM ускоряет обводку) и дообучает небольшой детектор. Умение вовремя сменить способ оказывается важнее знания архитектур.

Разметка: ошибки есть даже в эталонных наборах

Модель учится на разметке и оценивается по ней же. Если разметчик пометил годную деталь как брак, модель получает противоречивый пример, а если ошибка попала в тестовую выборку — неверную оценку. Насколько это распространено, показали Кёртис Норткатт, Аниш Аталье и Джонас Мюллер в статье «Pervasive Label Errors in Test Sets Destabilize Machine Learning Benchmarks» на NeurIPS 2021. Они проверили тестовые выборки десяти популярных наборов данных: алгоритм отбирал подозрительные примеры, а люди подтверждали ошибки. В среднем ошибочны не менее 3,3 % меток, в проверочной части ImageNet люди подтвердили 2 916 ошибок из 50 000 снимков, то есть 5,83 %.

Важнее другое следствие. После исправления меток рейтинг моделей меняется: на ImageNet более простая ResNet-18 обгоняет ResNet-50, если доля изначально неверно размеченных тестовых примеров вырастет всего на 6 %. Авторы советуют исправлять метки тестовой выборки, чтобы понять, как модель поведёт себя в реальной работе, и выбирать модели попроще, если разметка в вашей области шумная.

Для собственной задачи вывод практический. Пишите разметчикам инструкцию с примерами пограничных случаев: считается ли сорняк у ствола кроной, как размечать два сомкнувшихся куста. Тестовую выборку размечайте особенно тщательно, лучше вдвоём. Если модель «ошибается» на снимке, сначала проверьте, верна ли метка.

В каком порядке осваивать

Каждый следующий шаг опирается на предыдущий. Без Python не получится загрузить снимок, без классической обработки трудно понять, что модель видит в пикселях, а без привычки к метрикам невозможно отличить хорошую модель от удачной случайности. Обучение своей модели стоит в конце, потому что оно требует всего предыдущего.

  1. Python и библиотеки NumPy и Matplotlib: изображение как массив чисел, вывод картинок и графиков.
  2. OpenCV: цветовые пространства, пороги, контуры, морфология. Первая задача — посчитать монеты или крышки на столе.
  3. Готовые модели: запустить детектор и SAM на своих снимках и посмотреть, где они ошибаются.
  4. Метрики: точность и полнота, IoU, матрица ошибок, отдельная тестовая выборка.
  5. Разметка: инструмент вроде CVAT или Label Studio, инструкция, проверка качества меток.
  6. Дообучение модели на своих данных и сравнение с простым решением из второго шага.

Если удобнее учиться с наставником, начать можно с короткой программы. На курсе «Нейросети и машинное обучение для начинающих» Merion Academy за 4 месяца разбирают основы нейросетей, работу в Keras, свёрточные сети и распознавание изображений, а в конце делают итоговый проект. На входе нужно базовое владение Python. OpenCV и YOLO в обзоре не названы, их, вероятно, придётся осваивать отдельно.

Упражнения и самопроверка

Инженеру по качеству подойдут 50 фотографий одной детали с дефектами и без них, агроному — снимок участка с дрона, аналитику — кадры с камеры над парковкой. Решите задачу сначала средствами OpenCV, затем готовой моделью и сравните оба результата на одних и тех же снимках, которые вы разметили сами.

Результат проверяйте не по впечатлению. Отложите тестовые снимки заранее и не подбирайте на них пороги. Посчитайте, сколько объектов программа пропустила и сколько нашла лишнего, и решите, какая ошибка для задачи дороже: пропущенный погибший саженец обходится иначе, чем лишний выезд бригады. Снимите те же объекты в пасмурный день: если качество резко падает, решение держится на освещении. И следите, чтобы кадры одной сцены не попадали одновременно в обучение и в тест — иначе оценка выйдет завышенной.

Как навык влияет на доход

Для тех, кто работает именно в компьютерном зрении, ориентир дают анкеты специалистов. В калькуляторе зарплат Хабр Карьеры по навыку «Компьютерное зрение» в сентябре 2026 года медиана по России для всех уровней — 259 000 ₽ в месяц, рассчитанная по 51 анкете. Это зарплаты, которые указали сами специалисты, в основном из IT; выборка маленькая, и цифра показывает лишь порядок.

Инженеру по качеству, агроному или аналитику навык редко даёт отдельную надбавку. Он влияет на доход через задачи: появляется возможность взять проект автоматизации контроля или предложить хозяйству обработку снимков с дрона как услугу. Ищите вакансии своей профессии со словами «компьютерное зрение» или «OpenCV», с фильтром по региону и опыту, и проверяйте, указана сумма до вычета налога или на руки.

Как выбрать обучение

Если компьютерное зрение нужно как часть широкой подготовки в машинном обучении, посмотрите на курс «Machine Learning Engineer с нуля» Skillbox. Программа рассчитана на 9 месяцев: Python, SQL, статистика, классическое машинное обучение, затем временные ряды, рекомендательные системы, NLP и компьютерное зрение с нейросетями на PyTorch, а также более 10 проектов. Глубина блока по изображениям в обзоре не раскрыта, её стоит уточнить у школы.

Тем, кто заранее знает, с какими снимками будет работать, полезнее отраслевая программа. Медицинские изображения, аэрофотоснимки и фото изделий различаются и разрешением, и типичными ошибками разметки.

Пример такой программы — курс «Профессия Data Scientist в медицине» Skillfactory. Он длится 14 месяцев, около 750 академических часов, и после общих блоков по Python, математике и машинному обучению включает модуль «Computer Vision для медизображений» на 72 часа с анализом КТ-снимков. Конкретные методы сегментации и детекции в обзоре не перечислены.

При выборе любой программы проверьте, работают ли на ней с собственными снимками и разметкой, а не только с учебными наборами, и объясняют ли метрики детекции и сегментации.

Сравнить школы по более широкой теме поможет рейтинг онлайн-школ с обучением машинному обучению. Отдельного рейтинга по компьютерному зрению на сайте нет, поэтому наличие блока по изображениям проверяйте в программе каждого курса.

С какими профессиями связан навык

Компьютерное зрение как основная работа — профессия специалиста по компьютерному зрению, о ней на сайте есть отдельная статья. Близко к навыку стоят программист дронов, ML-инженер и Python-разработчик. Если же вы остаётесь в своей профессии, ориентир простой: начните с задачи, которую сейчас решаете глазами, и проверьте, хватит ли для неё нескольких строк OpenCV.