Подходы к распознаванию тени при анализе изображения с видеокамеры

На главную страницу сайта

ПОДХОДЫ К РАСПОЗНАВАНИЮ ТЕНИ ПРИ АНАЛИЗЕ ИЗОБРАЖЕНИЯ С ВИДЕОКАМЕРЫ.

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

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

Формально тень и отблески/отражения (будем называть их фантомы) отличаются от реального объекта только следующими признаками:
а) Это изменение лишь текстуры поверхности, z-буфер (точнее, расстояние) не меняется
б) Изображение представляет из себя результат наложения какого-то сигнала на известную исходную картинку. Не обязательно линейного, но для логических выводов можем считать, что изображение тени/отблеска W=k0(W0)+ k1(N), где
• k0 - показатель (точнее оператор), как правило характеризующий изменение яркости или, в определенных случаях (цветной отблеск) гаммы фона при движении окружающих объектов
• W0 - изображение фона
• N - изображение дополнительного неизвестного сигнала (тень, отблеск, отражение)
• k1 - неизвестный показатель (точнее оператор), характеризующий яркость и т.п. (в том числе степень отражения) дополнительного сигнала

В общем случае неизвестен не только дополнительный сигнал, но и оператор k1, поэтому для сложной контрастной тени или ярких отсветов или зеркальной поверхности, т.е. для больших градиентов k1(N) гарантировать выделение фантомов невозможно - в принципе и человеческий глаз это не гарантирует в таких ситуациях.

Можно сказать, что библиотеки различными преобразованиями добиваются уменьшения отношения (k1(N) / k0(W0)). Однако это можно сделать другими способами. Например, использование двух камер, работающих в разных диапазонах. Насколько я знаю оптику и физику, яркость k1(N) для инфракрасного диапазона будет кардинально отличаться для любых фантомов (тень, отблеск, отражение) практически для любых поверхностей и комбинации освещения. То есть комбинация "обычная камера + инфракрасная камера" по совпадающим (при обработке одинаковой библиотекой) объектам выявит настоящие объекты, а по несовпадающим - фантомы. Возможно, что такого же эффекта можно добиться и для двух обычных камер, с применением определенных светофильтров для одной из них... Кстати, применение камер с разным диапазоном позволяет выявлять и объёмные фантомы - туман, дым. Это особенно актуально зимой при движении транспорта - зачастую самих машин в облаке выхлопных газов уже не видно...

Другой подход - попытаться использовать неизменность z-буфера. Например:
Стерео камера в принципе позволяет построить (рассчитать) картинку, которую с определенной натяжкой можно считать трехмерной. На трехмерной картинке фон (начальная геометрия) и объект выделяются явным образом. Если сюда еще и инфракрасную камеру добавить - возможности системы становятся еще более мощными )))
Интересные возможности представляет использование лезерного дальномера в связке с камерой: существуют стандартные (например, градиентные) методы выделения контуров объектов, а дальномер способен легко отличить смену текстуры фона от постороннего объекта. Однако синхронность получения снимка и контроля z-буфера подразумевает контроль всего одной точки - дальномер не успеет перестроится... есть варианты обхода этой проблемы, но в рамках этого сомнительного мозгового штурма они неуместны...

Если кому-то, знакомому с проблемой профессионально, вышеописанное покажется глупостью или бредом, напишите, удалю без разговоров :)

(C) Сергей Пашков, 2013
mailto: s300ngs.ru, ICQ UIN 117631343