前回に続きBlenderで読み込んだ初音ミクのMMDモデルを使って、マンガキャラクターの顔パーツ検出用学習データの生成を試みる。
前回は、トゥーンレンダリングを使用して3Dモデルからマンガ風の画像を生成した。
今回は、学習データのバリエーションを増やすため、3Dモデルの顔の向きを変えることを試みる。
Blenderで顔の向きを変えるには、ボーンを操作してポーズを付ける。
ボーンの操作
顔の向きを変えるため、首のボーンを回転させる。
デフォルトレイアウトの画面右上のOutliner領域から
Scene→初音ミク→初音ミク_arm→Pose→センター→上半身→首
をクリックする。
TransformのRotation Modeを「XYZ Euler」に変更し、RotationのYの値を「30°」に設定する。
Pythonのコードでは以下のように記述する。
bpy.data.objects['初音ミク_arm'].pose.bones['首'].rotation_mode = 'XYZ' bpy.data.objects['初音ミク_arm'].pose.bones['首'].rotation_euler.y = radians(30)
レンダリングを行うと以下のようになる。
顔の向きを変えることができた。
同様の方法で、上下を含めて顔の向きをランダムに変更することで、学習データを生成できる。
次回は、3Dモデル上の顔のランドマーク位置からスクリーン上での座標を計算で求める予定。