つくるって楽しい

主にpythonとか。画像処理とか。

輪郭を変えて顔を太らせる、痩せさせる

tukurutanoshi.hateblo.jp

と同じモチベーションで輪郭を変えてみました。太ります。痩せます。

f:id:mikekochang:20190301121313j:plain

Fig1. 左上:元画像、左下:太り、右下:痩せ

顔特徴点の抽出

顔パーツを選択して置換する - つくるって楽しい、と同じです。

輪郭の内側/外側に三角形を作る

顔の輪郭の特徴点とその近くの特徴点を三角形で結びます。輪郭の外側にも適当に点を配置し三角形を作ります。
f:id:mikekochang:20190301121420j:plain
Fig2. 三角形の配置

輪郭点の移動と変形

輪郭点を移動させます。ここでは顔の外側方向にに5pixcelとしました。三角形ごとに移動前後から対応するAffine変換を求めて変形させます。
f:id:mikekochang:20190301124942j:plain
Fig3. 左:移動前後の特徴点(青:移動前、赤移動後)、右:変形結果