Морфинг – преобразование изображений
Оглавление
Реферат
Список ключевых слов: морфинг, множественный морфинг, интерполяция, алгоритм Безье, точки соответствия, матрица, сетка матрицы.
Рассмотрены основные методы разработки эффекта морфинга изображений с Delphi.
Выполнена работа, реализующая в Delphi редактор морфинга изображений.
Объем работы — 40 страниц, количество иллюстраций – 7, использовано источников – 8.
Введение
Морфинг — это видеоэффект, заключающийся в плавном перетекании одного изображения в другое. Иногда морфингом называют эффект наплыва, когда одна сцена затемняется или затуманивается, а вторая в это время проявляется все резче и сменяет первую. Однако лучше разделять эти понятия. В отличие от наплыва, морфинг обеспечивает соответствие характерных (наиболее привлекающих внимание) точек и контуров начального и конечного изображений. Например, преобразование одного лица в другое, при котором задается соответствие положения характерных точек глаз, носа и т.д.
Существует целый ряд программ для морфинга на ПК, позволяющих быстро создавать интересные эффекты. За несколько минут можно сделать видеоролик, превращающий ребенка в пожилого человека, одно животное в другое, изменить марку автомобиля и т.д. Морфинг-роликом можно украсить скринсейверы, web-страницы, рекламные и музыкальные клипы, видеофильмы, образовательные ролики, презентации, поздравительные открытки и т.п.
Целью данной работы является разработка в среде Delphi редактора морфинга изображений.
Исходя из поставленной цели, были определены следующие задачи:
- рассмотреть понятие морфинга изображений;
- изучить существующие программы, реализующие морфинг изображений;
- подобрать изображения для эффекта морфинга;
- разработать алгоритм отображения морфинга.
Глава 1. Морфинг – преобразование изображений
1.1 Использование морфинг изображений
В наши дни по телевидению в рекламе, фильмах, просто заставках можно увидеть эффект "переливания" одного изображения в другое - "морфирование изображений": будь то превращение человекаоборотня в волка, галерея лиц в клипе Майкла Джексона, трансформация Терминатора 2 - действие происходит так плавно, что даже трудно уловить, на каком мгновении предмет потерял все признаки предыдущей формы и приобрёл новые. Подобные эффекты можно получить с помощью различных программных преобразований, одним из которых является морфинг.
Морфинг - это плавное "превращение" одного изображения в другое, во время которого конкретный элемент первого изображения "перетекает" в элемент второго изображения. Например, при морфировании одного автомобиля в другой, колесо первого превращается в колесо второго. Компьютер не может выполнить морфинг двух изображений самостоятельно - сначала художнику требуется задать соответствие элементов первого изображения элементам второго, а также другие параметры, пользуясь специальным редактором. Способ задания соответствия зависит от редактора - это могут быть точки, линии, полигоны. Сам морфинг можно разбить на три части: warping, tweening и dissolving.
Warping
(коробить, искривлять) - преобразование
изображения, при котором оно
в отдельных областях
Tweening
(построение промежуточных
Dissolving (растворять, в кино cross-dissolving - затемнение одной сцены и осветление другой) - слияние двух изображений, при котором в качестве цвета каждой точки нового изображения берётся смесь цветов соответствующих точек двух исходных изображений в заданной пропорции.
Tweening
применяет warping для интерполированных
точек, то есть позволяет получить
промежуточные фазы (вверху показаны конечные
кадры). Dissolving объединяет два полученных
изображения в одно. В целом при морфинге
первый автомобиль плавно пытается принять
форму второго, а второй, приняв форму
первого, пытается вернуться к нормальной
форме. Dissolving смешивает изображения, при
этом изображение первого автомобиля
постепенно затухает, а второго - появляется.
1.2 Основные понятия и определения
Single morph (одиночный морфинг) — морфинг исходного изображения (source image) в итоговое (target image). Обычно программа для морфинга позволяет сгенерировать либо видеоролик (плавное перетекание одного изображения в другое), либо серию промежуточных изображений.
Photo to photo-morphing (фото в фотоморфинг) — морфинг исходного изображения в результирующее, при котором результатом является серия статичных изображений, иллюстрирующих перетекание, или одно изображение, имеющее по 50% от двух исходных.
Например, при морфинге изображений двух братьев можно получить изображение их виртуального третьего брата, который будет иметь по 50% черт каждого из братьев, или при морфинге изображения мужчины в изображение женщины — изображение их виртуального ребенка.
Для того чтобы создать реалистичный морфинг-проект, необходимо подобрать изображения и подготовить их с помощью фоторедактора. Некоторые морфинг-программы имеют встроенные функции фоторедактирования, другие предполагают, что подготовительная стадия выполняется во внешнем приложении, например в программе Photoshop. Обычно сначала необходимо отредактировать фон, размеры изображений, освещение, резкость и т.д.
Photo to video-morphing (фото в видео) — морфинг исходного изображения в результирующее, при котором результатом является видеоролик.
Video to video morphing (видео в видео) — морфинг на базе двух видеороликов.
Multiple morph — множественный морфинг, то есть морфинг серии превращений. Например, последовательное изменение лица представителей различных рас в клипе «Black or White» Майкла Джексона — типичный пример множественного морфинга.
Еще более сложным, по сравнению с множественным морфингом лиц людей разных рас, является множественный морфинг мало похожих объектов. Например, плавное преобразование человека в различных животных. Для создания столь сложного множественного морфинга важно иметь общую визуальную тему — задний фон, какой-либо неизменный элемент, присутствующий на всех кадрах. Чем больше похожи фотографии по композиции (одинаковый центр композиции), тем более убедительным будет результат. Мозг человека устроен так, что в большей степени отслеживает плавность перехода в точке, которая концентрирует его внимание, а плавность морфинга на удалении от этой точки менее критична.
Anchor points, control points, key dots1 (якорные точки, контрольные точки, реперные точки, ключевые точки, точки соответствия) — пары точек, определяющие соответствие между указанными пикселами исходного и конечного изображений.
В ряде программ, кроме точек, используются линии. Пользователи должны расставить точки и провести линии (контуры) на исходном изображении и задать их перемещение на конечном изображении. Необходимо расставить точки на исходной картинке и затем указать для них новое положение на итоговой. Чем больше точек и линий будет задано, тем более плавным и естественным будет видеоряд морфинга.
Real time playing (проигрывание в реальном времени) — функция позволяет просмотреть морфинг-эффект во время редактирования до экспорта в результирующий файл. Данная функция дает возможность отработать параметры проекта и только после этого экспортировать его в файл. Она особенно важна для профессионалов, которые часто прибегают к задачам морфинга и которым требуется высокая производительность работы.
Real time preview (мгновенный предпросмотр) — функция позволяет увидеть, как редактирование проекта влияет на результат.
Morph 2 + Images — функция дает возможность объединить несколько проектов по морфингу в непрерывный морфинг-проект. Для каждого нового морфинга предыдущий итоговый кадр (target image) является начальным (source image).
Warp morphs (морфинг-искажение) — большинство программ для морфинга предлагают эффекты искажения фотографий, похожие на те, с которыми сталкиваются посетители зала кривых зеркал. Здесь нет единой терминологии — производители могут называть одни и те же эффекты по-разному. Однако чаще всего эффект Warp morphs подразумевает, что можно вручную деформировать часть изображения, создавая иллюзию движения. С помощью якорных точек нужно обозначить область, которую должен занять деформированный объект (например, так можно задать анимацию, при которой у человека растет нос или меняется форма головы, вытягиваясь в виде конуса, и т.п.).
Deform/distortion morphs (морфинг- деформирование) — обычно такие формы морфинга задаются автоматически: пользователь выбирает из меню эффект и применяет его или ко всему изображению, или локально с помощью мыши (щелчок или перетаскивание).
Mask morphing (морфинг с маской) — маска изолирует часть изображения, делая ее неизменяемой. Mask morphing-инструменты полезны, если необходимо анимировать только часть изображения.
Layered morphing (послойный морфинг) — каждый слой изменяется отдельно, а затем слои совмещаются и зритель видит суммируемый эффект.
Auto reverse morphing (автореверс-морфинг) — морфинг осуществляется от исходного изображения до конечного и обратно.
Auto
loop morphing (циклический морфинг) — изменение
происходит от исходного изображения
до конечного и так по кругу.
1.3. Морфинг и особенности работы мозга
Иногда программы для морфинга находят весьма неожиданное применение. Ученые из Лондонского университета (University College London) провели интересное исследование, направленное на выяснение причин нарушений работы мозга у людей, имеющих проблемы с узнаванием знакомых.
В рамках выполнения данной работы были рассмотрены и охарактеризованы некоторые существующие программы для эффекта морфинга.
FantaMorph
— это мощная и простая в
использовании программа для
создания морфинга и эффектов
деформирования. Программа может
применяться и в качестве
Приложение позволяет импортировать файлы в различных форматах: BMP, JPEG, TIFF, PNG, TGA, PCX, GIF, WMF, EMF.
Экспортировать можно изображения в форматах BMP, JPEG, TIFF, PNG, TGA, PCX или в виде видеофайлов в форматах AVI, Animated GIF и SWF.
Возможности по редактированию исходного изображения включают: кадрирование, масштабирование, поворот, настройки яркости, контрастности, баланс цвета, эффекты увеличения и уменьшения резкости, возможность добавления сетки и т.п.
При установке точек соответствия возможен выбор цвета и стиля для точек.
В результирующем видеоролике допускается от трех до 999 изображений.
Программа
предоставляет возможности
В версии FantaMorph 3.0 появились возможности добавления звука и экспорта результатов в отдельный EXE-файл.
MorphMan программа обладает самыми широкими возможностями из всех представленных в обзоре приложений, и нам приятно сообщить читателям, что это разработка отечественной компании, создающей программы мирового класса для обработки изображений. MorphMan 4.0 — мощная программа для ПК по морфингу фото в видео (photo to video) и видео в видео (video to video).
MorphMan 2000 — более ранняя и дешевая версия, которая обладает широкими возможностями морфинга фото в фото и фото в видео, поддерживает различные популярные форматы видео, включая AVI. Однако она не имеет некоторых возможностей, которые есть в MorphMan 4.0 и не обеспечивает морфинга видео в видео.
Рассмотрим подробнее уникальные возможности MorphMan 4.0.
Финальный
морфинг выполняется на базе суперпозиции
соответствующих слоев с учетом
их порядка и степени
Еще одним нововведением в MorphMan 4.0 является так называемый Canvas-слой — специальный тип фона, который не изменяется в процессе морфинга. MorphMan позволяет выбрать в качестве фона статическое изображение, видео или холст заданного цвета.
MorphMan
4.0 хранит морфинг-проекты,
Но главное достоинство MorphMan 4.0 — это возможность создания морфинга видео в видео.
Пользователь
ставит маркеры в начальном и
конечном кадрах, а в промежуточных
кадрах программа расставляет их
сама. Результат расстановки
В Morpher небольшой программе мало дополнительных функций, но зато есть всё необходимое непосредственно для морфинга.
Отметим, что дополнительные функции можно выполнить и в других приложениях. Например, на входе программа требует файлы только в формате BMP. Но если у вас есть конвертор, то вы легко можете перевести любой файл в BMP. То же самое касается функций по обработке исходного изображения — многим удобнее сделать это в Photoshop. Результат Morpher позволяет сохранить в формате AVI (перетекание первого кадра во второй), как статический файл BMP (среднее между первым и вторым файлами) или в виде последовательности BMP-файлов.
Если вам не хватает данных форматов, импортируйте серию файлов в Flash двумя щелчками мыши и конвертируйте их в SWF или в другой необходимый вам видеоформат.
В незарегистрированной версии в результирующих кадрах внизу ставится метка, напоминающая о том, что изображение создано с помощью Morpher. Метка ставится весьма интеллигентно: не поверх изображения, а внизу, так что удалить ее, в принципе, не составляет никакого труда. А вот информацию о том, сколько нужно заплатить, чтобы зарегистрировать версию и убрать эту подпись, мы так и не нашли ни на сайте разработчика, ни в разделе Help.
Исследование показало, что человеческий мозг всегда пытается найти сходство человека с какой-либо известной личностью, даже если это виртуальный человек, созданный с помощью морфинга. На (рис.1) показана последовательность кадров, на которых Мерилин Монро превращается в Маргарет Тэтчер. Опросы показали, что лицо, в котором содержалось 60% черт лица Мерилин Монро и 40% черт Маргарет Тэтчер, распознавалось как Мерилин Монро в более зрелом возрасте, а лицо с 40% черт Мерилин Монро и 60% черт Маргарет Тэтчер — как лицо Маргарет Тэтчер, которое выглядит «более сексапильно, чем обычно».
Рис.
1. лицо с 40% черт Мерилин Монро и 60% черт
Маргарет Тэтчер
Одним из результатов исследования явилось определение трех стадий работы мозга при распознавании лица:
- Мозг собирает данные о физическом строении распознаваемого лица.
- Мозг принимает решение, знакомо это лицо или нет.
- Если лицо знакомо, человек пытается вспомнить имя.
1.4. Некоторые алгоритмы для преобразования изображений (морфинга)
Алгоритм зависит от требуемого качества, скорости и способа задания соответствия элементов изображений. Удобно задавать соответствия, пользуясь сеткой (mesh), например. Плотность сетки влияет на скорость вычислений, требования к памяти, качество получаемого изображения. Редактор, представляющий способы задания соответствий, должен привести их к сетке. Художник, работая с редактором, может вообще не подозревать о том, что в конечном счете все задается таким образом (вообще говоря, чем лучше редактор этот факт скрывает, тем он удобнее).
Сетка задается узлами, и именно эти узлы(точки) при tweenig’e плавно движутся от своего первого положения во второе, то есть tweening морфирует сетку. Warping осуществляется в соответствии с начальной сеткой и сеткой, полученной для данного кадра. Для узловых точек это легко: мы знаем, что в исходной сетке узел находится в точке (х,у) с цветом с. Значит в требуемой картинке точка, в которой теперь находится узел, имеет цвет с. Для остальных точек несколько сложнее: тут применяется билинейная или бикубическая интерполяция.
В алгоритме, предложенном Douglas Smithe для создания спецэффектов к фильму “Willow” (1988), применяется двух проходное преобразование изображения: в начале изображение деформируется по х, а затем по у.
На деформацию сетки действуют ограничения: ее ячейки не должны накладываться друг на друга, и боковые узлы не должны двигаться. В более сложных алгоритмах в узлах сетки можно задавать дополнительные параметры – например, скорость dissolving’а, таким образом, регулируя нежелательное быстрое появление светлых частей второго изображения и т.п.
Технологии, использующие неявную геометрию, полагаются на небольшое число исходных изображений, но при этом используют дополнительную информацию о соответствиях (matches) пикселей на различных изображениях. Термин неявная геометрия означает, что 3D положения точек не восстанавливаются, а целевое изображение реконструируется с помощью манипуляции с соответствиями на изображениях.
Такой подход позволяет увеличить дистанцию между изображениями, на которой возможна реконструкция произвольных значений пленоптик-функции.
Алгоритм
интерполяции вида (view interpolation) позволяет
реконструировать вид с произвольного
положения камеры. Для его работы необходим
плотный оптический поток (dense optical flow)
между двумя соседними изображениями.
Однако для хороших результатов исходные
камеры должны находиться рядом, чтобы
во время перемещения не происходило многочисленных
изменений видимости (появление, пропадание
объектов). Изменения видимости составляют
серьезную проблему для методов, основанных
на неявной геометрии, так как они не могут
быть описаны непрерывной функцией оптического
потока.
Рис.2
Интерполяция вида. Слева - исходное изображение.
Справа - целевое. В центре - сгенерированные
изображения
Недостатком указанного метода является то, что на практике получение оптического потока может быть очень трудной задачей, в частности для реальных изображений. Для ее решения применяются технологии машинного зрения, такие как плотное стерео (dense stereo), которые известны своей неустойчивостью.
Недостатком такого метода является то, что на практике получение оптического потока может быть очень трудной задачей, в частности для реальных изображений. Для ее решения применяются технологии машинного зрения, такие как плотное стерео (dense stereo), которые известны своей неустойчивостью.
Другой
подход, известный как видовой морфинг
(view morphing) не требует известного оптического
потока и позволяет восстанавливать произвольные
промежуточные изображения на линии, соединяющей
центры проекции исходных изображений.
Каждое промежуточное изображение является
линейной комбинацией двух соседних. При
этом на этапе предобработки изображения
проходят процесс ректификации, после
которого соответствующие эпиполярные
линии становятся горизонтальными. Соответственно,
на этапе постобработки происходит процесс
де-ректификации изображений.
Рис.3
Видовой морфинг. В центре - сгенерированное
изображение
Его
недостатком является ограниченные
возможности перемещения, а также
трудности с изменениями
Эти методы, по сути, используя набор из двухмерных выборок пленоптик-функции (изображений), интерполируют ее, достраивая до непрерывной в области между известными значениями.
В работе приводится метод, названный пленоптик-моделированием. В качестве выборок пленоптик-функции используются цилиндрические панорамы, расположенные на небольшом расстоянии друг от друга (не более полутора метров). С использованием алгоритмов плотного стерео вычисляется диспаритет каждой точки панорамы, который используется при создании промежуточного изображения.
Кривые Безье. Одним из основных элементов векторной графики являются кривые Безье, так как метод кривых Безье позволяет создавать кривые любой формы. Они широко используются для решения задач аппроксимации, потому что их удобно описывать аналитически, а также просты для наглядного геометрического построения. Названы они так были в честь Пьера Безье, он первым представил их широкой публике (это было в 1962 г.), хотя разработал их первым Поль де Кастелье. Разрабатывались кривые независимо обоими инженерами для проектирования кузовов автомобилей французских компаний "Рено" (Безье) и "Ситроен" (де Кастелье). Именем де Кастелье назвали рекурсивный метод построения кривых (алгоритм де Кастелье). Впоследствии кривые Безье стали широко использоваться не только в автомобилестроении, но и в системах автоматизированного проектирования и программах компьютерной графики для моделирования гладких линий; однако не все виды кривых Безье имеют широкое применение в компьютерной графике - кривые высших степеней используют редко ввиду их высоких требований к вычислительным ресурсам, поэтому наиболее популярными являются кубические кривые Безье (для создания сложных линий, кривые объединяют в сплайны, причем смежные опорные точки обеих кривых должны лежать на одной линии).
Рис.4
Кривая Безье и, образующий ее, многоугольник
Кривая Безье задается многоугольником и имеет математическое параметрическое представление вида:
где базис Безье или Бернштейна, или функция аппроксимации
— это i-тая функция базиса Бернштейна порядка n. Здесь i — порядковый номер опорной вершины, n — порядок определяющей функции базиса Бернштейна — и, следовательно, сегмента полиномиальной кривой, на единицу меньше количества точек определяющего многоугольника. - биномиальные коэффициенты.
- функция компонент векторов опорных вершин (координаты вершин многоугольника Безье).
Метод de Casteljau основан на разбиении отрезков, соединяющих исходные точки в отношении t (значение параметра), а затем в рекурсивном повторении этого процесса для полученных отрезков.
Кривые Безье бывают линейные, квадратичные, кубические и т.д. - кривые высших степеней. Линейная кривая Безье является отрезком и задается двумя опорными точками, которые являются концами этого отрезка; квадратичная кривая имеет 3 опорные точки; далее аналогично.
Примеры
математического писания
Преобразование квадратичных кривых Безье в кубические:
Квадратичная кривая Безье с координатами преобразовывается в кубическую кривую Безье с координатами .
Некоторые свойства кривых Безье:
- Функции базиса вещественны.
- Степень многочлена, определяющего участок кривой, на единицу меньше количества точек соответствующего многоугольника.
- Основа формы кривой повторяет очертания многоугольника.
- Первая и последняя точки кривой совпадают с соответствующими точками определяющего многоугольника.
- Векторы касательных в концах кривой по направлению совпадают с первой и последней сторонами многоугольника.
- Кривая лежит внутри выпуклой оболочки многоугольника, т.е. внутри самого большого многоугольника, построенного по заданным точкам.
- Кривая обладает свойством уменьшения вариации. Это означает, что кривая пересекает любую прямую линию не чаще, чем определяющий многоугольник.
- В случае, если выпуклые оболочки не пересекаются, то и сами кривые не пересекаются.
- Кривая инвариантна относительно аффинных преобразований.

- Морфологические особенности английских существительных
- Морфология золотого карася обитающего в водоемах Обь - Иртышского бассейна
- Московский автосборочный завод
- Мостовой кран
- Мотивации и стимулирования персонала
- Мотивационная готовность к обучению в школе детей 6 и 7 лет
- Мотивационная деятельность студентов из числа сирот, а так же лиц из их числа
- Моральная девиация в молодежной среде
- Моральный вред в России
- Моральный вред и выплаты по его возмещению
- Мороженое
- Морское страхование
- Морской транспорт стран Азиатско-Тихоокеанского региона
- Морфемный анализ слов со скрытым j (й)