General

Basic workflow

Printing a calibration chart

Photographing the calibration chart

Analyzing the calibration photos

Using VRLENS files in 3ds Max

Modifying lens profile data

Test correction utility

Arbitrary image correction/distortion utility

Notes

 

Search Keywords: .vrlens, V-Ray Lens file, Lens distortion

 

 

Обзор

Инструмент анализа объектива - важнейший инструмент для создания, предварительного просмотра и редактирования файлов объектива V-Ray (*.vrlens). Он содержит анализатор искажения камеры и инструмент для корректировки/искажения изображений. Файлы VRLENS могут быть использованы в 3ds Max, Maya и т.п. для получения реалистичных (калиброванных) искажений камеры (в противовес упрощенным квадратичным или кубическим режимам). Формат VRLENS также поддерживает трансфокаторы, а параметры искажений связаны с фокусным расстоянием Физической Камеры V-Ray. Для того, что бы камера увеличивала или уменьшала, параметры искажения автоматически изменяются. Это необходимо для очень реалистичного уровня имитации искажений камеры.

Основная последовательность операций

Файлы объективов V-Ray создаются инструментом анализа объектива из набора калибровочных изображений, сфотографированных камерой, которую мы хотим измерить. Общая последовательность действий для изготовления файла VRLENS для конкретной камеры примерно такая:

 

1. Инструментом создается файл калибровочной таблицы посредством выбора Analysis → Print Test Chart.... Инструмент создает файл в формате PostScript (PS). PS - это стандартный формат для принтера, который может быть легко преобразован в формат PDF утилитой ps2pdf или через онлайновый сервис http://www.ps2pdf.com/.

 

2. Калибровочная таблица печатается на листе бумаги, который позже фотографируется анализируемой камерой.

 

3. Файлы изображений из камеры загружаются на компьютер где они обрадатываются инструментом анализа объектива: фотографии добавляются в профиль объектива (с помощью кнопки Add photos...), а затем анализируются (при нажатии Analyze...).

 

4. Профиль анализированного объектива сохраняется (посредством Profile → Save Profile) на диск. Файл .VRLENS готов для использования в 3ds Max, Maya, etc.

Печать калибровочной таблицы

Print calibration chartПосле выбора Analysis → Print Test Chart..., вы должны будете выбрать соотношение сторон кадра камеры (датчика изображения, того, что определяет кадровое окно камеры). Использование правильного соотношения повышает точность этого метода. Нажатие на кнопку View... откроет сгенерированный PS-файл в вашем просмотрщике файлов PostScript по умолчанию (под Windows вам возможно придется его установить - например, свободнораспространяемый GSview). Вы также можете выбрать Save (Сохранить) и конвертировать полученный PostScript-файл в PDF через онлайновый сервис http://www.ps2pdf.com/. Работают оба способа. Затем таблица должна быть напечатана на листе чистой белой бумаги (размер не важен; подойдет A4/Letter). Сетка линий должна быть правильной, без искривлений и дефектов (например, пропусков, царапин и других нарушений). Иллюстрация показывает пример калибровочной таблицы.

 

Calibration Grid

Фотографирование калибровочной таблицы

Напечатанная таблица должна быть помещена на плоскую поверхность (стену, демонстрационную доску) и закреплена так, что бы она была натянута без морщин и пузырей. Камера располагается пямо перед таблицей так, что бы фотография включала в себя таблицу целиком и небольшую рамку вокруг нее. Идеально, если четыре L-образных репера по углам таблицы будут соответствовать углам фотографии, но не страшно, если это не получитса - все хорошо, пока сетка вмещается целиком и расположена не совсем близко (например, в нескольких пикселях) от границ изображения. Центром изображения должна быть черна точка в середине сетки (программноное обеспечение требовательно к этому: смещение на 1.5 квадрата достаточно, что бы изображение было отвергнуто). Уделите особое внимание расположению камеры: она должна быть строго перед таблицей и сммотреть на нее строго перпендикулярно. Даже небольшое смещение будет вносить перспективные искажения, которые сильно понижают точность анализа (и, следовательно, программное обеспечение исключительно требовательно к этому). Вы также должны обратить внимание на следующие вещи:

 

 

Объективы: простые против трансфокаторов (Prime vs Zoom)

 

Прим. перев.: трансфокатор (zoom lens) - объектив с переменным фокусным расстоянием.

 

Для простых объективов (объективов с фиксированным фокусным расстоянием) вам необходима только одна фотография калибровочной таблицы (но лучше сделать несколько снимков, как описано в полезных советах ниже). Для трансфокаторов вам необходимо несколько фотографий с различным уровнем увеличения для построения полного профиля объектива (V-Ray будет интерпольровать параметры искажений при визуализации - поэтому необходимы несколько фотографий). Это значит, что вы должны перенастроить увеличение объектива и положение камеры несколько раз и сделать фотографии для каждого фокусного расстояния. Эти калибровочные фотографии должны покрывать весь диапазон объектива. Количество калибровочных фотографий, которые нужны для построения точного профиля, различно и зависит от типа объектива и ваших потребностей. Простое правило, которое может помочь найти решение: возмите кожффициент увеличения (zoom factor) объектива и используйте такое же количество (округленное до целого) фокусных расстояний для калибровки. Например, для профилирования 28-135мм объектива, который имеет коэффициент увеличения примерно 5 (135/28 ≈ 4.82 ≈ 5), вам необходимо 5 фотографий, распределенных равномерно в диапазоне 28-135. У более широкоугольных объективов искажения обычно более заметны у широкого конца диапазона увеличения (и параметры там меняются быстрее), поэтому надо сделать более частые фотографии у широкого конца. Например, для объектива 18-55мм, фокусные расстояния для калибровки могут быть 18мм, 24мм, 30мм, 40мм, 55мм.

 

Как показали наши испытания в Chaos Software, создание профилей объективов - трудоемкий процесс. Поэтому мы даем несколько полезных советов:

Анализ калибровочных фотографий

Фотографии из камеры переносятся на компьютер и обрабатываются нашим инструментом анализа объектива. Первое, вы должны нажать кнопку Add Photos... и импортировать калибровочные фотографии. (Для трансфокатора программа может запросить фокусное расстояние для фотографий, если его невозможно получить из метаданных изображения. В этом случае вам необходимо представить корректное значение фокусного расстояния для каждой фотографии, т.к. в противном случае профиль будет не полный.) Затем нажмите на кнопку Analyze.... После того, как изображения обработаны, программа покажет статистическую информацию по каждому файлу: был анализ успешным или нет, сообщение об ошибке в случае неудачи и рейтинг качества (типа “perfect” (идеально), “very good” (очень хорошо) и т.п.) на основании следующих критериев производительности:

 

 

Если программа отвергает фотографию по причине, отличной от вышеперечисленных критериев, может быть полезно включить предварительный просмотр на этапе детектирования Analysis → Show Detection Details и повторить анализ. Предварительный просмотр может дать вам подсказку почему детектор находит изображение сложным. После завершения фазы анализа, таблица описания профиля заполнена вычисленными параметрами искажения для всех успешно проанализированных фотографий.

 

Замечание: если вы следовали совету брать несколько дополнительных фотографий для каждого фокусного расстояния, вы теперь можете либо вручную подчистить профиль удалив худшие (по оценке анализатора) фотографии, либо использовать инструмент автоматического слияния, доступного через Analysis → Consolidate Profile. “Консолидация профиля” не только удаляет избыточные фотографии, но и усредняет параметры любых калибровочных фотографий с одинаковым фокусным расстоянием; поэтому это теоретически оптимально. В любом случае, окончательный профиль должен иметь только один набор параметров для каждого фокусного расстояния. Таблица содержит следующие поля:

 

 

Замечание: Первым определяется параметр K1. Все остальные параметры будут близки к своему значению по умолчанию (“без искажений”), но так как сфотографированная сетка не может быть проанализирована с абсолютной точностью, в значениях параметров обнаруживается некий “шум”. Более тго, когда и K1 и K2 близки к нулю, остальные параметры теряют свою значимость и могут колебаться в широких пределах. Короче, не обращайте большого внимания, если параметры не вполне совпадают с ожидаемыми значениями - это не означает, что у ваших объективов имеются недостатки.

Использование профилей VRLENS в 3ds Max

После того, как вы сделали приемлемые фотографии для калибровки для каждого фокусного расстояния и закончили анализ, вам необходимо сохранить профиль в файл (Profile → Save Profile). Для этих файлов мы используем расширение .vrlens. Обратите внимание, что оно отличается от расширения .lens, которое мы также поддерживаем в 3ds Max.

 

При сохранении профиля программа анализа объектива может выдать предупреждение, если текущие данные не подходят для производственного использования: или при отсутствии данных о фокусном расстоянии, или при наличии нескольких калибровочных фотографий для одного фокусного расстояния, или если какие-то изображения не проанализированы. Вы можете исправить эти проблемы до создания рабочего файла .VRLENS.

 

Файлы VRLENS маленькие и простые. Они не зависят от других файлов или ресурсов. Использование их для распределенной визуализации должно быть простым.

 

Для того, что бы применить VRLENS-файл в 3ds Max для имитации искажений измеренной камеры (объектива), вам необходимо использовать V-Ray Physical Camera. В настройках камеры перейдите в свиток “Distortion”, выберите тип искажений “Lens file” а затем нажмите на кнопку “Lens file” для выбора нужного файла.

Изменение данных профиля объектива

В программе анализа объектива:

Инструмент Test correction

Вы можете видеть пример того, как будет выглядеть “неискаженное” изображение посредством выбора одного из калибровочных изображений (просто щелкнув на его имени) и выбрав пункт меню Correction → Test correction. Эта команда будет корректировать калибровочное изображение, используя вычисленные параметры искажения. Вы можете переключаться между откорректированным и оригинальным файлом для сравнения.

Утилита корректировки/искажения произвольных изображений

Вы можете корректировать или искажать массив произвольных изображений, используя команду Correction → Correct/Distort images..... Таким образом, “идеальное” изображение (например, после визуализации без какого-то либо искажения) может быть искажено в соответствии с характеристиками измеренной камеры, или последовательность изображений, снятых реальной камерой, может быть откорректирована так, что бы соответствовать качеству теоретической “идеальной” камеры.

 

Эта утилита использует полный профиль объектива, поэтому для трансфокаторов она вычисляет необходимые параметры искажения для каждого изображения примерно таким же способом, как это делает физическая камера V-Ray при визуализации. Вследствие этого, вам необходимо фокусное расстояние для каждого изображения, которое должно быть откорректировано или искажено; в противном случае параметры не могут быть корректно интерполированы. Утилита будет пытаться взять фокусное расстояние из метаданных EXIF. Если это невозможно, утилита представит вам несколько вариантов (см. далее).

 

Обзор

 

Здесь вы выбираете изображения для обработки. Используйте кнопку Add file... для добавления одиночного файла, или кнопку Add directory... для каталога целиком, возможно включающего в себя целую иерархию каталогов. Пожалуйста обратите внимание, что структура входных каталогов не будет сохранена в выходном каталоге. Строка output directory показывает где будут сохраняться обработанные файлы. Здесь же вы можете выбрать направление обработки (параметр Direction). Когда все настроено, нажмите кнопку Process.

 

Опции

 

Здесь вы можете настроить различные параметры, относящиеся к обработке:

 

Resampling quality - Качество обработки - вы можете выбрать функцию обработки изображения, выбирая компромисс между качеством и скоростью. Возможные значения: Nearest neighbour, Bilinear или Area. Bilinear - быстрая и подходит для большинства случаев. Поэтому она выбрана по умолчанию.

 

Use alternative resampling algorithm (slower) - Использовать альтернативный алгоритм обработки (медленнее) - опция имеет значение только когда выбраны функции Nearest neighbour или Bilinear, и направление обработки Undistort. Из-за математики, используемой в формулах искажения/коррекции, гораздо быстрее преобразовать изображение в направлении “distort (искажения)”. Однако направление “undistort (коррекция)” может оставаться достижимым с использованием той же внутренней машины, но с инвертированием функции преобразования изображения. Этот подход использует немного больше памяти и в некоторых крайних случаях может вносить в изображение артефакты. Эта опция почти всегда должна быть выключена. Если качество изображения неприемлемо, вы можете попробовать включить эту опцию и посмотреть не улучшилось ли качество.

 

Use XXX threads for processing - Использовать для обработки XXX потоков - обработка изображений по своей природе многопоточна и будет использовать всю доступную мощность системы. Здесь вы можете настроить количество рабочих потоков. Замечание: количество памяти, требуемое для обработки пропорционально количеству потоков. С большим количеством потоков при обработке больших изображений ваша система может израсходовать всю доступную память и в результате некоторые изображения не будут обработаны. Эту ситуацию можно смягчить, уменьшив количество потоков.

 

Low thread priority - Низкий приоритет потока - для рабочего потока использовать приоритет ниже нормального (below-normal), отдавая больше процессорного времени другим запущенным задачам.

 

Output file format - Формат выходного файла - выбор формата для выходного файла. По умолчанию используется тот же формат, что и у входного файла.

 

EXR settings, PNG settings, JPEG settings, TIFF settings - Настройки EXR, Настройки PNG, Настройки JPEG, Настройки TIFF - управляют различными параметрами, используемыми при записи соответствующего типа изображения.

 

Коррекция/искажение с использованием профиля простого объектива

 

С профилем простого объектива все изображения будут обработаны с одинаковым набором параметров искажения. Поэтому здесь никаких сложностей быть не должно.

 

Профиль трансфокатора, но с параметрами искажения, вычисленными по одной калибровочной фотографии

 

Если у вас есть несколько строк в таблице (например, профиль трансфокатора), щелкните строку, которуювы хотите использовать для коррекции/искажения. Тогда на вкладке “Options” утилиты корректировки/искажения появятся зависимые параметры: Use selected profile settings и Use entire profile. Если вы выберете первый, то ваше изображение будет обработано только с использованием указанных параметров. Во всем остальном эта ситуация идентична сценарию с простым объективом и сложностей быть не должно.

 

Полный профиль трансфокатора

 

Это наиболее сложная ситуация, когда вы имеете полный профиль трансфокатора, имеющий различные параметры искажения для различных фокусных расстояний, и вы хотите обрабатывать массив изображений, в котором каждое изображение также имеет свое фокусное расстояние. Поэтому, перед началом действительной обработки изображений, утилита будет сначала пытаться прочитать метаданные EXIF из всех входных изображений. Если некоторые из изображений не имеют EXIF, или информация о фокусном расстофнии там отсутствует, утилита попросит вас выбрать один из вариантов действия:

 

 

"Image_0001.exr" 35.6

"Image_0002.exr" 36.2

"Image_0003.exr" 38.0

 

…то есть

 

"«имя файла»" «фокусное расстояние»

 

по одному файлу на строку.

 

Ограничения утилиты коррекции/искажения:

 

Замечания


Хостинг от uCoz