Опубликован: 02.09.2013 | Доступ: свободный | Студентов: 429 / 54 | Длительность: 19:27:00

Самостоятельная работа 7: Оптимизация и распараллеливание вычислений в задаче детектирования объектов на изображениях с использованием алгоритма Latent SVM

3. Математическая постановка задачи детектирования объектов с n частями

3.1. Построение оценочной функции положения объекта

Пусть дано изображение l. Изображение представляется в виде матрицы пикселей. Каждый элемент матрицы состоит из трех компонент. Компоненты соответствуют интенсивностям цвета (RGB) в точке. Всего в изображении w элементов по горизонтали и h элементов по вертикали. В качестве входных данных для алгоритма выступает матрица, показанная на рис. 14.1.

Матрица интенсивностей для трехканального изображения

Рис. 14.1. Матрица интенсивностей для трехканального изображения

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

Рассмотрим ситуацию, когда имеется изображение, по которому построена карта свойств G(i,j), и имеется объект для поиска. Искомый объект можно описать с помощью фильтра F= \lbrace f_{x',y'},x' \in \lbrace0, ...,w_f \rbrace , y' \in \lbrace 0,...,h_f \rbrace \rbrace , где h_f и w_f – размеры фильтра изображения (рис. 14.2). Фильтр определяет набор признаков, наиболее характерных для объекта заданного класса.

Модель объекта

Рис. 14.2. Модель объекта

Для оценки наличия объекта в конкретной области применяется следующая свертка:

S(x,y)=\sum_{x',y'} {F(x',y')G(x+x',y+y')}, ( 1)

где x' \in \lbrace0, ...,w_f \rbrace , y' \in \lbrace 0,...,h_f \rbrace,0 \leqslant x \leqslant [\frac {w-1} {k}],0 \leqslant y \leqslant [\frac {h-1} {k}]. .

Чем больше S(x,y), тем больше вероятность того, что искомый объект находится в точке (x,y).

Теперь предположим, что объект состоит из n частей. Введем обозначения:

  • F_0 – грубый фильтр (фильтр для всего объекта),
  • F_i – фильтр для i-ой части объекта (точный фильтр). Заметим, что положение точного фильтра задается относительно грубого.

В этом случае оценочную функцию можно записать следующим образом:

S(x,y)=\sum^n_{i=0} \sum_{x'_i,y'_i} {F_i(x'_i,y'_i)G(x_i(x)+x'_i,y_i(y)+y'_i)}, ( 2)

где x_i(x) и y_i(y) – положение фильтра F_i в глобальных координатах изображения, а x' \in \lbrace0, ...,w_f \rbrace , y' \in \lbrace 0,...,h_f \rbrace,h_{fi},w_{fi} – размеры точного фильтра с номером i

(2) позволяет найти на изображении объект фиксированного размера. Если объект имеет размеры, отличные от эталонного, то в этом случае, объект не будет найден. Для решения данной проблемы строят пирамиду признаков H . Пирамида признаков содержит несколько уровней, на каждом из которых находится карта свойств изображения, полученного в результате уменьшения или увеличения исходной картинки. На уровне \lambda находится карта свойств исходного изображения, а на 0-ом уровне – карта свойств изображения, которое увеличено в два раза.

Далее предполагается, что фильтр может быть расположен на любом уровне пирамиды признаков. Как следствие, чтобы определить положение фильтра в исходном изображении и его масштаб, необходимо знать номер уровня и положение левого верхнего угла фильтра на уровне. Пусть p_i=(x_i,y_i,l_i) – положение фильтра F_i на уровне l_i в пирамиде признаков H.

Введем функцию \phi(H,p_i), которая получается из пирамиды признаков H и координат положения p_i конкретное свойство изображения, путем вычисления глобальных координат x и y фильтра F_i на слое l. Тогда оценочную функцию можно записать следующим образом:

S(x,y)=\sum^n_{i=0} {F_i \phi(H,p_i)} ( 3)

До настоящего момента в построенной модели все части изображения были никак не связаны и могли располагаться в любой части входной картинки. Для реального объекта это не так (например, руки человека не могут быть удалены бесконечно далеко от туловища). Пусть заданы модели частей объекта P_i=(F_i,V_i,d_i), где V_i – идеальное расположение его части, а d_i \in R^4 – коэффициенты квадратичной функции штрафа d_1x+d_2y+d_3x^2+d_4y^2, которая вносит вклад в значение оценочной функции в случае чрезмерного удаления части от самого объекта. Тогда модель для объекта с n частями формально определяется множеством параметров (4).

(F_0,P_1,...,P_n,b), ( 4)

где параметр определяет соответствие коэффициентов между моделями. Таким образом, оценочная функция имеет вид (5).

score(p_0,p_1,...,p_n)=\sum^n_{i=0} {F_i \phi(H,p_i)}-\sum^n_{i=0} {d_i\phi_d(dx_i,dy_i)+b}, ( 5)

где первое слагаемое – результат применения фильтров к исходному изображению (значения сверток грубого и точных фильтров с конкретной матрицей признаков), второе слагаемое – штраф за счет деформации взаимного расположения частей, b – параметр соответствия коэффициентов между моделями, а \phi_d(dx_i,dy_i) – вектор с компонентами \phi_d(dx,dy)=(dx,dy,dx^2,dy^2),(dx_i,dy_i)=(x_i,y_i)-(2(x_0,y_0)+V_i). . В результате оценочную функцию можно записать в свернутом виде (6), если ввести дополнительные обозначения.

score(p_0,p_1,...,p_n)=(\beta,\psi(H,z)), ( 6)

где \beta=(F'_0,F'_1,...F'_n,d_1,...d_n,b),

\psi(H,z)=(\phi(H,p_0),...,\phi(H,p_n),-\phi_d(dx_1,dy_1),...,-\phi_d(dx_n,dy_n),1)

3.2. Поиск частично видимых объектов

Предположим, что имеется модель (F_0,P_1,...,P_n,b) для объекта с частями Построена пирамида признаков для исходного изображения. Для определения положения частично видимых объектов при вычислении сверток каждую матрицу признаков в пирамиде необходимо дополнить нулевыми границами. Размер границы определяется максимальными размерами фильтров по каждому измерению согласно формулам (7).

bx=\frac {mwf} {2} +1,by=\frac {mhf} {2} +1 ( 7)

где mwf=max_f \lbrace w_f \rbrace, mhf=max_f \lbrace h_f \rbrace..

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

Андрей Терёхин
Андрей Терёхин

Нахожу в тесте вопросы, которые в принципе не освещаются в лекции. Нужно гуглить на других ресурсах, чтобы решить тест, или же он всё же должен испытывать знания, полученные в ходе лекции?

Демянчик Иван
Демянчик Иван

В главе 14 мы видим понятие фильтра, но не могу разобраться, чем он является в теории и практике.

" Искомый объект можно описать с помощью фильтра F= \lbrace f_{x',y'},x' \in \lbrace0, ...,w_f \rbrace , y' \in \lbrace 0,...,h_f \rbrace \rbrace "