3d форум по Blender

Другое => Другие программы кроме Blender => Тема начата: Samovar от 10 Март 2019, 13:28:40

Название: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Samovar от 10 Март 2019, 13:28:40
fSpy
Программа для совмещения 3D камеры и статичного фото (Camera matching) с открытым исходным кодом

ОС: Win, Lin, Mac
Сайт: https://fspy.io

Импорт в  Blender
Для пользователей Blender существует официальное дополнение - fSpy importer , которое устанавливает параметры камеры Blender а так же дополнительно устанавливает фоновое изображение камеры.

Для начала

Импорт в другие приложения

Настройка параметров камеры в приложениях без специального импортера возможна, и включает копирование значений параметров камеры из fSpy по одному, а затем вставку их в целевое приложение.

Вот краткое описание процесса:
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Samovar от 10 Март 2019, 14:42:28
Основы

Совмещение с камерой (Camera matching)
Совмещение с камерой или калибровка камеры - это процесс получения параметров камеры по определенным элементам изображения. fSpy вычисляет приблизительное фокусное расстояние, ориентацию и положение камеры в 3D пространстве на основе пользовательских контрольных точек в неподвижных изображениях. Вычисленные параметры камеры можно использовать в других приложениях, например в инструментах 3D-моделирования.

Точки схода (Vanishing points)
Точка схода - это точка на перспективном изображении, в которой сходятся все параллельные в трёхмерном пространстве линии. Например, железнодорожные пути на изображении ниже параллельны в реальном мире, но пересекаются в одной точке схода на изображении.

(http://fspy.io.s3-website.eu-central-1.amazonaws.com/assets/vp.jpg)
Железнодорожные пути пересекаются в точке схода


fSpy использует положение точек схода для получения параметров камеры. Точка схода задается с помощью двух отрезков линий, выровненных с объектами на изображении, которые соответствуют параллельным линиям в реальном трехмерном пространстве. На рисунке ниже показаны два таких отрезка и соответствующая им точка схода, обозначенная как пересечение двух более тонких линий.

(http://fspy.io.s3-website.eu-central-1.amazonaws.com/assets/vp2.jpg)
Указание положения точки схода с помощью двух отрезков


Когда отрезки линий почти параллельны, то положение точки схода не может быть вычислено достаточно точно. Чем больше угол между отрезками, тем лучше.

(http://fspy.io.s3-website.eu-central-1.amazonaws.com/assets/vppositions.png)
Больший угол между отрезками линий означает более точный расчет точки схода


Перпендикулярные направления
Предполагается, что точки схода в fSpy соответствуют перпендикулярным направлениям в трехмерном пространстве, то есть направлениям под прямыми углом.

(http://fspy.io.s3-website.eu-central-1.amazonaws.com/assets/vpgoodbad.png)
Точки схода для перпендикулярных направлений (слева) и неперпендикулярных направлений (справа)


Ограничения
fSpy работает только с перспективными изображениями полученными в результате процесса похожего на работу какой-либо камеры-обскуры (пин-хол камеры). Подходящие изображения включают:
Следующие типы изображений не будут хорошо работать в fSpy:
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Юрий Пет от 10 Март 2019, 19:45:33
Русский язык там есть?
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Samovar от 10 Март 2019, 20:42:28
Прога новая. Пока, видимо нет. Первый релиз был в ноябре 2018 года, а последний - 2 января 2019.  Какие-то *.pak разных языков лежат в папке locales... Переключить на русский язык у меня не вышло... да и нет там таких кнопок и менюшек пока... Думаю, умельцы сами могут локализовать исходники, при желании, но мало народу пока знает о проге, а прога полезнейшая...
И использовать её очень просто.Там всё интуитивно понятно тем, кто хоть раз занимался совмещением камеры с фото в 3D. Проще чем BLAM и т.п., автор тот же...
Вот видео процесса на английском
Spy - Match the Correct Scale in Blender 2.8 (Blam Alternative)
https://youtu.be/H3ZTweNN9WY

Всё работает и в Blender 2.79
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Анастасия111 от 05 Апрель 2019, 21:12:49
Я что-то не соображаю, как перенести значения камеры в blender вручную? К сожалению, аддон у меня почему-то не устанавливается. Я попыталась сделать так: в программе добавила плоскость, затем - куб, сделала скриншоты, добавила их как фоновые изображения блендера. Так пыталась подгонять параметры камеры, но вижу, что это бездарная трата времени.

Предположим, вид из камеры я настроила в соответствии с размером изображения. А что такое поля зрения камеры? Ведь предыдущие параметры задают высоту и длину вида камеры, а  угол обзора задается единственным параметром Field of view. В fSpy этих параметра два: горизонталь и вертикаль. Еще и в двух вариантах: "Degress" и "Radius". Однако, они не похожи на параметры блендера - фокусное расстояние и угол обзора камеры.

Положение и ориентация камеры - это понятно. Что касается точки схода, то я поняла, что это параметры shift блендера. Только что за величины указываются в программе fSpy и как их вводить в блендер?
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Samovar от 27 Апрель 2019, 01:09:55
Увы, я всей документации пока не перевёл, Анастасия111... ожидай перевода урока (либо сама переведи и разберись, если тебе это нужно и интересно)... и вполне вероятны неточности в терминах... я брал за основу русскую локализацию Блендер, но там неверно переведено... и ещё учти то, что технические переводы очень сложно переводить (особенно когда не шаришь в английском, а используешь кучу разных онлайн переводчиков, как я), надо постоянно проверять функционал проги, чтобы быть достаточно точным в изложении её работы на русском языке... потому, часто ошибки могут быть...
Для общего развития, если столкнёшься с архитектурной или интерьерной визуализацией, просвещайся тут, о том, как делать их правильно: тема 2004 года на 3dcenter.ru
Aрхитектурная подача и архитектурная композиция.., Тутор!!! Надеюсь вам будет интересно...
http://3dcenter.ru/forum/index.php?showtopic=15872&st=30
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Анастасия111 от 27 Апрель 2019, 16:44:59
Хорошо, зато будет попракюктиковаться в английском. Я же его, как бы, учу. "как бы" потому что времени нет. И я занимаюсь с катастрофически нерегулярностью. А туторал мне нужен, так как самостоятельная настройка камеры, если делать по фото, занимает ОЧЕНЬ много времени. Наверное, у опытных пользователей это происходит быстро. Но, пока что, не у меня.
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Samovar от 27 Апрель 2019, 17:24:23
Цитировать
Предположим, вид из камеры я настроила в соответствии с размером изображения. А что такое поля зрения камеры? Ведь предыдущие параметры задают высоту и длину вида камеры, а  угол обзора задается единственным параметром Field of view. В fSpy этих параметра два: горизонталь и вертикаль. Еще и в двух вариантах: "Degress" и "Radius". Однако, они не похожи на параметры блендера - фокусное расстояние и угол обзора камеры.
Перечитал твой вопрос более внимательно... да действительно термин "поле зрения" https://ru.wikipedia.org/wiki/Поле_зрения_объектива не вполне точен в русской локализации Блендера, должен быть киношный термин "угловое поле объектива" https://ru.wikipedia.org/wiki/Угловое_поле_объектива
Тебе и не нужны все параметры из правой колонки fSpy, в Блендере можно ввести или угловое поле или фокусное расстояние камеры.
Тебе нужны все зелёные
Желтый или оранжевый: Field of View (высоту или ширину, вероятно, в зависимости какая сторона прямоугольника у тебя длиннее, то есть от формата кадра) или фокусное расстояние.
С красными: тебе придётся переводить из системы координат  fSpy (0,0 в верхнем левом углу изображения)  в систему координат Блендера (0,0 по центру изображения).
То есть в fSpy высота и ширина изображения от 0 до 1, а в Блендере от -0,5 до 0,5
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Samovar от 27 Апрель 2019, 17:26:49
Странно, что у тебя дополнение не установилось попробуй ещё раз: https://github.com/stuffmatic/fSpy-Blender
Действуй в соответствии с инструкцией и заодно попрактикуйся в английском:

Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Анастасия111 от 27 Апрель 2019, 19:45:08
Разобралась с аддоном! Я не тот архив просто скачивала. Работает! Ура!
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Samovar от 27 Апрель 2019, 21:09:57
Ну вот и замечательно! Я рад за тебя!
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Анастасия111 от 27 Апрель 2019, 21:19:30
Спасибо! :)
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Samovar от 29 Апрель 2019, 19:33:21
Упражнения
Эти упражнения основаны на проекте примера, включенного в приложение. Прежде чем продолжить, убедитесь, что вы ознакомились с основами и поняли их.

Точки схода и начало координат
Откройте пример проекта, выбрав Open example project (Открыть пример проекта) в меню File (Файл). Главное окно состоит из трех разделов: настройки слева, панель изображений посередине и результат калибровки справа. Первое, что вы должны увидеть при открытии примера проекта, это изображение:

(http://fspy.io.s3-website.eu-central-1.amazonaws.com/assets/initial_state.jpg)
Загруженный проект для упражнений

Углы четырехугольника были выровнены с углами прямоугольника реального мира. Ребра нумеруются 1 или 2, в зависимости от того, какой точке схода они соответствуют. Положение каждой точки схода обозначено более тонкими красными и синими линиями. Четыре контрольных точки четырёхугольника определяют точки схода для двух перпендикулярных направлений, что достаточно для определения фокусного расстояния и ориентации камеры. Белая контрольная точка с прикрепленными к ней осями координат представляет трехмерное начало координат и влияет на положение камеры. Это самая простая настройка калибровки камеры, использующая только пять контрольных точек.

Попробуйте перетащить любую из контрольных точек и посмотрите, как параметры камеры мгновенно обновляются на панели справа. Для повышения точности удерживайте нажатой клавишу Shift при перетаскивании.

Калибровка с помощью четырёхугольника проста в использовании, но не всегда практична. Чтобы перемещать контрольные точки для каждой точки схода независимо, отключите опцию Rectangle mode (Режим четырёхугольника) на панели настроек слева.

(http://fspy.io.s3-website.eu-central-1.amazonaws.com/assets/rectangle_mode_off.jpg)
Независимое перемещение элементов управления точками схода
с отключённым режимом четырёхугольника
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Samovar от 30 Апрель 2019, 21:04:24
3D guide (3D-направляющие)
Чтобы проверить точность калибровки, вы можете перетащить трехмерное начало координат, и увидеть, что его оси совпадают с линиями на изображении. Меню 3D guide (3D-направляющих) предлагает некоторые дополнительные виды визуальной помощи.

(http://fspy.io.s3-website.eu-central-1.amazonaws.com/assets/box_guide.jpg)
3D-направляющие в виде кубической коробки
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Samovar от 30 Апрель 2019, 21:05:13
Направления точек схода
Координатные оси X, Y и Z выполнены в цветовой кодировке: красным, зеленым и синим, соответственно. Каждый элемент управления точкой схода определяет точку схода в направлении оси, заданной ее цветом. Чтобы назначить ось точке схода, используйте меню в разделе Vanishing point axes  (Оси точек схода) на панели настроек слева. Назначение осей точек схода полезно, например, при использовании параметров камеры во внешних приложениях,  для которых ось Y (или иная) соответствует направлению вверх.
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Samovar от 01 Май 2019, 14:25:00
Определение расстояния на базе исходного изображения (Reference distance)

Учитывая две точки схода и положение начала трёхмерных координат, можно рассчитать как ориентацию, так и положение камеры. По умолчанию расстояние от камеры до начала 3D-координат установлено на разумное фиксированное значение. Однако, fSpy может и более точно рассчитать это расстояние на основе указания одного из размеров изображенного объекта вдоль одной из осей координат.

Прежде чем продолжить, откройте повторно проект примера, чтобы сбросить все внесенные изменения. Оси для точек схода 1 и 2 теперь должны быть установлены на -X и -Z, соответственно. Допустим, размер облицовочной плитки известен и составляет в длину 20 см. Посмотрим на оси координат. Расстояние которое мы хотим измерить находится вдоль оси X. Значит в параметрах Reference distance выбрать ось X и ввести расстояние. Обратите внимание на то, что расстояние было установлено величиной 0.2 метра (ширина облицовочной плитки стены), и что на изображении появился новый элемент управления.

(http://fspy.io.s3-website.eu-central-1.amazonaws.com/assets/reference_distance.jpg)
Определение расстояния на базе исходного изображения

Пунктирная линия от начала координат в направлении оси X указывает, что расстояние на изображении измеряется вдоль этой оси. Короткие отрезки на концах красной линии представляют собой маркеры расстояния и могут быть перемещены для его указания. В примере они  расположены таким образом, что расстояние равно ширине облицовочной плитки стены.
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Samovar от 01 Май 2019, 14:52:22
Главная (или центральная) точка схода (Principal point)

Представьте себе луч, проходящий прямо через середину объектива камеры. Точка, где этот луч попадает на сенсор (светочувствительную матрицу или пленку), является главной точкой схода. Эта точка обычно совпадает со средней точкой изображения. В некоторых случаях, например, если изображение было асимметрично обрезано, главная точка схода может находится где-то еще, а не в центре изображения. Если позиция главной точки схода известна, выберите режим Manual (Ручной) в меню Principal point и перетащите оранжевую контрольную точку в положение главной точки схода.

(http://fspy.io.s3-website.eu-central-1.amazonaws.com/assets/pp_manual.jpg)
Указанная вручную главная точка схода (оранжевая контрольная точка)

Если позиция неизвестна (и вы не находитесь в режиме одной точки схода), она может быть вычислена с учетом точки схода в третьем перпендикулярном направлении. Для указания третьей точки схода в меню главной точки схода (Principal point) выберете элемент управления третьей точкой схода (From 3rd vanishing point). После указания третьей точки схода, вычисленная главная точка схода отображается в виде оранжевого кружка. Если вы сильно не перемещали контрольные точки, то вычисленная главная точка схода должна находится близко к центральной точке изображения.

(http://fspy.io.s3-website.eu-central-1.amazonaws.com/assets/pp_auto.jpg)
Главная точка схода, вычисленная на базе третьей точки схода (оранжевый кружок)
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Samovar от 01 Май 2019, 15:38:56
Использование изображений с одной точкой схода

(http://fspy.io.s3-website.eu-central-1.amazonaws.com/assets/1vp.jpg)
Калибровка камеры на основе одной точки схода

До сих пор в этих упражнениях калибровка камеры проводилась на основе нескольких точек схода, минимум для двух перпендикулярных направлений. Но что, если по изображению можно определить только одну точку схода? Тогда мы все еще можем вычислить параметры камеры, учитывая некоторую дополнительную информацию. Чтобы увидеть, как это работает, выберите 1 из меню  Number of vanishing points (Число точек схода) в верхней части панели настроек слева. Обратите внимание, что второй элемент управления точкой схода изменится на изображении, а так же и на панели слева отобразятся некоторые новые настройки.

Когда есть только одна точка схода, fSpy полагается на известные пользователю данные об изображении:
1. Фокусное расстояние камеры
2. Направление между первой и второй точками схода

Фокусное расстояние камеры указывается в разделе Camera data (Данные камеры) на панели настроек слева. Снимок изображения в этом примере был сделан Canon 60D с  фокусным расстоянием (Focal length) объектива 24-мм.

В режиме с одной точкой схода управление для второй точки схода представляет собой один отрезок. Этот отрезок определяет направление между первой и второй точками схода или вращение вокруг оси первой точки схода.
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Samovar от 01 Май 2019, 15:43:14
Проверка полученного результата

Панель справа показывает различные вычисленные параметры камеры. Если вы снова откроете пример проекта, то увидите, что фокусное расстояние было оценено в 26 мм, что довольно близко к фактическому значению 24 мм. Возможные причины ошибок - это искажения вносимые линзой и то, что, казалось бы, прямые углы не соответствуют в реальности точно 90 градусам.
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Samovar от 01 Май 2019, 16:05:21
На этом всё.
Пишите пожалуйста свои вопросы и предложения по переводу. Стопудово там кривая пунктуация и странные речевые обороты. После внесённых вами правок, поправлю и выложу финальный вариант в виде файлов ODT и PDF.
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Striver от 01 Июнь 2019, 15:50:31
Цитировать
Re: CopperCube
« Ответ #135 : 31 Май 2019, 15:56:24 »
Если не сложно, проверь этот перевод, пожалуйста.
вот оно всегда в жизни так... помоги кому-нибудь в чём-нибудь разок, и это навсегда станет твоей тяжёлой обязательной неоплачиваемой работой...

Импорт в  Blender
Цитировать
Для пользователей Blender существует официальное дополнение - fSpy importer , которое устанавливает параметры камеры Blender а так же дополнительно устанавливает фоновое изображение камеры.
Для пользователей Blender существует официальное дополнение - fSpy importer , которое устанавливает параметры камеры Blender, а так же дополнительно устанавливает фоновое изображение камеры.


Перпендикулярные направления
Цитировать
Предполагается, что точки схода в fSpy соответствуют перпендикулярным направлениям в трехмерном пространстве, то есть направлениям под прямыми углом.
Предполагается, что точки схода в fSpy соответствуют перпендикулярным направлениям в трехмерном пространстве, то есть направлениям под взаимно прямыми углами.


Ограничения
Цитировать
fSpy работает только с перспективными изображениями полученными в результате процесса похожего на работу какой-либо камеры-обскуры (пин-хол камеры).
fSpy работает только с перспективными изображениями, полученными в результате процесса, похожего на работу какой-либо камеры-обскуры (пин-хол камеры).

Цитировать
фотографии, сделанные с помощью обычных (ближних) объективов  без искажений
фотографии, сделанные с помощью обычных (почти) не-искажающих объективов
или ваще тупо дословно:
фотографии, сделанные с помощью обычных (почти) свободных от искажений объективов

Цитировать
3D изображения полученные с помощью орфографической камеры
3D изображения, полученные с помощью орфографической камеры
Название: Определение расстояния на базе исходного изображения (Reference distance)
Отправлено: Striver от 01 Июнь 2019, 16:04:09
Определение расстояния на базе исходного изображения (Reference distance)
Цитировать
Расстояние которое мы хотим измерить находится вдоль оси X.
Расстояние, которое мы хотим измерить, направлено вдоль оси X.

Цитировать
Значит в параметрах Reference distance выбрать ось X и ввести расстояние.
Значит, в параметрах Reference distance выберите ось X и введите расстояние.

Цитировать
Короткие отрезки на концах красной линии представляют собой маркеры расстояния и могут быть перемещены для его указания.
Короткие отрезки на концах красной линии представляют собой маркеры расстояния, и их можно перемещать для регулировки.
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Striver от 01 Июнь 2019, 21:17:24
Главная (или центральная) точка схода (Principal point)
Цитировать
Для указания третьей точки схода в меню главной точки схода (Principal point) выберете элемент управления третьей точкой схода (From 3rd vanishing point).
Чтобы указать третью точку схода, в меню главной точки схода (Principal point) выберите элемент управления третьей точкой схода (From 3rd vanishing point).

Цитировать
Если вы сильно не перемещали контрольные точки, то вычисленная главная точка схода должна находится близко к центральной точке изображения.
Если вы сильно не перемещали контрольные точки, то вычисленная главная точка схода должна находиться близко к центральной точке изображения.


Использование изображений с одной точкой схода
Цитировать
Обратите внимание, что второй элемент управления точкой схода изменится на изображении, а так же и на панели слева отобразятся некоторые новые настройки.
Обратите внимание, что второй элемент управления точкой схода изменится на изображении, а на панели слева отобразятся некоторые новые настройки.


Проверка полученного результата
Возможные причины ошибок - это искажения вносимые линзой и то, что, казалось бы, прямые углы не соответствуют в реальности точно 90 градусам.
Возможные причины ошибок - это искажения, вносимые линзой, и тот факт, что, казалось бы, прямые углы на самом деле могут не соответствовать в точности 90 градусам.
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Samovar от 02 Июнь 2019, 19:32:20
Огромнейшее Спасибо, Striver!
Цитировать
Цитировать
Re: CopperCube
« Ответ #135 : 31 Май 2019, 15:56:24 »
Если не сложно, проверь этот перевод, пожалуйста.
вот оно всегда в жизни так... помоги кому-нибудь в чём-нибудь разок, и это навсегда станет твоей тяжёлой обязательной неоплачиваемой работой...


Если бы я этим зарабатывал, то обязательно бы поделился. В благодарность упомяну тебя, как автора перевода. Поправлю всё и выложу чуть позже.
Название: Re: fSpy (Программа для совмещения 3D камеры и фото)
Отправлено: Samovar от 03 Июнь 2019, 08:07:15
В формате PDF: https://yadi.sk/i/pqlLPBNs16uMFQ
В формате ODT: https://yadi.sk/i/klB0dWep6I2ViA