Предлагаемый подход

advertisement
РАСПОЗНАВАНИЕ НЕДЕФОРМИРУЕМЫХ
ТРЕХМЕРНЫХ ОБЪЕКТОВ НА
ИЗОБРАЖЕНИЯХ ПО КОНТУРАМ
Петров Н.С., студент 545 гр. кафедры системного программирования
СПбГУ, nikolai.s.petrov@gmail.com
Аннотация
В данной работе будет дано сравнение известных
методов распознавания трехмерных объектов по контурам и
предложен новый метод, успешно применяющийся в задаче
распознавания автомобилей. Данный метод устойчив к
небольшим изменениям изображения объекта, таким как
небольшие повороты и небольшие изменения в масштабе. В
этом методе трехмерные объекты представляются конечным
набором образцов, с которыми считается схожесть входного
изображения. Метод основан на ориентациях градиентов
изображения, поэтому слабо зависит от освещенности
объекта. Преимуществом этого подхода также является
возможность использование внутренних и частичных
контуров.
Введение
Задача распознавания объектов возникает во многих сферах,
например, в медицинских приложениях для распознавания типа кости на
рентгене, или в криминалистической сфере для сличения объекта на
изображении с объектом из базы данных, например распознавание лиц или
машин.
Существующие методы рассматривают на два типа изменений
модели: недеформирующие изменения и деформирующие. Первый вид
изменений предполагает вращение, сдвиг и масштабирование модели, а
второй – еще и деформации самой модели, таких как, например, изменение
позы человеческого тела или мимики.
Предлагаемый ниже метод предполагает нахождение объекта при
недеформирующих изменениях. Для этого из входного изображения
изучаемого объекта извлекается его контур, затем находятся особые точки
контура, используя которые находится контур из базы контуров,
построенных по трехмерным моделям.
Существующие решения
Задача распознавания объекта по его контуру в общем виде решается
либо параметризацией контура и дальнейшим подсчетом функции
схожести по двум параметризацией, либо подсчетом некоторого
дескриптора контура (например, набор гистограмм) и сравнивая уже их.
В подходе Belongie и др. вводятся контексты формы контура и
сравниваются уже они [1]. Выбирается равномерно n точек контура, из
каждой точки пускаются отрезки во все остальные точки выборки и
строится гистограмма по направлениям и длинам этих отрезков. Набор
всех таких гистограмм и является контекстом формы контура. Сравнение
двух контуров проходит накладыванием одного набора на другой со
всевозможными смещениями, находя наилучший поворот одного контура к
другому. Сложность этого подхода O(n3).
Подход Sebastian и др. основан на редакционном расстоянии,
введенном ранее для строк [2]. Для каждой точки контура известно
расстояние заранее определенной точки (начала контура) и кривизна в
данной точке. При сравнении двух контуров функция схожести считается
путем накладывания одного контура на другой и подсчетом разницы
кривизны с возможностью выбрасывания кусков контуров с начислением
штрафов.
Для сравнения контуров также можно использовать понятие граф
шоков, как в подходе Macrini и др. [3]. По контуру строится его скелет в
виде дерева как набор точек равноудаленных от пар точек контура. Узлами
этого дерева и являются шоки, они бывают разных типов и силы.
Сравнивая уже эти графы, можно сравнить сами контуры.
Вышеописанные методы могут помочь определить является ли
изучаемый контур контуром самолета или молотка, но ими сложно
различить схожие контуры недеформируемых объектов. Поэтому
необходимо, что-то более зависящее от необычных точек контура и
сильнее характеризующее конкретный объект. Плюс есть необходимость
использовать внутренние контуры.
Предлагаемый подход
На входном изображении объекта, полученном с помощью камеры с
известными параметрами без дисторсии, необходимо сначала выделить
контур объекта, используя градиент изображения. Затем из точек контура
оставить только особые и запомнить лишь направление градиента в этих
точках. Затем отфильтровать некоторым способом полученные точки и уже
их использовать при сравнении контуров.
Выделение контуров
Для выделения контуров использовался градиент изображения,
посчитанный с помощью оператора Собеля. Обычно для этого используют
яркость изображения в градациях серого, но для получения более явных и
полных контуров используется такой метод: считаем градиент в каждой
точке для трёх каналов отдельно и записываем как итог градиент с
максимальной нормой.
Рис.1 Норма градиента
изображения в градациях серого
Рис. 2 Максимальная норма
градиента изображения по трем
каналам
Выделение особых точек
Среди точек полученного градиента изображения оставляем только те,
норма градиента в которых больше определенного порога, таким образом,
получая точки контура. Для этих точек градиента оставим только угол
между направлением градиента и осью Ох. Если угол α больше π, то
запишем вместо него α - π, потому что градиент может быть направлен в
противоположные стороны при различных фонах. Отказ от использования
информации о норме градиента позволяет использовать точки контура,
находящиеся в тени, тем же образом, каким точки контура в освещенной
части объекта. Далее бинаризуем посчитанные углы в n бинов, то есть если
угол α,: 0 < α < π / n, тогда он попадает в первый бин, а если α,: π / n < α < π
* 2 / n, тогда во второй и так далее. Затем из точек удаляем те, для которых
неверно, что направление в этой точке является самым частым
направлением в некоторой небольшой окрестности точки. Это
обеспечивает локальную сонаправленность точек контура и чистит контур
от шума. Оставшиеся точки (направление и координаты) и будут
использоваться для сравнения двух контуров
.
Создание базы по трехмерным моделям
База контуров объектов используется для нахождения на входном
изображении объекта и его ракурса. По некоторому набору трехмерных
моделей генерируются их изображения в различных ракурсах и в разных
масштабах. Затем на этих изображениях детектируются контуры и
выделяются особые точки, описанным выше способом. Эти результаты
можно сохранить для дальнейшего переиспользования. Так же можно
поделить эту базу на группы в зависимости от размеров контуров в
пикселях.
Рис. 3 Пример трехмерной модели в ракурсе повернутом по оси Оу на
20 градусов и по оси Ох на 10 градусов от фронтального.
Функция схожести и ее подсчет
Назовем каждый контур из базы образцом модели в некотором ракурсе
и масштабе. Сдвинем координаты точек в образцах так, чтобы абсцисса
самой левой точки была нулем, а ордината самой верхней точки была тоже
нулём. Тогда для входного изображения I в точке с и образца T можно
ввести функцию схожести
где P – это множество точек образца, О – изображение,
соответствующее образцу, ori(O, r) – бинаризованое направление градиента
изображения О в точке r. Функция основана на работе Steger [5] и подобная
использовалась в работе Farhan [4]. Проблема состоит в том, что такая
функция совершенно не устойчива к изменениям, поэтому для каждой
точки образца необходимо рассматривать некоторую окрестность R
(например, квадрат 7х7 пикселей) вокруг прикладываемой точки:
Но проведенные тесты показали, что эта функция явно зависит от
количества точек контура в образце и если оно не постоянно, то возникает
множество ошибок при распознавании. Поэтому конечная функция
схожести имеет вид
где n – количество точек в образце T.
Заключение
Для предложенного метода проведен ряд экспериментов: от ракурсов,
присутствующих в базе сделан поворот по осям Ox, Oy, Oz на малый угол
(2-3 градуса) и запущен поиск по базе ближайшего объекта и его ракурса.
Результат считается положительным, если модель распозналась правильно
и ракурс найден с точностью до 5 градусов. Результат по 15 моделям:
Поворот на малый угол
Распознано правильно 98.5%
Небольшие изменения масштаба
Распознано правильно 97,6%
Тест на размытие
Распознано правильно 87-95%
Преграждение четверти объекта
Распознано правильно 75-88%
Результат теста на размытие зависит от размера ядра размытия и его
силы. Чем больше – тем ниже процент. При преграждении процент
распознавания зависит от того какая часть объекта перекрыта (много ли на
ней точек контура).
Рис. 4 График схожести тестового примера по базе (по осям – углы
вращения по х и по у). Он показывает, что в области правильного ракурса
явный пик функции, который можно найти быстрее, чем перебором всех
ракурсов.
Литература
1.
2.
3.
4.
5.
Belongie, S.; Malik, J.; Puzicha, J., "Shape matching and object
recognition using shape contexts," Pattern Analysis and Machine
Intelligence, IEEE Transactions on , vol.24, no.4, pp.509,522, Apr
2002
Sebastian, T.B.; Klein, P.N.; Kimia, B.B., "On aligning curves," Pattern
Analysis and Machine Intelligence, IEEE Transactions on , vol.25,
no.1, pp.116,125, Jan. 2003
Macrini, D.; Shokoufandeh, A.; Dickinson, S.; Siddiqi, K.; Zucker, S.,
"View-based 3-D object recognition using shock graphs," Pattern
Recognition, 2002. Proceedings. 16th International Conference on ,
vol.3, no., pp.24,28 vol.3, 2002
Farhan U.; Shun'ichi K.; Satoru I., “Object Search Using Orientation
Code Matching”, IAPR Workshop on Machine Vision Applications,
Nov. 28-30, 2000
C. Steger, “Occlusion Clutter, and Illumination Invariant Object
Recognition,” in International Archives of Photogrammetry and
Remote Sensing, 2002.
Download