Хабр / ML & AI
478 subscribers
5.46K links
Telegram-канал, где вы можете найти публикации из RSS-фидов тематических хабов "Машинное обучение" и "Искусственный интеллект" портала Хабр.

Данный канал не является официальным представительством платформы Хабр.

Администратор - @evilfreelancer
Download Telegram
Нейросети и компьютерное зрение (CV). Основы теории. Практика. Своя система распознавания на одноплатном компьютере



— Никто не обнимет необъятного!

Козьма Прутков, 1854

Одно из интересных и полезных применений нейросетей — обнаружение объектов на изображении, таких как машины, люди или человеческие лица.

Глубокое погружение в тему нейросетей требует немало времени и сил, а также определенных знаний в области математики. Хорошая новость в том, что уже созданы фреймворки, пригодные для применения в реальных проектах без предварительной фундаментальной подготовки программистов.

Вы, наверное, слышали, что для работы нейронных сетей требуются большие вычислительные мощности, а в данной статье мы на практике рассмотрим создание системы распознавания с помощью уже обученных моделей нейросетей и возможности создания такой системы на одноплатном компьютере на примере как Repka Pi.

Так же рассмотрим основные понятия нейронных сетей. Разберём, как добавить функции обнаружения лиц и людей в видеопотоке от обычной веб-камеры, подключенной через USB к Repka Pi. При этом будут использованы каскады Хаара, нейросеть Yolo-FastestV2, фреймворки OpenCV и NCNN, а также репозиторий ml-repka от компании Rainbowsoft.

Формат статьи не позволяет рассказать подробно о том, как устроены и работают нейронные сети, тут потребуется не одна книга. Тем не менее, наша статья может послужить хорошим для тех, кто собирается начать изучать нейросети и сразу хотел бы делать это и на практике, а также для тех, кто хочет добавить возможность обнаружения объектов в свое встроенное решение на базе одноплатного компьютера.

Так в статье есть целый ряд тщательно подобранных ссылок на материалы для более углубленного изучения предметной области. Надеемся, что эта статья сможет стать хорошим началом погружения в Мир ИИ и нейронных сетей вообще, и компьютерного зрения (CV) в частности, для всех, кто только собирался это сделать и ждал подходящего случая. Эта статья - как раз такой случай.

Читать далее

#repka_pi #обнаружение_людей #обнаружение_лиц #нейронные_сети #yolo #сверточные_нейросети #opencv #ncnn #cv #машинное_зрение | @habr_ai
Исследуя мир изображений: PicTrace и искусственный интеллект в действии

.В современном мире, где количество визуальной информации растет с каждым днем, умение быстро и точно находить аналогичные изображения становится все более важным. Представьте, что вы можете загрузить изображение, и в считанные секунды получить список самых похожих на него картинок из большой базы данных. Звучит интересно? Именно этого я добиваюсь достичь в своём веб-приложение - PicTrace.

Что же такое PicTrace и как эта платформа помогает решать такие задачи? Каким образом она использует мощь OpenCV и TensorFlow для обработки изображений? Почему сочетание структурного сравнения и ключевых точек делает мой подход интересным? Читать далее

#opencv #tensorflow #image #machinelearning #машинное_обучение #поиск_изображений #нейросети #визуальный_поиск #изображения #компьютерное_зрение | @habr_ai
Kaggle для футболистов: Классификация событий на футбольном поле

Всем привет! В конце 2022 года закончилось соревнование DFL - Bundesliga Data Shootout. Так как мне интересен футбол и в целом спортивная аналитика, то я решил поучаствовать в этом соревновании. Целью данной статьи является описание моего подхода, и я уверен, что многие методы, примененные к этой задаче, могут быть адаптированы для решения других задач в области компьютерного зрения. За подробностями под кат!

Читать далее

#kaggle #computer_vision #cnn #футбол #yolo #opencv #machinelearning | @habr_ai
OpenCV: компьютерное зрение на Python

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

В этой статье мы рассмотрим несколько примеров работы с компьютерным зрением с помощью бесплатной библиотеки OpenCV.

Читать далее

#opencv #python #computer_vision #компьютерное_зрение #распознавание_изображений | @habr_ai
Компьютерное зрение на C++: пишем приложение для поиска объектов под Android

Привет, Хабр! Меня зовут Кирилл Колодяжный, я пишу код на С++ для систем хранения данных в YADRO. Помимо основной работы, интересуюсь машинным обучением и его возможностями, в том числе на «плюсах». Недавно мне стало интересно разобраться, как развернуть модель компьютерного зрения на мобильном устройстве с операционной системой Android.

 Я изучил доступные инструменты, чтобы понять, какие части приложения можно реализовать на С++, и написать само приложение для телефона. Ни в одном из материалов на подобную тему не описывают реализацию такого приложения от начала до конца, поэтому я собрал свой опыт в серию статей.

Расскажу, как реализовать обнаружение объектов в реальном времени с помощью камеры на мобильной платформе Android с использованием библиотек PyTorch и NCNN и моделей компьютерного зрения YOLOv5 и YOLOv4. Шаблон моего приложения пригодится тем, кто хочет проверить прототип функциональности для компьютерного зрения на С++, использующий OpenCV на Android, но не хочет глубоко погружаться в программирование под Android. 

В первой части цикла мы:

• создадим проект в IDE Android Studio,

• реализуем сессию непрерывного захвата изображений камеры,

• преобразуем изображения в матрицу OpenCV, чтобы сделать дальнейшую работу удобной.

Читать далее

#ml #cpp #computer_vision #android #pytorch #opencv #ncnn #yolov5 #yolov4 #torchscript | @habr_ai
Запускаем Yolo на пятирублёвой монете или Luckfox Pico Mini

В данной статье речь пойдет про использование очень маленькой Luckfox Pico Mini. Я расскажу про особенности платы, её настройку, а также о том как запускать на ней нейронные сети для детекции объектов с камеры.

Мне удалось добиться скорости детекции в 15 FPS, результат, который по силам не каждому одноплатнику.

Читать далее

#c_ #npu #rockchip #ai #machinelearning #yolo #opencv | @habr_ai
Neural OCR при распознавании текста

Прогресс в машинном обучении и компьютерном зрении изменил подходы к оптическому распознаванию символов (OCR), обеспечив высокую точность оцифровки документов. Однако современные сверточные нейронные сети (CNN), используемые в большинстве OCR‑систем, сталкиваются с нехваткой качественных тренировочных данных. Эта проблема особенно затрагивает языки с ограниченными ресурсами, что создает трудности в разработке надежных систем распознавания текста. Ограниченные обучающие наборы часто снижают точность и устойчивость моделей при работе с различными форматами документов, нестандартными шрифтами и изображениями низкого качества.

Поэтому необходимо разрабатывать новые модели OCR, которые могут эффективно распознавать текст даже при недостатке данных. Такие модели должны быть гибкими и адаптивными, чтобы успешно обрабатывать документы разных стилей и форматов, а также оставаться устойчивыми к шумам и искажениям. Важно найти методы, которые обеспечат высокую точность распознавания независимо от объема обучающей выборки, что откроет возможности для применения OCR в многоязычных и многоформатных контекстах.

Исследования по улучшению эффективности и универсальности систем OCR имеют большое значение для повышения качества распознавания текста в разных условиях. В таких работах рассматриваются перспективные подходы, такие как аугментация данных, трансферное обучение и специализированные архитектуры нейронных сетей, адаптированные для работы с ограниченными данными. Эти исследования могут привести к созданию более совершенных и доступных систем OCR, что расширит их практическое применение. Улучшение качества распознавания текста позволит автоматизировать процессы обработки информации в бизнесе, образовании, архивировании, научных исследованиях и других областях, способствуя более эффективному взаимодействию с текстовыми данными в цифровую эпоху.

Читать далее

#opencv #pytorch #нейросеть #питон | @habr_ai
AI, FreeRTOS и Linux в кармане: возможности LicheeRV Nano

В этой статье речь пойдет о разработке под отладочную плату LicheeRV Nano - компактное устройство размером с две пятирублевые монеты, но обладающее впечатляющими возможностями.

Плата способна одновременно запускать Linux и FreeRTOS, выполнять инференс нейронных сетей (будет разобран запуск YOLO в 100 FPS и LLama2.c) благодаря встоенному NPU с производительностью 1 TOPS, а также управлять периферийными устройствами: GPIO, I2C, UART, SPI, CSI камерой, Wi-Fi, Bluetooth и Ethernet.

Это первая часть статьи, представляющая собой методическое руководство по работе с платой. Во второй части будет рассмотрена разработка полноценного проекта на её основе.

Читать далее

#c_ #linux #электроника #программирование #npu #yolo #yolov8 #робототехника #llm #opencv | @habr_ai
И снова о распознавании лиц с помощью Python

Технологии распознавания лиц уже активно используется для решения различных задач, от поиска преступников до применения в качестве идентификатора личности при осуществлении платежей.

В этой статье мы посмотрим, как можно использовать библиотеки OpenCV и Dlib для распознавания лиц. Мы не будем сильно углубляться в код, а вместо этого рассмотрим рабочие примеры систем распознавания на основе этих библиотек.

Читать далее

#opencv #dlib #python #face_recognition #machine_learning | @habr_ai
Virtual Ads или как прорекламировать Adidas в CS:GO

Всем привет, меня зовут Евгений Мунин. Я Senior ML Engineer в Ad Tech в платформе ставок для рекламы и автор ТГ канала ML Advertising. В данной статье мы поговорим об одном из способов повышения узнаваемости брендов в спорте, а точнее виртуальной рекламе. Разберем размещение рекламных баннеров на видео и напишем пример на Python и OpenCV, где разместим логотип Adidas с использованием алгоритма детектирования ключевых точек SIFT и гомографии для искажения баннера под перспективу.

Читать далее

#computer_vision #keypoint_detectors #opencv #компьютерное_зрение #рекламные_технологии #ai #computervision | @habr_ai
Как Python помогает восстанавливать древние фрески: алгоритмы цифровой реставрации

Цифровая реставрация культурного наследия — не то, о чём часто пишут на IT-форумах. Но Python, OpenCV и немного безумной любви к истории могут буквально вдохнуть жизнь в древние фрески. В этой статье — живая техническая история о том, как написать свои алгоритмы цифровой реставрации, использовать машинное зрение и нейросети для восстановления утраченного и, возможно, спасти кусочек человечества от забвения. Читать далее

#цифровая_реставрация #python #opencv #древние_фрески #нейросети #gan #машинное_зрение #культура #шум #inpainting | @habr_ai
Компьютерное зрение для начинающих

Тема компьютерного зрения наряду с искусственным интеллектом в последние годы стала очень популярной. Сегодня компьютерное зрение — это динамичная и быстро развивающаяся область, постоянно расширяющая границы того, что могут видеть и понимать машины.

Однако, зачастую многие публикации посвященные computer vision являются достаточно сложными для тех, кто только погружается в данную тему.

В этой статье мы поговорим о том, как все это работает и какие основные технологии и алгоритмы используются. Мы не будем глубоко погружаться в вопросы, связанные с реализацией методов компьютерного зрения, так как задача этой статьи объяснить основные принципы. Читать далее

#computer_vision #ai #neuralnetworks #компьютерное_зрение #обучение_нейросетей #opencv_примеры #обработка_изображений_python | @habr_ai
Нейросеть приближается к опыту профессионального дерматолога

Наконец наступило лето, а с ним и пора отпусков. Уезжая на южные моря, не забывайте: большинство из нас имеет типичную для северянина кожу с пониженным содержанием меланина — пигмента, отвечающего за защиту от ультрафиолета. Если кожа отреагировала непонятным новообразованием, вызывающим опасения, теперь можно проконсультироваться с искусственным интеллектом. Он предварительно осмотрит кожу и посоветует, бежать ли ко врачу, за которым, конечно, всегда последнее слово. К слову, данная медицинская ИИ-технология, как и публикация, не является медицинской рекомендацией: диагноз ставит лечащий врач. Читать далее

#медицина #красота_и_здоровье #приложения #сверточные_сети #нейросети #поиск_по_изображениям #стартапы #разработка_приложений #scikit_learn #opencv | @habr_ai
Как мы улучшили режим ночной съемки в планшетах KVADRA_T

Привет, Хабр! На связи Полина Лукичева, инженер команды AI ML Kit в компании YADRO. В первой статье я рассказала о проблемах режима ночной съемки и методах их решения. Сегодня перехожу к практике — проведу предметное сравнение алгоритмов, выберу наиболее подходящие и покажу, как они работают в реальных условиях на планшетах KVADRA_T.

Для наших заказчиков качественные снимки в условиях низкой освещенности — рабочая необходимость. Планшет поможет снять показания со счетчика в темном подвале или сфотографировать паспорт клиента в коридоре с минимальными шумами и максимальной четкостью. Читать далее

#мобильная_фотография #ночной_режим #kvadra_t #opencv #ecc #meflut #гамма_коррекция #ночная_съемка | @habr_ai
Как мы оживили DPED: собираем датасет для обучения модели

Привет, Хабр! Сегодня с вами команда регионального научно-образовательного центра «Искусственный интеллект и анализ больших данных» при НГТУ им. Р. Е. Алексеева. Продолжаем рассказывать о нашей работе по возрождению и улучшению DPED (Deep Photo Enhancement Dataset). Это открытый проект исследователей из ETH Zurich, который включает как датасет парных изображений, так и нейросетевую модель для повышения качества мобильных фотографий до уровня DSLR. В нашем случае мы хотим довести снимки сэто планшета YADRO KVADRA_T, снимки с которого мы хотим довести по качеству до качествауровня полупрофессиональной камеры Sony Alpha ILCE 6600.

Отметим, что цель проекта не только исследование и обучение модели, но и последующее внедрение полученных наработок в приложение камеры планшета. Мы рассматриваем варианты локального инференса на самом устройстве, включая оптимизацию модели под мобильные вычислительные платформы с использованием TensorRT или ONNX Runtime. Так улучшать изображения можно прямо на устройстве — либо в момент съемки, либо в фоновом режиме. Читать далее

#dped #сбор_датасета #улучшение_фотографий #нейросети_и_machine_learning #yadro_kvadra_t #автоматизация_съёмки #opencv #ransac | @habr_ai
Как приручить AI-пиксель-арт

За последние пару лет генеративные нейросети стали волшебной кисточкой для всего: концепт-артов, иконок, иллюстраций, обложек, аватаров, спрайтов… Особенно - пиксель-арта. В Midjourney, Stable Diffusion, Dall-E, Image-1 и в других моделях можно просто вбить:

“Pixel art goose with goggles in the style of SNES” — и получить шикарного пиксельного гуся за 10 секунд.

Но если ты пробовал вставить такого гуся в игру — ты уже знаешь боль.

Я решил вкопаться в эту тему поглубже и сделать open‑source‑инструмент, который автоматизирует превращение AI‑generated pixel art в pixel‑perfect pixel art. Читать далее

#pixel_art #opencv #tools #ai_art #computervision #gamedev | @habr_ai
OpenCV. Начало

В прошедшем июне исполнилось 25 лет первому релизу OpenCV. Господи, как летит время! Кажется, только вчера мы писали первые строчки. А уже четверть века с тех пор прошло. Самое время вспомнить, как все начиналось. Я не ставил себе целью рассказать в этой статье полную историю OpenCV — есть замечательная книга Гари и отличная статья в интеловом блоге и много других материалов. А у меня — скорее взгляд изнутри на то, как зарождался де-факто стандарт компьютерного зрения, размышления о причудливых развилках пути и факторе везения в технологии и дань уважения людям, с которыми мне пришлось поработать. Читать далее

#opencv #компьютерное_зрение #intel #arm | @habr_ai