(AIイラスト)controlNETv1.1・openpose_faceについて色々(stable diffusion)
こんにちは、こんばんは、キレネです。
今回はcontrolNETのv1.1で追加されたopenposeの顔・表情の読み込みについて、今のところ試して分かった事を纏めてます。
専門的な知識は無いのと、普段と文章の作り方が違うから試行錯誤してます。それでもよければよろしくお願いします
初めに、openpose_faceとは
「人の顔、もしくはリアル寄りの絵をcontrolNETが読み込んで、白い点を配置して表情を出力する」
controlNETv1.1についての記事だと、openpose_faceについて解説されてた内容は大体がここまででした。
ではこの白い点は何か、という所から
顔を読み取るランドマーク検出
自分が解釈した範囲での説明になりますが、カメラ等の機械が人の顔の輪郭やパーツに白い点を割り当てて検出し読み込む「キャプチャの読み取り技術の一種」です
・赤い線:頬から顎のラインを表す17個の点。顎先にある白い点を中心軸とし、左右それぞれに4個の点で下顎、もう4個の点で頬から耳に掛けての輪郭を読み取った計17個の点で構成
・紫の線:縦の点4個は鼻のスジ。横の点5個は鼻の先端から鼻の下に掛けての輪郭
・緑の線:目の輪郭、目つき、目の開き具合を表す左右6個の点。縦に広げると目の開き具合が強くなり、目尻の点は上げたり下げたりする事でツリ目・タレ目になる。
目を閉じると上の点2つと下の点2つが重なり点は4個になる
・黄色:眉毛をなぞった左右5個の点。
眉間に一番近い点と、次に続く点との角度の付け方で眉毛の形が出る。眉や眉間をツリ上げたりタレ下げたりする。
・青色:口、唇、口の開き方や輪郭。あいうえおの口角を表す
・オレンジ色:歯並び、もしくは口と口内の境界を指す上下3個の点。口を閉じると上下3個づつの点は重なり3個になる
※自分の認識なので、技術解説として誤りがあるかもしれません
ランドマークを作ってみる
自分は普段イラスト調や2Dがメインで、リアルフォト系や3Dはやってないので「Preprocessor」を使った表情の読み込みは使いません
なのでココではPreprocessorのopenpose_faceの画像読み込みは飛ばして、モデル参照の「openpose」に読み込ませるランドマークと白い点を自分で何処まで作れるかやってみます。
まず何かしらでopenposeを読み込ませて生成します。
生成した画像を下敷きにして白い点を付け、口を開いたりと変化を付けてみます
口は認識してますが、眉毛は自分の組み方が失敗してますね。更に調整と変化を加えてみます
openpose棒人間はそのままでも、正面顔から少し横を向いた顔になりました。
こうした僅かな顔の向いてる差ってだいぶ絵の印象が変わるので、クオリティを詰めるには結構大事かもしれませんね。
controlNETのinpaintも併せる事で、より的確な顔の修正も出来ます
棒人間を消して白い点だけにした場合
「ランドマークだけでも機能するのかな?」と疑問に思い検証
眉毛と口は位置がズレてて認識されてませんが、おおよそは反映されるようです。
横顔はどうなのか
プロンプトに((profile))と入れて横顔っぽいランドマークを作成。
白い点の数を減らしてみる
「少ないランドマークでどの程度なら認識するのか」と気になって試してみました。
顔や体の向きのプロンプトを消して、鼻と顎の輪郭だけを横顔風にします
ビックリしましたね。
左の画像に真ん中のランドマークを読み込んで横顔へと変化させてるの、予想より読み取り能力が高かったです。
点ですらない場合
「点ではなく、白い線だとどうかな?」と繋げてみます
「これも顔として読み込もうとしてる!?」
controlNETの凄さを改めて思い知りました
まとめ
口は線だとうまくいきませんでしたが、それ以外は線でもこれほどに読み込んでくれてます
controlNETの他の機能と比べると「openpose人形で十分」「印象が薄い」「後続の新機能に埋もれてる」と思ってましたが、使ってみるとパワーと可能性を感じましたね。
普段は衣装・衣服といったジャンル毎のプロンプト纏めを投稿してます
たまに今回のような記事も投稿するかもしれません。
この記事が良かったと感じた・お役に立ちましたらスキやコメント、SNSでの反応や拡散お願いします。記事を作る励みになります。
それでは、良きAIイラストライフを。