Files
autopilot/dissertation/chapter_3/3.3_vision_processing/3.3_vision_processing.md
2026-04-01 14:00:38 +03:00

3.3 KiB
Raw Blame History

3.3 Обработка видео

Модуль обработки видео реализован в файле vision_chunk.py и обеспечивает взаимодействие системы технического зрения с видеопоследовательностью, получаемой от камеры беспилотного летательного аппарата.

\section{Класс VisionChunk}

Класс VisionChunk является центральным элементом обработки изображений. Объект этого класса инкапсулирует:

\begin{itemize} \item Изображение в формате PIL.Image \item Вычисленные ключевые точки (keypoints) \item Дескрипторы признаков \item Метод детекции признаков \end{itemize}

\section{Детекция признаков}

Система поддерживает четыре метода детекции признаков:

\begin{itemize} \item \textbf{ORB} (Oriented FAST and Rotated BRIEF) — быстрый и эффективный метод \item \textbf{SIFT} (Scale-Invariant Feature Transform) — инвариантный к масштабу \item \textbf{AKAZE} — устойчив к геометрическим и фотометрическим искажениям \item \textbf{BRISK} — бинарный дескриптор с высокой повторяемостью \end{itemize}

По умолчанию используется метод ORB как наиболее сбалансированный по скорости и качеству.

\section{Предобработка изображений}

Перед детекцией признаков выполняется предобработка изображения:

\begin{enumerate} \item Конвертация в градации серого (если изображение цветное) \item Применение CLAHE (Contrast Limited Adaptive Histogram Equalization) для выравнивания контраста \item Нормализация гистограммы для устранения различий в освещении \end{enumerate}

\section{Сопоставление признаков}

Метод detect_and_match_keypoints выполняет сопоставление признаков между двумя изображениями:

\begin{enumerate} \item Вычисление ключевых точек и дескрипторов для обоих изображений \item kNN-сопоставление с использованием Lowe's ratio test \item Фильтрация по расстоянию (порог 64) \item Возврат координат сопоставленных точек \end{enumerate}

\section{Критерий Lowe's}

Критерий Lowe's ratio test позволяет отфильтровать неоднозначные сопоставления:

\begin{equation} \frac{d_1}{d_2} < 0.75 \end{equation}

где d_1 — расстояние до ближайшего соседа, d_2 — расстояние до второго ближайшего соседа.