\subsection{Основные этапы функционирования системы мониторинга}
\begin{enumerate}
\item Активация внешних модулей (получение первоначальных данных);
\itemсбор информации об исследуемом объекте;
\item мониторинг процесса получения первоначальных данных и общего состояния системы;
\item отслеживание и контроль параметров качества;
\item обеспечение персонала и оборудования необходимой информацией;
\item установление взаимодействия между персоналом и оборудованием (также между различными модулями системы);
\item изменение параметров фото- и видеофиксации объекта контроля, в зависимости от параметров внешней среды (например, освещённость) или характеристик состояния и поведения самого объекта контроля.
\caption{Регистрация цифрового изображения в устройстве}
\end{figure}
\subsection{Основные характеристики камеры}
Есть камеры, хранящие набор пикселей, но есть и «векторные» которые могут менять свою точку фокусировки и хранить набор пикселей для каждого из фокусов. Удобно менять точку фокусировки уже после создания снимка.
\begin{itemize}
\item Характеристики оптической системы.
\begin{enumerate}
\item Основная характеристика -- фокусное расстояние (способность собирать в одну точку лучи света, параллельных оптической оси)
\item угол поля зрения (обратная зависимость от фокусного расстояния) -- угол между двумя лучами, пороходящими через центр входного зрачка объектива к наиболее удалённым точкам попадающим на изображения.
\item апертура объектива -- это диаметр светового пучка на входе в объектив, полностью проходящего через диафрагму (есть входная и выходная, чаще всего считают одинаковыми). от этого будет сильно зависеть характеристики изображения.
\item разрешающая сила объектива (характеристики, отображающие его возможность передачи изображения, зависит от предыдущих параметров).
\[\frac{1}{K}=\frac{1}{N}+\frac{1}{M}\]
где $K$ -- это общая разрешающая сила, $N$ - разрешающая сила оптической системы, $M$ - разрешающая сила системы преобразования
\[ K =\frac{NM}{N+M}\]
\end{enumerate}
\item характеристики светочувствительной матрицы
\begin{enumerate}
\item отношение сигнал/шум (часто рассматривается вместе с усилителем) физическая величина, определяющая средние колебания в определённых пределах;
\item физический размер пикселя светочувствительной матрицы;
\item физический размер всей светочувствительной матрицы (ширина на высоту);
\item выдержка -- интервал времении, в течение которого свет попадает на участок светочувствительной матрицы;
\item глубина резкости (глубина резкозти изображаемого пространства) - расстояние вдоль оптической оси линзы.
\end{enumerate}
\end{itemize}
Зная характеристики камеры мы можем по размытому изображению определить расстояние.
должны быть априорные данные об объекте, для которого мы хотим определять характеристики. Если нет данных об объекте -- должны быть размеры объектов в сцене (дорожные знаки, разметка, и так далее), на основе данных о сцене и изображения объекта на сцене можем вычислить нужные параметры.
\[\begin{pmatrix} X\\Y\\Z \end{pmatrix}= R \begin{pmatrix} X_0\\Y_0\\Z_0\end{pmatrix}+ T \]
Матрица поворота, вектор $T$ отвечает за центр масс объекта. Координаты $(X, Y, Z)$ приводятся к двумерным $x', y'$, масштабируются $f(x)$ и сдвигаются $c(x)$.
По изображению можем получить все коэффициенты и посчитать координаты $u, v$. Коэффициенты находятся путём калибровки камеры. И используются для обратного вычисления координат.
В иделаьном случае матрицы будут равны, а их разность равняться нулю.Ошибка возводится в квадрат для увеличения чувствительности и удобства распознавания.
\[\begin{pmatrix} u_i^A\\v_i^A \end{pmatrix}= P \begin{pmatrix} x_i\\y_i\\z_i \end{pmatrix}\]
Зная, что матрица $P$ -- это проекционная матрица, мы можем варьировать матрицы поворота и сдвига $(R, T)$, которые входят в её состав. \textbf{Perspective Points Problem} -- проблема того что реальная точка может восстановиться в две и нужно понять у какой коэффициент ошибки меньше.
Как понять, что объект плоский? Все точки объекта связаны определёнными геометрическими преобразованиями и возможно построить между ними зависимостями. Координаты объекта -- $u,v$; координаты объекта на изображении -- $\tilde{u}, \tilde{v}$
Преимущество в лёгкости, недостаток в сложности настройки подобной системы (две абсолютно идентичные камеры будут всё равно иметь свои искажения, углы зрения и так далее). Частоты камер могут не совпадать. Оси камер должны быть строго параллельны друг другу (соосны).
В результате получаем стереопару. Библиотека \code{calib3d}. Получив стереопару возможно строить карту глубин изображения (depth map). \code{cvStereoBMState} block matching. ищем пиксель с одной камеры в полосе другой камеры. Есть другой вид функций -- \code{...GC...} -- graph cut, вычислительно более сложны, остаются только ветки с наименьшими ошибками сопоставления. \footnote{Bradski - Learning OpenCV, Multiple View Geometry in Computer Vision - Hartley, Zisserman}
В отмеченных областях не можем мерить этим методом -- чувствительность метода будет невысокая (расстояние меняется незначительно, а размытие значительно, или наоборот). Возможно менять точку фокусировки. Есть неоднозначность -- одно и тоже размытие возможно на разных расстояниях. Но из-за разницы отношений возможно изменить расстояние до камеры и понять, к какой точке ближе.
плоскость фокусировки -- это место, где объект чёткий. $D_{o}$ -- расстояние до объекта, $D_{f}$ -- расстояние от объектива до сфокусированного изображения, $D_{r}$ -- расстояние до размытого.
Если объект в точке фокусировки $D_f = d_r, \sigma=0$. $D_f =\frac{f D_o}{d_o - f}$ и это не расстояние до объекта, а расстояние до сфокусированного объекта $D_{of}$.
Размытие зависит не только от расстояния, но может возникать/изменяться и из-за других факторов, таких как качество изображения, света, свойств объекта и цветов. Разница размытий в разных цветах $F$ -- фокусное расстояние.
$f$ -- фокусное расстояние, $m$ - расстояние движения камеры, $d$ -- расстояние до объекта
\[\sigma=\frac{fm}{d}; d =\frac{fm}{\sigma}\]
Размытие будет зависеть от угла движения и других факторов, которые должны попадать в формулу. Формулы отдельные и для расфокусировки и для движения объекта. Все размытия нужно перевести из пикселей в метры
Необходимо найти границы перехода и его центр. Предлагается найти первую производную ($b'(x)$ -- зависимость изменения интенсивности от координаты). Вторая производная ($b''(x)=0$, $c$ -- центр размытия). Третья производная -- находим точки перехода (перепада) $b'''(x)$. Для каждого вычисления нужно выставить пороги, при которых мы точку считаем нулём.
\item Метод Hu-Haan. Аналогично есть изображение и рассматриваем сигнал, зависящий от одной координаты.
Взяли исходный сигнал и добавили дополнительное размытие с известным коэффициентом $\sigma_a$. Получаем сигнал. Взяли исходный сигнал и добавили дополнительное размытие с известным коэффициентом $\sigma_b$. Получаем сигнал. Находим разницу между переразмытыми сигналами ($ba(x)- bb(x)$) разницу между исходным и первично размытым. Находим отношение
Если отношение маленькое - размытие исходного близко к $ba$. Если отношение максимальное - изначальное изображение близко к максимальному. Строим график и определяем $r_{max}$.
и тогда переход - это и есть размытие. Что сделать, чтобы найти сигма-размытие -- переразмываем один раз и получаем известное $\sigma_1\Rightarrow i_1(x)$ находим первую производную для обоих изображений. Берём отношение производных и получаем некоторый график ($\Omega$-образный), по нему можем определить точки, где график будет около нуля и расстояние между ними это и будет размытие.
Если объект сливается с фоном в видимом спектре его обнаружить не удастся.
\textbf{Детекторы} -- обнаружение. \textbf{Дескрипторы} -- обнаружение и описание. Мы всё будем называть детекторами. Хороший алгоритм должен быть инвариантен к шумам и деформациям.
\item инвариантность относительно преобразования изображения
\begin{enumerate}
\item смещения
\item поворота
\item к изменению масштаба (харрис-, харрис-лаплас+)
\item изменению яркости (моравец-, харрис+)
\item изменению точки положения камеры
\end{enumerate}
\item повторяемость (при изменении условийсъёмки)
\item локальность (при перекрытии объекта часть признаков должна остаться видимой, например если взять контур и его часть перекроется -- он перестанет детектироваться)
\item репрезентативность (кол-во признаков должно быть достаточным для детектировании даже на небольшом масштабе)
\item Точность
\item Эффективность (не требовательны к вычислительным ресурсам и времени)
Чтобы найти объект проходим окном (3х3,5х5,9х9) по изображению и смотрим на изменение интенсивности центрального пикселя и окружающих. Пиксель характеризуется координатами $x$, $y$. Получаем 8 направлений смещения относительно пикселя ($u$, $v$).
получаем автокорреляционную матрицу $A_{u,v}(x,y)$. глядя на числа из неё можно понять характерны ли числа. Если числа большие -- пиксель можно характеризовать как угол. Если число $\lambda_1\gg\lambda_2$ то это пиксель ребра. Если оба близки к нулю -- это не характерная точка.
\begin{itemize}
\item [+] инвариантен к поворотам.
\item [-] более сложный по отношению к моравецу, восприимчив к шумам, не инвариантен к масштабированию
Рассматривается точка и окружность, а не прямоугольник. Окружность вписана в квадрат 7х7. Каждый пиксель тестовой выборки изображений $X\in[1...16]$ ищем три состояния -- темнее(D) светлее(B) и такой же(S), раскидываем в три множества.
\[S =
\begin{cases}
d, I_x\leq I_p -t\\
s, I_p-t < I_x < I_p+t\\
b, I_p+t \leq I_x\\
\end{cases}
\]
Строим дерево решений. Множество которое соответствует узлу дерева разбивается на подмножества и на основе этих деревьев не рассматриваем всё, а проходим по дереву и находим характерные точки.
не будут исчезать при изменении порогового значения. То есть превращаем изображение не в градации серого, а в ч/б (бинаризация). Варьируем порог и в итоге смотрим какие участки исчезают, а те что остались -- наиболее устойчивые.
$$ I_g(x,y)=
\begin{cases}
255, I(x,y)>g\\
0, I(x,y)\leq g
\end{cases}, g \in [0,255]
$$
g -- порог бинаризации. варьируем, строим дерево
(1)
светлая буква на тёмном фоне. Можем это изображение масштабировать. Если мы делаем маленький порог ($g=50$) всё изображение светлое, иногда только точки будут тёмные, увеличивая порог видим разное поведение характерных точек. Если точки совсем пропали - нет смысла ни масштабировать ни менять пороги. Плохо выраженные точки при изменённых порогах не попадут в стабильные характерные точки.
Применяется чаще всего для градаций серого, хотя цветные тоже иногда делят на компоненты и применяют этот метод.
\subsection{Дескрипторы}
\subsubsection{SIFT}
Scale Invariant Feature Transform. Размываем начальное изображение гауссовым ядром
$$\mathbb{G}(x, y, \sigma)=\frac{1}{2\pi\sigma^2}e^{\frac{-(x^2+y^2)}{2\pi^2}}$$
размываем не всё изображение, а, например, окрестность 16х16 пикселей. Для каждого из пикселей определяем магнитуды и направление, задаём веса (чтобы какие-то учитывались больше, а какие-то меньше).
(2)
по каждому из пикселей таких квадратов вычисляем амплитуду градиента и направление, строим гистограммы по каждому квадрату. ориентация ключевой точки
Выбираем порог, который отсеит маленькие значения (обычно берут 80\%) Всё что выше будет потенциальными характерными точками изображения. на основе гистаграммы можем построить некий усреднённый дескриптор квадратов 8х8 (можно отсортировать для ускорения). Квадраты 8х8 можем представить как набор градиентов
(4)
\begin{itemize}
\item [+] инвариантность относительно масштаба, поворота, смещения
\item [+] устойчивость к шуму
\item [+] вычислительная эффективность
\end{itemize}
\subsubsection{SURF}
speeded-up robust features
Также как и в предыдущем -- инвариантен к поворотам и масштабированию. Используется матрица гёссе - гессиан (вторые производные).
(5)
сигма - это не размытие, а масштаб. Использование гессиана позволяет определять характерные точки инвариантные к повороту и масштабированию, вычисляем точки, которые не будут меняться. Детерминант будет достигать экстремумов в точках с максимальным изменением яркости.
Делим изображение на квадраты (например, 8х8)
(6)
вычисляем для каждого квадрата градиент, можно использовать свёртку с примитивами Хаара и строим функцию различия (где наибольшее и где наименьшее). где меньше там примитив хаара хуже описывает объект. в итоге описываем отдельные части изображения.
\subsubsection{GLOH}
Gradient location orientation histogram -- модификация SIFT, но здесь окрестности не квадратные, а рассматриваются разные сектора.
(7)
и для каждого сектора делаем тоже самое про градиент как в СИФТ. радиусы 6, 11, 15 пикселей. В каждом таком секторе строим свой набор (карту) градиентов. Получается 17 шт. строим и определяем наибольшие с порогом 0,8 и суммируем те, которые прошли порог.
В отличие от сифт учитывает характерные точки, попавшие на границы разделения квадратами
\subsubsection{DAISY}
модификация SIFT рассматриваем окрестности в виде окружностей (не секторов как гло)
(8)
окрестности внахлёст и в некоторых задачах лучше подходит, но будет гораздо хуже по вычислительной сложности.