Заметки Computer Vision инженера
5.83K subscribers
35 photos
13 videos
332 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
Записал видео ещё пару недель назад, никак не доходили руки опубликовать. К тому же, сразу после записи появились пару проектов которые явно бьют статью по части бенчмарков (например audiocraft).
https://youtu.be/Go3_JIMSV14
С другой стороны, тут весьма интересная ботва, которая иллюстрирует куда все движется. Это ещё неплохо коррелирует с статьей про которую Арcений рассказывал у себя недели три назад.
🔥14😱1
This media is not supported in your browser
VIEW IN TELEGRAM
Давайте поговорим о фейках!
Это видео я вижу в линкедине уже неделю а то и больше. Дня три назад мне его присылала толпа народу со словами "смотри как умеют". И вот сегодня его начали репостить разные ML-каналы с разным текстом. Почему у людей отсутствует критическое мышление?
Я не уверен на 100% что это фейк. Лишь на 90%. Процентов 40 что полностью зафейканы id людей, и число кружек. Ещё 50% что id-шники и кружки очень сильно подогнаны руками, например путем тренировки в тот же день/вырезкой руками момента где все более-менее.
Продолжение и картинки в коментах.
🔥734
Я тут хочу одну видюшку сделать про детекторы. Паралельно на конфе расскажу (ссылка в комментах). Для него хочу сделать небольшой опрос на тему того что кто использует из детекторов в проде. Можно выбирать разные варианты одновременно.
Anonymous Poll
39%
YoloV5
51%
YoloV8/YolV6/YoloV7
11%
YoloX/PP-Yolo/DAMO-Yolo
6%
RT-DETR
6%
NAS-YOLO
17%
YoloV4/YoloV3/SSD (или другие старые сети)
5%
UNINEXT/DINOv2 (или другие претрейны большие)
14%
MMDetection/PaddlePaddle
16%
Прочие сверточные сети
17%
Прочие сети с трансформерами
🔥20
О, выпустили подкаст со мной!

Сразу скажу, никаких откровений по ML не ждите, все вопросы скорее достаточно общие были на тему "а что это такое" и "где оно вообще нужно". Ну и вокруг. О том как статистика в реальном мире применима.
Кажется, что прикольно поболтали :
https://www.youtube.com/watch?v=8VZeTTmxlgM
Да ещё и звук классно поставленный и камера с красивым боке:)
🔥441
https://youtu.be/8-m4uVPLh-Q

Ещё месяца три назад Арсений (с ним тут уже было два видео) скинул мне свою книжку с предложением покритиковать и опубликовать. Но мне показалось что:
1) В целом каких-то явных ошибок чтобы критиковать нет. А остальное - то точки для разговоров а не для критики.
2) Писать критику без возможности ответить - как-то скучно.
3) Хорошая критика будет требовать очень много времени на написание. Иначе будет обрывочной.

Так что решил записать интервью с Арсением и Валерой (его на моем канале ещё не было). Поговорили не столько даже про книгу, как про то как правильно проектировать систему: нужно ли ставить во главу угла дизайн системы, данные или можно просто все скопировать.
🔥352
На своем канале я стараюсь записывать достаточно тематические видео / писать тематические статьи. Про какие-то интересные мне штуки, про железки, про новые публикации, про то что я узнал нового, и.т.д. Я бы сказал что 90% контента тут требует немного вкуривать в Computer Vision чтобы читать. Но, понятно, что часто меня спрашивают куда более простые вопросы. "Как устроен рынок труда в Computer Vision", "Что надо знать для этого", "С чего начинать", и.т.д.
Обычно я стараюсь избегать таких видео, так как это бесконечная яма, и их обилие на канале будет лишь распугивать специалистов.
Но иногда вопросов накапливается критическое количество, и я понимаю, что все же надо выпустить очередное видео в эту тематику. В последнее время все больше и больше было вопросов о том как сейчас меняется рынок, что из себя он представляет, и что собственно Computer Vision из себя представляет в 2023.
Естественное, все увиденное - субъективно и с моей колокольни. Думаю что будет много комментариев о том что все не так :)
Думаю что многие слушатели с интересом почитают другие взгляды тоже.
https://youtu.be/A3HdPnw8wN4
🔥489💩2
Несколько постов назад я собирал статистику по сеткам детекции для доклада на конференции. На конфу я не доехал, так как заболел. Но видео наконец записал:
https://youtu.be/Eb2mz0rv7J0
В целом это соответствует той телеге которую я проговариваю всем раз за разом уже года 3 как:
1) Выбор сети практически не имеет смысла. Очень мало задач где нужны именно доли процентов.
2) В первую очередь вам нужно оптимизировать задачу, данные и работу с данными
3) Во вторую очередь - оптимизируйте скорость инференса. И, если что, берите более жирную сеть на сэкономленное.
4) Смотрите на лицензии
5) Смотрите на претрейны

И ещё небольшой эксперимент. Попробовал сделать небольшой транскрипт этого видео в качестве статьи на LI.
🔥502💩1
Вчера был выпущен RPi 5.
Мне уже раз пять написали и спросили моё мнение. Так что кажется, что лучше описать свои мысли тут. Как его вижу я со стороны Computer Vision.

Что плохо:
1) Нет NPU. Это очень грустно. Большинство прямых конкурентов сейчас имеют NPU: Banana Pi, Rock Pi, Orange PI, Khadas, FireFly, итд. NPU не обязательно позволяет вычислять быстрее чем на процессоре. Но позволяет разгрузить процессор и не перегревать его. Например RPi 4 должен иметь очень хорошее охлаждение чтобы не троттлить при постоянном вычислении.
2) Не самый мощный процессор. Это пока эмпирические оценки. RPi4 где-то в 3-4 раза слабее RK3588S. При этом, про RPi5 пишут что он в 2-3 раза производительнее RPi4. Кажется, что никакого выигрыша с уже существующими конкурентами не будет.
3) Самая большая беда. PCIe. Пока не совсем понятно как будет выглядеть Compute Module. Но на текущей плате пользователю доступна одна линия PCIe 2.0. Это ровно то что было на RPi4 Compute Module. И это в 8 раз меньше пропускной способности PCIe 3.0 x4 (в 16 раз меньше PCIe4.0x4), который использует большинство современных ускорителей (Hailo, sima.ai, axelera.ai, etc). Один из важных вопросов - будет ли работать Google Coral. На прошлом RPi его так и не смогли завести.
4) Невнятная GPU. Судя по тому что остался тот же самый производитель, то для доступа к GPU придется проходить тот же квест - https://qengineering.eu/install-vulkan-on-raspberry-pi.html Хотя пишут что чуть лучше (https://www.phoronix.com/review/raspberry-pi-5-graphics). Но главное - он не будет и близко к процессору по скорости для нейронок. Старый GPU был в 3-4 раза слабее старого проца.

Что хорошо
1) Он все же быстрее.
2) PCIe из коробки. Упрощение прошлой логики. И вообще виден акцент на PCIe. Если появится много новых плат и ускорителей - это будет хорошо.
3) Судя по всему цена. Посмотрим как будет на практике. Но сейчас везде 60-80 USD. Это дешевле чем упомянутые рокчипы и другие альтернативы.
4) Это PRi - а значит огромное комьюнити и поддержка.

Что пока не понятно.
1) Реальная производительность нейросетей. К сожалению, без бенчмарков пока ничего сказать нельзя. Это не только вопрос числа ядер и частоты. Это ещё и вопрос того какие аппаратные ускорители есть (NEON итд.)
2) Необходимое охлаждение. Выросло ли оно пропорционально. Справляется ли вентилятор из коробки?
🔥317💩2
Я достаточно подробно слежу за современными предтрейненными сетками. DINOv2, вариации CLIP, и.т.д. Очевидно, что потенциал огромен. Очевидно, что за этим будущее. Есть задачи где мы уже интегрировали такие подходы и получили новый эффект. Но сейчас вопрос не про то. А про хайп вокруг (картинки из GPT-4).
Кажется что за последнюю неделю мне уже человек пять присылали разные картинки с описаниями. В целом, никакой разницы с тем что я писал весной нет. Качество улучшилось, но проблемы остались.
А вот медицинские картинки, как человек некомпетентный в медицине - переслал жене. И её бомбануло:
https://t.me/no_one_day_with/2097
18🔥5💩1
Год назад я уже делал несколько видео про RockChip.
Кажется, что за этот год он стал сильно популярнее. И один из стандартных вопросов "как запустить YOLO". Мне его задавало человек 10. Русские, индусы, американцы, и.т.д. И мой совет "сделайте ровно как в документации" более половины не смогли ослить:)
Забавно, но из китайской документации это действительно сложно понять. Плюс надо немного понимать как работают сети и что надо доделать. Так что решил выпустить видео-гайд как все засетапить.
https://youtu.be/pN8mKZ5wpdQ
🔥365💩1
Давно хотел сделать некоторое общее видео о том как в последний год pre-train сеточки изменяют ландшафт CV. Кажется, что уже в 3-4 проектах использовали что-то из того что в этот год появилось. А тот же CLIP уже давно есть.
Это видео - достаточно общий верхнеуровневый обзор на тему с какой стороны можно заходить в претрейны, какие плюшки и бенефиты будут. Но понятно, что про каждую из сетей можно очень далеко и глубоко копать. Собственно вопросы: а вообще видео на эту тему интересны? Если да - есть 3-4 идеи о том как развить тему.
https://youtu.be/r47xyaPUrcY
🔥817😱1💩1
Как и обещал - небольшое продолжение. О том как на практике можно использовать Dinov2 и CLIP (ну, либо любую другую из предтрейненных моделей). В первую очередь это различные anomaly-detection задачи, или задачи где есть всего несколько примеров для обучения (например когда вы отдаете инструмент "запомни" в руки пользователя).
Почти все задачи можно сделать быстрее и лучше, чем через CLIP и DINO. Но эти SSL сети дают важную особенность - универсальность, возможность быстро и дешево экспериментировать, возможность изменять поведение системы в реальном времени.
https://www.youtube.com/watch?v=CVEPrr7iaDQ
🔥359💩1
Изначально я хотел сделать небольшой пост в канале в стиле "А кто порекомендует какую следующую NPU плату для тестов?". Но пост стал обрастать подробностями плана: "вот эта плата есть на рынке, эта уже устарела, эта то же самая что и эта". И я понял что проще сделать видео на тему с обзором что сейчас есть в продаже. И задать те же самые вопросы: "а что интереснее в продаже" и "а что я упускаю"?
https://youtu.be/Jr5_Cuto7Rg
🔥1817💩1
Ну и продолжении позапрошлого видео. Запускаем CLIP и DINOv2 на эмбеддед устройствах. Через ONNX и RKNN. Мне было интересно потянет ли или нет и сколько времени будет на инференс.
В итоге 2-3 секунды на DINOv2 small на RPi и 0.5 на RK3568.
Но мне показалось что это прикольная тема о которой можно сделать видео. Есть ряд проблем которые проще собрать под одной крышей.
https://youtu.be/gYIMYd2x52A
🔥392💩1
Немного научпопа. У меня уже было видео где я рассказывал о том как работает распознавание лиц и как его обмануть. Видео стало самым популярным у меня на канале. И в моменты принятия очередных законов явно видны пики просмотров. Одним из доминирующих вопросов в том видео было "но ведь камеры умеют распознавать не только лица!". Собственно это видео - дополнение к прошлому/ответ на вопрос "а чем ещё камеры могут повредить обычному человеку".
Но сразу предупрежу, что видео именно ближе к научпопу, глубоко в алгоритмы не залезаю.
https://www.youtube.com/watch?v=rRQAAMQanfs
🔥206
И ещё немного научпопа (ничего, новая плата с RK уже пришла, думаю сделаю небольшое видео скоро).
Одна из вещей которая меня бесит в военной аналитике последние два года - абсолютное большинство экспертов временами начинают нести дичь про дроны. Особенно, когда дело касается Computer Vison и AI. Даже мои любимые Conflict Intelligence Team.
Да, я принципиально не занимаюсь дронами последние два года. И не сказать что до того был какой-то большой опыт. Но принципы CV везде остаются общие. Так что в своих размышлениях уверен на 99%.
В статье попробовал собрать мысли на тему того что дроны могут/что не могут/и что судя по всему смогут в ближайшее время.
https://medium.com/@zlodeibaal/drones-at-war-and-computer-vision-a16b8063be7b
🔥38😱2
Недавно захотел потратить немного времени чтобы таки разобраться с тем как в RK3588 устроен инференс на разных NPU ядрах. Как-раз пришла новая плата. Но внезапно оказалось что RockChip выкатил новую версию фреймворка. И он сильно отличается от того что было. Так что решил сначала записать видео с апдейтом что поменялось.
Надо признать что платформа становится все более и более человеческая. Более адекватные примеры, все больше и больше вещей работает из коробки, адекватная документация. Глядишь так через годик догонят и Hailo и Google TPU по адекватности поддержки.
В видео небольшой осмотр нововведений + рассказываю как скорректировались мои прошлые гайды.
Следующее видео о том как вытащить максимальную производительность из RK3588 уже на 50% готово, думаю до конца недели выложу.

https://youtu.be/VjmnH910fac
🔥325💩1
И немного вдогонку. Про Friendly Elk NanoPC-t6. Вдруг кому интересно.
Сначала думал сделать обзор на него в видео небольшой, но потом подумал "а нафига?". Есть видюшка где подробно конструктив показан. А все остальное будет идентично для других RK3588 плат. Так что просто напишу несколько мыслей сюда.

Когда я выбирал себе борду с RK3588 (RK3588s почти идентичен), то выбирал из десятка вариантов. Есть Radxa RockPi 5b, Orange Pi 5, Khadas Edge2, FireFly и куча других вендоров. Плата нужна в одном проекте + хотел потестить сам.

Когда выбирал, то понимал что не хочу Radxa - так как с RockPi 3А большие проблемы с прошивкой под NPU были. А NanoPC-t6 я в начале осени уже по SSH тестил и проблем не видел. При этом по цене он неплох. За 100$ как на официальном сайте я его не смог купить, но за ~140-160 без проблем можно взять с доставкой через неделю. Это лучше чем 2/3 конкурентов. Единственный конкурент чуть дешевле - OrangePi5. Но там почему-то адекватного CSI нет. Плюс кто-то жаловался на прошивки.

Коробочкой я скорее доволен:
1) Хорошая сборка. Ничего не дрожит, много портов и коннекторов.
2) Есть ощущение что от пыли неплохо защищено.
2) Система предустановлена, особых проблем в ней нет. Образов есть много но не экспериментировал с ними. Очень много установлено из коробки.

Из минусов:
1) На процессоре полностью нагруженном можно увести в троттлинг (минут за 15). Все же теплоотвод без вентилятора не справляется. Думаю что если грузить CPU+NPU+видео - быстро перегреется.
2) По умолчанию в RK3588 нет wifi. Надо использовать один из m.2 слотов.
3) Свой разъем питания. Странно что не type-c.
🔥152
Как и обещал - небольшая видюшка про оптимизацию скорости RockChip. В инете есть много упоминаний на эту тему. Но только не в официальной документации.
Быстрее всего инференс работает если распараллелить его по разным NPU и считать все одновременно. Это, конечно, убивает latency, но зато хороший перформанс. Так же попробовал несколько других способов с которыми никто не сравнивал:
1) Запуск сразу на всех NPU
2) Запуск батчами
Любопытно, что это приводит к ухудшению скорости даже по сравнению с батчем 1 в один поток. Подробнее рассматриваю все варианты в видео:
https://youtu.be/mDRfXNuIMBE

Я тут ничего не показываю ещё с квантизацией и оптимизацией через неё. Кажется что это будет когда-то отдельная серия видео.
🔥264
Всем привет!
С наступающим Новым Годом!

Недавно канал набрал 4к подписчиков (YouTube канал взял эту цифру месяц назад). Большое спасибо что смотрите и читаете:)

Новый Год близиться. Так что подведу некоторые мысли о том куда канал развивается, куда движется, что за год нового понял, и какая текущая статистика.
А так же отвечу на самый популярный вопрос:)

https://telegra.ph/Zametki-Computer-Vision-inzhenera-20232024-12-30
🔥625💩1
Всем привет!
Небольшое видео про RPi5. Рассказал о том какой фреймворк лучше, как экспортнуть на него сеточку. Ну и почему RPi хорошо, а почему плохо для Computer Vision.
Ну и забенчмаркал, конечно.
https://youtu.be/vZGecjoUiAI
🔥313