СПОСОБ ВЫДЕЛЕНИЯ КОНТУРОВ ДВИЖУЩИХСЯ ОБЪЕКТОВ
METHOD TO IDENTIFY CONTOURS OF MOVING OBJECTS

Изобретение относится к вычислительной технике и может быть использовано в системах технического зрения, цифровых устройствах получения и обработки изображений для формирования контурного описания изображения.
Известен способ подчеркивания контуров изображения движущихся объектов (патент №2337501, опубл. 27.10.2008), заключающийся в обнаружении движения, определении движения пикселей, объединении движущихся в одном направлении пикселей в объекты и подчеркивании их контуров.
Недостатком данного способа является низкая точность определения направления движения пикселей и как следствие невысокая точность выделения контуров, вызванная независимой обработкой каждого пикселя при обнаружении направления его движения без учета информации о соседних пикселях.
Наиболее близким является способ выделения контуров объектов изображения (патент №2383925, опубл. 27.04.2009), включающий процесс предварительной фильтрации фильтром Гаусса, выделения контуров оператором Собела, утончения контурных линий и пороговой обработки.
Недостатком данного способа является низкая скорость выделения контуров.
Технической задачей изобретения является повышение точности определения областей движущихся объектов, с одновременным увеличением скорости выделения контуров.
Задача решается тем, что в известный способ, включающий выделение контуров на основе пространственного дифференцирования, утончение контуров и бинаризацию, введены обнаружение движущихся объектов и определение направления движения пикселей объектов.
Изобретение может быть использовано для выделения контуров объектов изображения в системах технического зрения, цифровых фото- и видеокамерах.
Сущность изобретения поясняется чертежом, где показан обобщенный алгоритм способа выделения контуров движущихся объектов.
Рассмотрим операции, применяемые в изобретении, к которым относятся формирование движущихся объектов, пространственное дифференцирование обнаруженных объектов, скелетизация контурных линий на градиентном изображении, пороговая обработка скелетного градиентного изображения.
Для обнаружения движущихся объектов предыдущий кадр I(k-1) и текущий кадр I(k) обрабатываются скользящим окном 3х3. Для каждого пикселя (i,j) текущего и предыдущего кадра составляются матрицы яркости X(k) и X(k-1) восьмисвязной окрестности
,n=k, k-1,
Для учета возможных изменений внешней освещенности сцены с одним и тем же расположением объектов в следующем кадре относительно текущего кадра матрицы X(k) и X(k-1) преобразуются следующим образом:
, ; ,
, ; ,
Направление перемещения r каждого пикселя относительно текущего k-го кадра определяется по принципу межкадрового вычитания. Расчет производится для восьмисвязной окрестности каждого пикселя. Вывод о перемещении пикселя в одном из 8 направлений делается на основании следующего условия:
**
*
*
X(k/k-1)=X(k)-X(k-1),
, , ,
d
где T - минимальный порог обнаружения движения.
Для определения направления движения пикселя формируются матрицы определения перемещения центрального пикселя на текущем кадре относительно предыдущего, которые задаются в общем виде следующим образом:
,
, ; ; ,
где r - номер направления движения.
Результирующие матрицы яркости изображения, вычисляющие перемещение пикселя на текущем кадре, задаются в общем виде следующим образом:
r
*
r
X(k/k-1)=X(k)-X(k-1), .
За направление движения пикселя принимается то направление, для которого суммарное значение изменений яркости (сумма всех элементов результирующих матриц) по модулю является минимальным.
r
где direction(•) - функция, значением которой является величина верхнего индекса матрицы X (k/k-1).
ij
ij-1
i-1j
i-1j-1
ij+1
zl
ij
При получении в текущей точке x функцией direction (•) нескольких минимумов учитываются смежные пиксели x, x, x, x. Если направление движения смежного пикселя D(x(k)) однозначно определено и совпадает с одним из направлений движения текущего пикселя D(x(k)), то
ij
zl
текущему пикселю присваивается направление движения смежного пикселя D(x(k))=D(x(k)).
Пиксели с одинаковым направлением движения группируются в объекты при условии, что для каждой точки найдется не менее одной соседней точки, расположенной на расстоянии 1 пиксель. В результате отсеиваются неинформативные точки с разным направлением движения, уточняя области для выделения контуров, за счет чего повышается точность и скорость последующих этапов обработки.
Выделение контуров производится с помощью оператора Собела
,
,
где Gr - градиентное изображение, каждый элемент которого содержит два компонента: модуль градиента G(x,y) (поле величин), отражающий скорость изменения яркости в точке с координатами 〈x,y〉, и направление градиента ν(x,y) (поле направлений), которое определяется углом наклона прямой, соответствующий направлению перепада яркости, к оси абсцисс.
es
Функция утончения контурных линий f(>) выполняет создание односвязных представлений контуров
,
где (х*,у*) - координаты опорных точек, находящихся на прямой, ортогональной касательной к контурной линии в данной точке.
eth
Функция бинаризации f(•) выполняет разделение точек изображения на точки контуров и точки однородных областей
,
,
, , ∀x, ∀y:b(x,y)∈[0,1],
1
2
где K - коэффициент детализации бинарного изображения В, который позволяет управлять уровнем детализации (количеством контуров); t(•) - функции изменения пороговых значений в зависимости от наличия в восьмисвязной окрестности точек контура; Т, T, - пороговые значения, определяемые исходя из критерия максимума и минимума энтропии.
2
Лучшим набором параметров для определения порога T является тот, который удовлетворяет условию минимума энтропии
,
1
а для T максимума энтропии
,
1
2
где H(>) - функция энтропии; t(r), t(r)) - пары параметров-кандидатов для расчета функции энтропии.
Пороговые значения вычисляется следующим образом:
, .
Изобретение позволяет увеличить скорость получения контуров объектов за счет повышения точности формирования областей движущихся объектов и проведения операций для выделения контуров только в выделенных областях.