Инструмент анализа объектива |
Photographing the calibration chart
Analyzing the calibration photos
Arbitrary image correction/distortion utility
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. Файлы изображений из камеры загружаются на компьютер где они обрадатываются инструментом анализа объектива: фотографии добавляются в профиль объектива (с помощью кнопки Analyze...).
), а затем анализируются (при нажатии
4. Профиль анализированного объектива сохраняется (посредством Profile → Save Profile) на диск. Файл .VRLENS готов для использования в 3ds Max, Maya, etc.
После выбора Analysis → Print Test Chart..., вы должны будете выбрать соотношение сторон кадра камеры (датчика изображения, того, что определяет кадровое окно камеры). Использование правильного соотношения повышает точность этого метода. Нажатие на кнопку откроет сгенерированный PS-файл в вашем просмотрщике файлов PostScript по умолчанию (под Windows вам возможно придется его установить - например, свободнораспространяемый GSview). Вы также можете выбрать и конвертировать полученный PostScript-файл в PDF через онлайновый сервис http://www.ps2pdf.com/. Работают оба способа. Затем таблица должна быть напечатана на листе чистой белой бумаги (размер не важен; подойдет A4/Letter). Сетка линий должна быть правильной, без искривлений и дефектов (например, пропусков, царапин и других нарушений). Иллюстрация показывает пример калибровочной таблицы.
Напечатанная таблица должна быть помещена на плоскую поверхность (стену, демонстрационную доску) и закреплена так, что бы она была натянута без морщин и пузырей. Камера располагается пямо перед таблицей так, что бы фотография включала в себя таблицу целиком и небольшую рамку вокруг нее. Идеально, если четыре L-образных репера по углам таблицы будут соответствовать углам фотографии, но не страшно, если это не получитса - все хорошо, пока сетка вмещается целиком и расположена не совсем близко (например, в нескольких пикселях) от границ изображения. Центром изображения должна быть черна точка в середине сетки (программноное обеспечение требовательно к этому: смещение на 1.5 квадрата достаточно, что бы изображение было отвергнуто). Уделите особое внимание расположению камеры: она должна быть строго перед таблицей и сммотреть на нее строго перпендикулярно. Даже небольшое смещение будет вносить перспективные искажения, которые сильно понижают точность анализа (и, следовательно, программное обеспечение исключительно требовательно к этому). Вы также должны обратить внимание на следующие вещи:
- Должно быть обеспечено достаточное освещение для обеспечения большой скорости затвора при использовании подходящих настроек ISO (для избежания возможного смазывания изображения или слишком большого уровня шума).
- Правильная фокусировка. Нерезкие изображения трудны для анализа.
- Разрешение изображения: достаточно 2 мегапикселя. Программа примет и большие изображения, но они не дают большей точности.
- Не используйте RAW-файлы. Программа принимает только те форматы изображений, которые поддерживает V-Ray (RAW-фоматы не поддерживаются). Файлов JPEG будет достаточно для анализа.
Объективы: простые против трансфокаторов (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, создание профилей объективов - трудоемкий процесс. Поэтому мы даем несколько полезных советов:
- Это наиболее важно: при фотографировании настоятельно рекомендуется использовать штатив. Это устранит многие факторы, из-за влияния которых ваши изображения могут быть отвергнуты инструментом анализа объектива.
- Делайте несколько снимков для каждого фокусного расстояния по соображениям избыточности. Программа позже будет оценивать каждую фотографию, поэтому вы можете просто выбрать какое изображение сохранить, а какое удалить.
- Программа может отвергнуть фотографию по различным причинам, но наиболее общая причина - наличие перспективных искажений. Это означает, что при съемке камера была расположена не прямо по центру калибровочной таблицы. В этом случае съемку требуется повторить.
- Помните, что видоискатель камеры обычно не охватывает 100% реального изображения, а отсекает какую-то его часть. Таким образом, даже если в видоискателе ваша цель занимает 100% кадра, то позже вы можете обнаружить, что левая граница вокруг сетки неоправданно большая. Вам необходимо поэкспериментировать для нахождения наилучших условий съемки.
- Если ваш видоискатель имеет “центральную” фокусирующую точку или метку, помните, что она может не совпадать с действительным центром изображения. После нескольких экспериментов вы можете подобрать необходимое смещение.
- Избегайте пользоваться прямой (не отраженной) вспышкой. Это ведет к высветлению некоторых частей изображения, поэтому некоторые линии сетки могут быть высветлены до белого цвета.
- Если вам действительно необходимо, что бы несколько изображений были приняты программой, вы можете подрегулировать порог ошибки, используя Analysis → Error Thresholds..... Но это - последнне средство. По возможности не используйте его.
Фотографии из камеры переносятся на компьютер и обрабатываются нашим инструментом анализа объектива. Первое, вы должны нажать кнопку
и импортировать калибровочные фотографии. (Для трансфокатора программа может запросить фокусное расстояние для фотографий, если его невозможно получить из метаданных изображения. В этом случае вам необходимо представить корректное значение фокусного расстояния для каждой фотографии, т.к. в противном случае профиль будет не полный.) Затем нажмите на кнопку . После того, как изображения обработаны, программа покажет статистическую информацию по каждому файлу: был анализ успешным или нет, сообщение об ошибке в случае неудачи и рейтинг качества (типа “perfect” (идеально), “very good” (очень хорошо) и т.п.) на основании следующих критериев производительности:
- Inter-central distance (Расстояние между центрами): расстояние между истинным центром изображения и центральным узлом сетки на фотографии. Считается нормальным расстояние меньше, чем 70% от размера ячейки сетки.
- Perspective distortion (Перспективные искажения): здесь измеряется на сколько границы сетки отличаются от идеального прямоугольника. Деформация больше чем на 2% считается неприемлемой.
- Central angle (Центральный угол): измерение угла между ортогональными линиями около центра сетки. Если отклонение от прямого угла составляет больше, чем 0.5°, изображение отвергается.
- Grid misalignment (Нарушение ориентации сетки): поворот сетки относительно изображения. Допустимо меньше 10°.
Если программа отвергает фотографию по причине, отличной от вышеперечисленных критериев, может быть полезно включить предварительный просмотр на этапе детектирования Analysis → Show Detection Details и повторить анализ. Предварительный просмотр может дать вам подсказку почему детектор находит изображение сложным. После завершения фазы анализа, таблица описания профиля заполнена вычисленными параметрами искажения для всех успешно проанализированных фотографий.
Замечание: если вы следовали совету брать несколько дополнительных фотографий для каждого фокусного расстояния, вы теперь можете либо вручную подчистить профиль удалив худшие (по оценке анализатора) фотографии, либо использовать инструмент автоматического слияния, доступного через Analysis → Consolidate Profile. “Консолидация профиля” не только удаляет избыточные фотографии, но и усредняет параметры любых калибровочных фотографий с одинаковым фокусным расстоянием; поэтому это теоретически оптимально. В любом случае, окончательный профиль должен иметь только один набор параметров для каждого фокусного расстояния. Таблица содержит следующие поля:
- Calibration photo (Калибровочная фотография): содержит полное имя анализируемого файла. Служит только для вашего удобства. Профиль хорошо работает и когда калибровочный файл больше не существует (или профиль перенесен на другую машину).
- Focal length (Фокусное расстояние): фокусное расстояние для фотографии. В зависимости от типа объектива, этот параметр может быть важным или нет:
- Простые объективы: так как простой объектив будет окончательно иметь только одну строку таблицы, то не важно какое фокусное расстояние будет содержать ячейка таблицы (или даже быть пустой). В любом случае профиль будет хорошо работать.
- Трансфокаторы: важно иметь фокусное расстояние для каждого набора параметров искажения (то есть для каждой строки таблицы). Здесь вам необходимо принять соответствующий “схему для фокусного расстояния”, потому что имеется несколько несовместимых альтернатив:
Программа анализа объектива предпочитает первую систему и пытается вычислить 35-миллиметровый эквивалент фокусного расстояния ваших фотографий из метаданных EXIF, находящихся в изображении (только файлы JPEG и TIFF). Если эти данные отсутствуют, но информация об оптическом фокусном расстоянии доступна, программа будет использовать её, выдав об этом соответствующее предупреждение.
- схема, использующая 35-миллиметровый эквивалент фокусного расстояния, поскольку любое реальное (оптическое) фокусное расстояние конвертируется в эквивалентное фокусное расстояние на 35мм пленке. Например, для светочувствительной матрицы Canon APS-C (у которой диагональ в 1.6 раза меньше, чем диагональ 35мм систем) коэффициент кадрирования (crop factor) равен 1.6х, и 50мм объектив на камере с APS-C будет вести себя как 80мм объектив на полнокадровой камере, использующей 35мм пленку (80 = 50 x 1.6). Такая схема хорошо работает с физической камерой V-Ray, поскольку она притворяется 35мм камерой.
- Схема реального (оптического) фокусного расстояния, в которой умножение на коэффициент кадрирования не производится. Все записанные фокусные расстояния соответствуют конкретным настройкам объектива. В этом режиме это может быть полезно для изменения настроек физической камеры для отражения точных свойств вашей камеры (например, возможно взять такое же поле зрения и т.п.).
- K0: этот параметр управляет масштабированием изображения. В большинстве случаев должен быть очень близок к 1.
- K1: этот параметр представляет коэффициент симметричного первого порядка (радиального) искажения и является первичным индикатором типа искажения (он также будет наиболее изменяемым параметром в диапазоне трансфокации). Значение обычно около 0. Положительные значения при бочкообразных искажениях, отрицательные - при подушкообразных искажениях.
- K2: некоторые очень широкоугольные объективы имеют такие характеристики искажения по краям кадра, что их невозможно захватить, используя только коэффициент первого порядка, и они требуют коэффициент второго порядка. K2 также симметричен. Для большинства средних объективов этот параметр будет очень близок к 0.
- Squeeze (Sqz): этот параметр захватывает ассиметричные свойства объектива благодаря растяжению изображения по оси X или Y. В большинстве случаев должен быть близок к 1.
- λx (Lx): захватывает ассимметричное искажение вдоль оси X. Обычно 0.
- λy (Ly): также как λx, но вдоль оси Y.
Замечание: Первым определяется параметр K1. Все остальные параметры будут близки к своему значению по умолчанию (“без искажений”), но так как сфотографированная сетка не может быть проанализирована с абсолютной точностью, в значениях параметров обнаруживается некий “шум”. Более тго, когда и K1 и K2 близки к нулю, остальные параметры теряют свою значимость и могут колебаться в широких пределах. Короче, не обращайте большого внимания, если параметры не вполне совпадают с ожидаемыми значениями - это не означает, что у ваших объективов имеются недостатки.
После того, как вы сделали приемлемые фотографии для калибровки для каждого фокусного расстояния и закончили анализ, вам необходимо сохранить профиль в файл (Profile → Save Profile). Для этих файлов мы используем расширение .vrlens. Обратите внимание, что оно отличается от расширения .lens, которое мы также поддерживаем в 3ds Max.
При сохранении профиля программа анализа объектива может выдать предупреждение, если текущие данные не подходят для производственного использования: или при отсутствии данных о фокусном расстоянии, или при наличии нескольких калибровочных фотографий для одного фокусного расстояния, или если какие-то изображения не проанализированы. Вы можете исправить эти проблемы до создания рабочего файла .VRLENS.
Файлы VRLENS маленькие и простые. Они не зависят от других файлов или ресурсов. Использование их для распределенной визуализации должно быть простым.
Для того, что бы применить VRLENS-файл в 3ds Max для имитации искажений измеренной камеры (объектива), вам необходимо использовать V-Ray Physical Camera. В настройках камеры перейдите в свиток “Distortion”, выберите тип искажений “Lens file” а затем нажмите на кнопку “Lens file” для выбора нужного файла.
В программе анализа объектива:
- Вы можете изменить данные о фокусном расстоянии (или указать его) двойным щелчком мыши по соответствующей ячейке таблицы.
- Вы может изменить параметры искажения двойным щелчком по любой ячейке параметров. Если файл с калибровочным изображением присутствует в вашей системе, вы сможете иметь детальный предпросмотр “попадания”: правильную сетку точек (представленных маленькими синими кружками) и точки пересечения вычисленной сетки после коррекции (представленные красными крестиками). Целью является такая подстройка параметров, что бы красные крестики совпадали с синими кружочками. Вы можете увеличить эту картинку удерживая правую кнопку мыши в области просмотра и передвигая мышь вверх или вниз. Вы можете перемещать картинку, удерживая левую кнопку мыши и передвигая мышь. Параметры находятся внизу окна и вы можете изменять их непосредственно вводя значения или нажимая на стрелочки, ассоциированные с каждым параметром (значения будут уменьшаться или увеличиваться на основании настройки “tuning precision”).
Замечание: если калибрационные фотографии недоступны, то будет выведен простой диалог без области предпросмотра.
Вы можете видеть пример того, как будет выглядеть “неискаженное” изображение посредством выбора одного из калибровочных изображений (просто щелкнув на его имени) и выбрав пункт меню Correction → Test correction. Эта команда будет корректировать калибровочное изображение, используя вычисленные параметры искажения. Вы можете переключаться между откорректированным и оригинальным файлом для сравнения.
Вы можете корректировать или искажать массив произвольных изображений, используя команду Correction → Correct/Distort images..... Таким образом, “идеальное” изображение (например, после визуализации без какого-то либо искажения) может быть искажено в соответствии с характеристиками измеренной камеры, или последовательность изображений, снятых реальной камерой, может быть откорректирована так, что бы соответствовать качеству теоретической “идеальной” камеры.
Эта утилита использует полный профиль объектива, поэтому для трансфокаторов она вычисляет необходимые параметры искажения для каждого изображения примерно таким же способом, как это делает физическая камера V-Ray при визуализации. Вследствие этого, вам необходимо фокусное расстояние для каждого изображения, которое должно быть откорректировано или искажено; в противном случае параметры не могут быть корректно интерполированы. Утилита будет пытаться взять фокусное расстояние из метаданных EXIF. Если это невозможно, утилита представит вам несколько вариантов (см. далее).
Обзор
Здесь вы выбираете изображения для обработки. Используйте кнопку output directory показывает где будут сохраняться обработанные файлы. Здесь же вы можете выбрать направление обработки (параметр Direction). Когда все настроено, нажмите кнопку .
для добавления одиночного файла, или кнопку для каталога целиком, возможно включающего в себя целую иерархию каталогов. Пожалуйста обратите внимание, что структура входных каталогов не будет сохранена в выходном каталоге. Строка
Опции
Здесь вы можете настроить различные параметры, относящиеся к обработке:
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, или информация о фокусном расстофнии там отсутствует, утилита попросит вас выбрать один из вариантов действия:
- Don't process (skip) - Не обрабатывать (пропустить) - эта опция пропустит все файлы, не имеющие информации о фокусном расстоянии.
- Use specific parameters - Использовать указанные параметры - использовать только указанную строку таблицы профиля трансфокатора (это то же, что и предыдущий сценарий) и, по существу, принять, что все входные изображения имеют указанное фокусное расстояние.
- Assume the focal length is - Принять фокусное расстояние равным... - это похоже на предыдущий вариант, но позволяет вам указать любое фокусное расстояние, не ограничиваясь фокусными расстояниями, присутствующими в профиле.
- Specify focal lengths from file - Взять фокусные расстояния из файла - фокусные расстояния для каждого файла изображения берутся из текстового файла, следующего формата:
"Image_0001.exr" 35.6
"Image_0002.exr" 36.2
"Image_0003.exr" 38.0
…то есть
"«имя файла»" «фокусное расстояние»
по одному файлу на строку.
Ограничения утилиты коррекции/искажения:
- Утилита не сохраняет иерархию каталогов. Все выходные файлы записываются в один выходной каталог.
- Поддерживаются только каналы цвета и прозрачности (альфа). Файлы изображений, содержащие несколько каналов (например, содержащие отдельные элементы визуализации V-Ray) не поддерживаются полностью. Все каналы, отличные от каналов цвета и прозрачности, будут сброшены.
- Поддерживается чтение файлов формата .PSD и .VRIMG (V-Ray Image File). Но запись файлов этих форматов пока не поддерживается.
Перевод © Black Sphinx, 2008-2011. All rights reserved.