[Home]-[あそびのコラム]-[012]

顔を動かす

 注:このページのデータは、アニメーションGIFで提供しています。アニメーションGIF が見られない環境の方、申し訳ありません。

 何はともあれまずこちらの画像をご覧ください。右側の画像が「動いている」のがわかりますか?  (ご覧いただいているブラウザがアニメーションの表示に対応していることを前提としています。)

人形:オリジナル画像     人形:立体化データ

 右側の動いている画像、これは人形の向きやカメラの位置を変えて撮った写真ではありません。これは、 face checkerというソフトウェアを使って、左側の画像から「顔なんだから本当はこういうふうに膨らんでいるに違いない」 という3次元モデルを作って、その3次元モデルを計算機の中で回して作ったものです。

 face checker は、ここからダウンロードさせていただきました。 作者は金子勇さん(ホームページはこちら)という方です。

 このソフトウェアがどのような処理をしているのかを表示してみたのが下の図です。face checker では、まず 目の位置・顔の幅・顔の輪郭・鼻の位置を、ソフトウェアの指示に従ってマウスで順番に指定します(左の図)。 すると、計算機の内部で、実際の顔(頭部)の3次元形状を右の図の赤い網目のようにモデル化します。

人形:パラメータ     人形:メッシュモデル

 一旦3次元モデルが出来てしまえば、それを計算機の中で動かしたときの画像を生成することができます。 このソフトではキーボードの矢印キーなどで画像を動かしてみることができます。このときにはこの赤い網目の 1マス1マスの部分の見え方が動きに合わせて変わります。その見え方をモデルに従って計算し、それにあわせて 画像を変形して表示するという仕掛けだと思います。

 このソフトを使うには、いくつかノウハウがあります。

  • 顔画像は正面から撮影したもので、傾いていないものを使う
  • あらかじめ画像の色数を減らしておくほうがよさそう
  •  傾いているものは画像を任意角度で回転させるソフトウェア(たとえばフリーウェアのすばらしいソフト、 庭師倶楽部のImageFilter など)で回転できますが、 正面でないとモデル化したときちょっと見苦しいです。この例の人形も、ちょっと横を向いています。

     では人間以外の生き物の顔だったらどうでしょうか? 3次元モデルは同じものを使いますから若干無理がありますが、 それでもこの程度の画像はつくることができます。(この画像の枠が傾いているのは、もともとの写真の猫の顔が傾いていたためです。)

     

    ねこ:オリジナル画像     ねこ:立体化データ1 ねこ:立体化データ2

     ちなみにこのアニメーションGIFは、生成した画像を1枚ずつ取り込んで手作業で顔部分を切り出して作っています。

     これ、プライバシーや肖像権の問題で人形や猫の画像で紹介していますが、身近な人の写真でやってみると とても面白いです。また、このソフトはここで紹介しなかったような変形や、 画像から年齢の推定などの機能も持っています。ぜひお試しください。お勧めです。


    [Home]-[あそびのコラム]-[012]
    mailto:hhase@po10.lcv.ne.jp
    2001.04.02 hhase