From 7672c965a89fb76cb5146ce06cf0dbdb2e6faac9 Mon Sep 17 00:00:00 2001 From: "Ivan I. Ovchinnikov" Date: Fri, 17 Feb 2023 12:10:11 +0300 Subject: [PATCH] another week --- ...mation-systems-developing-technologies.tex | 91 ++++++++++++++++ 04-complex-electronic-devices-developing.tex | 68 +++++++++++- 04-telecommunication-systems-software.tex | 4 + 04-telematics.tex | 76 +++++++++++++ 04-time-series-analysis-forecasting.tex | 102 +++++++++++++++++- ...bject-parameter-recognition-algorithms.tex | 66 ++++++++++++ 6 files changed, 405 insertions(+), 2 deletions(-) diff --git a/04-big-data-analysis-information-systems-developing-technologies.tex b/04-big-data-analysis-information-systems-developing-technologies.tex index 7d58486..40485f4 100644 --- a/04-big-data-analysis-information-systems-developing-technologies.tex +++ b/04-big-data-analysis-information-systems-developing-technologies.tex @@ -193,6 +193,28 @@ $\ddot{y_j}$ -- среднее значение $y_t$ для объектов с \item Задача классификации: Подсчет процента успешной классификации для каждого из значений признака $p$. По теореме Байеса считаем $P(X_j|Y)$ -- вероятность признака $X_j$, если объект принадлежит положительному классу. Если $P(X_j|Y = 1) > 0,7 \cup P(X_j|Y = 1) < 0,3$, то считаем $X_j$ информативным признаком. \end{itemize} +\subsection{Отбор признаков по Теореме Байеса} +Теорема Байеса. Пусть $В_1, В_2, ..., В_r$, полная группа событий $А$ -- некоторое событие, вероятность которого связана с $В_i$, тогда +\[ P(B_i|A) = \frac{P(A|B_i)p(B_i)}{P(A)}\], +где $P(A) = \sum_{i=1}^rP(A|B_i)p(B_i)$.По теореме Байеса считаем $P(X_j,Y)$ -- вероятность признака $Х_у$, если объект принадлежит положительному классу. Если Р(X,IY = 1) > P + + 0,7 UP(XIY = 1)<0,3, то считаем X, информативным признаком. + + Пример. Оценим информативность признаков x, и х, по Теореме Байеса: + + P(xy = 1)Y = 1) =1/2 + + P(xr = b/Y = 1) =3/16 + +\subsection{Наивный байесовский классификатор} +\[ L = \{X_t, Y_t\}_t=1^N \] обучающая выборка, $X_j=\left( \begin{array}{c} x_{1j}\\ ...\\ x_{Nj}\end{array} \right)$ -- j-ый признак, $X_k$ -- новый объект. + +Предположение. При заданном значении класса $Y_t$ признаки $\dot{X_j}, ..., \dot{X_j}$ независимые. + +$P(Y = 1|0,b) = \frac{P(0,b|Y)P(Y)}{P(0,b)}$ + +$y = argmax(P(a,b|Y) * P(Y))$ + \subsection{ROC-кривая} Число строк в квадрате справа равно числу единиц, число столбцов -- числу нулей. Стартуем из точки (0, 0)(левый нижний угол. Если значение метки класса в просматриваемой строке 1, то делаем шаг вверх; если 0, то делаем шаг вправо, если у нескольких объектов значения оценок равны, то делаем шаг в точку \textbf{а} блоков выше и \textbf{b} блоков правее, где \textbf{а} -- число единиц, \textbf{b} -- число нулей в рассматриваемой группе объектов. @@ -225,4 +247,73 @@ $\ddot{y_j}$ -- среднее значение $y_t$ для объектов с 2/3 - \% точек класса 1, верно классифицированых алгоритмом (TPR = True Positive Rate). +Качество ROC-кривой напрямую зависит от объёма выборки и количества признаков. С её помощью можно оченить информативность признаков (отобрать признаки). + +\subsection{Precision-recall кривая} + +\subsection{Тестирование модели} + +\subsection{Оценка} +Оценивание методов обычно проводится, относительно следцющих характеристик: скорость, робастность, интерпретируемость, надёжность. +\begin{itemize} +\item скорость -- время которое требуется на создание модели и её использование +\item Робастность -- устойчивость к отклонениям от исходных предпосылок метода, например, возможность работы с зашумленными данными, пропущенными значениями в данных, нарушениями предположений о распределении и пр. +\item Интерпретируемость -- обеспечивает возможность понимания модели аналитиком предметной области. Пусть для решения применили методы: деревья решений; байесовская +\end{itemize} +классификация, метод ближайшего соседа; - логистическая регрессия; + +метод опорных векторов. Можно ли сравнить их по вышеперечисленным + +\section{Решаемые задачи} +\[ [a(x_i)\neq y_i] = + \begin{cases} + 1, if a(x_i) \neq y_i\\ + 0, if a(x_i) = y_i + \end{cases} +\] + +$a(x_i)$ -- алгоритм обучения. Если применить алгоритм -- получим результат классификации $x_i$, сравниваемый с $y_i$. + +\begin{multicols}{2} +Классификация + \columnbreak +Прогнозирование +\end{multicols} + +\subsection{Обозначения} +Пусть $X_t\subset X$ -- объект множества $X$ с набором характеристик $(X_1, Xız, ..., Xtn)$, $Y$ -- множество классов, к которым принадлежат объекты множества $Х$. + +% {X, Y} 1 - обучающая выборка, для которой на подмножестве объектов Xt CX известны ответы Yt. + +%Требуется построить алгоритм а: X → Y, который определяет ответы Yе для любого объекта Xt, не принадлежащего обучающей выборке £ = {Xt, Y}-1. Jt=1' + +\subsection{Задача классификации} + +\subsection{Метрики. Оценка качества работы алгоритма} +Обучение линейного елассификатора заключается в поиске вектора весов $w$, на котором достигается минимум заданного функционала качества. + +... + +\subsection{Задача классификации. Метод логистической регрессии.} +Рассматриваем бинарную классификацию $Y = \{1, -1\}$, хотим построить модель, которая выдает не номер класса, а вероятность принадлежности объекта к классу. Бинарная логистическая регрессия предсказывает вероятность того, что модель принадлежит к положительному классу. + +Будем говорить, что модель корректно предсказывает вероятности, если среди множества объектов, для которых модель предсказала вероятность $p$, доля положительных равна $p$. + +Критерий $\sum_{i=1}^N \log(1+\exp(-Y_i\langle X_i, w\rangle) \to \underset{w}{min})$\footnote{Треугольные скобки означают скалярное произведение, абсолютную величину отступа}. + +\subsection{Выбор критерия} +сигма - это уверенность алгоритма в ответе. + +\section{Регрессия} +\subsection{Постановка задачи} + +%Пусть значение целевой переменной $Y \in R$ для входного вектора 𝑿𝑿 = 𝑋𝑋1 , 𝑋𝑋2 , … , 𝑋𝑋𝑛𝑛 , . . определяется значением детерминированной функции 𝑔𝑔(𝑿𝑿, 𝝎𝝎) с аддитивным гауссовым шумом: +%Тогда +%𝑌𝑌 = 𝑔𝑔 𝑿𝑿, 𝑤𝑤 + 𝜉𝜉, 𝜉𝜉 ∼ 𝑁𝑁(0, 𝜎𝜎 2 ) 𝑃𝑃 𝑌𝑌|𝑿𝑿, 𝑤𝑤, 𝜎𝜎 2 ∼ 𝑁𝑁(𝑔𝑔 𝑿𝑿, 𝑤𝑤 , 𝜎𝜎 2 ). +% Требуется построить функцию 𝑔𝑔: (𝑿𝑿, 𝜔𝜔) ⟹ 𝑹𝑹 . Вид функции 𝑔𝑔 мы задаем, веса 𝜔𝜔 определяются в процессе обучения. + +\subsection{Модель прогнозирования} +если линейно-зависимые столбцы мы не можем регрессировать. +разность между модельным У и реальным У называется разностью. можно построить график разностей. если они примерно однородны - это линейные остатки. если остатки не переходят в другие области такого графика -- это называется гомоскедастичность. + \end{document} \ No newline at end of file diff --git a/04-complex-electronic-devices-developing.tex b/04-complex-electronic-devices-developing.tex index 4a77744..5a2382c 100644 --- a/04-complex-electronic-devices-developing.tex +++ b/04-complex-electronic-devices-developing.tex @@ -13,6 +13,8 @@ \maketitle \tableofcontents \newpage +Характеристики цепей +Преобразования сигнала \section{Введение} Электроника базируется на физике. Разделы физики -- электричество в металлах, в полупроводниках и электромагнитные поля\footnote{\href{https://ru.wikipedia.org/wiki/Правила_Киргофа}{Киргоф}, \href{https://ru.wikipedia.org/wiki/Закон_Ома}{Ом}}. Упрощают моделирование сложных систем, предоставляют математический аппарат. @@ -89,8 +91,72 @@ $x(t)$ -- это входной непрерывный сигнал, умнож \caption{Дискретизация сигнала} \end{figure} - Дискретный сигнал в частотной области -- бесконечное число повторяющихся копий дискретного представления сигнала. в ЦВУ мы всегда работаем с дискретным сигналом. Важно на каком расстоянии стоят частоты дискретного сигнала (виртуальные образы цифрового сигнана). Чтобы они не накладывались друг на друга нужна предварительная фильтрация (ФПО). +Дискретизация -- это умножение входного сигнала на импульсы дискретизации. +(1) + +УВХ -- является мостом от аналогового к цифровому сигналу. Ключ управляется сигналами управления. Sampling-Hold Amplifier. +(2) +Конденсатор нужен для того чтобы сохранить значение пока АЦП квантует. Если напряжение с конденсатора уйдёт до АЦП -- погрешность. + +Ключ замыкается - конденсатор запоминает - ключ размыкается - АЦП квантует. Время сбора информации влиет на наличие эффекта фильтрации. Чтобы конденсатор быстрее зарядился нужно уменьшать ёмкость (но она быстрее будет разряжаться). Идеального решения не существует. Ключ - это два транзистора в противофазе. Аналоговый мультиплексор - это набор из ключей. + +В реальности используется не УВХ а Устройство \textbf{Слежения} и Хранения Track-Hold Amplifier ключ всегда закрыт и снимается значение в момент размыкания ключа. + +(3) дифференциальное УВХ + +В идеальном ключе мы хотим чтобы включенный был с нулевым сопротивлением, а выключенный с бесконечным (обычно I-утечки). + +АЦП различают с функцией дискретизации (Sampling ADC) и без (non-sampling ADC). Динамические характеристики АЦП выбираются по характеристикам УВХ. + +(4) +при меньшей ширине сигнала (педельный случай) спектр = 1*косинус сигнала, а значит он бесконечный. + +(5) +предел -- импульсная характеристика идеального ФНЧ, а в реальности это простая фильтрация. то есть сам АЦП выступает в роли фильтра. + +\subsection{Субдискретизация} + +Идеальный дискретизатор дельта функция Дирака. +(6) +ширина зоны 0.5фс +\[ |\pm Kf_s \pm f_a|; k=1,2,3,4 \] + +1 зона - основная полоса. частотный спектр делится на бесконечное количество зон. + +\[f_S = 4f_a\] +На временной диаграмме видно, что сигнал восстанавливается. + +\[f_S = 2f_a\] + +\[f_S = 1.5f_a\] + +следствие эффекта наложения дискретного сигнала -- появление Внеполосной помехи. Очевидно нужен ФНЦ с полосой пропускания 0...фс/2. Идельаный фильтр не получится, поэтому нужен фильтр какого-то порядка. + +Требования к фильтру. +(8) для первой зоны +ДД - динамический диапазон преобразования ограничивает эффект наложения. Фильтр ограничен разрядностью. добиваться точности больше, чем число разрядов (1/256 для 8-разрядного) нет смысла. + +\begin{itemize} +\item полоса пропускания должна быть 0...фа +\item переходная полоса фа...фс-фа +\item полоса задержания $фс-фа...\infty$ +\item ослабление =дд +\end{itemize} +порядок фильтра M = DD/6lg_2(fs-fa/fs). + +1 порядок даёт 6дб на октаву или 10 на декаду + +какого порядка можно реализовать аналоговый фильтр? порядок определяется энерго запоминающими элементами. больше 12 уже не делают, потому что вынуждены каскадировать, разбросы и погрешности. + +можно уменьшить требование по частоте фильтра, увеличив частоту дискретизации (передискретизация). и возможно применить операцию децимации (но все образы обратно сдвинутся и наложатся) поэтому перед децимацией нужно отфильтровать цифровым фильтром. + +(9) +жертва - более дорогой избыточной АЦП, наличие ЦФ. но при этом можем снизить аналоговый фильтр до первого порядка хотя бы RC-цепочку. + +как понять в ЦФ порядок - подать единичный импульс. + +После ЦАП также нельзя делать большой порядок. поэтому делаем интерполяцию. \end{document} diff --git a/04-telecommunication-systems-software.tex b/04-telecommunication-systems-software.tex index 7840fa9..285c83d 100644 --- a/04-telecommunication-systems-software.tex +++ b/04-telecommunication-systems-software.tex @@ -24,4 +24,8 @@ Erlang -- специально разработан для телекоммун Процессы могут следить за ошибками в других процессах. Когда процесс завершается, он автоматически сигнализирует об этом всем связанным с ним процессам +Функциональный ЯП, отсутствие side-effects. Программа сравнима с формулой или электрической схемой, вычисляется сразу целиком, нет промежуточных действий. Использует виртуальную машину и используется всегда в паре с OTP -- open telecom platform. + +В Erlang не очень много типов данных: целые, действительные, атомы (именованные символические константы), заполнители \code{_}, \code{@}. + \end{document} diff --git a/04-telematics.tex b/04-telematics.tex index 7e1c56f..b8317cd 100644 --- a/04-telematics.tex +++ b/04-telematics.tex @@ -132,4 +132,80 @@ DevOps-инженер -- высококвалифицированный спец Используемые инструменты -- Jenkins, Docker, Kubernetes, Git, Приложения для управления инфраструктурой (Terraform), платформенные и облачные сервисы, утилиты мониторинга и оповещений. +\section{Система контейнеризации Docker} +Виртуализация и контейнеризация + +Микросервисная архитектура -- это такой подход, при котором единое приложение строится как набор небольших сервисов, каждый из которых работает в собственном процессе и коммуницирует с остальными, используя легковесные механизмы. Такой подход получил распространение в середине 2010х годов в связи с развитием гибких практик разработки. + +До появления микросервисов и контейнеров повсеместно использовались монолитные приложения на основе систем виртуализации. + +Особенности монолитных приложений +\begin{itemize} +\item много зависимостей +\item долгая разработка +\item повсеместное использование виртуализации +\end{itemize} + +Виртуализацция -- это технология с помощью которой на одном физическом устройстве можно создать несколько виртуальных компьютеров. На компьютере с одной ОС можно запустить несколько других ОС или приложений. ОС запускаются в виртуальной среде, но используется инфраструктура хоста и позволяет им работать на одном устройстве изолированно друг от друга. + +Виртуальная среда создаётся при помощи программной или аппаратной схемы - гипервизора -- инструмента, обеспечивающего параллельное управление несколькими ОС на одном хосте. + +Виртуализация. Типы гипервизоров +Гипервизоры: +\begin{itemize} +\item аппаратные -- VMWare ESX, Citrix Hyper-V +\item устанавливаемые поверх базовой ОС -- MS Virtual PC +\item гибридные -- +\end{itemize} + +Новый подход к виртуализации + +Назрела необходимость в ином подходе к построению архитектуры приложений, при котором ядро ОС поддерживают несколько изолированных экземпляров пользовательского пространства вместо одного (namespaces). Возникновение контейнеризации -- контейнерной виртуализации. К использует ядро хост системы, оставаясь при этом не менее функциональной и обеспечивающей необходимую изоляцию. + +КВ -- это способ, при котором вирт среда запускается прямо из ядра хотовой ОС (то есть без установки другой ОС). В данном случае изоляцию ОС и приложений поддерживает контейнер. Контейнер создержит всё, что нужно для запускаемого в нём приложения: код, библиотеки, инструменты и настройки. Всё это упаковано в отдельный образ, работу которого запускает контейнерный движок. + +В случае с контейнерами у нас есть... + +Проблемы контейнеризации +Для контейнеров используется виртуализация на уровне ядра, то есть от гипервизора можно отказаться. однако: +\begin{itemize} +\item контейнео использует ядро хост системы, проблемы с безопасностью +\item в контейнере может быть запущен экземпляр ОС только с тем же ядром, что и у хост ОС. +\end{itemize} + +Возможно получить доступ к возможностям Windows и Linux одновременно при помощи WSL. + +Как решить проблемы проблемы контейнеризации +\begin{itemize} +\item следование принципу единственной ответственности (Single responsibility principle) +\item Всё необходимое должно быть в самом контейнере +\item Образы должны быть небольшого размера +\item контейнер должен быть эфемерным +\end{itemize} + +Контейнеризаторы приложений + +Докер -- платформа автоматизации и доставки приложений. +\begin{itemize} +\item сервер dockerd +\item API +\item CLI +\end{itemize} + +Компоненты докер +\begin{itemize} +\item хост -- хост ПК +\item демон -- фоновый процесс, работающий на хосте постоянно и ожидающий команды управления. Имеет информацию обо всех контейнерах на хосте. +\item клиент -- клиент при помощи с котрого пользователь взаимодействует с демоном +\item образ -- неизменяемый образ приложения (можно представить как установочный диск) +\item контейнер -- развёрнутое на основе образа и запущенное приложение. +\item докерфайл -- файл-инструкция для сборки докер-образа. Строки файла это слои образа. Инструкции обрабатываются последовательно. +\item docker registry -- репозиторий, в котором хранятся образы (докерхаб) +\end{itemize} + +Образ -- шаблон с набором инструкций, предназначенных для создания контейнера. Приложения упаковываются в образ + +Контейнер -- уже собранное, настроенное и запущенное на основе образа приложение в изолированное среде. + + \end{document} diff --git a/04-time-series-analysis-forecasting.tex b/04-time-series-analysis-forecasting.tex index 5a73e7e..8aae797 100644 --- a/04-time-series-analysis-forecasting.tex +++ b/04-time-series-analysis-forecasting.tex @@ -164,7 +164,7 @@ $\sigma$ -алгебра F - набор подмножеств (подмноже \[E\{g+X\} = g+EX\] \end{enumerate} -\subsection{Дисперсия СВ} +\subsection{Дисперсия случайной величины} Дисперсией СВ $X$ называется неслучайная величина \[ D_X = \int (x-m_x)^2 px(x) dx\] Свойства ДСВ @@ -201,4 +201,104 @@ $\sigma$ -алгебра F - набор подмножеств (подмноже \[Var(x\pm y) = Var(x) + Var(y) \pm 2Cov(x, y),\] если $x$ и $y$ не кореллируют. +\section{Анализ и прогнозирование временных рядов} +рассмотрение динамических объектов. +\begin{enumerate} +\item могут быть описаны дономерными или многомерными временными рядами +\item образующие временной ряд последовательности случайных величин не являются независимыми +\item закон распределения может изменяться от числа наблюдаемых временных отсчётов. +\end{enumerate} + +\subsection{Цели АВР} +\begin{itemize} +\item выявление закономерностей изучаемых процессов +\item построение.... +\end{itemize} + +\subsection{Стационарность рядов} +Ряд называется стационарным в широком смысле (или слабостационарным), если его дисперсия и матожидание существуют и не зависят от времени, а автокорреляционная функция зависит только от величины сдвига. +\begin{equation*} + \begin{gathered} + E(Y_t) = \mu;\\ + Var(Y_t) = \sigma^2\\ + M_K = \int_a^b(x - mx)^a p(x) dx\\ + \gamma(k) = \rho(Y)t, Y_{t-k} = \frac{cov(Y_t, Y_{t-k})}{\sqrt{Var(Y_t) * Var(Y_{t-k})}} + \end{gathered} +\end{equation*} + +Свойства стационарного (в ШС) ВР +\begin{itemize} +\item $EY_t = \mu$ +\item $Cov(Y_t, Y_{t+\tau}) = E[(Y_T - EY_t)(Y_{t+\tau}-EY_{t+\tau})] = \gamma(\tau)$ +\end{itemize} + +Чтобы определнить степень зависимости, лучше использовать нормальные величины. + +\subsection{Свойство Гауссова процесса} +Функции распределения Гауссова процесса любого .. + +\subsection{Оператор сдвига} +Оператором сдвига называется такое преобразование временного ряда, которое смещает ряд на один временной интервал +\begin{equation*} + \begin{gathered} + LY_t = Y_{t-1}\\ + L^kY_t = Y_{t-k} + \end{gathered} +\end{equation*} +например +\begin{equation*} + \begin{gathered} + (1-0.5L)(1+0.6L^4)Y_t = c+\xi_t\\ + (1+0.6L^4 - 0,5L - 0.3L^5)Y_t = c+\xi_t\\ + Y_t - 0.5Y_{t-1}+0.6Y_{t-4}-0.3Y_{t-5} = c+\xi_t + \end{gathered} +\end{equation*} +\subsection{Теорема Вольда} +Любой стационарный вШС случайный процесс без детерминированной составляющей может быть представлен в виде +\[ Y_t - \mu = \sum_{j=0}^\infty \beta_j \xi_{t-j} \] + +Если в разложении Вольда случайного процесса присутствует только конечное число членов, то такой процесс называется моделью скользящего среднего (MA, moving average). + +Различные формы представления МА +\begin{itemize} +\item исходный ряд +\item центрирование +\item центрированный процесс +\item с использованием оператора сдвига +\end{itemize} + +Обратимый процесс - это процесс, при котором существует такой оператор, при котором сумма операндов равна единице. Для бесконечных процессов условие обратимости находить очень сложно. + +Можем для процесса построить характеристическое уравнение (взять коэффициенты и приравнять нулю). Если корни характеристического уравнения по модулю больше 1, то процесс обратим. + +\subsection{Процесс авторегрессии} +Для того, чтобы процесс авторегрессии был стационарным необходимо, чтобы корни характеристического уравнения были по модулю больше единицы + +Пример. Процесс МА +\begin{equation*} + \begin{gathered} + y_t = \xi_t + \beta_1\xi_{t-1}\\ + Var(y_t) = Cov(y_t, y_t) = \gamma(0) = \sigma^2(1+\beta_1^2)\\ + Var(y_t) = Var(\xi_t+\beta_1\xi_{t-1}))\\ + Cov(y_t, y_{t+k}) = 0; k>1\\ + Cov(y_t, y_{t+1}) = \gamma(1) = \sigma_\xi^2\beta_1\\ + Cov(y_t, y_{t+1}) = Cov(\xi_t + \beta_1\xi_{t-1}, \xi_{t+k} + \beta_1\xi_{t+k-1}) + \end{gathered} +\end{equation*} + +Корреляция между $y_t$ и $y_{t+\tau}$вычисляется по формуле +\[ \rho_\tau = \rho(\tau) = \frac{\gamma(\tau)}{\gamma(0)} \] + +\subsection{Модель авторегрессии} +\[ y_t = \alpha_1y_{t-1}+\alpha_2y_{t-2}+...+\alpha_Py_{t-p}+\xi_t AR{K}\] + +\[ y_t = \xi_t +\beta_1\xi_{t-1}+ ...+\beta_q\xi_{t-q}; MA(q)\] + +\[ y_t = \alpha_1y_{t-1}+...+\alpha_ky_{t-k} = \beta_1\xi_{t-1}; ARMA(p,q)\] + +$ARIMA(p, d, q);$ Если ряд -- стационарный, то строим модель по $d=0$ если нет то строим модель по разности. + +Основной инструмент для выбора границ порядков -- автокорреляционная и частная автокорреляционная функция временного ряда. Tckb d fdnjhtuhtccbb ldf pyfxbvs[ xktyf nj d vjltkb crjkmpzotuj chtlytuj yt vj;tn m,snm ,jkmit lde[ xktyjd/ + + \end{document} diff --git a/04-videostream-object-parameter-recognition-algorithms.tex b/04-videostream-object-parameter-recognition-algorithms.tex index c95fc12..23233b2 100644 --- a/04-videostream-object-parameter-recognition-algorithms.tex +++ b/04-videostream-object-parameter-recognition-algorithms.tex @@ -89,5 +89,71 @@ Зная характеристики камеры мы можем по размытому изображению определить расстояние. +\section{Определение параметров объекта} +Удалённость от камеры, размеры объекта, кинематические характеристики (скорость, направление движения). + +Метод пропорций -- должны быть априорные данные об объекте, для которого мы хотим определять характеристики. Если нет данных об объекте -- должны быть размеры объектов в сцене (дорожные знаки, разметка, и так далее), на основе данных о сцене и изображения объекта на сцене можем вычислить нужные параметры. +Исходные данные: +\begin{itemize} +\item $H_{\text{объекта}}$ -- например, высота объекта в пикселях $h$ -- априорная высота; +\item $\alpha_{\text{кадр}}, \beta_{\text{кадр}}$ -- характеристики камеры -- углы обзора по вертикали и горизонтали, соответственно. +\item $H_{\text{кадр}}$, $W_{\text{кадр}}$ -- высота и ширина кадра +\end{itemize} +найти $l$ -- расстояние до объекта, $v$ -- скорость. +(1) +для вычисления скорости нужно взять два кадра с известным временем между ними. +(2) +$v_x$ тоже касательный считается по аналогии +\[ v_x = \frac{\beta_k * \Delta_o * l}{W_k * N \tau} \] +(3) + +Недостаток в том, что нам нужны априорные знания об объектах. + +Метод pinhole +(4) +мы знаем, что все лучи проходят через одну точку, тогда стоит задача по координатам $(X,Y,Z)$ получить двумерные координаты $(u, v)$. +(5) + +(6) - матрица поворота + +вектор $T$ отвечает за центр масс объекта. +Координаты $(X, Y, Z)$ приводятся к двумерным $x', y'$, масштабируются $f(x)$ и делаем сдвиг $c(x)$. + +\[x' = x/Z; y' = y/Z\] + +\[u = f_x*x' + c_x; v = f_y*y'+c_y\] +(7) + +$P$ -- проекционная матрица. + +В данной задаче возникает проблема искажений (аберрации, дисторсия). +\[x'' = x'(1+k_1*r^2 + k_2*r^4 + k_3*r^6) + 2p_1x'y' + p_2(r^2+2x'^2)\] + +\[r^2 = x'^2 + y'^2\] +аналошгично y' + +\[y'' = y'(1+k_1*r^2 + k_2*r^4 + k_3*r^6) + p_1(r^2+2y'^2) + 2p_2x'y'\] + +По изображению можем получить все коэффициенты и посчитать координаты $u, v$. Коэффициенты находятся путём калибровки камеры. И используются для обратного вычисления координат. +(8) цель минимизировать ошибку, видеале = 0 + +(uia via) = P(xi,yi,zi) + +Зная, что матрица P - это проекционная матрица мы можем варьировать матрицы поворота и сдвига(R, T), которые входят в её состав. Perspective Points Problem - проблема того что реальная точка может восстановиться в две и нужно понять у какой коэффициент ошибки меньше. + +Определение на изображении планарных (плоских) объектов -- гомография. + +(9) +Как понять, что объект плоский. Все точки объекта связаны определёнными геометрическими преобразованиями и возможно построить между ними зависимостями. + +объект = u,v +изображение = \tilde{u}, \tilde{v} + +\tu = h_11u+h_12v+h13/h31u+h32v+h_33 +\tv = h_21u+h_22v+h13/h31u+h32v+h_33 +H = h11 h12 h13\\h21 h22 h23\\h31 h32 h33 - матрица гомографии +(tu tv 1) = H(u v 1) + +задача - поиск точек, подверженных гомографии. Такой поиск называется схема RANSAC. \end{document}