Автор Тема: fSpy (Программа для совмещения 3D камеры и фото)  (Прочитано 669 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Samovar

  • Житель
fSpy
Программа для совмещения 3D камеры и статичного фото (Camera matching) с открытым исходным кодом

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

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

Для начала
  • Скачайте последнюю версию
  • Установите дополнение
  • Перейдите  File (Файл) > Import (Импортировать) > fSpy ,и выберете файл проекта, который вы хотите импортировать

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

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

Вот краткое описание процесса:
  • Установите вид из камеры в соответствии с размерами изображения (Image)
  • Используйте изображение в качестве фона вида из камеры
  • Установите поле зрения камеры (Field of view)
  • Установите положение камеры (Camera position)
  • Установите ориентацию камеры (Camera orientation)
  • Установите положение точки схода (Principal point), если она не совпадает с серединой изображения
« Последнее редактирование: 10 Март 2019, 13:17:24 от Samovar »
Жестокая, горькая правда, всегда против сладкой лжи.

Оффлайн Samovar

  • Житель
Основы

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

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


Железнодорожные пути пересекаются в точке схода


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


Указание положения точки схода с помощью двух отрезков


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


Больший угол между отрезками линий означает более точный расчет точки схода


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


Точки схода для перпендикулярных направлений (слева) и неперпендикулярных направлений (справа)


Ограничения
fSpy работает только с перспективными изображениями полученными в результате процесса похожего на работу какой-либо камеры-обскуры (пин-хол камеры). Подходящие изображения включают:
  • фотографии, сделанные с помощью обычных (ближних) объективов  без искажений
  • 3D изображения, визуализированные с помощью перспективной камеры
Следующие типы изображений не будут хорошо работать в fSpy:
  • фотографии, снятые с помощью объективов с сильными искажениями, то есть объективы типа «Рыбий глаз»
  • изображения, на которых была отредактирована перспектива, например, с помощью коррекции перспективы
  • 3D изображения полученные с помощью орфографической камеры
  • сшитые панорамные изображения
Жестокая, горькая правда, всегда против сладкой лжи.

Оффлайн Юрий Пет

  • Администратор
  • Житель
Русский язык там есть?
Поиск по сайту, это круто

Оффлайн Samovar

  • Житель
Прога новая. Пока, видимо нет. Первый релиз был в ноябре 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
« Последнее редактирование: 10 Март 2019, 20:03:57 от Samovar »
Жестокая, горькая правда, всегда против сладкой лжи.

Я что-то не соображаю, как перенести значения камеры в blender вручную? К сожалению, аддон у меня почему-то не устанавливается. Я попыталась сделать так: в программе добавила плоскость, затем - куб, сделала скриншоты, добавила их как фоновые изображения блендера. Так пыталась подгонять параметры камеры, но вижу, что это бездарная трата времени.

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

Положение и ориентация камеры - это понятно. Что касается точки схода, то я поняла, что это параметры shift блендера. Только что за величины указываются в программе fSpy и как их вводить в блендер?
Галерея моих работ: https://render.ru/ru/artist/205820/portfolio

Оффлайн Samovar

  • Житель
Увы, я всей документации пока не перевёл, Анастасия111... ожидай перевода урока (либо сама переведи и разберись, если тебе это нужно и интересно)... и вполне вероятны неточности в терминах... я брал за основу русскую локализацию Блендер, но там неверно переведено... и ещё учти то, что технические переводы очень сложно переводить (особенно когда не шаришь в английском, а используешь кучу разных онлайн переводчиков, как я), надо постоянно проверять функционал проги, чтобы быть достаточно точным в изложении её работы на русском языке... потому, часто ошибки могут быть...
Для общего развития, если столкнёшься с архитектурной или интерьерной визуализацией, просвещайся тут, о том, как делать их правильно: тема 2004 года на 3dcenter.ru
Aрхитектурная подача и архитектурная композиция.., Тутор!!! Надеюсь вам будет интересно...
http://3dcenter.ru/forum/index.php?showtopic=15872&st=30
Жестокая, горькая правда, всегда против сладкой лжи.

Хорошо, зато будет попракюктиковаться в английском. Я же его, как бы, учу. "как бы" потому что времени нет. И я занимаюсь с катастрофически нерегулярностью. А туторал мне нужен, так как самостоятельная настройка камеры, если делать по фото, занимает ОЧЕНЬ много времени. Наверное, у опытных пользователей это происходит быстро. Но, пока что, не у меня.
Галерея моих работ: https://render.ru/ru/artist/205820/portfolio

Оффлайн Samovar

  • Житель
Цитировать
Предположим, вид из камеры я настроила в соответствии с размером изображения. А что такое поля зрения камеры? Ведь предыдущие параметры задают высоту и длину вида камеры, а  угол обзора задается единственным параметром 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
« Последнее редактирование: 27 Апрель 2019, 16:48:59 от Samovar »
Жестокая, горькая правда, всегда против сладкой лжи.

Оффлайн Samovar

  • Житель
Странно, что у тебя дополнение не установилось попробуй ещё раз: https://github.com/stuffmatic/fSpy-Blender
Действуй в соответствии с инструкцией и заодно попрактикуйся в английском:

  • Download the latest version. Make sure you download the file called fSpy-Blender-x.y.z.zip.
  • Install the add-on by pointing Blender to the downloaded zip file (don't unzip the file before installing)
  • Go to File > Import > fSpy (импорт в Блендер проекта сохранённого с помощью fSpy с расширением файла *.fspy)
« Последнее редактирование: 27 Апрель 2019, 16:44:41 от Samovar »
Жестокая, горькая правда, всегда против сладкой лжи.

Разобралась с аддоном! Я не тот архив просто скачивала. Работает! Ура!
Галерея моих работ: https://render.ru/ru/artist/205820/portfolio

Оффлайн Samovar

  • Житель
Ну вот и замечательно! Я рад за тебя!
Жестокая, горькая правда, всегда против сладкой лжи.

Спасибо! :)
Галерея моих работ: https://render.ru/ru/artist/205820/portfolio

Оффлайн Samovar

  • Житель
Упражнения
Эти упражнения основаны на проекте примера, включенного в приложение. Прежде чем продолжить, убедитесь, что вы ознакомились с основами и поняли их.

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


Загруженный проект для упражнений

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

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

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


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

Оффлайн Samovar

  • Житель
3D guide (3D-направляющие)
Чтобы проверить точность калибровки, вы можете перетащить трехмерное начало координат, и увидеть, что его оси совпадают с линиями на изображении. Меню 3D guide (3D-направляющих) предлагает некоторые дополнительные виды визуальной помощи.


3D-направляющие в виде кубической коробки
Жестокая, горькая правда, всегда против сладкой лжи.

Оффлайн Samovar

  • Житель
Направления точек схода
Координатные оси X, Y и Z выполнены в цветовой кодировке: красным, зеленым и синим, соответственно. Каждый элемент управления точкой схода определяет точку схода в направлении оси, заданной ее цветом. Чтобы назначить ось точке схода, используйте меню в разделе Vanishing point axes  (Оси точек схода) на панели настроек слева. Назначение осей точек схода полезно, например, при использовании параметров камеры во внешних приложениях,  для которых ось Y (или иная) соответствует направлению вверх.
Жестокая, горькая правда, всегда против сладкой лжи.

 


* По форуму

* Последние вложения


Скачано: 14
Автор: LanuHum
Screenshot_2.png
Скачано: 18
Автор: oleg126

Скачано: 18
Автор: Striver
2.gif
Скачано: 35
Автор: Анастасия111
screw.jpg
Скачано: 24
Автор: LanuHum