Проект из Stanford University (ныне Cornell University) "Make3D", примечателен тем, что поставил перед собой пока еще не ставшую типичной задачу восстановления трехмерной модели сцены всего из одного фотоснимка. До сих пор, чтобы добиться подобного результата, разработчики восстанавливали трехмерную информацию, комбинируя несколько (два и более) снимков одного и того же объекта. В данном же случае было продемонстрировано, что значительный объем информации содержится в монокулярных признаках (monocular cues) самого изображения, которые до этого зачастую игнорировались. В практической реализации уже удалось добиться удовлетворительных результатов более чем на 60% произвольных фотоснимков, предоставленных и оцененных сторонними пользователями системы при проведении ее испытаний.
Публикация состоит из: Часть 1, Часть 2
Публикуется для утоления любопытства, с целью
Содержание:
Часть первая (текущая):
- Краткое описание алгоритма
- Список используемых теорий и алгоритмов
- Модель Изинга или откуда взялась такая формула в MRF
- Эффективная сегментация изображения на графах
- Хотим 3D Модель и Расположение полигонов
- Смотреть придется шире...
- Монокулярные особенности изображения
- Границы и преломления
- MRF Input и Output
- Что будет делать MRF? Цель: min(погрешность определения расстояния)
- Wish list готов, запихаем его в Модель MRF
- 1. Local features: Предварительное определение расстояния по локальным особенностям
- 2. Connection: Соединение
- 3. Co-planar: Копланарность
- 4. Co-linear: Коллинеарность
- Кратко про Обучение MRF
- Кратко про Решение MRF
- Исходный код и изученные параметры модели
- Исполнение программы, тестирование
- Итого
- Немножко файлов
Краткое описание алгоритма
Изображение разбивается на суперпиксели (superpixel), небольшие сегменты изображения, схожие по текстуре. Однородные предметы и даже ровные поверхности, как правило, разбиваются на несколько суперпикселей, но, тем не менее, суперпиксели лежат целиком в рамках одного предмета или поверхности, если поверхность имеет ярко выраженную границу.
Алгоритм для каждого суперпикселя пытается выяснить его позицию (глубину) и ориентацию в трехмерном пространстве относительно точки, из которой делался фотоснимок, т.е. найти поверхность (плоскость), на которой он лежит. Эта поверхность может иметь любое расположение в пространстве, не обязательно горизонтальное или вертикальное, как предполагалось в аналогичных исследованиях, проводимых ранее.
В проекте используется предварительное обучение взаимосвязям совокупности множества признаков суперпикселей (участков изображения) и расстояний до них. Обучающий алгоритм использует модель MRF (поле Маркова), принимая во внимание ограничения на относительные расстояния между соседними суперпикселями, т.е. учитывая, что с некоторой вероятностью два соседних участка скорее всего находятся примерно на одинаковом расстоянии от точки наблюдения, либо даже они могут находиться на одной плоскости, чем принадлежать различным объектам, далеко разнесенными в пространстве (как например забор и фон за ним).
Обработав сегментированное на суперпиксели изображение в заранее обученном MRF, алгоритм получает на выходе позицию и ориентацию каждого суперпикселя. Этого достаточно для построения трехмерной модели сцены, текстурой к которой является сам фотоснимок.
Pic.1 Результат обработки фотографии в Make3D
![Pic.1 Результат обработки фотографии в Make3D Pic.1 Результат обработки фотографии в Make3D](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg39.imageshack.us%2Fimg39%2F6223%2Fpic1make3dexample.png%22)
Список используемых теорий и алгоритмов
В методе восстановления трехмерной модели сцены, используются следующие теории и алгоритмы:
- Сегментация изображения для разбиения изображения на суперпиксели
- Применение фильтров к изображению для выявления монокулярных признаков
- Случайные поля Маркова (MRF) для моделирования монокулярных признаков и взаимного расположения различных частей изображения
- Выделение контуров и границ на изображении (edge detection)
- Элементы вычислительной геометрии, линейного программирования и др…
Модель Изинга или откуда взялась такая формула в MRF
Можно быстро пролистать, это просто пояснение, почему в MRF и в "Make3D" формула так выглядит. В общем, исторически так сложилось…
Прототипом Марковской послужила модель Изинга (Ising model), поэтому начнем с нее. Это математическая модель статистической физики, предназначенная для описания намагничивания материала.
В физической модели Изинга каждой вершине кристаллической решётки сопоставляется число, называемое спином и численное обозначаемое как "+1" или "−1", определяющее направление спина: "вверх" или "вниз". Спин – это собственный момент импульса элементарных частиц, имеющий квантовую природу и не связанный с перемещением частицы как целого.
Pic.2 Одномерная модель Изинга
![Pic.2 Одномерная модель Изинга Pic.2 Одномерная модель Изинга](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg42.imageshack.us%2Fimg42%2F557%2Fpic2isingmodel.jpg%22)
Рассмотрим простейший одномерный случай, когда узлы кристаллической решетки располагаются вдоль одной прямой. Модель описывает распределение вероятностей в пространстве
![ω ω](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg526.imageshack.us%2Fimg526%2F1184%2Fform2onew.jpg%22)
![ω=(ω_0,ω_1,…,ω_n) ω=(ω_0,ω_1,…,ω_n)](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg156.imageshack.us%2Fimg156%2F7555%2Fform1somews.jpg%22)
![n n](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg139.imageshack.us%2Fimg139%2F5403%2Fform3n.jpg%22)
![ω_i={+1,-1} ω_i={+1,-1}](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg689.imageshack.us%2Fimg689%2F5231%2Fform4wiplusminus.jpg%22)
![P(ω) P(ω)](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg195.imageshack.us%2Fimg195%2F1286%2Fform5pw.jpg%22)
![ω=(ω_0,ω_1,…,ω_n) ω=(ω_0,ω_1,…,ω_n)](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg156.imageshack.us%2Fimg156%2F7555%2Fform1somews.jpg%22)
Каждому из
![2^n 2^n](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg268.imageshack.us%2Fimg268%2F3958%2Fform62n.jpg%22)
![ω ω](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg526.imageshack.us%2Fimg526%2F1184%2Fform2onew.jpg%22)
Полная энергия системы в модели Изинга:
![Полная энергия системы в модели Изинга Полная энергия системы в модели Изинга](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg153.imageshack.us%2Fimg153%2F2955%2Fform7spinenergall.jpg%22)
В формуле первая сумма берется по всем парам соседних узлов, и равняется энергии взаимодействия спинов узлов. Изинг упростил модель, принимая в расчет взаимодействие только между соседними узлами, располагающимися в непосредственной близости. Постоянная обменного взаимодействия J является характеристикой рассматриваемого материала и описывает энергию взаимодействия спинов. Если J>0, то описывает энергию притяжения ферромагнетика (attractive case), когда соседние узлы решетки стараются выстроиться в одном направлении, т.е. коллинеарно, при значениях J<0 описывает энергию отталкивания антиферромагнетика (repulsive case), когда соседние узлы решетки пытаются выстроиться в противоположных направлениях, т.е. компланарно. Вторая сумма описывает влияние внешнего магнитного поля интенсивности H, где m – характеризует магнитные свойства вещества.
В случае, когда J>0, то первая сумма будет минимальной, в случае, когда все узлы кристаллической решетки будут выстроены в коллинеарном направлении. Вторая же сумма достигает минимума, когда направление спинов узлов кристаллической решетки совпадает с направлением действия внешнего поля H.
На мы-то из физики знаем, что любая система, выведенная из состояния равновесия, стремится в состояние с наименьшим запасом энергии. Поэтому рано или поздно, модель «успокоится» и займет положение, в котором суммарная энергия
![U(ω) U(ω)](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg405.imageshack.us%2Fimg405%2F7019%2Fform8isingfullenerg.jpg%22)
![P(ω) P(ω)](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg195.imageshack.us%2Fimg195%2F1286%2Fform5pw.jpg%22)
Распределение вероятностей в пространстве
![ω ω](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg526.imageshack.us%2Fimg526%2F1184%2Fform2onew.jpg%22)
Распределение в модели Изинга:
![Распределение в модели Изинга Распределение в модели Изинга](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg697.imageshack.us%2Fimg697%2F5563%2Fform9isingprob.jpg%22)
где k постоянная Больцмана, T температура вещества,
![Z=∑_ωe^(-1/kT U(ω)) Z=∑_ωe^(-1/kT U(ω))](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg156.imageshack.us%2Fimg156%2F1038%2Fform10isingnorm.jpg%22)
Нам эти величины не понадобятся, важно, что формула имеет этот вид и работает с начала 19 столетия.
Для более удобной формы записи распределения вероятностей в модели сопоставим каждому i-ому узлу решетки его (личную) собственную полную энергию:
Собственная энергия узла модели Изинга:
![Собственная энергия узла модели Изинга Собственная энергия узла модели Изинга](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg694.imageshack.us%2Fimg694%2F9553%2Fform11isingpersonalener.jpg%22)
Функция распределения Гиббса (Gibbs measure) интересна с двух позиций. Первая имеет отношение к энтропии, что вероятно и привело к ее широкому использованию в статистических исследованиях.
Pic.3 Двумерная модель Изинга
![Pic.3 Двумерная модель Изинга Pic.3 Двумерная модель Изинга](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg580.imageshack.us%2Fimg580%2F2373%2Fpic3ising2d.jpg%22)
Второе важное свойство распределения в такой форме, с точки зрения теории вероятности, следующее. Пусть
![N_j N_j](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg257.imageshack.us%2Fimg257%2F8840%2Fform12nj.jpg%22)
Свойство Марковского типа:
![Свойство Марковского типа Свойство Марковского типа](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg35.imageshack.us%2Fimg35%2F7341%2Fform13markovprop.jpg%22)
Это свойство носит название свойства Марковского типа. Вероятность того, что спин в точке
![ω_j ω_j](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg132.imageshack.us%2Fimg132%2F7797%2Fform15wj.jpg%22)
![ω_k,k ∈ N_j ω_k,k ∈ N_j](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg408.imageshack.us%2Fimg408%2F4374%2Fform14wkkfromn.jpg%22)
Марковская сеть была представлена как обобщение модели Изинга, и в ней функцию распределения вероятностей
![ω ω](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg526.imageshack.us%2Fimg526%2F1184%2Fform2onew.jpg%22)
Модель в мультипликативной форме:
![Модель в мультипликативной форме Модель в мультипликативной форме](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg121.imageshack.us%2Fimg121%2F9262%2Fform16isingmultipl.jpg%22)
На практике основной целью применения случайного поля Маркова является обнаружение наиболее вероятной конфигурации
![w* w*](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg268.imageshack.us%2Fimg268%2F4563%2Fform17wstar.jpg%22)
![ω: w*=argmaxw(P(w)) ω: w*=argmaxw(P(w))](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg265.imageshack.us%2Fimg265%2F1883%2Fform18wstarmax.jpg%22)
Основные сложности, связанные с использованием данного метода, заключаются в правильном выборе параметров, контролирующих силу пространственного взаимодействия.
Теперь у нас есть формула, на ее основе будет строиться модель MRF для «Make3D»…
Эффективная сегментация изображения на графах
A picture is worth a thousand words:
Пример сегментации с различными параметрами
![Пример сегментации с различными параметрами Пример сегментации с различными параметрами](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg25.imageshack.us%2Fimg25%2F9208%2Fpicture14mc.jpg%22)
Эти большие одноцветные участки и есть суперпиксели, в терминологии авторов «Make3D». Более подробно в доступной форме изложено в статье "Эффективная сегментация изображений на графах".
Хотим 3D Модель и Расположение полигонов
Мы хотим получить в итоге 3D модель. Восстановленная трехмерная модель представляется совокупностью полигонов и текстурой, т.е. частями изначальной фотографии, наложенными на эти полигоны. Полигон имеет произвольное расположение и ориентацию в пространстве.
Pic.4 Расположение и ориентация суперпикселя
![Pic.4 Расположение и ориентация суперпикселя Pic.4 Расположение и ориентация суперпикселя](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg229.imageshack.us%2Fimg229%2F8108%2Fpic4superpixellocation.jpg%22)
Более формально, трехмерное расположение полигона будет определяться плоскостью, заданной параметрами
![α∈R^3 α∈R^3](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg97.imageshack.us%2Fimg97%2F8352%2Fform19alfafromr3.jpg%22)
![q∈R^3 q∈R^3](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg684.imageshack.us%2Fimg684%2F5678%2Fform20qufromr3.jpg%22)
![α^T q=1 α^T q=1](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg571.imageshack.us%2Fimg571%2F7990%2Fform22alfatq1.jpg%22)
![α=α/|α| α=α/|α|](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg443.imageshack.us%2Fimg443%2F1073%2Fform24alfanorm.jpg%22)
Если нам дан единичный вектор
![R_i R_i](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg153.imageshack.us%2Fimg153%2F1046%2Fform25rayi.jpg%22)
![R_i R_i](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg153.imageshack.us%2Fimg153%2F1046%2Fform25rayi.jpg%22)
![d_i=1/(R_i^T α) d_i=1/(R_i^T α)](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg257.imageshack.us%2Fimg257%2F6868%2Fform26distrayialfa.jpg%22)
Смотреть придется шире…
Человек хорошо отличает монокулярные признаки изображения, помогающие ему восстановить трехмерную модель сцены и определить расстояния до объектов. Он с одного взгляда на фотоснимок способен заметить различия в текстурах изображения, градиенты цвета, различия цветов, нечеткие контуры и расфокусированность предметов вдалеке.
Однако только локальных монокулярных признаков все же недостаточно, ведь голубое небо и голубой предмет на земле имеет схожие локальные монокулярные признаки. Поэтому человек при восстановлении сцены одновременно приходится учитывать не только локальные признаки, но и относительную взаимосвязь различных частей этого изображения. Так, расстояние до объекта с неярко выраженными признаками, допустим, равномерно освещенный большой серый участок, человек может определить относительно других объектов на фотоснимке. И определить, что это стена и даже приблизительно увидеть ее длину.
Поэтому в модели MRF учитываются не только локальные монокулярные признаки (monocular cue), но и относительную взаимосвязь различных частей изображения:
- Локальные особенности (local features): локальные особенности суперпикселя, монокулярные, во многом влияют на его положение и ориентацию в пространстве
- Соединения (connections): за исключением границ различных объектов, наиболее вероятно, что соседние суперпиксели соединены на границах и в трехмерном пространстве
- Копланарность (co-planarity): если соседние пиксели обладают схожими монокулярными особенностями (feature), и не имеют ярко выраженных границ (edge) между ними, то наиболее вероятно, что они лежат в одной и той же плоскости
- Коллинеарность (co-linearity): длинные прямые линии, наиболее вероятно, так же будут длинными прямыми линиями и в трехмерноми пространстве
Но прежде чем перейти к модели MRF… что же такого интересного нашли авторы во всего лишь одной фотографии?
Особенности изображения
Для каждого суперпикселя в алгоритме вычисляется кортеж особенностей (features), для того, чтобы выявить монокулярные признаки (monocular cues), упомянутые прежде, а так же вычисляются особенности для определения границ и преломления суперпикселей (объектов на изображении). Для того чтобы алгоритм сделать более устойчивым и гибким, чтобы он смог восстановить сцену по произвольному фотоснимку, не обязательно подобному тем, на которых проводилось обучение модели, вычисляется относительно большое количество особенностей (features).
Монокулярные особенности изображения
Для каждого суперпикселя i, вычисляются статистические особенности имеющие отношение к текстуре изображения, форме и положению. В проекте «Make3D» используется 17 фильтров
![F_n (x,y) F_n (x,y)](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg696.imageshack.us%2Fimg696%2F5307%2Fform27fnxy.jpg%22)
- 9 масок Laws для вычисления средней интенсивности изображения (averaging), выявления пятен (spot detection) и границ (edge detection)
- 6 масок для выявления ориентированных границ (oriented edge detection), повернутых на (30°×k), k=0,…,5 градусов
- 2 цветовых канала в Cb и Cr в YCbCr формате
Pic.5 Маски, применяемые в Make3D
![Pic.5 Маски, применяемые в Make3D Pic.5 Маски, применяемые в Make3D](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg706.imageshack.us%2Fimg706%2F655%2Fpic5make3dmasks.png%22)
Pic.6 Два канала цвета Cb и Cr
![Pic.6 Два канала цвета Cb и Cr Pic.6 Два канала цвета Cb и Cr](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg375.imageshack.us%2Fimg375%2F2119%2Fpic6channelcbcr.jpg%22)
В результате применения фильтров к суперпикселю i изображения I(x,y) формируется 34-мерный вектор особенностей, вычисляемый как
![E_i (n)=∑_((x,y)∈S_i)|I(x,y)*F_n (x,y) |^k E_i (n)=∑_((x,y)∈S_i)|I(x,y)*F_n (x,y) |^k](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg411.imageshack.us%2Fimg411%2F182%2Fform28pixelenergy.jpg%22)
Pic.7 Особенности расположения суперпикселя
![Pic.7 Особенности расположения суперпикселя Pic.7 Особенности расположения суперпикселя](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg683.imageshack.us%2Fimg683%2F5852%2Fpic7shapefeatures.png%22)
В проекте "Make3D" учитываются не только особенности отдельного суперпикселя, а так же принимается в расчет «контекст» в виде, особенностей (features) 4-х самых больших соседних суперпикселей, и данная операция повторяется в 3-х различных масштабах. Таким образом, каждый суперпиксель содержит дополнительно информацию и об изображении вокруг него, что приводит к более качественным результатам, чем если ограничиться только локальными особенностями суперпикселя. В конечном итоге с каждым суперпикселем ассоциируется вектор, который содержит 34*(4+1)*3+14=524 элемента, т.е.
![x∈R^524 x∈R^524](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg710.imageshack.us%2Fimg710%2F4097%2Fform29alfafromr524.jpg%22)
Pic.8 Особенности каждого суперпикселя рассматриваются в контексте
![Pic.8 Особенности каждого суперпикселя рассматриваются в контексте Pic.8 Особенности каждого суперпикселя рассматриваются в контексте](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg36.imageshack.us%2Fimg36%2F2414%2Fpic8featurestogether.png%22)
Pic.9 Выделение особенностей изображения на различных масштабах
![Pic.9 Выделение особенностей изображения на различных масштабах Pic.9 Выделение особенностей изображения на различных масштабах](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg412.imageshack.us%2Fimg412%2F135%2Fpic9featuresdiffscales.jpg%22)
Pic.10 На одном уровне, каждый суперпиксель соединяется с 4 max соседями
![Pic.10 На одном уровне, каждый суперпиксель соединяется с 4 max соседями Pic.10 На одном уровне, каждый суперпиксель соединяется с 4 max соседями](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg62.imageshack.us%2Fimg62%2F2792%2Fpic10onelevellinks.png%22)
Границы и преломления
Для определения границ используются параметры
![y_ij∈{0,1} y_ij∈{0,1}](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg696.imageshack.us%2Fimg696%2F9739%2Fform30yhardbelong.png%22)
![y_ij∈[0,1] y_ij∈[0,1]](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg267.imageshack.us%2Fimg267%2F6086%2Fform31ysoftbelong.png%22)
![y_ij y_ij](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg690.imageshack.us%2Fimg690%2F4141%2Fform32yij.png%22)
![y_ij y_ij](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg690.imageshack.us%2Fimg690%2F4141%2Fform32yij.png%22)
Pic.11 Выделение границ изображения (edge detection) – edgels
![Pic.11 Выделение границ изображения (edge detection) – edgels Pic.11 Выделение границ изображения (edge detection) – edgels](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg138.imageshack.us%2Fimg138%2F6646%2Fpic11edgels.png%22)
Pic.12 Edge detection
![Pic.12 Edge detection Pic.12 Edge detection](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg295.imageshack.us%2Fimg295%2F7656%2Fpic12edgedetection.jpg%22)
В некоторых случаях, наличие большого градиента или перепада освещения, которые принимаются в расчет в алгоритмах определения границ объектов (edge detection), еще является признаком того, что эти участки изображения принадлежат различным объектам. Например, тень здания, отброшенная на газон, может явиться причиной такого перепада, и алгоритмы определения границ объектов ошибочно могут определить наличие границы и разделить газон на 2 объекта. Тем не менее, если принять в рассмотрение больше визуальных особенностей (visual cues) изображения для выяснения того, есть ли границы между этими объектами, являются ли они соединенными, копланарными или нет, а не только градиенты, то можно получить более качественные результаты.
В этой работе был предложен подход для определения границы объектов (edge detection), с использованием обучения учитывающего освещение, цвет и текстуру участков изображения. Воспользовавшись их результатом, в «Make3D» величина
![y_ij y_ij](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg690.imageshack.us%2Fimg690%2F4141%2Fform32yij.png%22)
![Распределение для расчета достоверности Распределение для расчета достоверности](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg265.imageshack.us%2Fimg265%2F8919%2Fform33confidprob.jpg%22)
особенности (features) пары суперпикселей i и j
параметр модели (после обучения)
Pic.13 Пример сегментации одного изображения с различными параметрами
![Pic.13 Пример сегментации одного изображения с различными параметрами Pic.13 Пример сегментации одного изображения с различными параметрами](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg717.imageshack.us%2Fimg717%2F5821%2Fpic13lotssegmentation.jpg%22)
Pic.14 y — 14-мерные вектора различия суперпикселей при различных сегментациях
![Pic.14 y - 14-мерные вектора различия суперпикселей при различных сегментациях Pic.14 y - 14-мерные вектора различия суперпикселей при различных сегментациях](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg139.imageshack.us%2Fimg139%2F1276%2Fpic14segmenty14.png%22)
В полученном после сегментации 14-мерном векторе
![ϵ_ij ϵ_ij](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg241.imageshack.us%2Fimg241%2F1110%2Fform34elfij.jpg%22)
![{ϵ_ij_k} {ϵ_ij_k}](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg718.imageshack.us%2Fimg718%2F120%2Fform36eijk.png%22)
![ϵ_ij ϵ_ij](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg241.imageshack.us%2Fimg241%2F1110%2Fform34elfij.jpg%22)
![y_ij∈[0,1] y_ij∈[0,1]](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg267.imageshack.us%2Fimg267%2F6086%2Fform31ysoftbelong.png%22)
Pic.15 Параметр y (справа), указывающий наличие или отсутствие границы
![Pic.15 Параметр y (справа), указывающий наличие или отсутствие границы Pic.15 Параметр y (справа), указывающий наличие или отсутствие границы](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg441.imageshack.us%2Fimg441%2F8578%2Fpic15boundaryexplain.png%22)
MRF Input и Output
Теперь можно подвести промежуточный итог:
В модели MRF участвует 5 типов параметров. Входными являются:
- Переменные X, имеющие отношение к вычисленным особенностям (features) изображения
- Переменные θ, вычисленные эмпирическим путем (параметры обученной модели)
- Параметры υ представляет собой «уровень доверия» (confidence) к расстоянию до объекта, вычисленному опираясь только на локальные свойства участка изображения
- Параметры y указывают наличие или отсутствие четкой границы между объектами на изображении. Эти параметры используются при выявлении копланарности и соединений суперпикселей
- Параметры α, задающие расположение и ориентацию плоскостей в пространстве, на которых и располагаются полигоны в трехмерной модели
Pic.16 Модель MRF объединяет в себе все особенности изображения, для нахождения 3D
![Pic.16 Модель MRF объединяет в себе все особенности изображения, для нахождения 3D Pic.16 Модель MRF объединяет в себе все особенности изображения, для нахождения 3D](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg101.imageshack.us%2Fimg101%2F3083%2Fpic16mrfexplain.png%22)
Что будет делать MRF? Цель: min(погрешность определения расстояния)
При построении трехмерной модели сцены относительная погрешность определения расстояния является наиболее значимой. Для истинного расстояния (ground-truth depth)
![d d](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg25.imageshack.us%2Fimg25%2F3791%2Fform38d.png%22)
![d^ d^](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg25.imageshack.us%2Fimg25%2F7889%2Fform39darc.png%22)
![((d^-d))/d=d^/d-1 ((d^-d))/d=d^/d-1](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg180.imageshack.us%2Fimg180%2F4176%2Fform40darcddist.png%22)
Продолжение: тут