Про стриптизёрш…

топ 100 блогов gorkoff18.06.2010

Originally published at GORKOFF. You can comment here or there.

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

Но не так давно нам дали новое задание: теперь необходимо не просто выделять контуры объектов, но находить среди всех контуров девушку и постоянно сопровождать её. Причём всё это без вмешательства человека.  Вот о решении этой задачи я и хочу вам рассказать. Условно весь процесс решения можно разбить на 5 этапов.

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

Обрезка краёв

Обрезка краёв

2. Бинаризация.
Работать с чёрно-белыми изображениями гораздо проще, чем с изображениями в градациях серого. Поэтому все пикселы яркость, которых выше заданного значения, мы делаем белыми, те пикселы яркость которых ниже порога, мы делаем чёрными. В итоге мы получаем множество связных белых областей.

Про стриптизёрш…

Бинаризация

3. Выделение значимых областей.
Из всего множества белых областей выбираем значимые области (т.е. те области с большой площадью) и заливаем их разными цветами. Незначимые области мы убираем, заливая их чёрным.

Про стриптизёрш…

Выделение значимых областей

4. Вычисление центров тяжести значимых областей.
В общем случае для вычисления центра тяжести необходимо интегрировать, но в нашем случае мы можем заменить интегрирование вычислением дискретных сумм.
Про стриптизёрш…
На изображении центры тяжести фигур отмечены белыми квадратиками.

Про стриптизёрш…

Выделение центров тяжести

5. Поиск девушки.
Тепловизор установлен так, что девушка во время танца будет находиться в центре кадра. Поэтому среди всех значимых областей выбираем одну, центр тяжести которой ближе всего к центру экрана. Именно эту область мы и будем считать девушкой. Безусловно, возможны ситуации, когда программа будет ошибаться и переключать своё внимание на какого-нибудь посетителя стриптиз-клуба, но особенность алгоритма в том, что рано или поздно программа вернётся к слежению за девушкой. Даже в такой сложной ситуации, когда между девушкой и камерой проходит человек, алгоритм отработает корректно.

Про стриптизёрш…

Поиск девушки

Примеры работы алгоритма

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

На этом видео показано слежение за объектом с быстро меняющимся центром тяжести.

P.S. Отдельный и очень интересный вопрос – как сделать так, чтобы девушку не «разрезало» шестом во время вращения. Могу рассказать об этом в другой раз, если вам будет интересно.

P.P.S. Стоит ли мне и дальше писать о том, чем я занимаюсь, или это скучно и путано?

Оставить комментарий

Архив записей в блогах:
Не дает мне покоя "Сказка о царе Салтане,"  вернее, женские образы в ней. Вот ведь иллюстрация короткого века бабьего... Или даже короткой ебабельности. В начале мы имеем трех девиц под окном, которые, как мы знаем, пряли поздно вечерком. О них ничего не известно, кроме факта, ...
Лето в Теляви, как его иногда называют, - это много или мало, чтобы узнать город и жителей? Жаркое изнуряющее солнце и безупречно синее небо. Тель-Авив - это множество ярко-зеленых парков посреди пустыни. Странные дома, затаившиеся в переулках. Фешенебельные отели и дорогие район ...
- Скажите, а после абдоменопластики болит сильнее, чем после кесарева сечения? - Вы будете смеяться, но, по ряду причин, я ни той, ни другой операции не подвергался и поэтому ничего однозначно утверждать не ...
Утро надо начинать с улыбки !!! ...
Как ни странно, к моему посту ниже еще нет ни одного коммента из серии "30 секунд не подождать, гонщик ёпт". Но, поскольку они обязательно будут, давайте, пока у нас не пятница, поговорим о тех, кто ездит по дороге медленно. Если человек тратит на ...