Простой пример про Толоку

Неожиданная завязка:

Два с половиной месяца назад, прямо в разгар карантина, у меня родился сын:)
Естественно, я взял отпуск и разгрузил всю ту работу, где отпуска быть не может. Но, оказалось, ребёнок крайне спокойный – сразу нормализовал режим. Так что образовалось свободное время. Решил добить старые проекты. И начать новые.

Один из них уже закончен, сейчас я его шлифую. По сути некая вариация “радионяни”. Камера, которая смотрит на ребёнка, шлёт уведомления, немного взаимодействует.
Как доделаю – выложу полный обзор на Хабре (ссылка будет тут).
Статья про одну небольшую часть я уже выложил.
Эта статья про то как использовать Толоку даже в хобийных проектах.

Continue reading “Простой пример про Толоку”

Техническое задание для ComputerVision

На днях меня тут спросили замечательный вопрос, который поставил меня в тупик: “А как написать правильное ТЗ для разработки чего-нибудь с нейронными сетями? Можете скинуть примеров?”.
Первое что я понял – скинуть не могу. Ибо любой ТЗ – это глубоко личное для того бизнеса, для которого он написан. Нельзя такое скидывать даже обезличенное.
Втрое, что я понял – нельзя сказать что такое хороший ТЗ. Один и тот же ТЗ может быть и замечательным, и омерзительным. ТЗ – это результат диалога двух сторон. Нет ТЗ на ресёрч написанного в пространство.
А вот как провести диалог, и какие общие правила есть – я могу попробовать рассказать.

Continue reading “Техническое задание для ComputerVision”

Про устаревание в ComputerVision

Мне часто пишут с вопросами. Больше всего вопросов приходит с Хабра. И, наверное, четверть вопросов – по моим статьям.

Половина – про старые статьи. Каждый месяц кто-то спрашивает как обучить каскад Хаара. Например как сделать не на версии OpenCV 7-летней давности, а на текущей.
И… Мне страшно. Страшно не то, что я не помню как 7 лет назад это делал. И не потому что эти алгоритмы могли давным давно выпилить из OpenCV.

Continue reading “Про устаревание в ComputerVision”

Самый простой пример трекинга который работает

Разные алгоритмы трекинга мы делаем последние лет 12. Зачастую это очень простые алгоритмы трекинга. Иногда очень сложные и накрученные, как в Cherry.
Если честно, то очень часто мы собирали их с нуля руками. Что такое фильтр Калмана понимаем, как сделать выбор лучшего соответствия в целом тоже.

Но, если честно, недавно бомбануло. Я увидел, как в двух разных фирмах для трекинга используют это – https://www.pyimagesearch.com/2018/10/29/multi-object-tracking-with-dlib/ (или аналоги с того же сайта).
Для тех кто не хочет читать вкратце: детекция за счёт MobileNet-ssd, а связывание объектов за счёт трекера Dlib (или вариантов cv2).
В одной из таких фирм это даже заработало каким-то чудом.

Но… Не надо так. Не надо использовать бажный оптический трекер. Править все его ошибки это гигантская работа, на которую нет OpenSource исходников.
Я решил рассказать как сделать проще и стабильнее в несколько кликов.

Continue reading “Самый простой пример трекинга который работает”

Как подключить интернет через камеру к RPi

Статья несколько более инженерная чем обычно. Без рассказов почему ML не работает;)
Но зато, на мой взгляд, может помочь многим людям для их прототипов и домашних хоббийных проектов которые используют какой-то Computer Vision на embedded железках.

It Ain't Much, but It's Honest Work // PotterMore // Anomaly Memes ...
Continue reading “Как подключить интернет через камеру к RPi”

Спираль времени, или новый End-to-End Object Detection with Transformers

На днях прочитал новую статью от Facebook AI, и прямо таки воспоминания ударили в голову, заставляя написать эту статью. Ведь это мои любимые темы:

  • “Всё новое – это хорошо забытое старое”
  • “Почему не стоит гнаться за бэкбоном, когда можно подобрать правильную логику сети и функции потерь”
  • “Почему бы не рассказать офигенную байку!”
Continue reading “Спираль времени, или новый End-to-End Object Detection with Transformers”

DL in JS

Натолкнулся на весьма интересное мнение что использование DL в браузере это никому не нужные игрушки. Но, как ни странно, на сегодняшний день это достаточно уникальный способ инференса моделей. Этот способ поддерживает телефоны, intel, amd, nvidia и всё-всё-всё.
Конечно, производительность не максимальная. Но вам не нужно заботится о том что что-то у кого-то не пойдёт. Примерно 90% устройств будут поддержаны, и всё будет работать там.
Сделал краткий обзор на тему того почему это не страшно:)

Что делать если заказчик хочет 95% точности в ML задаче? – Часть два

Вчера я писал пост на тему того почему точность в качестве KPI на вход работы это плохо. Обещал сегодня несколько примеров. Поехали

Continue reading “Что делать если заказчик хочет 95% точности в ML задаче? – Часть два”

Что делать если заказчик хочет 95% точности в ML задаче?

Кажется, что тут я написал не одну статью про общение с заказчиками в специфике ML:

  1. О типах заказчиков (посредники/непосредственные заказчики)
  2. О том как можно структурировать взаимодействие с заказчиками (найм и договора специалиста/консультанта)
  3. О том как менеджить своё время на общение
  4. О том какая существует интеллектуальная собственность в ML
  5. Про NDA

И внезапно я понял что нигде ранее я не затронул тему рисков в построении договора. Но это одна из краеугольных тем всего взаимодействия. Столько сил не уходит ни в одно из других обсуждений. Возможно поэтому и не писал. Каждый раз после очередного обсуждения рисков — не хочется об этом думать следующие пару дней.

Итак. О чём это. Это о KPI договора. Приходит заказчик и говорит: «Мы хотим делать детектирование объекта X с вероятностью 95%».
Что с этим делать?

Continue reading “Что делать если заказчик хочет 95% точности в ML задаче?”

Про конференции в ML

Этой осенью попал на две разные конференции по машинному обучению и его применению. Одну организовывал Роман (UseData – она была акцентирована скорее на разработчиков/тимлидов), вторая AiStories – она была скорее для бизнеса, о том как и куда внедрять.

Это не первые конференции на которых я был. Бывал и на более научных, и на более практических (хакатонах, семинарах). Но в глаза бросается сразу несколько вещей:

Continue reading “Про конференции в ML”