Профессия разработчик компьютерного зрения
Разработчик компьютерного зрения (другие названия профессии: Computer Vision Developer/CV-разработчик, Computer vision engineer/CV-инженер) пишет алгоритмы, чтобы научить компьютер распознавать и анализировать изображения, извлекать из них нужную информацию – словом, воспринимать их так, как это делает человек. Профессия подходит тем, кто увлекается информационными технологиями, дружит с математикой и не боится учиться программировать.
Краткое описание
Компьютерное зрение (CV) – одна из технологий, применяемых в системах искусственного интеллекта (ИИ). Кроме нее, есть еще NLP – обработка естественного языка, Data Science – анализ данных. В этих технологиях тоже используются методы ML – машинного обучения. Способность различать изображения компьютер получил благодаря Deep Learning (глубокому обучению) – виду машинного обучения, в котором для решения задач используются нейросети. Задача разработчика компьютерного зрения – научить нейросети извлекать смысл из изображений и видео, вычленять заданные фрагменты из визуальной информации (видео, фото, сканов) для дальнейшей обработки, реакций, выполнения сценариев.
Системы компьютерного зрения используются в разных сферах: медицине, биотехнологиях, обороне, спорте, торговле, транспорте, сельском хозяйстве, энергетике, ЖКХ, автомобилестроении, робототехнике, различных системах мониторинга, безопасности и СКУД (управления доступом, например по биометрии), робототехнике и т. д.
Некоторые из задач, которые выполняют продукты с CV:
- поиск изображений – распознавание картинки и отбор похожих в базе данных, (используется в поисковых системах);
- улучшение качества изображения – повышение четкости/резкости при увеличении размытой картинки, решение проблемы артефактов (дефектов при воспроизведении) видео, восстановление фрагментов;
- модерация визуального контента в соцсетях и торговых интернет-платформах для просмотра всего загружаемого массива и поиска тех картинок, которые не соответствуют заданным настройкам (для торговли: несоответствие товару, для соцсетей: насилие, обнажение, особенно если это изображения детей, агрессия);
- распознавание лиц – используется правоохранительными органами, системами разблокировки телефона и СКУД, банками для верификации клиентов и пр. (с 1 января 2024 года (по ФЗ № 572-ФЗ) для распознавания лиц компании обязаны подключиться к ЕБС (Единой биометрической системе). При этом для сбора данных надо предварительно получить согласие гражданина на размещение и обработку биометрических персональных данных в ЕБС);
- навигация беспилотного транспорта – автомобили или дроны с помощью компьютерного зрения распознают препятствия на своем пути, строят безопасный маршрут.
Разработчики компьютерного зрения создают алгоритмы и модели, которые позволяют компьютерам «видеть» и понимать изображения. Они работают над такими задачами, как детектирование и декомпозиция объектов на изображении, анализ движения и траектории, повышение качества изображения и многое другое.
В рамках стратегии импортозамещения и развития ИИ сегодня многие компании занимаются разработкой собственных проектов на базе технологий компьютерного зрения. Мы в BPA видим перспективу в подобных проектах и разрабатываем решения для автоматизации производства, мониторинга строительной деятельности, регулирования транспортных потоков, комплексного контроля безопасности на промышленных и инфраструктурных объектах. Приведу пример – наш проект по управлению офисными помещениями. Мы обучили модель компьютерного зрения распознавать подозрительные предметы в помещении (оставленный мусор), деятельность персонала и охраны.
Особенности профессии
Функции разработчиков компьютерного зрения (зависят от уровня профессионализма – грейда (junior, middle, senior), чем он выше, тем сложнее задачи):
- разработка, тестирование, отладка, развертывание и обслуживание алгоритмов и оборудования компьютерного зрения для различных задач и сред;
- разработка алгоритмов автоматизированного машинного зрения (сегментация, классификация, генерация изображений, распознавание лиц или действия, перенос стиля), преимущественно для робототехники и работы с автономными аппаратными системами;
- создание техдокументации для систем компьютерного зрения, в качестве мануалов для конечных пользователей;
- управление проектами компьютерного зрения, включающее определение требований к ним, разработку бюджета, координацию группами технических разработок;
- мониторинг последних исследований и технологических достижений для применения их в своей работе.
Примеры рабочих задач CV-инженеров:
- Разработка алгоритмов обработки для анализа картинки – распознавания объектов, детектирования лиц и движения, обнаружения различных атрибутов изображений.
- Разработка ML-моделей для распознавания и классификации объектов на картинках с применением сверточных нейронных сетей (CNN), тренировка этих моделей на большом количестве размеченных данных.
- Создание своих алгоритмов и моделей под конкретные задачи на базе библиотек и инструментов компьютерного зрения (OpenCV, TensorFlow, PyTorch и др.).
- Тестирование работоспособности (unit-тестирование), оптимизация систем компьютерного зрения для точной и эффективной работы, включающую оценку точности и скорости алгоритмов, улучшение и оптимизацию существующих моделей, повышение производительности.
- Интеграция компьютерного зрения в приложения и системы, требующая сотрудничества с другими разработчиками и включающая создание API, разработку пользовательского интерфейса, работу с облачными сервисами.
Плюсы и минусы профессии
Плюсы:
- работа в быстроразвивающейся, перспективной сфере;
- востребованность;
- высокая оплата труда;
- есть карьерные перспективы;
- возможность работы онлайн и на несколько компаний.
Компьютерное зрение – это одно из наиболее перспективных направлений работы в области искусственного интеллекта сегодня. В последние годы интерес к этой сфере значительно вырос, это связано с развитием технологий глубокого обучения и нейронных сетей. С уверенностью можно сказать, что специалисты по компьютерному зрению сегодня высоко ценятся на рынке, и в дальнейшем можно прогнозировать еще большую популярность этой профессии.
Важные качества
CV-разработчику нужны:
- аналитический, математический склад ума;
- развитое системное и логическое мышление;
- интеллектуальная гибкость;
- креативность;
- организованность;
- ответственность;
- нацеленность на результат.
Кроме того, разработчику систем компьютерного зрения не помешают способность к грамотной презентации продукта и умение работать в команде.
За последние годы ML-технологии прошли большой путь: появились более эффективные алгоритмы, найдены новые сферы их применения. Тенденция на развитие отрасли продолжается, и разработчики компьютерного зрения должны быть готовы к постоянному обучению и адаптации к новым технологиям.
Минусы:
- высокое умственное напряжение;
- график может быть ненормированным, перед сдачей проекта возможны «авралы»;
- сидячая работа, нагрузка на зрение;
- необходимость постоянно изучать новые подходы, методы, технологии (для тех, кто стремится к профессиональному развитию, это, наоборот, плюс);
- нужно очень хорошо знать английский (тоже скорее достоинство, чем недостаток).
Где учиться на разработчика компьютерного зрения
CV-инженер – это специалист по одной из технологий машинного обучения, соответственно, базовое образование должно быть связано с ML и AI (ИИ). Для старта карьеры желательно получить степень бакалавра, примеры вузовских направлений подготовки и профилей:
- «Прикладная математика и информатика», 01.03.02:
- «Прикладное машинное обучение»;
- «Прикладной анализ данных и ИИ»;
- «Анализ данных и интеллектуальные системы».
- «Математика и компьютерные науки», 02.03.01:
- «Системы ИИ и суперкомпьютерные технологии».
- «Информатика и вычислительная техника», 09.03.01:
- «ИИ и машинное обучение».
- «Информационные системы и технологии», 09.03.02:
- «ИИ и программирование»;
- «Интеллектуальные системы и машинное обучение».
- «Прикладная информатика», 09.03.03:
- «Системы ИИ».
- «Радиотехника», 11.03.01:
- «Системы компьютерного зрения».
Специальности в магистратуре:
- «Прикладная математика и информатика», 01.04.02:
- «Компьютерное зрение, графика и обработка изображений».
- «Прикладная математика», 01.04.04:
- «Цифровая обработка сигналов и изображений».
- «Фундаментальная информатика и ИТ», 02.04.02:
- «Машинное обучение и компьютерное зрение».
Для поступления нужны ЕГЭ преимущественно по математике, русскому, информатике и ИКТ, иностранному. Как вариант, вместо информатики – физика.
Лучшие университеты для разработчика компьютерного зрения
Топ-10 вузов для CV-разработчиков по версии RAEX (общая группа «ИТ»):
- МГУ им. Ломоносова.
- МФТИ.
- Университет ИТМО.
- НИУ «ВШЭ».
- СПбГУ.
- СПбПУ Петра Великого.
- МГТУ им. Баумана.
- УрФУ им. Ельцина.
- НИЯУ МИФИ.
- МАИ.
Что касается именно ИИ, то лидерами в этой сфере можно назвать «Вышку», МФТИ и ИТМО. На базе Физтеха создан Центр компетенций НТИ «Искусственный интеллект». Его аналитики провели исследование рынка продуктов на основе ИИ, среди его результатов вывод: кадровый голод на рынке ИИ сохраняется, а решать ключевые задачи в сфере искусственного интеллекта по плечу выпускникам вузов, получившим навыки работы с машинным обучением. В числе «фаворитов» выпускники шести университетов: ВШЭ, Физтеха (МФТИ), Сколтеха, ИТМО, МГУ, СПбГУ.
Курсы машинного обучения
-
Искусственый интеллектАкадемия ростаСрок обучения3 месяцаРассрочкаестьЦена20 000 ₽старт в любое время рассрочка бонусная программа для обучающихся по вторым и более программам скидка 10 %, 1 и 21 числа каждого месяца скидка 5 %, для организаций скидка 10 % на каждого человека при количестве обучающихся от 2 человек и больше, доступ к учебным материалам не ограниченнет20 000 ₽
Место работы
Большинство предприятий и организаций, использующих продукты на базе компьютерного зрения, не разрабатывают их силами своего штата, а пользуются решениями, которые предлагают специализированные компании. Искать работу нужно именно в них, несколько примеров российских компаний-разработчиков CV:
- «Системы компьютерного зрения», Санкт-Петербург;
- «ЭЛВИС-НеоТек», Москва;
- Яндекс, сервис Yandex Vision;
- Mail.ru Group;
- «Контент ИИ» (ранее – ABBYY Россия), Москва;
- ГосНИИАС, Москва.
Кроме этого, можно устроится на работу дистанционно в иностранные компании.
Оплата труда
Больше половины открытых вакансий для разработчика компьютерного зрения в России приходится на Москву, у Питера – второе место.
Московские предложения в зависимости от уровня профессионализма, стека, которым владеет кандидат:
- Junior – от 100 тыс. руб.
- Junior+/Middle – 130–250 тыс. руб.
- Middle – 200–285 тыс. руб.
- Python-разработчик CV, специалист по Data Sciense, ML и CV – 200–300 тыс. руб.
- руководитель группы разработки (WMS) – 207–400 тыс. руб.
Карьера
Карьера, заработок и перспективы CV-разработчика прогрессируют по мере накопления опыта, знаний, умений. Из небольших стартапов можно перейти в крупные компании – вакансий пока больше, чем специалистов высокого уровня квалификации.
Профессиональные знания
Разработчику компьютерного зрения требуются знания:
- матанализа, линейной алгебры, статистики;
- языков C++, Python (чаще всего), Java (реже);
- библиотек и инструментов ML – PyTorch, OpenCV, Caffe, Catboost, MatLab, Point Cloud Library, NumPy, Matplotlib, TensorFlow, Scikit-learn, SciPy; нейросетевых моделей – ResNet, HRNet, Swin, DaViT и пр.;
- принципов работы с GIT;
- структур баз данных.
Могут понадобиться хотя бы поверхностные знания в области, для которой создается CV-приложение (медицина, маркетинг, видеонаблюдение, электронная торговля и др.).
Статья проверена экспертом. Кстати, недавно центр профориентации ПрофГид разработал точный тест на профориентацию, который сам расскажет, какие профессии вам подходят, даст заключение о вашем типе личности и интеллекте.