Jump to...
project #2
project #3
final project
assignments
|
project #1: image morphing
Assigned: 2012/3/3
Due: 2012/3/28 11:59pm
voting
Project description
Image morphing is a technique to synthesize a fluid transformation from
one image (source image) to another (destination image).
Morphing has been wildly used in making visual effects.
One of the most famous morphing example is Michael Jackson's
"Black or White" MTV.
The morphing algorithm used to make this video has been described by
Beier and Neely in their SIGGRAPH 1992 paper.
As explained in class, morphing has two parts,
warping and cross-dissolving. The second part is the easier part while
the first part is harder. To have a visually pleasing morphing results,
features in both the source and destination images have to been
corresponded appropriately, usually specified by users.
There are many ways for specifying the warp function.
This paper
gives a very through review.
You are free to use any morphing algorithm you like.
- mesh warp: the warp is specified by control meshes. The algorithm
was described in class.
- field warp: the warp is specified by a set of line pairs. An example
is the Beier and Neely algorithm.
- point warp: the warp is specified by a set of control points.
A simple solution is to use triangulation to convert point warp
to mesh warp.
There are several more complicated techniques such as
scattered data interpolation and
free-form deformation.
In this project, you will implement an image morphing program in teams of two.
You can choose any platform and programming language you like for
your implementation.
gil,
as a high-level image abstration and clean image I/O interface.-->
If you are not experienced with image I/O, I recommend
OpenCV
for reading and writing images.
If you want to make a morph video, you can use
VirtualDub
to convert a sequence of images into a video.
It is not required to implement a user interface, but you are
strongly encouraged to do it.
Bells and whistles
Students will get extra points if they implement any of the following
extensions:
- multi-source morphing: synthesize morph images from more than
two images, such as polymorph.
- automatic morphing: synthesize morph sequences without any user
inputs. It is very difficult for genaral images. However, it is
possible if the input images are of objects of a class, such as
frontal faces.
This paper uses work
minimization to do morphing automaticallly.
- morphing for animated sequences as described in
the Beier and Neely paper.
You are welcome to do any other extensions or develop algorithm realted
to morphing. The bonus depends on how useful and difficult
these extensions are.
Submission
You have to turn in your complete source, the executable, a complete test
example and instruction to run the test, a report in html format
(including all resources) and your favorite artifact.
The report could contain a description of this project, what you have
learned from this project, description of the algorithm you implemented,
implementation details, results (either good or bad), and what extensions
you have implemented. You also have to submit your favorite artifact
generated by the program you have implemented (not the reference
software). For the artifacts for this project, submit the source,
destination and middle images.
A morphing video is not required, but recommended.
All class participates will vote for the top three artifacts.
The creators for these artifacrs will get extra bonus points.
Please refer to this document
for submitting your project.
Reference software
You can try any morphing software listed in the
Morphing software review
page, for example, Abrosoft's FantaMorph.
Reference
-
Morphing software review
-
Thaddeus Beier, Shawn Neely,
Feature-Based Image Metamorphosis,
SIGGRAPH 1992, pp35-42.
-
Detlef Ruprecht, Heinrich Muller,
Image Warping with Scattered Data Interpolation,
IEEE Computer Graphics and Applications, March 1995, pp37-43.
-
Seung-Yong Lee, Kyung-Yong Chwa, Sung Yong Shin,
Image Metamorphosis Using Snakes and Free-Form Deformations,
SIGGRAPH 1995.
-
Seungyong Lee, Wolberg, G., Sung Yong Shin,
Polymorph: morphing among multiple images,
IEEE Computer Graphics and Applications, Vol. 18, No. 1, 1998, pp58-71.
-
Peinsheng Gao, Thomas Sederberg,
A work minimization approach to image morphing,
The Visual Computer, 1998, pp390-400.
-
George Wolberg,
Image morphing: a survey,
The Visual Computer, 1998, pp360-372.
|