СПОСОБ АВТОМАТИЧЕСКОЙ ФОКУСИРОВКИ КАМЕРЫ
CAMERA AUTOFOCUSING METHOD

Изобретение относится к оптико-электронным приборам, предназначенным для осуществления автоматической фокусировки объективов и может быть использовано в кино-, фото- и телевизионных камерах и направлено на повышение точности фокусировки, преимущественно в таких случаях, как съемка малоразмерных объектов с низким контрастом.
Известны различные способы автоматической фокусировки камеры, как активные, включающие в себя излучающие дальномеры (пат. US №4367027 от 12.03.1980), так и пассивные. Пассивная автоматическая фокусировка бывает двух типов: фазовая (пат. US №5589909 от 31.12.1996) и контрастная (пат. US №5170202 от 08.12.1992).
Наиболее близким к предлагаемому изобретению является способ автоматической фокусировки, включающий в себя:
- вычисление множества различных значений параметров резкости, каждое из которых соответствует различному положению фокусирующего устройства, при помощи проведения дискретного вейвлет-преобразования над множеством изображений, захваченных при различных положениях фокусирующего устройства и приведенных из RGB представления в яркостное представление;
- перемещение фокусирующего устройства в положение, соответствующее максимальному значению параметра резкости, определяемому путем сравнений множества вычисленных различных значений параметров резкости (пат. РФ №2389050 от 10.05.2010).
Однако недостатком этого способа является сложность выполнения автоматической фокусировки камеры на малоразмерных объектах с низкой контрастностью.
Технической задачей, на решение которой направлено изобретение, является повышение точности фокусировки камеры на малоразмерных объектах с низким контрастом.
Для решения указанной технической задачи в известном способе автоматической фокусировки, включающем:
- вычисление множества различных значений параметров резкости, каждое из которых соответствует различному положению фокусирующего устройства, при помощи проведения дискретного вейвлет-преобразования над множеством изображений, захваченных при различных положениях фокусирующего устройства и приведенных из RGB представления в яркостное представление;
- перемещение фокусирующего устройства в положение, соответствующее максимальному значению параметра резкости, определяемому путем сравнений множества вычисленных различных значений параметров резкости, согласно изобретению предложен следующий алгоритм вычисления значения параметра резкости:
- для каждого пикселя изображения выполняется преобразование RGB сигналов основных цветов в равноконтрастное пространство;
- вычисляется оценка цветовых различий мелких деталей, заметных для глаза, относительно цветовых координат пикселей окружающего фона в нормированной равноконтрастной системе координат;
- выполняется оценка контраста и распознавания мелких деталей, с этой целью выполняется сканирование изображения с помощью скользящего окна с размерами 3×3 пикселя, на каждой итерации, в окне выполняется алгоритм распознавания изображения мелкой структуры, с этой целью в процессе анализа распознается объект - является ли он точечным объектом или фрагментом тонкой линии, для распознавания применяются бинарные изображения мелких структур, по которым определяются пространственные координаты пикселей объекта и фона, анализ производится по всем типам мелких структур, начиная с первой (точечный объект), вычисляются средние значения цветовых координат фона и объекта, проверяются условия цветового различия между соседними пикселями фона и между соседними пикселями объекта, заметными для глаза, вычисляется контраст объекта относительно фона, при котором мелкие детали различаются глазом, и при этом точечный объект считается распознанным и фиксируются его пространственные координаты центра, выполняется перемещение окна на три пикселя и анализируются следующие блоки изображения;
- оценивается параметр резкости изображения подсчетом общего количества распознанных блоков в процентном отношении к общему числу пикселей изображения.
На фиг.1 приведена блок-схема устройства, в котором может быть реализован заявляемый способ. Устройство содержит следующие блоки, где 1 - сенсор захвата изображения, связанный с блоком преобразования изображения из RGB представления в равноконтрастное представление; 2 - блок преобразования изображения из RGB представления в равноконтрастное представление, связанный с сенсором и блоком вычисления параметра резкости; 3 - блок вычисления параметра резкости, связанный с блоком изображения из RGB представления в равноконтрастное представление и с блоком анализа параметра резкости; 4 - блок анализа параметра резкости, связанный с блоком вычисления параметра резкости и с механизмом управления автофокусировкой; 5 - механизм управления автофокусировкой, связанный с блоком анализа параметра резкости и с сенсором для захвата изображения.
Пример реализации способа.
i
*
*
*
1. При начальном значении расстояния, на которое производится наводка на резкость (L), выполняется попиксельное преобразование RGB сигналов основных цветов в равноконтрастную систему координат. Используется равноконтрастная система координат WUV:
*
1/3
*
*
*
*
o
o
W=25 Y-17, U=13W(u-u), V=13W(ν-ν),
*
*
*
o
o
o
o
где W - светлота (индекс яркости); U и V - координаты цветности (индексы цветности); u и ν - координаты цветности диаграммы Мак-Адама; u и ν - координаты цветности опорного белого u=0,201, ν=0,307.
2. Выполняется распознавание малоразмерных объектов изображения с помощью скользящего окна с размерами 3×3 пикселя.
R
Устанавливается счетчик распознанных блоков в значение N=0.
На каждой итерации, в окне выполняется распознавание по следующему алгоритму.
а) Вычисляется контраст блока
<mrow><mi>Δ</mi><mi>K</mi><mo>=</mo><mn>3</mn><msqrt><mrow><msup><mrow><mrow><mo>(</mo><mrow><mfrac><mrow><msubsup><mi>W</mi><mrow><mi>max</mi></mrow><mo>*</mo></msubsup><mo>−</mo><msubsup><mi>W</mi><mrow><mi>min</mi></mrow><mo>*</mo></msubsup></mrow><mrow><mi>Δ</mi><msubsup><mi>W</mi><mrow><mi>t</mi><mi>h</mi></mrow><mo>*</mo></msubsup></mrow></mfrac></mrow><mo>)</mo></mrow></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mrow><mo>(</mo><mrow><mfrac><mrow><msubsup><mi>U</mi><mrow><mi>max</mi></mrow><mo>*</mo></msubsup><mo>−</mo><msubsup><mi>U</mi><mrow><mi>min</mi></mrow><mo>*</mo></msubsup></mrow><mrow><mi>Δ</mi><msubsup><mi>U</mi><mrow><mi>t</mi><mi>h</mi></mrow><mo>*</mo></msubsup></mrow></mfrac></mrow><mo>)</mo></mrow></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mrow><mo>(</mo><mrow><mfrac><mrow><msubsup><mi>V</mi><mrow><mi>max</mi></mrow><mo>*</mo></msubsup><mo>−</mo><msubsup><mi>V</mi><mrow><mi>min</mi></mrow><mo>*</mo></msubsup></mrow><mrow><mi>Δ</mi><msubsup><mi>V</mi><mrow><mi>t</mi><mi>h</mi></mrow><mo>*</mo></msubsup></mrow></mfrac></mrow><mo>)</mo></mrow></mrow><mn>2</mn></msup></mrow></msqrt><mo>,</mo><mtext> </mtext><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>
<mrow><mrow><mo>(</mo><mrow><msubsup><mi>W</mi><mrow><mi>max</mi></mrow><mo>*</mo></msubsup><mo>,</mo><mtext> </mtext><msubsup><mi>W</mi><mrow><mi>min</mi></mrow><mo>*</mo></msubsup></mrow><mo>)</mo></mrow></mrow>
<mrow><mrow><mo>(</mo><mrow><msubsup><mi>U</mi><mrow><mi>max</mi></mrow><mo>*</mo></msubsup><mo>,</mo><mtext> </mtext><msubsup><mi>U</mi><mrow><mi>min</mi></mrow><mo>*</mo></msubsup></mrow><mo>)</mo></mrow></mrow>
<mrow><mrow><mo>(</mo><mrow><msubsup><mi>V</mi><mrow><mi>max</mi></mrow><mo>*</mo></msubsup><mo>,</mo><mtext> </mtext><msubsup><mi>V</mi><mrow><mi>min</mi></mrow><mo>*</mo></msubsup></mrow><mo>)</mo></mrow></mrow>
<mrow><mi>Δ</mi><msubsup><mi>W</mi><mrow><mi>t</mi><mi>h</mi></mrow><mo>*</mo></msubsup></mrow>
<mrow><mi>Δ</mi><msubsup><mi>U</mi><mrow><mi>t</mi><mi>h</mi></mrow><mo>*</mo></msubsup></mrow>
<mrow><mi>Δ</mi><msubsup><mi>V</mi><mrow><mi>t</mi><mi>h</mi></mrow><mo>*</mo></msubsup></mrow>
<mrow><mi>Δ</mi><msubsup><mi>W</mi><mrow><mi>t</mi><mi>h</mi></mrow><mo>*</mo></msubsup><mo>≈</mo><mn>6</mn><mo>…</mo><mn>8</mn><mtext> </mtext><mi>М</mi><mi>Ц</mi><mi>П</mi></mrow>
<mrow><mi>Δ</mi><msubsup><mi>U</mi><mrow><mi>t</mi><mi>h</mi></mrow><mo>*</mo></msubsup><mo>≈</mo><mn>65</mn><mo>…</mo><mn>75</mn><mtext> </mtext><mi>М</mi><mi>Ц</mi><mi>П</mi></mrow>
где
,
и
- максимальные и минимальные значения цветовых координат по индексам яркости и цветности в скользящем окне изображения 3×3 пикселя. Значения
,
,
- пороговые значения зрительного контраста мелких деталей по индексам яркости и цветности, полученные экспериментальным путем, и определены числом минимальных цветовых порогов зрения (МЦП):
и
.
б) Проверяется условие: если ΔK<2 принимается решение о том, что изменение контраста в блоке незаметно для глаза, далее блок исключается из анализа и окно перемещается на один пиксель; иначе полагается, что в окне присутствует различимый для глаза элемент изображения, который может быть: точечным объектом; фрагментом тонкой линии; фрагментом текстуры; фрагментом контурного перепада.
Для распознавания объекта применяются бинарные изображения (эталоны) мелких деталей. На фиг.2 представлены эталоны точечного объекта и фрагментов тонких линий с вертикальной, горизонтальной и наклонной ориентацией, а также фрагменты их окончаний.
э
<mrow><mrow><mo>(</mo><mrow><msubsup><mrow><mover accent="true"><mi>W</mi><mo stretchy="true">¯</mo></mover></mrow><mi>o</mi><mo>*</mo></msubsup><msubsup><mrow><mover accent="true"><mi>U</mi><mo stretchy="true">¯</mo></mover></mrow><mi>o</mi><mo>*</mo></msubsup><msubsup><mrow><mover accent="true"><mi>V</mi><mo stretchy="true">¯</mo></mover></mrow><mi>o</mi><mo>*</mo></msubsup></mrow><mo>)</mo></mrow></mrow>
<mrow><mrow><mo>(</mo><mrow><msubsup><mrow><mover accent="true"><mi>W</mi><mo stretchy="true">¯</mo></mover></mrow><mi>b</mi><mo>*</mo></msubsup><msubsup><mrow><mover accent="true"><mi>U</mi><mo stretchy="true">¯</mo></mover></mrow><mi>b</mi><mo>*</mo></msubsup><msubsup><mrow><mover accent="true"><mi>V</mi><mo stretchy="true">¯</mo></mover></mrow><mi>b</mi><mo>*</mo></msubsup></mrow><mo>)</mo></mrow></mrow>
Распознавание начинается с первой структуры и устанавливается счетчик эталона K в значение 0. Зная пространственные координаты объекта и фона эталонного изображения, в текущем окне (3×3), вычисляется средние значения цветовых координат объекта
и фона
. Средние значения для индекса ярости:
<mrow><msubsup><mrow><mover accent="true"><mi>W</mi><mo stretchy="true">¯</mo></mover></mrow><mi>o</mi><mo>*</mo></msubsup><mo>=</mo><mfrac><mn>1</mn><mrow><msub><mi>N</mi><mi>o</mi></msub></mrow></mfrac><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mrow><msub><mi>N</mi><mi>o</mi></msub></mrow></munderover><mrow><msubsup><mi>W</mi><mi>n</mi><mo>*</mo></msubsup></mrow></mstyle></mrow>
<mrow><msubsup><mrow><mover accent="true"><mi>W</mi><mo stretchy="true">¯</mo></mover></mrow><mi>b</mi><mo>*</mo></msubsup><mo>=</mo><mfrac><mn>1</mn><mrow><msub><mi>M</mi><mi>b</mi></msub></mrow></mfrac><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mrow><msub><mi>M</mi><mi>b</mi></msub></mrow></munderover><mrow><msubsup><mi>W</mi><mi>m</mi><mo>*</mo></msubsup></mrow></mstyle></mrow>
и
,
o
b
где n и m - пространственные координаты объекта и фона эталона в окне (3×3) анализируемого блока изображения; N - число пикселей объекта; M - число пикселей фона. Аналогично вычисляются средние значения по индексам цветности.
o
в) Вычисляется цветовой контраст ΔK(n) каждого пикселя объекта с пространственной координатой n, относительно среднего значения:
<mrow><mi>Δ</mi><msub><mi>K</mi><mi>o</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mn>3</mn><msqrt><mrow><msup><mrow><mrow><mo>(</mo><mrow><mfrac><mrow><msubsup><mi>W</mi><mi>n</mi><mo>*</mo></msubsup><mo>−</mo><msubsup><mrow><mover accent="true"><mi>W</mi><mo stretchy="true">¯</mo></mover></mrow><mi>o</mi><mo>*</mo></msubsup></mrow><mrow><mi>Δ</mi><msubsup><mi>W</mi><mrow><mi>t</mi><mi>h</mi></mrow><mo>*</mo></msubsup></mrow></mfrac></mrow><mo>)</mo></mrow></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mrow><mo>(</mo><mrow><mfrac><mrow><msubsup><mi>U</mi><mi>n</mi><mo>*</mo></msubsup><mo>−</mo><msubsup><mrow><mover accent="true"><mi>U</mi><mo stretchy="true">¯</mo></mover></mrow><mi>o</mi><mo>*</mo></msubsup></mrow><mrow><mi>Δ</mi><msubsup><mi>U</mi><mrow><mi>t</mi><mi>h</mi></mrow><mo>*</mo></msubsup></mrow></mfrac></mrow><mo>)</mo></mrow></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mrow><mo>(</mo><mrow><mfrac><mrow><msubsup><mi>V</mi><mi>n</mi><mo>*</mo></msubsup><mo>−</mo><msubsup><mrow><mover accent="true"><mi>V</mi><mo stretchy="true">¯</mo></mover></mrow><mi>o</mi><mo>*</mo></msubsup></mrow><mrow><mi>Δ</mi><msubsup><mi>V</mi><mrow><mi>t</mi><mi>h</mi></mrow><mo>*</mo></msubsup></mrow></mfrac></mrow><mo>)</mo></mrow></mrow><mn>2</mn></msup></mrow></msqrt></mrow>
b
и цветовой контраст ΔK(m) каждого пикселя фона с пространственной координатой m:
<mrow><mi>Δ</mi><msub><mi>K</mi><mi>b</mi></msub><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mo>=</mo><mn>3</mn><msqrt><mrow><msup><mrow><mrow><mo>(</mo><mrow><mfrac><mrow><msubsup><mi>W</mi><mi>m</mi><mo>*</mo></msubsup><mo>−</mo><msubsup><mrow><mover accent="true"><mi>W</mi><mo stretchy="true">¯</mo></mover></mrow><mi>b</mi><mo>*</mo></msubsup></mrow><mrow><mi>Δ</mi><msubsup><mi>W</mi><mrow><mi>t</mi><mi>h</mi></mrow><mo>*</mo></msubsup></mrow></mfrac></mrow><mo>)</mo></mrow></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mrow><mo>(</mo><mrow><mfrac><mrow><msubsup><mi>U</mi><mi>m</mi><mo>*</mo></msubsup><mo>−</mo><msubsup><mrow><mover accent="true"><mi>U</mi><mo stretchy="true">¯</mo></mover></mrow><mi>b</mi><mo>*</mo></msubsup></mrow><mrow><mi>Δ</mi><msubsup><mi>U</mi><mrow><mi>t</mi><mi>h</mi></mrow><mo>*</mo></msubsup></mrow></mfrac></mrow><mo>)</mo></mrow></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mrow><mo>(</mo><mrow><mfrac><mrow><msubsup><mi>V</mi><mi>m</mi><mo>*</mo></msubsup><mo>−</mo><msubsup><mrow><mover accent="true"><mi>V</mi><mo stretchy="true">¯</mo></mover></mrow><mi>b</mi><mo>*</mo></msubsup></mrow><mrow><mi>Δ</mi><msubsup><mi>V</mi><mrow><mi>t</mi><mi>h</mi></mrow><mo>*</mo></msubsup></mrow></mfrac></mrow><mo>)</mo></mrow></mrow><mn>2</mn></msup></mrow></msqrt></mrow>
г) Проверяются условия:
<mrow><msub><mi>Δ</mi><mi>o</mi></msub><mo>=</mo><mfrac><mn>1</mn><mrow><msub><mi>N</mi><mi>o</mi></msub></mrow></mfrac><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mrow><msub><mi>N</mi><mi>o</mi></msub></mrow></munderover><mrow><mi>Δ</mi><msub><mi>K</mi><mi>o</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo><</mo><mn>0,5</mn></mrow></mstyle></mrow>
<mrow><msub><mi>Δ</mi><mi>b</mi></msub><mo>=</mo><mfrac><mn>1</mn><mrow><msub><mi>M</mi><mi>b</mi></msub></mrow></mfrac><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mrow><msub><mi>M</mi><mi>b</mi></msub></mrow></munderover><mrow><mi>Δ</mi><msub><mi>K</mi><mi>b</mi></msub><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mo><</mo><mn>0,5</mn><mtext> </mtext><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></mstyle></mrow>
и
R
R
Выполнение этих условий означает, что в среднем цветовые различия между пикселями фона и между пикселями объекта незаметны для глаза и, принимается решение о том, что объект распознан. Следовательно, инкрементируется счетчик распознанных блоков: N=N+1.
э
э
э
д) Фиксируются пространственные координаты его блока (i, j) и перемещается окно на три пикселя с целью анализа следующего блока изображения. Если условия (2) не выполняются, то осуществляется переход к распознаванию следующей структуры (фиг.2) и устанавливается счетчик эталона K в значение K+1. Если после анализа всех деталей K=0…12, условия (2) так и не выполнены, считается, что в текущем окне объект не распознан.
е) Выполняется смещение окна на один элемент и осуществляется переход к этапу 2.
i
3. Подсчитывается количество распознанных блоков и вычисляется среднее значение для заданного расстояния, на которое производится наводка на резкость L
<mrow><msub><mrow><mover accent="true"><mi>N</mi><mo stretchy="true">¯</mo></mover></mrow><mrow><msub><mrow /><mi>R</mi></msub></mrow></msub><mrow><mo>(</mo><mrow><msub><mi>L</mi><mi>i</mi></msub></mrow><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mn>9</mn><mo>⋅</mo><msub><mi>N</mi><mi>R</mi></msub></mrow><mrow><msub><mi>N</mi><mi>x</mi></msub><mo>⋅</mo><msub><mi>N</mi><mi>y</mi></msub></mrow></mfrac></mrow>
,
x
y
где N·N - формат изображения (общее количество пикселей).
i
i+1
i
4. Изменяется расстояние, на которое производится наводка на резкость L, на L=L±ΔL, где ΔL - шаг расстояния, на которое производится наводка на резкость, и повторяются этапы 2-3.
<mrow><msub><mrow><mover accent="true"><mi>N</mi><mo stretchy="true">¯</mo></mover></mrow><mrow><msub><mrow /><mi>R</mi></msub></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mi>F</mi><mrow><mo>(</mo><mrow><msub><mi>L</mi><mi>i</mi></msub></mrow><mo>)</mo></mrow></mrow>
<mrow><msub><mrow><mover accent="true"><mi>N</mi><mo stretchy="true">¯</mo></mover></mrow><mrow><msub><mrow /><mi>R</mi></msub></mrow></msub><msub><mrow><mrow><mo>(</mo><mrow><msub><mi>L</mi><mi>i</mi></msub></mrow><mo>)</mo></mrow></mrow><mrow><mi>max</mi></mrow></msub></mrow>
i
5. Вычисляется функция
, находится значение максимума
, определяется значение i и, следовательно, L - требуемое расстояние, на которое производится наводка на резкость.
На фиг.3 приведена зависимость параметра резкости от перемещения фокусирующего устройства при поиске максимального значения параметра резкости при съемке малоразмерного изображения объекта с низким контрастом. Локальный максимум на фиг.3 соответствует фокусировке на объекте.
Таким образом, заявленный способ позволяет повысить точность фокусировки камеры на малоразмерных объектах с низким контрастом.