Специалист в области компьютерного зрения (альтернативные наименования профессии: Computer Vision Developer/CV-разработчик, Computer vision engineer/CV-инженер) разрабатывает алгоритмы, позволяющие компьютеру идентифицировать и анализировать изображения, извлекая из них необходимую информацию - в общем, воспринимать их так, как это делает человек. Эта профессия может быть интересна тем, кто увлекается IT, хорошо знает математику и не боится изучать программирование.
Краткое описание
Компьютерное зрение (CV) – это одна из технологий, используемых в системах искусственного интеллекта. Существуют также NLP – обработка естественного языка, Data Science – анализ данных, в которых применяются методы ML – машинного обучения. Возможность распознавать изображения компьютер получил благодаря Deep Learning (глубокому обучению) – это подвид машинного обучения, где для решения задач применяются нейронные сети.
Задача специалиста в области компьютерного зрения – обучить нейронные сети распознавать смысл изображений и видео, выделить определенные фрагменты из визуальной информации (видео, фото, сканы) для последующей обработки, реакций, выполнения сценариев.
Компьютерное зрение применяется в множестве областей, включая медицину, биотехнологии, оборонную промышленность, спорт, торговлю, транспорт, сельское хозяйство, энергетику, ЖКХ, автомобилестроение, робототехнику и различные системы мониторинга, безопасности и системы контроля доступа (СКУД), особенно в биометрии.
Вот некоторые функции, которые выполняются с помощью технологий компьютерного зрения:
- Поиск изображений — поиск и выборка изображений, схожих с заданным, в базе данных (применяется в поисковых системах);
- Улучшение качества изображения — увеличение четкости и резкости размытых изображений, устранение проблем с артефактами (дефекты при воспроизведении) видео, восстановление поврежденных участков;
- Модерация визуального контента на социальных сетях и торговых онлайн-площадках — сканирование загруженных изображений и фильтрация тех, которые не соответствуют установленным критериям (например, несоответствие товару в случае торговых платформ или наличие насилия, обнажения, особенно изображений детей, агрессии на социальных сетях);
- Распознавание лиц — используется правоохранительными органами, системами разблокировки смартфонов и СКУД, а также банками для идентификации клиентов;
- Навигация автономного транспорта — автомобили и дроны с помощью компьютерного зрения определяют препятствия на своем пути и строят безопасный маршрут.
Специфика профессии
Обязанности специалистов по компьютерному зрению варьируются в зависимости от уровня квалификации - грейда (junior, middle, senior). Чем выше грейд, тем труднее задачи:
- проектирование, тестирование, отладка, установка и обслуживание алгоритмов и оборудования компьютерного зрения для разнообразных целей и сред;
- разработка алгоритмов автоматизированного машинного зрения (сегментация, классификация, создание изображений, распознавание лиц или действий, перенос стиля), в основном для робототехники и работы с автономными аппаратными системами;
- составление технической документации для систем компьютерного зрения, которые служат руководствами для конечных пользователей;
- управление проектами в области компьютерного зрения, включающее формирование требований к ним, подготовку бюджета, координацию технических групп разработчиков;
- отслеживание последних научных исследований и технологических достижений для их использования в работе
Примеры типичных задач для инженеров по компьютерному зрению:
- Создание алгоритмов обработки для анализа изображений – определения объектов, детектирования лиц и движений, распознавания различных атрибутов изображений.
- Построение ML-моделей для идентификации и классификации объектов на изображениях с использованием сверточных нейронных сетей (CNN), обучение этих моделей на большом наборе размеченных данных."
- Разработка собственных алгоритмов и моделей для конкретных задач, используя библиотеки и инструменты компьютерного зрения (OpenCV, TensorFlow, PyTorch и т.д.).
- Проведение unit-тестирования для проверки функциональности, а также оптимизация систем компьютерного зрения для точной и эффективной работы, которая включает оценку точности и скорости алгоритмов, улучшение и оптимизацию существующих моделей и увеличение производительности.
- Инкорпорация компьютерного зрения в приложения и системы, что требует взаимодействия с другими разработчиками и включает в себя создание API, разработку пользовательского интерфейса и работу с облачными сервисами.
Достоинства и недостатки профессии
Достоинства:
- трудовая активность в быстро продвигающейся, перспективной области;
- необходимость в таких специалистах;
- высокий уровень оплаты;
- карьерные возможности;
- шанс работы удаленно и для нескольких компаний.
Недостатки:
- высокий уровень умственного стресса;
- возможность нерегулярного графика, особенно перед сдачей проекта;
- сидячая работа, влияющая на зрение;
- необходимость постоянно обучаться новым методам, подходам и технологиям (для тех, кто стремится к профессиональному развитию, это может быть преимуществом);
- необходимость хорошего знания английского языка (это может быть скорее преимуществом, чем недостатком).
Необходимые характеристики
Специалист в области CV требуется:
- аналитические и математические способности;
- развитые системное и логическое мышление;
- умение адаптироваться;
- творческий подход;
- способность организовывать работу;
- ответственность;
- ориентация на достижение целей
Также для специалиста в области компьютерного зрения будет полезно уметь качественно презентовать продукт и эффективно работать в команде.
Образование для разработчика компьютерного зрения
Инженер CV – это эксперт в одной из областей машинного обучения, поэтому основное образование должно быть связано с ML и AI. Для начала карьеры рекомендуется получить степень бакалавра, вот примеры подходящих направлений и профилей в вузах:
«Прикладная математика и информатика», 01. 03. 02:-
- «Прикладное машинное обучение»;
- «Прикладной анализ данных и AI»;
- «Анализ данных и интеллектуальные системы».
-
- «Системы AI и суперкомпьютерные технологии».
-
- «AI и машинное обучение».
-
- «Программирование и Искусственный Интеллект»;
- «Машинное обучение и Интеллектуальные системы»
-
- «Интеллектуальные системы».
-
- «Компьютерные системы зрения».
Специализации магистратуры:
«Информатика и прикладная математика», 01. 04. 02:-
- «Обработка изображений, графика и компьютерное зрение».
-
- «Цифровая обработка изображений и сигналов».
-
- «Компьютерное зрение и машинное обучение».
Требуемые ЕГЭ для поступления: математика, русский язык, информатика и ИКТ, иностранный язык. Возможна замена информатики на физику.
Премиум университеты для разработчиков в области компьютерного зрения
10 лучших вузов для специалистов по CV по версии RAEX (общая группа «IT»):
- Университет МГУ имени Ломоносова.
- Московский Физико-Технический Институт.
- Университет информационных технологий ИТМО.
- Национальный исследовательский университет ВШЭ.
- Санкт-Петербургский государственный университет.
- Политехнический университет Петра Великого СПбПУ.
- Московский государственный технический университет имени Н.Э. Баумана.
- Уральский федеральный университет имени Б. Н. Ельцина.
- Национальный исследовательский ядерный университет МИФИ.
- Московский авиационный институт.
С точки зрения развития Искусственного Интеллекта (ИИ), ВШЭ, МФТИ и ИТМО занимают лидирующие позиции. Центр компетенций НТИ "Искусственный интеллект", основанный на базе Физтеха, провел анализ рынка продуктов, основанных на ИИ. Исследование показало, что необходимость в специалистах в области ИИ все еще высока. Выпускники университетов, освоившие машинное обучение, способны решать ключевые задачи в этой области. В числе "лидеров" - выпускники шести университетов: ВШЭ, Физтеха (МФТИ), Сколтеха, ИТМО, МГУ, СПбГУ.
Место работы
В основном, компании и организации, использующие продукты на основе компьютерного зрения, не занимаются их разработкой внутри, а используют решения, предложенные специализированными компаниями. Вот несколько примеров российских компаний-разработчиков в области компьютерного зрения:
- «Системы компьютерного зрения», Санкт-Петербург;
- «ЭЛВИС-НеоТек», Москва;
- Яндекс, сервис 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 тыс. руб.
Размер оплаты труда разработчиков компьютерного зрения на октябрь 2023 года
Сведения о зарплатах представлены на сайте hh. ru.
Россия от 45000 до 200000₽
Москва в диапазоне 120000—350000₽
Профессиональное развитие
Карьерный рост, доход и перспективы для CV-разработчика улучшаются по мере приобретения опыта, знаний и навыков. Из небольших стартапов можно перебраться в глобальные компании – вакансий на данный момент больше, чем квалифицированных специалистов.
Необходимые профессиональные знания
Разработчикам компьютерного зрения необходимы следующие знания:
- математического анализа, линейной алгебры, статистики;
- языков программирования C++, Python (наиболее распространённые), Java (менее часто);
- библиотек и инструментов ML – PyTorch, OpenCV, Caffe, Catboost, MatLab, Point Cloud Library, NumPy, Matplotlib, TensorFlow, Scikit-learn, SciPy; нейросетевых моделей – ResNet, HRNet, Swin, DaViT и др. ;
- основ работы с GIT;
- структуры баз данных.
Может потребоваться обладать хотя бы базовыми знаниями в сфере, для которой предназначено резюме-приложение (будь то медицина, маркетинг, системы видеонаблюдения, электронная коммерция и так далее).
Комментарии