Изменения
→Построение с помощью свёрточных нейронных сетей
Используем [[Сверточные нейронные сети|сверточные нейронные сети]] для построения карты глубины следующим образом:
* '''Создаем карту смещений''': Используя используя 2 изображения с камер, близко расположенных друг у другу, создаем карту различий <math>y</math>, точно так же как в методе построения по стереопаре.
* "Ищем реальную карту глубины для обучения": с помощью карты смещений, можем построить карту глубины <math>y</math> вышеописанным способом. Также же допустимы, другие способы построения карты глубины для обучения нейронной сети. * '''Функция потерь''': определим [[Функция потерь и эмпирический риск|функцию потерь]], для предсказанной карты <math>\hat y</math>, <math>d_i = log( y_i) - log (\hat y_i)</math>, <math>\lambda \in [0, 1]</math> и <math>n </math> - количество пикселей. Где <math>y_i</math> и <math>\hat y_i</math>, это . Гиперпараметр <math>\lambda</math>, нужен для того, чтобы функция потерь меньше росла, при большом количестве пикселей, предсказание для которых достаточно близко к реальному. Например, если <math>\lambda = 0</math>, то мы просто придём к оптимизации в L2.
<math>L(y, \hat y) = \frac{1}{n} \sum\limits_{i} d^2_i - \frac{\lambda}{n^2}(\sum\limits_{i} d_i)^2</math>
* '''Обучение сверточной нейронной сети''': далее идёт обычное обучение нейронной сети по карте различий, путем обратного распространения ошибки оптимизируя, заданную выше функцию потерь.
По итогу, по обученной нейронной сети, мы можем создавать карту глубины, не проводя расчётов для поиска, карт смещения, и имя имея только 1 изображения объекта или пространства.
=== Построение с помощью капсульных нейронных сетей ===