Специалист по компьютерному зрению: чем занимается, какие навыки нужны и как учиться
Специалист по компьютерному зрению, или CV-инженер, делает системы, которые по изображению или видео принимают решение: находят дефект на детали, считают людей в очереди, читают номер вагона, следят за движением погрузчика. Он подбирает камеру и свет вместе с технологами, собирает и размечает данные, обучает модели детекции и сегментации, оценивает их метриками mAP и IoU и переносит на компактные вычислители у конвейера. Нужны Python, OpenCV, фреймворк для нейросетей, математика и понимание оптики. Отдельный вопрос — проекты с лицами: распознавание подпадает под правила о биометрических данных.
Содержание
Представьте конвейер, по которому каждую секунду проходят несколько пластиковых крышек. Раньше их просматривал контролёр, теперь над лентой висит камера, и за доли секунды нужно решить, отправлять ли крышку в брак. Новички обычно думают, что главная часть такой работы — выбрать нейросеть посильнее. На практике больше сил уходит на то, что происходит до модели и после неё: как освещена деталь, сколько примеров брака удалось собрать, успевает ли модель ответить, пока крышка не доехала до отбраковщика, и что будет, если она ошибётся. Результат работы CV-инженера — не файл с весами, а система, где камера, свет, модель и отбраковщик вместе дают предсказуемую долю пропущенного брака.

Какие задачи решает компьютерное зрение
Классификация отвечает на вопрос «что на снимке целиком»: годная деталь или бракованная. Детекция находит объекты и обводит их рамками: где на кадре каска, где человек без каски. Сегментация размечает изображение попиксельно и нужна, когда важны форма и площадь: сколько процентов поверхности занимает ржавчина, где проходит граница трещины. Трекинг связывает объекты между кадрами видео, чтобы не посчитать одного покупателя пять раз. Распознавание текста, OCR, читает номера, маркировку и показания приборов.
В промышленности из них складывается визуальный контроль качества: сварные швы, этикетки, комплектность упаковки. В логистике считают товар на паллетах, в сельском хозяйстве оценивают посевы по снимкам с дронов.
Чем эта работа отличается от соседних
На сайте уже есть материал о специалисте по глубокому обучению. Его ось — дообучение нейросетей на любых «сырых» данных: изображениях, текстах, звуке. CV-инженер работает только с изображениями и видео, но отвечает ещё и за съёмку, скорость обработки кадра и поведение модели на конкретном устройстве.
Инженер машинного обучения выводит модели в эксплуатацию и следит за ними, чаще на серверах. Инженер систем видеонаблюдения настраивает камеры, архив и сеть, но модели не обучает. CV-инженер оказывается между ними.
Учебный пример: брак на конвейере
Ситуация вымышленная. Завод выпускает пластиковые крышки для бутылок, линия выдаёт 10 штук в секунду. Нужно автоматически отбраковывать крышки со сколами на резьбе, недоливом пластика и чёрными включениями. За месяц накопилось около 40 000 снимков, из них бракованных — меньше 600, причём сколов всего 70.
Первая версия модели детекции на проверочной выборке выглядит прилично, но на линии пропускает сколы. Инженер просматривает пропущенные кадры и видит, что сколы на глянцевом пластике тонут в бликах от кольцевой лампы. Вместе с наладчиком он меняет схему освещения: ставит низкоугловую подсветку, при которой рельеф даёт тени, и поляризационный фильтр против бликов. Выдержку сокращают, чтобы крышка на ходу не смазывалась. Старые снимки после этого почти бесполезны, и данные собирают заново.
Сколов по-прежнему мало. Инженер просит технологов намеренно сделать партию дефектных крышек и пишет инструкцию для разметки: что считать сколом, как обводить включение меньше миллиметра. Аугментации подбирает осторожно: повороты крышки допустимы, она круглая, а сильное изменение цвета могло бы превратить нормальную крышку в «недолив» по оттенку.
Модель запускают на компактном вычислителе у линии. После перевода в формат ONNX и сборки движка TensorRT с пониженной точностью она укладывается в 30 миллисекунд на кадр, но инженер заново прогоняет проверочную выборку: после квантования мелкие включения стали находиться хуже, поэтому для этого класса возвращают вычисления повышенной точности. Итог — система, которая ловит почти все сколы при доле ложной отбраковки, согласованной с начальником смены, и список ситуаций, при которых её нужно перенастраивать: новый цвет пластика, другая лампа.
Камера и свет: работа до модели
Хорошая съёмка экономит месяцы обучения. CV-инженер оценивает, сколько пикселей придётся на самый мелкий дефект: если скол на снимке занимает два пикселя, никакая архитектура его надёжно не найдёт. Для быстрой ленты нужна камера с глобальным затвором: построчный искажает форму движущейся детали.
Свет подбирают под дефект. Царапины и вмятины лучше видны при боковой низкоугловой подсветке, контур детали — в контровом свете, блики на металле и глянце гасят диффузным светом и поляризаторами. Условия фиксируют: модель, обученная при одном освещении, после замены лампы может молча начать ошибаться.
Данные, разметка и аугментации
Разметка в компьютерном зрении дорогая: рамку или маску рисует человек, и точный контур для сегментации стоит в разы дороже прямоугольника. Поэтому инженер заранее решает, какая разметка действительно нужна задаче.
Брака на хорошем производстве мало, и данные почти всегда несбалансированы. Помогают намеренно изготовленные дефектные образцы, аугментации и подходы, которые учатся только на нормальных изделиях и отмечают всё непохожее. Аугментации — случайные повороты, сдвиги, изменения яркости и шум при обучении — должны имитировать то, что реально бывает на линии. Отражение по горизонтали, безобидное для крышки, ломает задачу OCR: зеркальные буквы на маркировке не встречаются.
Метрики: что стоит за mAP и IoU
IoU, или отношение пересечения к объединению, показывает, насколько рамка модели совпала с рамкой разметчика: 1 — полное совпадение, 0 — рамки не пересеклись. Детекцию засчитывают верной, если IoU выше порога. На этом строится mAP — средняя точность по всем классам. В документации Ultralytics различают mAP50, посчитанную при пороге IoU 0,5, и mAP50-95 — среднее по порогам от 0,5 до 0,95.
Разница практическая. Для подсчёта крышек достаточно, чтобы модель нашла объект примерно в нужном месте, и mAP50 здесь честная метрика. Если по рамке потом измеряют размер дефекта или по ней обрезают номер для OCR, важна точность границ, и смотреть нужно на mAP50-95. При этом ни одна из этих цифр не отвечает на вопрос завода. Технолога интересует, какая доля брака уйдёт покупателю и сколько годных крышек выбросят зря, поэтому инженер подбирает порог уверенности модели по этим двум числам.
Развёртывание на edge-устройствах
Edge-устройство — вычислитель рядом с камерой: промышленный компьютер, модуль с графическим ускорителем, иногда сама «умная» камера. Отправлять видео на сервер часто нельзя из-за задержки, поэтому модель ужимают. Её экспортируют в ONNX — открытый формат, понятный разным средам исполнения, — а затем собирают оптимизированный движок, например TensorRT для ускорителей NVIDIA или OpenVINO для процессоров Intel.
Главный способ ускорения — квантование: вычисления переводят с 32-битных чисел на 16-битные или 8-битные целые. Для 8-битного варианта нужна калибровка на наборе реальных кадров, и после неё качество обязательно проверяют заново: мелкие и малоконтрастные объекты страдают первыми.
На курсе «Инженер машинного обучения PRO» Нетологии за 13 месяцев проходят полный цикл ML-проекта, от подготовки данных до развёртывания в Docker и Kubernetes и мониторинга, а затем выбирают специализацию: компьютерное зрение с OpenCV, YOLO, ResNet и Vision Transformer или обработку текстов. Программа рассчитана на тех, кто уже знает Python, SQL и Git и работает в IT. ONNX, TensorRT и квантование в обзоре на Учи.Онлайн не упоминаются, поэтому, если вам важны edge-устройства, спросите школу, разбирают ли их.
Если в кадре лица
Когда камера смотрит на людей, появляются юридические ограничения. Статья 11 закона № 152-ФЗ «О персональных данных» называет биометрическими сведения о физиологических особенностях человека, по которым можно установить личность и которые оператор использует для установления личности. Обрабатывать их можно только с письменного согласия человека, за исключениями из части 2: оборона, безопасность, правосудие, транспортная безопасность и ряд других случаев. Часть 3 добавляет, что предоставление биометрии не может быть обязательным и нельзя отказать в обслуживании тому, кто не дал согласия.
Для инженера важна формулировка про цель. Роскомнадзор ещё в разъяснениях 2013 года указывал, что записи камер в общественных местах и на охраняемой территории не считаются биометрическими данными, пока их не используют для установления личности. Значит, детекция людей для подсчёта посетителей, проверка касок или размытие лиц на записи — обычная обработка изображений и персональных данных, но не биометрия. А сравнение лица с базой сотрудников, чтобы открыть турникет, — уже биометрия: нужно письменное согласие каждого и альтернативный способ пройти для тех, кто откажется. Идентификацию по лицу в банках, госуслугах и ряде других сфер дополнительно регулирует закон № 572-ФЗ о единой биометрической системе.
Это меняет архитектуру проекта. Если задачу можно решить без установления личности, лучше так и решать: хранить счётчики и треки, а не лица. Если без распознавания не обойтись, согласия нужно продумать до сбора обучающих данных. Оценку дают юристы, но вопрос должен задать инженер, который решает, что модель извлекает из кадра.
Что нужно знать и уметь
Основа — Python, библиотека OpenCV для классической обработки изображений и один из фреймворков для нейросетей. Классические методы не устарели: поиск контуров часто решает простую задачу надёжнее нейросети. Математика нужна рабочая: линейная алгебра для геометрии камеры, теория вероятностей для метрик. Для развёртывания пригодятся Docker, Linux и хотя бы чтение кода на C++: на edge-устройствах быстрые части нередко пишут на нём.
Длинные программы с нуля ведут к этому набору постепенно. На курсе «Специалист по компьютерному зрению дронов и нейросетям» Skillbox 21 модуль за 8 месяцев: сначала Python и математика, затем нейросети с PyTorch, Keras, TensorFlow, YOLO и U-Net. По обзору на Учи.Онлайн в программе 404 часа практики, а итоговый проект — решение для сельского хозяйства с полным циклом от сбора и разметки данных до оценки качества. Нагрузка заметная, а условия доступа к вычислительным ресурсам для обучения моделей стоит уточнить у школы.
Сколько платят
По навыку «Компьютерное зрение» в калькуляторе зарплат Хабр Карьеры данные есть, хотя выборка маленькая. В сентябре 2026 года калькулятор показывает по России в целом, без разбивки по городам, такие медианы фактических зарплат с учётом премий:
| Уровень | Медиана, ₽ в месяц | Число анкет |
|---|---|---|
| Junior | 132 500 | 7 |
| Middle | 205 458 | 19 |
| Senior | 345 000 | 16 |
| Lead | 404 166 | 7 |
| Все уровни | 259 000 | 51 |
Это суммы, которые специалисты сами указали в анкетах, а не предложения в вакансиях. У джуниоров и лидов всего по семь анкет, так что таблица показывает порядок величин, а не точную цену. Вакансии смотрите отдельно на hh.ru и в Хабр Карьере с фильтром по региону и опыту и проверяйте, указана сумма до вычета налога или на руки.
Что может оказаться трудным
Работа постоянно выходит за пределы кода: нужно ездить на площадку, спорить с наладчиками о лампах и мириться с тем, что модель, идеальная в офисе, ошибается в цеху из-за пыли на объективе. Тем, кто хочет работать только с готовыми датасетами, ближе серверные задачи.
Вторая трудность — ответственность за ошибку в физическом мире. Пропущенный дефект уезжает к покупателю, ложная отбраковка выбрасывает годную продукцию, а остановка линии из-за зависшей модели стоит денег каждую минуту.
Как начать и что показать работодателю
Если вы уже знаете Python и классическое машинное обучение, можно идти в специализированную программу. На курсе Deep Learning Engineer от Karpov Courses после базового модуля на 8 недель выбирают трек, и трек по компьютерному зрению длится 12 недель: классические методы обработки изображений, классификация, детекция, распознавание лиц, трекинг, сегментация, OCR, архитектуры ViT и CLIP. Итоговый проект — система распознавания автомобильных номеров. Требования на входе серьёзные: Python, машинное обучение, линейная алгебра и высшая математика. Условия доступа к видеокартам в обзоре не описаны.
Попробовать себя можно и бесплатно. Сфотографируйте на телефон три десятка болтов при разном освещении, разметьте их, дообучите небольшую модель детекции и сравните качество при лампе и при дневном свете. Затем экспортируйте модель в ONNX и замерьте скорость на процессоре. Такой проект с описанием съёмки, метрик и замеров скажет работодателю больше, чем учебная задача на готовом наборе.
При выборе онлайн-курса проверьте, есть ли в программе работа с собственными данными и разметкой, объясняют ли метрики детекции, а не только точность классификации, и доходят ли проекты до запуска модели вне ноутбука. Сравнить школы поможет рейтинг онлайн-школ с обучением Data Science. Он шире темы: в нём программы по анализу данных и машинному обучению в целом, отдельного рейтинга по компьютерному зрению нет, поэтому специализацию каждой программы сверяйте с учебным планом.
Первые шаги бывают разными. Разработчик на Python может перейти к задачам видеоаналитики внутри своей компании. Технолог, освоивший машинное обучение, ценен в контроле качества, потому что знает дефекты. Выпускник технического вуза может начать с подготовки данных в команде компьютерного зрения. Общее у этих маршрутов одно: работодатель ждёт человека, который проверяет модель на реальной камере, а не только на проверочной выборке.