Способ фильтрации бинарного изображения

Иллюстрации

Показать все

Изобретение относится к области обработки изображений. Технический результат – повышение надежности слежения в условиях плохой видимости и обеспечение возможности слежения за быстродвижущимися объектами. Способ фильтрации бинарного изображения двумерным пространственным фильтром заключается в том, что по бинарному изображению последовательно перемещают квадратное окно фильтра, в центре которого расположен базовый элемент, и в каждой позиции остановки окна фильтра выполняют шаг фильтрации, в процессе которого подсчитывают количество элементов k1 со значением «1», сравнивают это количество с заранее заданным числом R1, находящимся в интервале от 1 до N1, где N1 - количество элементов в окне фильтра, после чего придают базовому элементу значение «1», если количество элементов k1 больше или равно R1; либо придают базовому элементу окна значение «0», и перемещают окно фильтра в следующую позицию остановки, если количество элементов k1 меньше R1. После придания базовому элементу окна значения «1», после придания базовому элементу окна значения «1» выполняют еще один шаг фильтрации, при котором окно фильтра представляет собой квадратную рамку с квадратным отверстием, расположенным по центру рамки. При этом накладывают квадратную рамку окна фильтра на бинарное изображение таким образом, чтобы окно фильтра предыдущего шага фильтрации располагалось в квадратном отверстии квадратной рамки, а количество элементов со значениями "1" подсчитывают в квадратной рамке. После перемещения фильтра по всему изображению формируют новое бинарное изображение. 5 з.п. ф-лы, 4 ил.

Реферат

Изобретение относится к способам обработки изображений для обнаружения и слежения за объектами, а именно к способам фильтрации бинарных изображений.

Известен способ фильтрации бинарного изображения двумерным пространственным фильтром, заключающийся в том, что окно фильтра последовательно перемещают по бинарному изображению и в каждой позиции остановки окна фильтра подсчитывают в окне фильтра количество элементов k1 со значением «1», сравнивают это количество с заранее заданным числом R1, находящимся в интервале чисел от 1 до N1, где N1 - количество элементов в окне фильтра, придают всем элементам окна значения «1», если количество элементов k1 больше или равно R1, а если количество элементов k1 меньше R1, - придают всем элементам окна значения «0», и перемещают окно фильтра в следующее положение [Визильтер Ю.В., Желтое С.Ю., Бондаренко А.В. и др. Обработка и анализ изображений в задачах машинного зрения. М.: Физматкнига, 2010, с. 129].

Для того чтобы известным способом удалить помеху с бинарного изображения, площадь помехи должна быть меньше площади, занимаемой R1 элементами окна фильтра. При отсутствии предварительной информации о типе и размерах помех число R1 назначают близким по значению к N1/2. Поэтому, чтобы удалить помеху, площадь окна должна быть в два раза больше площади помехи. Это приводит к необходимости использования фильтров с окнами больших размеров. Однако, в этом случае, при фильтрации изображения известным способом сильно искажаются границы объектов, потому что при преобладании в окне элементов со значением «1» сразу всем элементам окна присваивают значения «1», а при преобладании «нулей» всем элементам окна присваивают значения «0». И чем больше размер окна фильтра, тем большие искажения получает объект.

Если значение R1 будет находиться в диапазоне от N1/2 до N1, то такой фильтр сможет удалять помехи размера, но это снизит возможность восстановления на бинарном изображении объектов, состоящих из нескольких близко расположенных, но разрозненных сегментов. В этом случае для восстановления объекта суммарная площадь всех сегментов должна быть намного больше половины площади окна.

А если значение R1 будет находиться в диапазоне от 0 до N1/2, то это не позволит удалять с изображения помехи большого размера, и все помехи площадью, большей площади R1 элементов, будут увеличены до размеров окна и, в результате, будут ошибочно причислены к объектам слежения.

Кроме того, в известном способе позициями остановки окна фильтра являются все элементы бинарного изображения. Вследствие этого, операции по фильтрации изображения выполняют столько раз, сколько элементов находится на изображении. В сочетании с необходимостью использования фильтра с большими размерами окна это значительно снижает производительность способа, уменьшает возможность его использования для оперативного слежения за быстродвижущимися объектами.

Известен способ фильтрации бинарного изображения двумерным пространственным фильтром, заключающийся в том, что по бинарному изображению последовательно перемещают окно фильтра в виде квадрата, в центре которого расположен базовый элемент, и в каждой позиции остановки окна фильтра выполняют по меньшей мере один - первый - шаг фильтрации, в процессе которого подсчитывают в окне фильтра количество элементов k1 со значением «1», сравнивают это количество с заранее заданным числом R1, находящимся в интервале чисел от 1 до N1, где N1 - количество элементов в окне фильтра, после чего либо придают базовому элементу окна фильтра значение «1», если количество элементов k1 больше или равно R1, либо придают базовому элементу окна значение «0», и перемещают окно фильтра в следующую позицию остановки, если количество элементов k1 меньше R1 [Визильтер Ю.В., Желтов С.Ю., Бондаренко А.В. и др. Обработка и анализ изображений в задачах машинного зрения. М.: Физматкнига, 2010, с. 118] - прототип.

Для того чтобы известным способом можно было удалить с бинарного изображения помеху, площадь помехи должна быть меньше площади, занимаемой R1 элементами окна фильтра. В том случае, когда R1 имеет значение, близкое к N1/2, площадь окна должна быть в два раза больше площади помехи. Это приводит к необходимости использования фильтров с окнами больших размеров. Однако при реализации известного способа с помощью фильтра с большими размерами окна сильно «сглаживаются» углы и другие выступающие части объектов. И чем больше размер окна фильтра, тем больше «сглаживаются» углы и выступы объектов. Это может затруднить в дальнейшем процессы обнаружения и распознавания объектов.

Кроме того, в известном способе ответ фильтра заносится только в базовый элемент, расположенный в центре окна. Поэтому при восстановлении изображения объекта, состоящего из нескольких близко расположенных, но разрозненных сегментов, значения «1» получат только те элементы, которые находятся внутри скопления сегментов, и удалены от наружных границ сегментов на расстояние, равное или большее половины длины окна фильтра. Потому что при нахождении базового элемента окна фильтра на расстоянии, меньшем половины длины окна фильтра, в окно фильтра попадают элементы, относящиеся к фону, и количество элементов со значением «1» становится меньше количества элементов со значением «0». В результате, базовому элементу окна будет придано значение «0». А, как уже было указано выше, для того, чтобы этим фильтром можно было удалять помехи, необходимо использовать фильтры с окнами больших размеров. В итоге, в результате фильтрации будет получен объект, площадь которого будет намного меньше, чем суммарная площадь сегментов на исходном изображении. Это может привести к потере объекта слежения, особенно в условиях плохой видимости, а также в ночное время при слежении за объектом при помощи инфракрасной камеры.

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

Задача, решаемая предлагаемым изобретением, - увеличение быстродействия способа, повышение надежности слежения в условиях плохой видимости, в ночное время, а также обеспечение возможности слежения за быстродвижущимися объектами.

Для решения этой задачи в способе фильтрации бинарного изображения двумерным пространственным фильтром, заключающемся в том, что по бинарному изображению последовательно перемещают окно фильтра в виде квадрата, в центре которого расположен базовый элемент, и в каждой позиции остановки окна фильтра выполняют по меньшей мере один - первый - шаг фильтрации, в процессе которого подсчитывают в окне фильтра количество элементов k1 со значением «1», сравнивают это количество с заранее заданным числом R1, находящимся в интервале чисел от 1 до N1, где N1 - количество элементов в окне фильтра, после чего либо придают базовому элементу окна фильтра значение «1», если количество элементов k1 больше или равно R1, либо придают базовому элементу окна значение «0», и перемещают окно фильтра в следующую позицию остановки, если количество элементов k1 меньше R1, согласно изобретению после придания базовому элементу окна значения «1», выполняют по меньшей мере еще один - дополнительный - шаг фильтрации бинарного изображения, при этом на дополнительном шаге фильтрации окно фильтра представляет собой квадратную рамку с квадратным отверстием, расположенным по центру рамки, причем размеры квадратной рамки не менее чем на 2 элемента по вертикали и по горизонтали больше размеров окна фильтра предыдущего шага фильтрации, а размеры квадратного отверстия равны наружным размерам окна фильтра предыдущего шага фильтрации.

При этом в процессе выполнения каждого дополнительного шага фильтрации выполняют следующие операции:

- накладывают квадратную рамку окна фильтра на бинарное изображение таким образом, чтобы окно фильтра предыдущего шага фильтрации располагалось в квадратном отверстии квадратной рамки;

- подсчитывают в квадратной рамке количество элементов со значениями «1» и сравнивают это количество с заранее заданным числом Ri, находящимся в интервале чисел от 1 до Ni, где Ni - количество элементов в квадратной рамке дополнительного шага фильтрации;

- придают всем элементам, расположенным в квадратном отверстии и в квадратной рамке окна фильтра, значения «0», записывают значения всех элементов, полученные ими в этой позиции остановки окна фильтра, в массив значений элементов и перемещают окно фильтра в следующую позицию остановки, если количество элементов k1i меньше Ri;

- а если количество элементов k1i больше или равно Ri, то придают всем элементам, расположенным в квадратном отверстии окна фильтра, значения «1» и сравнивают размер окна фильтра с заранее заданным максимально возможным значением размера окна, и в том случае, если размер окна фильтра не достиг своего максимально возможного значения, выполняют по меньшей мере еще один дополнительный шаг фильтрации бинарного изображения, а в случае достижения размером окна фильтра максимально возможного значения, придают всем элементам, расположенным в квадратной рамке окна фильтра, значения «1», записывают значения всех элементов, полученные ими в этой позиции остановки окна фильтра, в массив значений элементов и перемещают окно фильтра в следующую позицию остановки.

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

При этом элементы бинарного изображения, относящиеся к фону, имеют значения «0», а элементы, относящиеся к объектам, - значения «1».

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

На первом шаге фильтрации окно фильтра представляет собой квадрат 3×3 элемента.

Число Ri на каждом дополнительном шаге фильтрации вычисляют по формуле Ri=Ni/2.

При формировании нового бинарного изображения руководствуются следующим правилом: элемент в новом бинарном изображении получает значение «0», если во всех массивах значений, полученных во всех позициях остановки окна фильтра, этот элемент имел значения «0», а если хотя бы в одном массиве значений этот элемент имел значение «1», то в новом бинарном изображении он получает значение «1».

Технический результат, обеспечиваемый предлагаемым изобретением, заключается в сокращении числа вычислений, в обеспечении возможности устранения с бинарного изображения помех, площадь которых не намного меньше площади окна фильтра, а также в обеспечении возможности восстановления на изображении объектов, состоящих из нескольких близко расположенных, но разрозненных сегментов.

Изобретение поясняется чертежами. На фиг. 1а изображено окно в виде квадрата 3×3 элемента с базовым элементом в центре квадрата; на фиг. 1б, в, г, д изображены окна в виде квадратных рамок 5×5, 7×7, 9×9, 11×11 элементов с квадратными отверстиями 3×3, 5×5, 7×7, 9×9 элементов, соответственно; на фиг. 1е - пример фильтрации бинарного изображения фильтром с максимальным размером квадратной рамки 11×11 элементов; на фиг. 2 изображены примеры зачистки бинарного изображения от помех, где: а, г, ж - образцы помех; б, д, з - результаты зачистки способом, описанным в прототипе, фильтром с окном 7×7 элементов, R13=25; в, е, и - результаты зачистки предлагаемым способом фильтром, максимальный размер окна которого составляет 7×7 элементов, R13=12; на фиг. 3, 4 изображены примеры восстановления бинарного изображения, содержащего объекты, состоящие из нескольких близко расположенных, но разрозненных сегментов, где: а, г, ж - образцы исходного изображения; б, д, з - результаты восстановления способом, описанным в прототипе, фильтром с окном 7×7 элементов, R13=25; в, е, и - результаты восстановления предлагаемым способом фильтром, максимальный размер окна которого составляет 7×7 элементов, R13=12.

Реализуют способ следующим образом. По бинарному изображению последовательно перемещают окно 1 фильтра в виде квадрата 3×3 элемента, в центре которого расположен базовый элемент 2. Останавливают окно фильтра в таких позициях, в которых его базовый элемент 2 находится в положении элемента бинарного изображения со значением «1». В каждой позиции остановки окна фильтра подсчитывают в окне фильтра количество элементов k1 со значением «1». Сравнивают это количество с заранее заданным числом R1, находящимся в интервале чисел от 1 до N1, где N1 - количество элементов в окне фильтра. При отсутствии предварительной информации о типе и размерах помех назначают R1=(N1+1)/2. Для окна 3×3 элемента R1=5.

Если количество элементов k1 меньше 5, придают базовому элементу 2 окна значение «0», и перемещают окно в следующее положение. А если количество элементов k1 больше или равно 5, то придают базовому элементу 2 значение «1» и выполняют по меньшей мере еще один - дополнительный - шаг фильтрации бинарного изображения.

На каждом дополнительном шаге фильтрации в качестве окна фильтра используют квадратную рамку с квадратным отверстием, расположенным по центру рамки. Размеры квадратной рамки не менее чем на 2 элемента по вертикали и по горизонтали больше размеров окна фильтра предыдущего шага фильтрации, а размеры квадратного отверстия равны наружным размерам окна фильтра предыдущего шага фильтрации. Если на первом шаге фильтрации окно фильтра было в виде квадрата 3×3 элемента, то на втором шаге фильтрации окно фильтра представляет собой квадратную рамку 3 размером 5×5 элементов с квадратным отверстием 3×3 элемента.

Во время выполнения второго шага фильтрации накладывают квадратную рамку 3 на бинарное изображение таким образом, чтобы окно 1 первого шага фильтрации располагалось в квадратном отверстии 3×3 рамки 3. После этого подсчитывают в квадратной рамке 3 количество элементов k12 со значениями «1» и сравнивают это количество с заранее заданным числом R2, находящимся в интервале чисел от 1 до N2, где N2 - это количество элементов в квадратной рамке 3, N2=16. При отсутствии предварительной информации о типе и размерах помех, значение Ri, как правило, назначают равным Ni/2, где Ni - количество элементов в квадратной рамке дополнительного шага фильтрации. Примем R2=8.

Если количество элементов k12 меньше 8, придают всем элементам, расположенным в квадратном отверстии 3×3 элемента, значения «0». Элементам квадратной рамки 3 со значениями «1» также придают значения «0». Записывают значения всех элементов, полученные ими в этой позиции остановки окна фильтра, в массив значений элементов и перемещают окно фильтра в следующую позицию остановки.

Если количество элементов k12 больше или равно 8, то придают всем элементам, расположенным в квадратном отверстии рамки 3, значения «1» и сравнивают размер окна фильтра с заранее заданным максимально возможным значением размера окна.

Если размер окна фильтра еще не достиг своего максимально возможного значения, то выполняют третий шаг фильтрации бинарного изображения. На третьем шаге фильтрации используют квадратную рамку 4 размером 7×7 элементов с квадратным отверстием 5×5 элемента. Накладывают квадратную рамку 4 на бинарное изображение таким образом, чтобы окно фильтра второго шага фильтрации располагалось в квадратном отверстии 5×5 квадратной рамки 4. Подсчитывают в квадратной рамке 4 количество элементов k13 со значениями «1», сравнивают это количество с заранее заданным числом R3, находящимся в интервале чисел от 1 до N3, где N3 - это количество элементов в квадратной рамке 4. N3=24. Примем R3=12.

Если количество элементов k13 меньше 12, придают всем элементам, расположенным в квадратном отверстии 5×5 элемента, значения «0». Элементам квадратной рамки 4 со значениями «1» также придают значения «0». Записывают значения всех элементов, полученные ими в этой позиции остановки окна фильтра, в массив значений элементов и перемещают окно фильтра в следующую позицию остановки.

Если количество элементов k13 больше или равно 12, то придают всем элементам, расположенным в квадратном отверстии окна фильтра, значения «1» и сравнивают размер окна фильтра с заранее заданным максимально возможным значением размера окна.

В случае достижения размером окна фильтра своего максимально возможного значения, всем элементам квадратной рамки 4 со значением «0» придают значения «1». Записывают значения всех элементов, полученные ими в этой позиции остановки окна фильтра, в массив значений элементов и перемещают окно фильтра в следующую позицию остановки.

В том случае, если размер окна фильтра еще не достиг своего максимально возможного значения, выполняют дополнительные шаги фильтрации бинарного изображения до тех пор, пока либо всем элементам квадратного отверстия не будут присвоены значения «0», либо пока окно фильтра не достигнет своего максимального размера.

После перемещения окна фильтра по всем элементам бинарного изображения формируют новое бинарное изображение, основанное на значениях элементов, записанных в массивы значений элементов в каждой позиции остановки окна фильтра. При этом руководствуются следующим правилом: элемент в новом бинарном изображении получает значение «0», если во всех массивах значений, полученных во всех позициях остановки окна фильтра, этот элемент имел значения «0», а если хотя бы в одном массиве значений этот элемент имел значение «1», то в новом бинарном изображении он получает значение «1».

То, что на каждом дополнительном шаге фильтрации подсчет элементов со значением «1» производится только в квадратной рамке, позволяет удалять с бинарного изображения помехи, размеры которых лишь не намного меньше размеров окна фильтра. Так, например, фильтром с максимальным размером рамки 7×7 элементов можно удалить помеху площадью 37 элементов, если из них 25 элементов будет находиться в квадрате 5×5, а 12 - в рамке 7×7. Этим же фильтром можно удалить и помеху в виде квадрата 6×6 элементов (см. фиг. 2ж).

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

Отсутствие фильтрации изображения в таких положениях окна фильтра, в которых базовый элемент находится в положении элементов со значениями «0», позволяет уменьшить количество вычислений. Использование на первом шаге фильтрации окна с размерами 3×3 элемента и постепенное увеличение размера окна только в том случае, если базовому элементу окна присвоено значение «1», также позволяет уменьшить количество вычислений. За счет этого увеличивается быстродействие способа. Это позволяет использовать предлагаемый способ фильтрации в системах слежения за быстродвижущимися объектами.

1. Способ фильтрации бинарного изображения двумерным пространственным фильтром, заключающийся в том, что по бинарному изображению последовательно перемещают окно фильтра в виде квадрата, в центре которого расположен базовый элемент, и в каждой позиции остановки окна фильтра выполняют по меньшей мере один - первый - шаг фильтрации, в процессе которого подсчитывают в окне фильтра количество элементов k1 со значением «1», сравнивают это количество с заранее заданным числом R1, находящимся в интервале чисел от 1 до N1, где N1 - количество элементов в окне фильтра, после чего либо придают базовому элементу окна фильтра значение «1», если количество элементов k1 больше или равно R1, либо придают базовому элементу окна значение «0», и перемещают окно фильтра в следующую позицию остановки, если количество элементов k1 меньше R1, отличающийся тем, что после придания базовому элементу окна значения «1», выполняют по меньшей мере еще один - дополнительный - шаг фильтрации бинарного изображения, при этом на дополнительном шаге фильтрации окно фильтра представляет собой квадратную рамку с квадратным отверстием, расположенным по центру рамки, причем размеры квадратной рамки не менее чем на 2 элемента по вертикали и по горизонтали больше размеров окна фильтра предыдущего шага фильтрации, а размеры квадратного отверстия равны наружным размерам окна фильтра предыдущего шага фильтрации, при этом в процессе выполнения каждого дополнительного шага фильтрации выполняют следующие операции:

накладывают квадратную рамку окна фильтра на бинарное изображение таким образом, чтобы окно фильтра предыдущего шага фильтрации располагалось в квадратном отверстии квадратной рамки;

подсчитывают в квадратной рамке количество элементов k1i со значениями «1» и сравнивают это количество с заранее заданным числом Ri, находящимся в интервале чисел от 1 до Ni, где Ni - количество элементов в квадратной рамке дополнительного шага фильтрации;

придают всем элементам, расположенным в квадратном отверстии и в квадратной рамке окна фильтра, значения «0», записывают значения всех элементов, полученные ими в этой позиции остановки окна фильтра, в массив значений элементов и перемещают окно фильтра в следующую позицию остановки, если количество элементов k1i меньше Ri;

а если количество элементов k1i больше или равно Ri, то придают всем элементам, расположенным в квадратном отверстии окна фильтра, значения «1» и сравнивают размер окна фильтра с заранее заданным максимально возможным значением размера окна, и в том случае, если размер окна фильтра не достиг своего максимально возможного значения, выполняют по меньшей мере еще один дополнительный шаг фильтрации бинарного изображения, а в случае достижения размером окна фильтра максимально возможного значения, придают всем элементам, расположенным в квадратной рамке окна фильтра, значения «1», записывают значения всех элементов, полученные ими в этой позиции остановки окна фильтра, в массив значений элементов и перемещают окно фильтра в следующую позицию остановки;

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

2. Способ по п. 1, отличающийся тем, что элементы бинарного изображения, относящиеся к фону, имеют значения «0», а элементы, относящиеся к объектам, - значения «1».

3. Способ по п. 1, отличающийся тем, что позициями остановки окна фильтра являются такие его положения, в которых базовый элемент окна находится в положении элемента бинарного изображения со значением «1».

4. Способ по п. 1, отличающийся тем, что на первом шаге фильтрации окно фильтра представляет собой квадрат 3×3 элемента.

5. Способ по п. 1, отличающийся тем, что число Ri на каждом дополнительном шаге фильтрации вычисляют по формуле Ri=Ni/2.

6. Способ по п. 1, отличающийся тем, что при формировании нового бинарного изображения руководствуются следующим правилом: элемент в новом бинарном изображении получает значение «0», если во всех массивах значений, полученных во всех позициях остановки окна фильтра, этот элемент имел значения «0», а если хотя бы в одном массиве значений этот элемент имел значение «1», то в новом бинарном изображении он получает значение «1».