Способ обработки матрицы чисел
Иллюстрации
Показать всеИзобретение относится к области бинаризации изображений. Технический результат - повышение вероятности обнаружения малоразмерных объектов слежения при наличии на изображении других более крупных объектов с очень высокой или низкой яркостью. Способ обработки матрицы чисел А размером n×m элементов включает пороговую обработку элементов матрицы А, в процессе которой вычисляют значения порогов Т1 и Т2; сравнивают численные значения элементов матрицы А со значениями порогов Т1 и Т2; формируют массив данных В, в который заносят координаты местоположения в матрице А каждого из элементов матрицы, численное значение которого либо больше порога Т1, либо меньше порога Т2, причем в процессе выполнения пороговой обработки по матрице перемещают по меньшей мере два окна разного размера, при этом пороговую обработку выполняют в каждом положении каждого окна для элементов матрицы А, находящихся в окне; и формирование бинарного изображения размером n×m точек, руководствуясь правилом: точкам бинарного изображения, имеющим те же координаты местоположения, что и элементы матрицы А, координаты которых занесены в массив данных В, придают максимальную яркость, а всем остальным точкам бинарного изображения придают яркость фона. 3 з.п. ф-лы, 5 ил.
Реферат
Изобретение относится к способам обнаружения и выделения объектов в видеоизображении, полученном датчиком телевизионного или инфракрасного диапазона, а именно к способам бинаризации изображений.
Известен способ обработки матрицы чисел А размером из n×m элементов, где n - количество строк, m - количество столбцов, являющейся результатом дискретизации по пространственным координатам и квантования по яркости изображения, полученного датчиком телевизионного диапазона, включающий пороговую обработку матрицы А и формирование бинарного изображения размером из n×m точек, где n - количество строк, m - количество столбцов, при этом в процессе пороговой обработки по матрице А поэлементно перемещают окно, размер которого меньше размеров матрицы, и в каждом положении окна выполняют следующие операции:
- вычисляют значение порога Т1 по формуле Т1=μ+k⋅σ, где μ и σ - среднее значение и среднеквадратическое отклонение находящихся в окне элементов матрицы А, k - постоянный коэффициент;
- сравнивают численные значения элементов матрицы А со значением порога Т1;
- формируют двумерный массив данных В [патент №5870745, Япония, МПК G06K 9/38, Image processing apparatus, binarization threshold calculation method, and computer program / Tanaka Hiroshi, опубл. 01.03.2016].
В этом способе, известном как алгоритм Ниблэка, устанавливают только один порог Т1, причем значение коэффициента k может иметь как положительные, так и отрицательные значения.
В процессе выполнения пороговой обработки матрицы А используют квадратное окно, каждая из сторон которого содержит нечетное количество элементов, а базовый элемент находится в центре окна.
Со значением порога Т1 сравнивают численное значение элемента матрицы А, на который наложен базовый элемент окна.
Двумерный массив данных В формируют следующим образом: в массив данных В заносят координаты местоположения в матрице А каждого из элементов матрицы, на который наложен базовый элемент окна, если численное значение этого элемента меньше порога Т1.
Бинарное изображение формируют, руководствуясь следующим правилом: точкам бинарного изображения, имеющим те же координаты местоположения, что и элементы матрицы А, координаты которых занесены в массив данных В, придают минимальную яркость (яркость черного пикселя), а всем остальным точкам бинарного изображения придают максимальную яркость (яркость белого фона).
Данный способ предназначен для обработки матриц, являющихся результатом дискретизации по пространственным координатам и квантования по яркости контрастных статических изображений, таких как черно-белые печатные тексты. У таких матриц гистограммы уровней яркости попавших в окно элементов являются, как правило, бимодальными и имеют два выраженных пика, соответствующих темным и светлым пикселям на изображении, и впадину между пиками, расположенную посередине гистограммы, соответствующую пикселям с оттенками серого цвета. Поэтому для выделения объектов на таких изображениях достаточно одного порога, незначительно смещенного от среднего значения яркости. Например, для выделения черного текста на белом фоне значение коэффициента k устанавливают равным -0,2, а для выделения белых объектов на черном фоне устанавливают k=0,2. Но такой способ не подходит для обработки изображений, на которых объект может быть как темнее фона (если изображение получено телевизионной камерой), так и светлее фона (если изображение получено инфракрасной камерой). В этом случае, установление только одного порога сделает невозможным слежение за объектом с помощью обеих камер: как телевизионного, так и инфракрасного диапазона.
Кроме того, такой способ не подходит для выявления объектов на разностных изображениях, полученных после временной или пространственной фильтрации изображения и используемых для обнаружения быстродвижущихся объектов. На таких изображениях, полученных после вычитания из наблюдаемого изображения изображения предыдущего кадра либо изображения фона, среднее значение яркости элементов изображения близко к нулю, а значения яркости элементов объекта слежения могут быть как намного больше, так и намного меньше среднего значения. Установление только одного порога и отнесение к объектам слежения только элементов изображения, яркость которых больше этого порога, не позволит обнаруживать объекты, яркость которых на разностном изображении меньше среднего значения. Поэтому при использовании этого способа для обнаружения быстродвижущихся объектов значительное количество объектов не будет обнаружено.
Кроме того, в известном способе окно, перемещаемое по матрице, имеет постоянный неизменяемый размер.
Быстродвижущийся объект может иметь на изображении как небольшую (порядка 2 пикселей) площадь, если находится на значительном расстоянии от датчика изображения, так и значительную (несколько сотен пикселей) площадь, если приблизился к датчику.
Чем меньше размер окна, тем меньше максимальный размер объекта, который оно может обнаружить. Когда количество элементов, относящихся к объекту слежения, превышает в окне некоторое критическое значение, значение порога Т1, равного μ+k⋅σ, становится больше значений яркости этих элементов, и объект не может быть обнаружен.
Так, например, при k=3 окно размером 4×4 элемента не позволяет выделять на изображении объекты площадью 2 и более элементов, если в окно одновременно попадает более одного элемента. Зато такое окно позволяет выделять одиночные элементы большой яркости.
А окно размером 8×8 элементов может не выделить на изображении объекты площадью более 4…6 элементов, если они одновременно попадают в окно. Но такое окно хорошо выделяет объекты площадью 2 или 3 элемента.
При использовании окна размером 16×16 элементов могут возникнуть проблемы при обнаружении объектов площадью более 20…25 элементов, но при помощи такого окна хорошо выделяются объекты площадью до 15…20 элементов.
И так далее. Чем больше размер окна, тем больший объект оно позволяет выделить.
Но у окон большого размера есть свои недостатки. Так, например, когда в окно большого размера попадает много элементов с высокой яркостью, средняя яркость элементов, среднеквадратическое отклонение и, как следствие этого, порог Т1 имеют большие значения. В результате, менее яркие элементы, яркость которых немного меньше порога Т1, не будут выделены, несмотря на то, что их яркость намного выше яркости окружающих их элементов (локальные экстремумы яркости), и они представляют интерес как потенциальные объекты слежения. И чем больше размер окна, тем большее количество таких, менее ярких объектов слежения может быть упущено.
На практике обычно принимают компромиссное решение о размере окна в зависимости от степени зашумленности изображения, размера помех, необходимой дальности обнаружения объекта и т.д. Но это не освобождает известный способ от указанных недостатков, что снижает вероятность обнаружения объекта при использовании известного способа для слежения за быстродвижущимися объектами в режиме реального времени.
Известен способ обработки матрицы чисел А размером из n×m элементов, где n - количество строк, m - количество столбцов, являющейся результатом дискретизации по пространственным координатам и квантования по яркости изображения, полученного датчиком телевизионного или инфракрасного диапазона, включающий пороговую обработку матрицы А и формирование бинарного изображения размером из n×m точек, где n - количество строк, m - количество столбцов, при этом пороговая обработка включает в себя выполнение следующих операций:
- вычисление значений порогов Т1 и Т2;
- сравнение численных значений элементов матрицы А со значениями порогов Т1 и Т2;
- формирование массива данных В, в который заносят координаты местоположения в матрице А каждого из элементов матрицы, численное значение которого либо больше порога Т1, либо меньше порога Т2;
а бинарное изображение формируют, руководствуясь следующим правилом: точкам бинарного изображения, имеющим те же координаты местоположения, что и элементы матрицы А, координаты которых занесены в массив данных В, придают максимальную яркость, а всем остальным точкам бинарного изображения придают яркость фона [патент №2419150, Российская Федерация, МПК G06K 9/54, Способ обработки последовательности изображений для обнаружения и слежения за воздушными объектами / Алпатов Б.А. и др, опубл. 20.05.2011].
В известном способе значения порогов Т1 и Т2 вычисляют по следующим формулам: T1=+k⋅σ, Т2=-k⋅σ, где σ - среднеквадратическое отклонение элементов матрицы А, k - постоянный коэффициент, подбираемый эмпирическим путем. Такие значения порогов объясняются тем, что процессу формирования матрицы А предшествуют временная фильтрация наблюдаемого изображения и вычитание фона из результата временной фильтрации. Указанные обработки изображения приводят к тому, что математическое ожидание (среднее значение) элементов матрицы становится близким к нулевому значению. Однако временная фильтрация и вычитание фона выполняются не во всех способах слежения за воздушными объектами, и в тех способах, в которых эти операции не производятся, применение вышеуказанных порогов будет приводить к ошибкам при выявлении объектов на изображении.
Кроме того, в известном способе среднеквадратическое отклонение σ вычисляется на всей матрице. Для того чтобы при отсутствии объектов слежения на разностном изображении в качестве объектов слежения не были классифицированы присутствующие на изображении шумы и помехи, значение коэффициента k устанавливают не менее 3. Как правило, значение k находится в диапазоне от 3 до 5. Однако, при наличии на изображении большого количества элементов с высокой яркостью (например, при расположении объекта слежения вблизи от датчика инфракрасного диапазона), либо при наличии на изображении большого количества темных элементов (при слежении за объектом с помощью датчика телевизионного диапазона), среднеквадратическое отклонение σ элементов матрицы будет иметь большое численное значение. Поэтому в диапазон значений яркости от -k⋅σ до +k⋅σ могут попасть не только шумы, но и объекты, имеющие значения яркости, немного меньшие Т1 или немного большие Т2, но являющиеся локальными экстремумами яркости и представляющие интерес как потенциальные объекты слежения. В результате, такие локальные экстремумы яркости не будут выделены. Это может привести к позднему обнаружению таких объектов.
Известен способ обработки матрицы чисел А размером n×m элементов, где n - количество строк, m - количество столбцов, являющейся результатом дискретизации по пространственным координатам и квантования по яркости изображения, полученного датчиком телевизионного или инфракрасного диапазона, включающий пороговую обработку элементов матрицы А и формирование бинарного изображения размером n×m точек, где n - количество строк, m - количество столбцов, при этом в процессе пороговой обработки элементов матрицы А выполняют следующие операции:
- вычисляют значения порогов Т1 и Т2 по формулам T1=μ+k⋅σ, Т2=μ-k⋅σ, где μ и σ - среднее значение и среднеквадратическое отклонение элементов матрицы А, k - постоянный коэффициент;
- сравнивают численные значения элементов матрицы А со значениями порогов Т1 и Т2;
- формируют массив данных В, в который заносят координаты местоположения в матрице А каждого из элементов матрицы, численное значение которого либо больше порога Т1, либо меньше порога Т2;
а бинарное изображение формируют, руководствуясь следующим правилом: точкам бинарного изображения, имеющим те же координаты местоположения, что и элементы матрицы А, координаты которых занесены в массив данных В, придают максимальную яркость, а всем остальным точкам бинарного изображения придают яркость фона [заявка №09288732, Япония, МПК В63В 43/18, Steamer under way recognizing device / Yamaguchi Makio, опубл. 04.11.1997] - прототип.
Недостатком известного способа является то, что пороговую обработку элементов выполняют на всей матрице.
При наличии на изображении большого количества элементов с высокой яркостью (например, при расположении объекта слежения вблизи от датчика инфракрасного диапазона), либо при наличии на изображении большого количества темных элементов (при слежении за объектом с помощью датчика телевизионного диапазона), среднее значение μ и среднеквадратическое отклонение σ элементов матрицы будут иметь большие численные значения и, как следствие этого, пороги Т1 и Т2 также будут иметь большие (по модулю) численные значения. Поэтому в диапазон значений яркости от Т2 до Т1 могут попасть не только шумы, но и объекты, имеющие значения яркости, немного меньшие Т1 или немного большие Т2, но являющиеся локальными экстремумами яркости и представляющие интерес в качестве потенциальных объектов слежения. В результате, на этом изображении такие объекты не будут выделены. Это увеличивает вероятность того, что эти объекты не будут обнаружены вовсе или будут обнаружены намного позже. Все это снижает надежность способа и увеличивает время обнаружения объектов слежения.
Задача, решаемая предлагаемым изобретением, - повышение надежности способа и сокращение времени обнаружения объектов слежения.
Для решения этой задачи в способе обработки матрицы чисел А размером n×m элементов, где n - количество строк, m - количество столбцов, являющейся результатом дискретизации по пространственным координатам и квантования по яркости изображения, полученного датчиком телевизионного или инфракрасного диапазона, включающем пороговую обработку элементов матрицы А и формирование бинарного изображения размером n×m точек, где n - количество строк, m - количество столбцов, при этом в процессе пороговой обработки элементов матрицы А выполняют следующие операции:
- вычисляют значения порогов Т1 и Т2 по формулам T1=μ+k⋅σ, Т2=μ-k⋅σ, где μ, и σ - среднее значение и среднеквадратическое отклонение элементов матрицы А, k - постоянный коэффициент;
- сравнивают численные значения элементов матрицы А со значениями порогов Т1 и Т2;
- формируют массив данных В, в который заносят координаты местоположения в матрице А каждого из элементов матрицы, численное значение которого либо больше порога Т1, либо меньше порога Т2;
а бинарное изображение формируют, руководствуясь следующим правилом: точкам бинарного изображения, имеющим те же координаты местоположения, что и элементы матрицы А, координаты которых занесены в массив данных В, придают максимальную яркость, а всем остальным точкам бинарного изображения придают яркость фона, согласно изобретения, в процессе выполнения пороговой обработки элементов матрицы А по матрице перемещают, по меньшей мере, два окна разного размера, при этом пороговую обработку выполняют для элементов матрицы А, находящихся в окне, причем выполняют эту пороговую обработку в каждом положении каждого окна.
При этом используют квадратные окна, которые перемещают поматрице А одновременно, причем каждое окно перемещают по матрице А поэлементно, последовательно обходя всю матрицу.
Технический результат, обеспечиваемый предлагаемым изобретением, заключается в повышении вероятности обнаружения малоразмерных объектов слежения, являющихся локальными экстремумами яркости, при наличии на изображении других, более крупных объектов с высокой (при слежении с помощью датчика инфракрасного диапазона) или, наоборот, очень низкой (при слежении с помощью датчика телевизионного диапазона) яркостью.
Изобретение поясняется чертежами. На фиг. 1 изображен один из примеров обрабатываемой матрицы; на фиг. 2 - результат обработки матрицы, изображенной на фиг. 1, окном размером 4×4 элемента при k=3; на фиг. 3 - результат обработки этой же матрицы окном 8×8 элементов; на фиг. 4 - результат обработки этой же матрицы окном 16×16 элементов; на фиг. 5 - итоговый результат обработки, суммирующий результаты обработки матрицы всеми окнами.
В процессе поиска объектов слежения датчик изображения телевизионного или инфракрасного диапазона формирует последовательность изображений. Каждое изображение подвергается процедурам дискретизации по пространственным координатам и квантования по яркости. В результате этих процедур каждое изображение преобразуют в двумерную матрицу чисел А размером n×m элементов, где n - количество строк, m - количество столбцов. Расположение каждого элемента в этой матрице соответствует расположению проекции соответствующей точки наблюдаемой сцены на плоскость светочувствительной матрицы датчика изображения, а численное значение элемента является результатом квантования по яркости соответствующей точки наблюдаемой сцены.
Обработка матрицы включает в себя пороговую обработку элементов матрицы А и формирование бинарного изображения. Бинарное изображение имеет размер n×m точек, где n - количество строк, m - количество столбцов.
Пороговую обработку осуществляют одновременно несколькими окнами. Количество и размеры окон определяются условиями слежения: чувствительностью датчика изображения, вычислительными возможностями устройства анализа изображений, требованиями к дальности обнаружения объекта и т.п. Практикой применения способа установлено, что минимальный размер окна составляет 4×4 элемента. Максимальный размер окна определяется, в основном, вычислительными возможностями устройства и может составлять 64×64 и более элементов. При небольшом размере матрицы размер одного из окон может быть равен размеру матрицы. Используют, как правило, квадратные окна.
Все окна перемещают по матрице А одновременно.
Каждое окно перемещают по матрице А поэлементно - от одного элемента к другому, последовательно обходя всю матрицу.
В каждом положении каждого окна вычисляют среднее значение μ и среднеквадратическое отклонение σ находящихся в окне элементов матрицы А, и вычисляют значения порогов Т1 и Т2 по формулам T1=μ+k⋅σ, Т2=μ-k⋅σ, где k - постоянный коэффициент. Оптимальное значение коэффициента k подбирают эмпирическим путем. Для большинства практических ситуаций значение коэффициента k находится в диапазоне от 3 до 5.
В каждом положении каждого окна сравнивают численные значения находящихся в окне элементов матрицы А с вычисленными значениями порогов Т1 и Т2 и формируют массив данных В. В массив данных В заносят координаты местоположения (номер строки и номер столбца) каждого из элементов матрицы А, численное значение которого либо больше порога Т1, либо меньше порога Т2.
По окончании перемещения всех окон по матрице А формируют бинарное изображение, руководствуясь следующим правилом: точкам бинарного изображения, имеющим те же координаты местоположения, что и элементы матрицы А, координаты которых занесены в массив данных В, придают максимальную яркость, а всем остальным точкам бинарного изображения придают яркость фона.
На фиг. 2, 3, 4 изображены примеры обработки матрицы чисел, изображенной на фиг. 1, окнами с размерами 4×4, 8×8, 16×16 элементов соответственно. Точки бинарного изображения, имеющие максимальную яркость, обозначены как «1». Остальные точки имеют яркость фона.
Как видно на фиг. 4, использование окна 16×16 позволило успешно выделить объект (L9; O9; K10:O10; L11), расположенный вблизи от датчика изображения, но не позволило выделить малоразмерные объекты O2, (C4:D4) и (B14:D14), являющиеся локальными экстремумами яркости, яркости элементов которых немного меньше порога Т1, значение которого для элементов матрицы, изображенной на фиг. 1, составляет 93,88.
В то же время, при помощи окна 4×4 успешно выделен объект O2, поскольку для элементов (М1:Р4) матрицы значение порога Т1=80,12 (см. фиг. 2). А при помощи окна 8×8 выделены объекты (C4:D4) и (B14:D14), поскольку для элементов (А1:Н8) матрицы значение порога Т1=80,47, а для элементов (А9:Н16) Т1=81,64 (см. фиг. 3).
Таким образом, использование для обработки изображения нескольких окон разного размера позволяет выделять на изображении как крупноразмерные объекты с высокой (по модулю) яркостью, так и малоразмерные объекты с меньшей (по модулю) яркостью в случае их одновременного нахождения на изображении.
1. Способ обработки матрицы чисел А размером n×m элементов, где n - количество строк, m - количество столбцов, являющейся результатом дискретизации по пространственным координатам и квантования по яркости изображения, полученного датчиком телевизионного или инфракрасного диапазона, включающий пороговую обработку элементов матрицы А и формирование бинарного изображения размером n×m точек, где n - количество строк, m - количество столбцов, при этом в процессе пороговой обработки элементов матрицы А выполняют следующие операции:
- вычисляют значения порогов Т1 и Т2 по формулам Т1=μ+k⋅σ, Т2=μ-k⋅σ, где μ и σ - среднее значение и среднеквадратическое отклонение элементов матрицы А, k - постоянный коэффициент;
- сравнивают численные значения элементов матрицы А со значениями порогов Т1 и Т2;
- формируют массив данных В, в который заносят координаты местоположения в матрице А каждого из элементов матрицы, численное значение которого либо больше порога Т1, либо меньше порога Т2,
а бинарное изображение формируют, руководствуясь следующим правилом: точкам бинарного изображения, имеющим те же координаты местоположения, что и элементы матрицы А, координаты которых занесены в массив данных В, придают максимальную яркость, а всем остальным точкам бинарного изображения придают яркость фона, отличающийся тем, что в процессе выполнения пороговой обработки элементов матрицы А по матрице перемещают по меньшей мере два окна разного размера, при этом пороговую обработку выполняют для элементов матрицы А, находящихся в окне, причем выполняют эту пороговую обработку в каждом положении каждого окна.
2. Способ по п. 1, отличающийся тем, что каждое окно перемещают по матрице А поэлементно, последовательно обходя всю матрицу.
3. Способ по п. 1, отличающийся тем, что все окна перемещают по матрице А одновременно.
4. Способ по п. 1, отличающийся тем, что по матрице А перемещают квадратные окна.