9 декабря 2020

GeekBrains
3 года назад

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

Показать полностью…
  • Нравится 0
  • Комментировать 0
  • 0
Пока нет комментариев
GeekBrains
3 года назад

Алгоритмы и структуры данных — непростая область знаний, нужная при этом и дата-сайентистам, и аналитикам, и программистам, а также представителям других специальностей. Поэтому мы решили открыть новый пятимесячный курс для разработчиков уровня junior и middle. Что нужно для поступленияумение программировать, опыт работы с одним или несколькими популярными языками;знания математики на уровне первого курса технического университета;базовое понимание алгоритмов и структур данных и умение работать с ними; возможность уделять обучению от 10 часов в неделю.Что предстоит изучить Обучение длится пять месяцев — в совокупности это 70 часов теории и 80 часов практики. Программа состоит из пяти блоков. Первый месяц. Знакомство с алгоритмами и структурами данных, изучение основных операций и практика выполнения реальных задач с бинарным поиском.Асимптотическая сложность алгоритмов. O-нотация.Алгоритм Евклида. Решето Эратосфена.Линейный и бинарный поиск.Понятие структуры данных. Связный список.Массивы и два указателя.Стек и очередь.Второй месяц. Базовые алгоритмы. Знакомство с жадными алгоритмами, создание рекурсивных алгоритмов и решение задач с популярными методами сортировок.Рекурсия и оценка сложности рекурсивных алгоритмов.Сортировка пузырьком, вставками и выбором.Быстрая сортировка. Сортировка слиянием.Сортировка подсчётом.Понятие жадного алгоритма.Третий месяц. Графы — освоение дерева поиска, обучение решению задач с использованием специальных деревьев. Знакомство с понятием графов, их видами и способами представления в памяти.Бинарные деревья.Очередь с приоритетом и пирамидальная сортировка.Сбалансированные (АВЛ) деревья.Специальные деревья.Определение графа. Способы представления графа в памяти.Обход в ширину и глубину. Компонент связности.Алгоритмы поиска кратчайшего пути в графе A*.Построение минимального остовного дерева.Четвёртый месяц. Хеш-таблицы и алгоритмы на строках — изучение хеш-функций и проблемы коллизий. Рассмотрение основных алгоритмов и структур данных для работы со строками.Хеширование, отображение и хеш-функции.Способы разрешения коллизий и открытая адресация.Хеш-таблицы.Префиксное дерево.Алгоритмы поиска подстроки в строке.Алгоритм Хаффмана.Пятый месяц. Знакомство с динамическим программированием, вероятностными алгоритмами, фильтром Блума и HyperLogLog. Задачи на двумерную динамику.Динамическое программирование.Одномерная динамика.Двумерная динамика.Понятие вероятностных алгоритмов и фильтр Блума.HyperLogLog.За время обучения вы создадите репозиторий и наполните его реализациями широкого спектра алгоритмов и структур данных. Это будет своеобразным дипломным проектом на курсе. Репозиторий украсит ваше портфолио и поможет в прохождении собеседований. Какие навыки вы получите во время обученияФундаментальные знания классических алгоритмов.Понимание практической значимости использования алгоритмов для решения рабочих задач.Умение оценивать сложность работы алгоритмов и структур данных.Опыт реализации классических алгоритмов.Опыт и навыки для решения алгоритмических задач.Новые знания помогут вам повысить квалификацию и решать более сложные задачи. После курса вы смело можете рассчитывать на более высокую зарплату.

Показать полностью…
  • Нравится 0
  • Комментировать 0
  • 0
Пока нет комментариев

4 февраля 2020

Павел Лаптев
4 года назад

Хочешь в друзья? Ставь 💜 на все записи и я тебя добавлю.

  • Нравится 0
  • Комментировать 0
  • 0
Пока нет комментариев
Павел Лаптев
4 года назад
  • Нравится 0
  • Комментировать 0
  • 0
Пока нет комментариев
Павел Лаптев
4 года назад

пообщаемся?
кидай заявку в друзья, лайкай все фотографии и пиши мне

  • Нравится 0
  • Комментировать 0
  • 0
Пока нет комментариев
← Предыдущая Следующая → 1 2
Показаны 1-5 из 8