Компьютерное зрение — новый факультет GeekBrains

GeekBrainsGeekBrains

Компьютерное зрение — новый факультет 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 — это та область, в которой можно создавать по-настоящему инновационные продукты, вести исследовательскую деятельность и при этом не беспокоиться о своей востребованности, с первых же этапов получая высокую зарплату. Интересно? Тогда приходите к нам учиться —подайте заявку на странице факультета.

10:42
32
10:43
+3
Было бы классно поступить на такой, но нетвозможности :(
10:43
+2
Хмм, думала факультет ИИ этому обучает.
12:38
-1
Отлично, хоть и много плохих отзывов на GeekBrains, скажу что не стоит на них обращать внимания, учатся плохо ленивые, тот кто старается получает за свои деньги качественное обучение
Че то мне кажется данная телочка работает в этом самом GeekBrains
12:59
Привет.Ну как курсы? я хочу на Ruby записаться, стоит ли? 30 тысяч 5 месяцев. Как ресурс, как доступность обучения? вроде сейчас сайт норм работает