COMPGROUPS.NET | Search | Post Question | Groups | Stream | About | Register

### morphing algorithms

• Email
• Follow

I was wondering how this is done:

That sure is slick.  Anybody know anything about
the algorithms?

I'm thinking also about those 'aging' programs -
where a youth gets morphed into his older self.
I have no idea how to tackle that, but I
suspect it's similar...

--
Rich

 0
Reply r_delaney2001 (66) 7/24/2008 9:19:29 AM

See related articles to this posting

RichD wrote:
> I was wondering how this is done:
>
>
> That sure is slick.  Anybody know anything about
> the algorithms?
>
> I'm thinking also about those 'aging' programs -
> where a youth gets morphed into his older self.
> I have no idea how to tackle that, but I
> suspect it's similar...
>
> --
> Rich
>

Basic concept: match pixels in two images by location, and for each pair
compute an average, that will be the midpoint in morphing. Repeat with
the midpoint and one image, then midpoint and the other. Calculate
midpoints of smaller and smaller intervals until you have enough
intermediates to produce the illusion of morphing when played back in
sequence. The same general procedure is used to create CGI animation, BTW.

For "aging" the image of a person, you start by using a series of
pictures that show actual aging. From these, you derive rules about
changes in proportions, roundness, skin texture, etc, and use those to
create an aging algorithm, which you test by applying it to the images
you started with. Eventually, after sufficient tweaking, you use these
algorithms to create aging programs. You can use the morphing algorithm
to create a morphing illusion, if you like.

NB that an aged image is at best a "pretty good guess", since factors
such as makeup, expression, facial hair etc are not known. But options
can be built into in the program to produce alternatives images.

HTH

--
wolf k.
 0

On Jul 24, 8:51=A0am, Wolf Kirchmeir <wolf...@sympatico.ca> wrote:
> RichD wrote:
> > I was wondering how this is done:
>
>
> > That sure is slick. =A0Anybody know anything about
> > the algorithms?
>
> > I'm thinking also about those 'aging' programs -
> > where a youth gets morphed into his older self.
> > I have no idea how to tackle that, but I
> > suspect it's similar...
>
> > --
> > Rich
>
> Basic concept: match pixels in two images by location, and for each pair
> compute an average, that will be the midpoint in morphing. Repeat with
> the midpoint and one image, then midpoint and the other. Calculate
> midpoints of smaller and smaller intervals until you have enough
> intermediates to produce the illusion of morphing when played back in
> sequence. The same general procedure is used to create CGI animation, BTW=
..
>
> For "aging" the image of a person, you start by using a series of
> pictures that show actual aging. From these, you derive rules about
> changes in proportions, roundness, skin texture, etc, and use those to
> create an aging algorithm, which you test by applying it to the images
> you started with. Eventually, after sufficient tweaking, you use these
> algorithms to create aging programs. You can use the morphing algorithm
> to create a morphing illusion, if you like.
>
> NB that an aged image is at best a "pretty good guess", since factors
> such as makeup, expression, facial hair etc are not known. But options
> can be built into in the program to produce alternatives images.
>
> HTH
>

And now for the fun part. Name the artists [if not the pictures and
the ladies themselves]. At least 5 Leonardos, 1 Botticelli, 1 Raphael,
1 Rubens, 1 Renoir, 1 Rembrandt, 1 Picasso. Probably a Klimt. Maybe a
Schiele. Then blank. First thing to go IS your memory. Ratz.

 0

On Jul 24, 11:19=A0am, RichD <r_delaney2...@yahoo.com> wrote:
> I was wondering how this is done:
>
>
> That sure is slick. =A0Anybody know anything about
> the algorithms?
>
> I'm thinking also about those 'aging' programs -
> where a youth gets morphed into his older self.
> I have no idea how to tackle that, but I
> suspect it's similar...
>
> --
> Rich

Hi,

it might be interesting for you to read this paper:
http://graphics.cs.cmu.edu/courses/15-463/2004_fall/www/Papers/beier-neely.=
pdf.
It is very old, but the core idea is always more or less the same. The
difference is usually how the correspondence is specified - e.g.,
grid, corresponding line segments, etc.

Jindra
 0

"feedbackdroid" <feedbackdroid@yahoo.com> wrote in message
On Jul 24, 8:51 am, Wolf Kirchmeir <wolf...@sympatico.ca> wrote:
> RichD wrote:
> > I was wondering how this is done:
>
>
> > That sure is slick. Anybody know anything about
> > the algorithms?
>
> > I'm thinking also about those 'aging' programs -
> > where a youth gets morphed into his older self.
> > I have no idea how to tackle that, but I
> > suspect it's similar...
>
> > --
> > Rich
>
> Basic concept: match pixels in two images by location, and for each pair
> compute an average, that will be the midpoint in morphing. Repeat with
> the midpoint and one image, then midpoint and the other. Calculate
> midpoints of smaller and smaller intervals until you have enough
> intermediates to produce the illusion of morphing when played back in
> sequence. The same general procedure is used to create CGI animation, BTW.
>
> For "aging" the image of a person, you start by using a series of
> pictures that show actual aging. From these, you derive rules about
> changes in proportions, roundness, skin texture, etc, and use those to
> create an aging algorithm, which you test by applying it to the images
> you started with. Eventually, after sufficient tweaking, you use these
> algorithms to create aging programs. You can use the morphing algorithm
> to create a morphing illusion, if you like.
>
> NB that an aged image is at best a "pretty good guess", since factors
> such as makeup, expression, facial hair etc are not known. But options
> can be built into in the program to produce alternatives images.

And now for the fun part. Name the artists [if not the pictures and
the ladies themselves]. At least 5 Leonardos, 1 Botticelli, 1 Raphael,
1 Rubens, 1 Renoir, 1 Rembrandt, 1 Picasso. Probably a Klimt. Maybe a
Schiele. Then blank. First thing to go IS your memory. Ratz.

-----

Second thing to go is your memory.  I don't remember the first thing.

 0

RichD  <r_delaney2001@yahoo.com> wrote:
>I was wondering how this is done:
>
>
>That sure is slick.  Anybody know anything about
>the algorithms?
>
>I'm thinking also about those 'aging' programs -
>where a youth gets morphed into his older self.
>I have no idea how to tackle that, but I
>suspect it's similar...
>
>--
>Rich
>

Question: where's the video of the very FIRST (popular, widely
viewed in the graphics community) one of those -- the one with
the (very) pretty girls getting morphed into, I maybe recall, boys?

It some wildish music, and the scenes went by pretty fast,
lots of different morphs -- all of (young) people.

Long time no see.

Thanks

David

 0

On Sat, 9 Aug 2008 07:34:50 +0000 (UTC), dkcombs@panix.com (David
Combs) wrote:

>RichD  <r_delaney2001@yahoo.com> wrote:
>>I was wondering how this is done:
>>
>>
>>That sure is slick.  Anybody know anything about
>>the algorithms?

A lot of those transitions look like some morph and some fading
between pictures.... Not ALL morphing.
Just an observation...

boB

>>
>>I'm thinking also about those 'aging' programs -
>>where a youth gets morphed into his older self.
>>I have no idea how to tackle that, but I
>>suspect it's similar...
>>
>>--
>>Rich
>>
>
>Question: where's the video of the very FIRST (popular, widely
>viewed in the graphics community) one of those -- the one with
>the (very) pretty girls getting morphed into, I maybe recall, boys?
>
>It some wildish music, and the scenes went by pretty fast,
>lots of different morphs -- all of (young) people.
>
>Long time no see.
>
>
>Thanks
>
>David
>
 0

6 Replies
87 Views

Similar Articles

12/8/2013 5:15:31 PM
[PageSpeed]

Similar Artilces:

Genetic Algorithms
I am busy writing a genetic algorithm using C++ but I need to interface it with LabVIEW, as I will be controlling a laser from LabVIEW and the genetic algotihm will make up part of the closed loop system. Firstly, does anyone know how I would do this? &nbsp; Secondly, is it possible to create a genetic algorithm in LabVIEW without the need for external code? Would anyone have an example of this if it has been done? &nbsp; Thanks &nbsp; Alan Homer There is a genetic algorithm called 'Differential Evolution'.&nbsp; I implemented it in Labview and it worked well for my pu

Digital Audio Mixing Algorithms?
Can anyone point me in the direction of some good technical literature on approaches one can take in developing digital audio mixing software? In particular, I'd like to know the most common and/or effective methods of avoiding clipping after addition. Thanks very much! In comp.dsp, "Alexander J. Oss" <alex@alexoss.net> wrote: >Can anyone point me in the direction of some good technical literature on >approaches one can take in developing digital audio mixing software? In >particular, I'd like to know the most common and/or effective methods of >avoid

Place and Route Algorithms
Hello everyone. Does anyone know where I can find information about the place and route algorithms used for FPGAs, and what kind of work has been done or is being done to accelerate these algorithms. Books and/or links to web-sites will be greatly appreciated. Regards, Marco. Marco, I am sure that you will not find anything beyond very basic tutorial information. These are the "crown jewels" of any FPGA company, and these jewels are well guarded, but also polished daily. The quality of these tools determines the success of our companies, and each of us wants to be at leats a step ahead of the other company. BTW, the continuous investment by companies like Xilinx and Altera (to name just the two biggest) is enormous, and it is unlikely that an individual engineer can provide significant improvements. Unless you are a genius and addressthe problem in a very unconventioanl way. Peter Alfke marco wrote: > Does anyone know where I can find information about the place and route > algorithms used for FPGAs, and what kind of work has been done or is > being done to accelerate these algorithms. http://groups.google.com/groups?q=place+route+algorithm+fpga Peter

gif/lzw algorithms and code
I've been looking for algorithms/code to render gif's from in-memory pixel rasters, and gif/rbtree from http://www.malcolmmclean.site11.com/www/datadensity/ seems among the best. Anybody used that, have comments or alternative/better recommendations? My interest mostly stems from forkosh.com/lineart.html whose C source currently uses http://shh.thathost.com/pub-unix/#gifsave and then system()'s imagemagick convert for animations. But I now need to render animated gif's internally, and modify somebody's gif code for that purpose (or develop it from scratch... Algorithms and = so I didn't add animations because they didn't do anything algorithmically interesting - it's just a case of bunging several images together into one GIF file with no attempt at cross-frame compression. But of course it would be nice to have the facility to handle such GIFs. -- Basic Algorithms - GIF, BMP and JPEG formats expalained http://www.malcolmmclean.site11.com/www Malcolm McLean <malcolm.mclean5@btinternet.com> wrote: > JohnF: >> >> But I now need to render animated gif's internally, and >> modify somebody's

image recognition algorithms

Jack Bresenham Algorithms
I am looking for a code implementation of scan converting an arc using the Jack Bresenham type algorithm. I already have the code for a full circle, but have been searching for the code to do part of a circle, i.e. by supplying the start and end points. Any help or pointers would be much appreciated k.rolland <k.rolland@ntlworld.com> wrote: > I am looking for a code implementation of scan converting an arc using the > Jack Bresenham type algorithm. I already have the code for a full circle, > but have been searching for the code to do part of a circle, i.e. by > supplying

Missing data and training algorithms?
I have to admit it first that I am new and naive in this field and want to learn more. When I review about training neural networks to deal with missing data. For example, when neural networks require a certain number of input data, sometimes during a training season, some input data may not be available. I am just curious. Not only technique that has been developed to deal with this issue (missing data) What will be the point to include the data set with some missing values for training ? Another question is if it would be easy to just create and train a new neural network. The input

CGAL 4.0 Released, Computational Geometry Algorithms Library
The CGAL Open Source Project is pleased to announce the release 4.0 of CGAL, the Computational Geometry Algorithms Library. CGAL 4.0 differs from version 3.x in licensing, and in functionality. We increased the major number of the CGAL version to '4' in order to reflect this license change. The license has been changed from LGPLv2.1 to LGPLv3+ (GNU Lesser General Public License) and from QPL (Q Public License v1.0) to GPLv3+ (GNU Public License), depending on each package. These license changes are not fundamental, that is, the licenses are similar in their spirit, and the change... for a complete list of changes. The CGAL project is a collaborative effort to develop a robust, easy-to-use, and efficient C++ software library of geometric data structures and algorithms, like - triangulations (2D constrained triangulations and Delaunay triangulations in 2D and 3D, periodic triangulations), - Voronoi diagrams (for 2D and 3D points, 2D additively weighted Voronoi diagrams, and segment Voronoi diagrams), - Boolean operations on polygons and polyhedra, - regularized Boolean operations on polygons with curved arcs - arrangements of curves, - mesh generation (2D, 3D

NTP algorithms to predict clock skew and/or jitter?
Are there NTP algorithms to predict clock skew given previous NTP clock updates? My clock runs about 5.8ms/min slow and I'd like to programmatically predict this so time drifts much less between NTP updates. I have time syncing to about 100 microseconds now, but I'd like to get it down to about 22 microseconds (1 audio sample at 44,100 Hz). Also, are there NTP algorithms to reduce the effects of jitter? I'm seeing about 50 microseconds of jitter and I was hoping to reduce the effects of it. For some background, I'm syncing time from a single server to 1-8 clients on a private network. The clients are embedded devices with limited capabilities (e.g. no floating point, limited memory, etc.) so I'm not able to use the full NTP 4 code. I've written my own implementation of SNTP 4 and a local clock code based on processor cycle counts to maintain a nanosecond counter with 60 slew adjustments/sec. At 6:30 PM -0700 2005-07-24, skillzero@gmail.com wrote: > Are there NTP algorithms to predict clock skew given previous NTP clock > updates? My clock runs about 5.8ms/min slow and I'd like to > programmatically predict this so time drifts much less

CGAL 3.3.1 Released, Computational Geometry Algorithms Library
The CGAL Open Source Project is pleased to announce the release 3.3.1 of CGAL, the Computational Geometry Algorithms Library. Version 3.3.1 is a bug-fix release for version 3.3. No new features have been added in 3.3.1. The following corrections have been made: General - Intel C++ 9 was wrongly recognized as unsupported by install_cgal. - Added autolink (for Visual C++) for the CGALImageIO and CGALPDB libraries. - Fixed bug in Memory_sizer when using more than 4GB of memory (64bit). Number Types - Fixed bug in FPU rounding mode macros (affected only the alpha architecture). - Fixed bug in MP_Float constructor from double for some particular values. Kernel - Fixed forgotten derivation in Circular_kernel_2::Has_on_2 Skin Surface Meshing - The new Skin Surface Meshing package had been forgotten in the list of changes and the release announcement of CGAL 3.3: This package allows to build a triangular mesh of a skin surface. Skin surfaces are used for modeling large molecules in biological computing. Arrangements - Fixed a bug in the Arrangement_2 package in dual arrangement representation for Boost graphs when reporting all halfedges of a face. - Fixed