Рейтинг
+1.13
голосов:
1
avatar

Прикладные вопросы распознавания образов  

Выделение цвета кожи человека

Прочитал статью «A Real-Time Face Tracker» (http://www-prima.inrialpes.fr/perso/Tran/Documents/Articles/Divers/RTFaceTracker.pdf).
Вообще статья посвящена трекингу лица, однако меня она заинтересовала по другой причине – в ней представлена модель описания цвета кожи. Поэтому я опишу смысл этой модели.

Основная идея в том, что человек адаптируется к яркости изображения, и для того, чтобы распознать необходимо отбросить информацию о яркости. Используется понятие «чистого» цвета (хроматический), описанного в работе [G. Wyszecki and W.S. Styles. Color Science: Concepts and Methods, Quantitative Data and Formulae, Second Edition, John Wiley & Sons, New York, 1982].

«Чистый» цвет получается следующим образом:
r = R / (R + G + B),
g = G / (R + G + B).
Синий цвет лишний, поскольку после нормализации r+g+b =1.

При этом в данной работе было показано, что при использовании «чистого» цвета было определено, что кожа людей даже разной национальности находится в очень небольшом диапазоне по сравнению с ненормализованным цветом.


( Читать дальше )

Выделение контура лица после детектирования

Встроенные возможности OpenCV позволяют детектировать лицо, но при распознавании лиц может потребоваться более точное определение его границ. Метод выделения границ лица описан в проекте «Face detection and swap». Там расставлялись точки, называемые «щупами», которые сдвигались к лицу, пока не находился подходящий цвет лица, и движение не останавливалось. Расстановка «щупов» выглядела так:

Однако в данном примере у нас фон лица темный, что значительно облегчает задачу. Мы рассмотрим примеры с более недружелюбным фоном:



( Читать дальше )

Новый тип оптических маркеров Aztec Marker

Использование оптических маркеров для трекинга не является чем-то новым, и на настоящий момент существует ряд разработок в этой области. Наиболее известные технологии – это ARToolKit и ARTag. Однако у данных технологий есть определенные недостатки, например обязательное отсутствие шума по краям. У многих разработчиков возникала идея: «а может использовать в качестве маркеров хорошо детектируемые и хорошо зарекомендовавшие себя коды, ну, например, QR Code или Aztec (Small Aztec) Code». Пример такого маркера получил название Aztec Marker, о его структуре подробнее можно почитать здесь.
Там же вы можете скачать исходный код для кодирования и декодирования маркеров.


( Читать дальше )

Определение неправомерной вставки дополнительных кадров в видеопоток

Предположим, вы разрабатываете какую-нибудь технологию обработки видео информации, поступающей с видеокамеры в реальном времени. Технология готова, но как защитить ее? Вы хотите, чтобы пользователь мог выбрать варианты покупки вашего SDK для одной камеры, двух, трех и т.д. Конечно, нет проблем, если взаимодействие с видео вы встраиваете в SDK, но если такой возможности нет? В таком случае можно анализировать последовательность кадров, чтобы определить, принадлежат ли кадры текущему видеопотоку или нет. Данную возможность можно реализовать, используя реализованную в OpenCV технологию отличий. При реализации примера будем иметь в виду, что камера неподвижна и однонаправлена.
Поскольку неизвестно, как будет подделываться видеопоток (после каждого кадра или после последовательности кадров), то нельзя заниматься сравнением только последовательных кадров. Но можно чередовать сравнения, например один кадр – сравниваем с предыдущем, второй – с 5 кадром перед этим и т.п. После нахождения отличий можно посчитать процент измененного изображения и суммировать результат в единицу времени.


( Читать дальше )

Бинаризация описанная в работе "Edge Assisted Fast Binarization Scheme for Improved Vehicle License Plate Recognition"

Edge Assisted Fast Binarization Scheme for Improved Vehicle License Plate Recognition
M Satish, Lajish V L and Sunil Kumar Kopparapu
TCS Innovation Labs — Mumbai
Tata Consultancy Services Ltd., Yantra Park, Thane (West), Maharashtra 400 601, India

Предлагается быстрый адаптивный порог бинаризации при распознавании автомобильных номеров. Авторами предлагается новый метод, основанный на анализе краев. Метод сравнивается с локальным и глобальным методами Отсу.
Суть метода.
Пусть изображение состоит из пикселей переднего плана (G1) и пикселей заднего плана (G2) и G1>G2 (на самом деле не суть важно, что больше). Обычно выбирают порог G1≥GT≥G2, поскольку переход не резок, а плавный.


( Читать дальше )

Структура системы распознавания образов реального времени

Выбор структуры обусловлен классом системы распознавания образов (СРО) реального времени (РВ). Если предполагается строить гибкую систему РВ без обратной связи, то достаточно использовать один программный процесс и один поток, в котором в цикле будут формироваться данные (например, с видеокамеры) и передаваться на процедуру распознавания. Однако такой подход не исключает ситуации, когда программа зависнет или аварийно завершится, что неприемлемо в полностью автоматизированных системах.
В работе [1] была предложена структурная схема программной СРО РВ. Система должна состоять из отдельных модулей, каждый из которых может быть оформлен в виде процессов, потоков или библиотечных функций.
Программные системы РВ реализуются на соответствующих операционных системах, например, QNX Neutrino, Windows CE, или на обычных операционных системах (Windows, Linux) с расширениями РВ. Особенностью подобных операционных систем является поддержка вытеснения потоков, что позволяет полностью вытеснять потоки с меньшим приоритетом при поступлении более важных потоков. Наиболее высшим приоритетом должен обладать модуль контроля, поскольку он обладает правом принудительно завершать работу модулей распознавания. В качестве примера построения структуры была разработана программная имитационная модель, работающая на обычной версии Windows XP. Поскольку наиболее подвержены ошибкам и зависаниям модули распознавания, то они реализовывались в виде отдельных процессов, а модули управления, контроля и сбора и обработки данных – в виде отдельных потоков главного процесса модели (для удобства обмена данными внутри одного адресного пространства). Для взаимодействия потоков и процессов использовались мьютексы, являющиеся наиболее простым и эффективным механизмом синхронизации.


( Читать дальше )

Модель распознавания образов реального времени

Разработана модель распознавания образов в реальном времени PRS-RT
(скачать PRS-RT_1.00.zip).
В модели учитываются следующие требования:
  • в системе должна быть учтена вероятность ошибочного решения;
  • система должна иметь ограничение по времени на распознавание образа(-ов);
  • система должна поддерживать механизмы обработки ошибок;
  • поведение системы должно быть известным и предсказуемым.


( Читать дальше )

Бинаризация изображений

Бинаризация изображений, т.е. перевод полноцветного или в градациях серого изображения в монохромное, где присутствуют только два типа пикселей (темные и светлые) имеет большое значение при распознавании образов. Особенно это относится к бинарным объектам, таким, как штриховые коды, текст, чертежи и т.п. Существуют различные подходы к бинаризации, которые условно можно разделить на 2 группы:
  • пороговые;
  • адаптивные.


( Читать дальше )