Рубрика «opencv» - 9

Я увлекаюсь роботами, постоянно мониторю интернет в поисках интересных решений. Случайно нашел очень интересный проект, спешу поделиться информацией с Вами. Краудфандинговый проект JeVois это Opensource платформа машинного зрения: видео датчик и четырехъядерный процессор в крохотном корпусе 28 куб. см. Доставка намечена на февраль 2017. Данный модуль способен передавать данные по USB или последовательному порту. По заявлению авторов проекта все должно работать из коробки. Все что требуется это вставить карту памяти microSD с Вашей программой (заявлена поддержка opencv 3.1 и многих других алгоритмов) и подключить к компьютеру или микроконтроллеру.

JeVois начал развиваться как учебный проект, так как авторы поняли острую необходимость в подобном модуле искусственного зрения при проектировании в робототехнике. На текущий момент отсутствуют специализированные решения, способные работать с raspberry pi или arduino из коробки.
Читать полностью »

Всем доброго времени суток! Появилась тут как-то задача: воспроизвести RTSP-видеопоток с камеры. Т.к. я в достаточной мере знаком с API OpenCV, было принято решение использовать именно его. Для захвата видеопотока в OpenCV используется класс VideoCapture. К сожалению, сеть достаточно часто у нас обрывается, и проблема эта на моем уровне не решается, поэтому необходимым условием комфортной работы стала достаточно быстрая реакция на падение видеопотока — стандартный таймаут на подключение и ожидание следующего кадра составляет 30 секунд, причем внутри VideoCapture вызовы open() и read() блокирующие, что заставляет писать вокруг простого на самом-то деле кода различные обертки вроде вызова их в отдельном потоке и ожидания получения результата в асинхронном режиме. Естественно, никакой радости по этому поводу я не испытывал — все это ресурсы, которые в программе должны были уходить на иные цели, не говоря уже об усложнении кода. Было принято решение: изменить стандартный таймаут, либо добавить возможность его внешней установки. Получился достаточно грязный хак, который, впрочем, может кому-то пригодиться. Возможно, если есть способ лучше — если таковой имеется — очень бы хотелось его узнать, так что прошу комментариев. В идеале — может быть, среди читателей Хабра найдутся разработчики OpenCV, которые таки обратят внимание на данную проблему. Целью было заставить код «работать, как надо, под Windows x64».

Кому интересно — прошу под кат.
Читать полностью »

Intel, как и другие корпорации, постоянно покупает и продает бизнесы – в этом нет ничего необычного. Однако покупка российской компании для нее – событие крайне неординарное. Да и сама покупка — неординарна. Этот пост про последнее приобретение Intel – фирму Itseez, известную, прежде всего, своей ключевой ролью в развитии библиотеки OpenCV.

Itseez, дважды Intel Company - 1

Читать полностью »

Специальные очки меняют личность человека для системы распознавания лиц - 1
Успешная имперсонификация в системе распознавания лиц. Слева: актриса Риз Уизерспун, личность которой нейросеть распознаёт с вероятностью 100%. В центре: очки, подобранные для имперсонификации актёра Рассела Кроу. Справа: жертва имперсонификации

Благодаря нейросетям системы машинного зрения достигли рекордной точности результаты в распознавании лиц. Личность человека почти безошибочно распознаётся даже на смазанных фотографиях и на тех, где лицо видно лишь частично. Созданы алгоритмы, которые учитывают контекст: одежду, окружение, походку. Пока это лишь передовые технологические разработки. Но учитывая всемирную истерию вокруг терроризма и безопасности (хотя от терроризма погибает в 53 раза меньше людей, чем в ДТП), очень скоро подобные программы распознавания будут без всякого сомнения подключены к миллионам видеокамер наружного наблюдения в общественных местах. Вопрос в том, какие есть методы, чтобы бороться с такой слежкой?
Читать полностью »

Вчера я опубликовал статью про машинное обучение и NVIDIA DIGITS. Как и обещал, сегодняшняя статья — почему всё не так уж и хорошо + пример выделения объектов в кадре на DIGITS.

NVIDIA подняла волну пиара по поводу разработанной и имплиментированной в DIGITS сетки DetectNet. Сетка позиционируется как решение для поиска одинаковых/похожих объектов на изображении.

Почему супер-мега-про машинного обучения за 15 минут всё же не стать - 1
Читать полностью »

Тем, кто занимается системами машинного обучения и компьютерным зрением, хорошо знакома такая библиотека как OpenBLAS (Basic Linear Algebra Subprograms). OpenBLAS написан на C и используется повсеместно там где нужна работа с матрицами. Так же у него есть несколько альтернативных реализаций таких как Eigen и двух закрытых имплементацией от Intel и Apple. Все они написаны на СС++.

В настоящий момент OpenBLAS используется в матричных манипуляциях в таких языках как Julia и Python (NumPy). OpenBLAS крайне хорошо оптимизирована и значительная её часть вообще написана на ассемблере.

Однако так ли хорош для вычислений чистый C, как это принято считать?

Встречайте Mir GLAS! Нативная реализация библиотеки линейной алгебры на чисто D без единой вставки на ассемблере!
Читать полностью »

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

OpenCV и обработка изображений - 1

Поскольку технологии компьютерного зрения в значительной степени завязаны и на Python, и на C++, мы подобрали статью с разбором проблемы и кодом на обоих языках. Кроме того, искренне надеемся, что девушка под катом вам понравится.
Читать полностью »

Подходит к концу первая проектная смена в образовательном центре «Сириус». Обычно здесь проводятся образовательные смены, на которых учащиеся школ готовятся к олимпиадам всероссийского и мирового уровня. Например, команда математиков перед всемирной олимпиадой проходила сборы в «Сириусе». Предполагается в будущем сделать это место одним из основных центров притяжения талантливой молодежи для дальнейшей интеграции в высокотехнологичные проекты, которые находятся на особом счету государства.
Команда Университета ИТМО, помимо обширного участия в проектах, связанных с нанотехнологиями, работала с учащимися школ над несколькими робототехническими проектами. Наша группа состояла из 19 учеников и 3 преподавателей. Заранее мы определили основные технологии и особенности конструкции, которые будут реализованы в ходе проекта. Некоторые проекты ориентированы на автоматизацию определенных процессов, а какие-то имеют больше творческую визуальную составляющую. В качестве основы для создания роботов было решено использовать робототехнический конструктор ТРИК. Здесь уже публиковались примеры использования этого конструктора.
Проектная смена в образовательном центре «Сириус» - 1
Читать полностью »

Распознаем лица на фото с помощью Python и OpenCV - 1
В этой статье я хотел бы остановиться на алгоритмах распознавания лиц, а заодно познакомить вас с очень интересной и полезной библиотекой OpenCV. Уверен, что этот материал окажется полезным для новичков в этой области.

Что нам понадобится:
• Установленный Python 2.7 с библиотеками NumPy и PIL
• OpenCV 2-й версии

Здесь ссылка на материал по установке всех необходимых компонентов. Установка всего необходимого не составит труда.
Читать полностью »

По работе я занимаюсь разработкой алгоритмов обработки изображений и в частности алгоритмами автоматического слежения за объектами на видео для специального применения. Недавно понадобилось сделать модель алгоритма, управляемую с удаленного компьютера для отладки логики работы в сложной системе. Раньше такая задача не стояла, т.к. все алгоритмы реализовывались в итоге на FPGA. Давно работаю с OpenCV и, потерев руки, подошел к написанию программы. Но энтузиазм быстро погас, когда столкнулся непосредственно с передачей видео по сети.

Задача заключалась в следующем:

1. Написать программу сервер, которая загружает видео из файла, сжимает в JPEG и передает по протоколу TCP программе клиенту.
2. Написать программу клиент, которая принимает видео по TCP, декодирует и отображает.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js