Компьютерное зрение — новый факультет GeekBrains
GeekBrains
«Студент факультета компьютерного зрения» — звучит как цитата из научной фантастики, не находите? На самом деле, инженер computer vision — профессия, которая хоть пока и не стала самой распространённой, но уже стремительно набирает популярность и предлагает высокие зарплаты даже на старте карьеры. В этой статье расскажем об этой специальности и о новом факультете компьютерного зрения GeekBrains.
Что такое компьютерное зрение и чем занимается его разработчик?
Computer vision engineer — это специалист, который учит компьютеры извлекать информацию из изображений. В частности, автоматически распознавать объекты или жесты на изображениях и видео. Если что-то может визуально определить человек (например, найти дефект товара), этому можно обучить и компьютер — и сэкономить таким образом время и ресурсы, упростив многие процессы.
Разработки в области компьютерного зрения применяются в самых разных компаниях, продукты которых связаны с изображениями или видео. Здесь и производство беспилотных автомобилей, и помощь врачам в интерпретации МРТ-снимков при поиске опухолей, и даже распознавание лиц в метро — чтобы определять нарушителей режима самоизоляции. Специалисты по компьютерному зрению помогают многим e-commerce-бизнесам снизить нагрузку на модерацию: например, когда сервис объявлений вроде «Авито» борется с троллями, которые загружают картинки с неподобающим содержанием.
Ещё интересный пример — платформа VisionLabs LUNA, которая с 2017 года помогает банку «Тинькофф» анализировать клиентскую базу и выявлять признаки мошенничества, а также верифицировать по фото клиентов, подавших заявку на кредит. Внедрение технологии в конечном счёте помогло и самому банку снизить кредитные риски, и его клиентам — быстрее получать решения по заявкам.
Специалистов по компьютерному зрению называют по-разному: и разработчиками, и инженерами, и исследователями (computer vision scientist). По сути специалист по компьютерному зрению — это, скорее, инженер, применяющий математические вычисления и программирование как рабочие инструменты. Так что глобально computer vision engineer, computer vision scientist, разработчик computer vision и разработчик технического зрения — это одно и то же.
Чем вообще занимается разработчик компьютерного зрения
Как правило, день такого специалиста начинается со стендапа с командой. Затем он пишет код для обучения нейронных сетей, занимается препроцессингом данных и анализирует эксперименты. Computer vision developer может работать как один, так и в команде, где каждый выполняет часть большой задачи.
Что касается рабочих инструментов, то в написании кода для экспериментов обычно используют язык Python, для обучения нейронных сетей — фреймворки Tensorflow или Pytorch. Также в работе задействованы специальные библиотеки для обработки изображений типа OpenCV. Для высоконагруженных проектов может также использоваться язык C++, поскольку написанное на нём исполняется в разы быстрее.
Computer vision — молодая, динамично развивающаяся область на стыке науки и инженерии, в которой экспериментов пока больше, чем готовых решений. Чтобы расти, здесь специалисту необходимо постоянно учиться. Но именно новизна и нестандартность задач, а также возможность создать что-то по-настоящему инновационное и приводят многих в эту профессию.
Как развивается и сколько получает специалист по компьютерному зрению
В этой области спрос со стороны работодателей значительно выше, чем число достойных кандидатов на рынке. Такие специалисты востребованы в разных отраслях бизнеса, от медицины до нефтеразработки, так что разработчики могут выбрать сферу по душе. Профессионалов ищут Mail.ru Group, Яндекс, ВКонтакте, Avito, «Сбер», «Тинькофф»… В общем, практически все ведущие технологические компании России — и многие зарубежные. Большинство вакансий, конечно, сосредоточены в Москве и в Санкт-Петербурге. Но почти все крупные IT-компании с весны полностью или частично работают на удалёнке, а специалистов по computer vision очень не хватает — так что у разработчиков из регионов хорошие шансы получить место в столичных компаниях.
Что касается карьерных перспектив, то путь от джуна до мидла в среднем занимает от года до трёх, в зависимости от вовлечённости и стремления развивать хард-скилы. Чтобы дорасти до senior-специалиста, необходимо не бояться ответственности, браться за большие направления и понимать, как развивать их не только с точки зрения технологий, но и в плане бизнеса.
Что касается зарплат: начинающие получают около 100 тысяч рублей, мидлы — 150–200 тысяч, заработок сеньоров составляет около 250 тысяч, а тимлидов — 300–400 тысяч.
Чему учат на факультете компьютерного зрения в GeekUniversity
Обучение на факультете computer vision в GeekUniversity занимает 11 месяцев и на 70% состоит из вебинаров, то есть из общения с преподавателем в онлайн-режиме. Курс состоит из трёх модулей: создание инфраструктуры, основы машинного обучения и изучение компьютерного зрения.
Первый блок можно назвать вводным. Поскольку специалисты в области компьютерного зрения при решении задач опираются на знания по математике и программированию, то на старте предстоит изучить с нуля или освежить в памяти темы из высшей математики, математического анализа и линейной алгебры, а также поработать с языком Python. Не беспокойтесь, если ваши знания ограничиваются школьной математикой, которая была «давно и неправдой»: мы поможем подтянуть нужные темы в первом модуле, чтобы в дальнейшем все учащиеся могли двигаться по программе в одном ритме.
Второй модуль полностью посвящён машинному обучению. Оно помогает решать задачи компьютерного зрения быстрее и проще. Например, для распознавания лиц можно экспертно расписать признаки лица на основе вопросов, которые задаются при составлении фоторобота. А можно дать на вход алгоритму много фотопортретов с разметкой о том, какое лицо кому принадлежит, — и тогда алгоритм сам научится извлекать признаки, по которым можно идентифицировать лица. В дальнейшем, если потребуется определить, кто на фотографии, алгоритму понадобится лишь база с портретами. Если там будет снимок нужного вам человека, то система сама легко его найдёт.
Ещё во втором модуле будем разбирать теорию вероятностей и математическую статистику. Студенты потренируются в решении задач с помощью фундаментальных алгоритмов и структур данных в Python, познакомятся с библиотеками Python для Data Science (NumPy, Matplotlib), а также с алгоритмами машинного обучения.
Наконец, в рамках третьего модуля разберём основные задачи компьютерного зрения, поработаем с математической морфологией и библиотеками OpenCV и PIL. В OpenCV реализованы основные алгоритмы обработки изображений. Примечательно, что некоторые подходы к ней были изобретены ещё в прошлом веке и до сих пор используются в некоторых задачах. Также о них могут спросить на собеседованиях, поэтому обязательно обсудим эту тему.
Отдельно разберём deep learning — область машинного обучения, которая изучает нейронные сети, их архитектуры и подходы к применению. С 2010-х такие модели эффективно применяются в задачах компьютерного зрения.
Как поступить на факультет и что будет в портфолио
Студентам предстоит создать три проекта для своего портфолио, которые будут отличаться друг от друга сложностью и видами задач.
В конце обучения — дипломный проект по одной из пяти тем:
- детекция объектов — масок на лицах, головных уборов и т. д.;
- поиск похожих объектов;
- классификация изображений;
- style transfer — перенос стиля изображения, например трансформация светлого времени суток в тёмное на фотографии;
- сегментация изображений.
Конкретную задачу студент выберет сам, данные будут взяты из открытых датасетов.
Все проекты будут связаны с реальными кейсами, встречающимися в жизни. Работа над дипломом позволит студентам пройти весь цикл решения задачи: от обработки данных до подготовки к продакшену. Ученикам предстоит самостоятельно собирать и размечать данные, определять метрики качества и цели, обучать модель и готовить MVP в виде сервиса в Docker.
Computer vision — это та область, в которой можно создавать по-настоящему инновационные продукты, вести исследовательскую деятельность и при этом не беспокоиться о своей востребованности, с первых же этапов получая высокую зарплату. Интересно? Тогда приходите к нам учиться —подайте заявку на странице факультета.