Заметки Computer Vision инженера
5.84K subscribers
36 photos
13 videos
334 links
Мои статьи из разных мест.
Моя телега - @wk_zb

Про консультации - https://telegra.ph/Pro-konsultacii-03-19
Про рекламу - https://telegra.ph/Pro-reklamu-v-bloge-03-19
Про политоту - https://telegra.ph/Pro-politiku-na-kanale-vo-izbezhanie-bana-04-11
Download Telegram
Надобность создать этот канал возникла давно. Но что-то только сейчас решил это сделать. Изначально, когда создавал свой блог году в 2016 как-то телегу не очень активно использовал, так что дублировал блок в группа вконтакте, на фэйсбуке и в твиттере. В фейсбуке и твиттере аудитория была человек пять, так что оставил только вконтакт.
Но знаю очень много народу которым это неудобно. Зато, наверное, всем удобна телега. Так что создаю канал тут.
Для разнообразия попробовал опубликовать статью в месте где раньше ни разу не публиковался, но которое, на мой взгляд, имеет достаточно адекватное число статей хороших:)
https://rb.ru/opinion/computer-vision-mvp/
🔥1
Натолкнулся на весьма интересное мнение, что использование DL в браузере это никому не нужные игрушки. Но, как ни странно, на сегодняшний день это достаточно уникальный способ инференса моделей. Этот способ поддерживает телефоны, intel, amd, nvidia и всё-всё-всё.
Конечно, производительность не максимальная. Но вам не нужно заботиться о том, что что-то у кого-то не пойдёт. Примерно 90% устройств будут поддержаны, и всё будет работать там.
Сделал краткий обзор на тему того, почему это не страшно:)

https://youtu.be/aIP3lSHvyC4
Неделю назад в качестве эксперимента публиковал статью на rb. Но из-за ограничения числа символов в статье она была очень общей. Пока её писал в реальности написал ещё вторую статью, куда более подробную
На Хабре такое не формат публиковать, попробовал пристроить на VC:)
https://vc.ru/ml/130523-kak-mashinnomu-obucheniyu-prokrastsya-v-produkt
Мы работаем с достаточно большим количеством компаний. Кому-то что-то разрабатываем, кого-то консультируем. Наверное, единовременно фирм 5-6 в среднем.
Одно из мест, которое я последние пару месяцев совсем немного консультирую, - ДиТ ДЗМ. Это такие ребята, через которых проходят почти все КТ и МРТ исследования Москвы. Недавно ребята попросили, чтобы я провёл какую-то лекцию про Computer Vision в медицине. Ну и я, естественно, не удержался рассказать в очередной раз, почему при переходе к практике большинство моделей перестают работать.
https://youtu.be/dExf8a7hm9U
🔥1
Редко, когда я сажусь и за пару часов пишу такую классную статью. Но реально, после последней статьи FaceBook прямо-таки нахлынули воспоминания на очень классную тему, которая весьма поучительна.
Реальное применение очень крутой сетки, опередившей своё время на практике:
https://cv-blog.ru/?p=310
Сейчас делаю очередной проект для себя, в котором, как водится, есть embedded, openvino, RPi, Computer Vision, сколько-то машинлёнинга и куча разных свистелок и перделок.
Такие проекты помогают немного встряхнуться, пересмотреть взгляд на окружающие проблемы, поделать руками что-то максимально простое и притом максимально быстро.
Про сам проект расскажу, наверное, через несколько месяцев, когда пойму, насколько всё работает и какой результат даёт.
Но по ходу родилось несколько прикольных решений, которые (на мой взгляд), может использовать много людей в своих других задачах. Сегодня небольшая статья про штуку, которая меня давно мучила:
"как использовать RaspberryPi в проектах машинного зрения, чтобы не нужно было каждый раз настраивать сеть через монитор/клавиатуру/ssh".
В итоге сделал решение, которое занимает несколько строк и можно использовать в любом другом проекте.
http://cv-blog.ru/?p=318 - описание
https://github.com/ZlodeiBaal/RPi_WiFi_autoconnect - сорсы
В целом я не люблю конференции по ML. И хожу обычно туда поговорить с людьми. Хорошая конференция - много интересного народу. Но иногда, в перерывах между разговорами, можно и что-то интересное послушать.
Хорошая популярная лекция в таких местах редкость, но бывает.
В последние года два всегда ходил на machinescansee. Из бесплатных она самая крутая среди тех что в Москве проходит. В этом году они будут онлайн, понятное дело (вечера с понедельника по среду). Может быть, кому-то тоже будет интересно - http://machinescansee.com/
Они, естественно, бесплатные.
Небольшой лайфхак про трекинг.
Обнаружил что много кто для трекинга объектов в видео использует очень сомнительные алгоритмы трекинга из OpenCV или Dlib. По сути корреляционные или их аналоги.
Оно и логично. Ведь 90% примеров в интернете именно про это.
Как правильно делать трекинг и какой он бывает - я расскажу как-нибудь на Хабре, статья уже почти готова.
Но не мог удержаться чтобы не сделать минималистичный пример о том как трекинг всё-же делать надо. Из всех подходов что мне встречались/что я использовал этот самый простой - https://cv-blog.ru/?p=322
Вчера вышло YoloV5. Уже читая статью стало понятно что что-то там не так:
1) А где описания того что сделано собственно?
2) А где нормальные тесты со всем что есть?
3) А где нормальное портирование хоть на какие-то фреймоврки? После того как v4 было портировано всюду
4) А какое отношение оно имеет к прошлым релизам
Примерно про это и записал видео - https://youtu.be/ptDTHla2U3o
Сегодня натолкнулся на то что Nvidia выпустила "NVIDIA Feature Map Explorer". Я, скорее, считаю что визуализация внутренних состояний сети - скорее бесполезная затея, но решил посмотреть.
Инструмент и его интерфейс скорее меня рассмешил своей бесполезность, зато дал повод поговорить о интересной теме. А зачем вообще может на практике потребоваться визуализировать отклики или внутренние параметры сети, как это делать, и что для этого нужно.
Короче, пара лов про Class Activation Mapping, Attention-like механизмы, и прочее велосипедостроение.

https://youtu.be/b1adJbT2mb4
1
Недавно спросили вопрос, который меня поставил в ступор: "какая математика нужна чтобы заниматься Computer Vision?".
Проскрипев шариками за роликами сделал небольшую подборку тех скилов которые помогают в CV. По сути две части:
1) Обязательная - то без чего соваться бессмысленно
2) Дополнительная - то что увеличит вашу цену как специалисту + поможет решать интересные задачи.
А дальше - смотрите в видео!
https://youtu.be/lUH2QHSVFdk
Прошлое видео достаточно неплохо зашло, так что решил записать продолжение на более общий вопрос: "Как стать специалистом в ComputerVision".
У меня достаточно своеобразный взгляд на эту тему. Мне кажется, что для того чтобы стать специалистом - не нужны курсы. Это бесполезно. Вам нужна практика и интерес. Научиться решать проблемы, научиться понимать почему ваше решение не работает.
Этого не дадут ни на Курсере, ни в очередной пачке курсов от СкилБокса или Мэйла.
Вам надо находить задачи и учиться их решать. Общаться с людьми, нарабатывать знакомства, обсуждать решения, пробовать что-то сделать.
Машинное обучение это не та тема где можно слушать и получать знания. Представьте себе музыканта который 10 лет изучает нотную грамоту или как играть гаммы. Вам нужно сломать стереотивы и научить себя работать и решать проблемы.
Собственно об этом и видео.
Может эта позиция работает не для всех, но есть люди для кого всё устроено так же.
https://youtu.be/EgdyvMfPBOQ
Недавно в очередной раз спросили о том как в своей статье 8-летней давности я обучал какой-то каскад Хаара... Не выдержал и написал статью-шаблон чтобы отвечать на такие вопросы:)
http://cv-blog.ru/?p=327
Одна из проблем рассказов о любых задачах Computer Vision - обычно вся разработка под NDA. Нельзя рассказывать как задача реально реализована у заказчика. Нельзя показывать промежуточные результаты и что-то спойлерить.
Но, ведь можно рассказывать про свои проекты! Так что записал видео про то как делали систему распознавания по радужке, и куда оно в итоге пришло. Проект начинался пока мы были студентами (году в 2008) - так что выглядит местами безумно. Но, надеюсь, кому-то будет полезно:)
https://youtu.be/qRRCsk19-o8
Одна из задач машинного зрения которую мы делали "для себя" - классическое распознавание автомобильных номеров. Она дала на безумное количество опыта в том как можно с помощью нейронок делать классические алгоритмы. Показала много примеров того как надо и не надо заходить на рынок (да, да, много вынесенных "полезных" уроков на тех граблях что мы собрали).
Я попробовал кратко рассказать весь пройденный путь. От каскадов Хаара до того что используем сейчас.
https://youtu.be/OAUokQgnupA
Не так много тем в организации процесса в CV, про которые я совсем не писал. Тут понял - что совсем не писал про ТЗ. А там тоже есть интересные вопросы и решения.
http://cv-blog.ru/?p=335
Внезапно узнал что один из самых популярных запросов ведущих в мой блог - "Dlib" и его вариации. Но, алло, мы живём в 2020 году. Не надо так!
Краткий рассказ что лучше использовать вместо него в 2020 году (Естественно OpenCV), и какие методы когда-то популярные в Dlib есть в других библиотеках:
https://youtu.be/2fnNhYCpToE