生成AIでどこまでいけるのか研究リターンズ

前回から年単位で間が空いた。 ニュース上のAIは追っていたが身辺が忙しく生成AIから離れていた。 その間に状況が様変わりしていたので現行最新の生成AIが集まるComfyUIを導入し暫く弄って居た。 なるほどこれは面白い。 ノードベースで繋ぐプログラム…さながらpython界のCFみたいなものだった 慣れるまでは大変だが慣れてくると色々と構築したくなるというもの。 例によってお題はゲーム用アニメーションデータだ 最近は動画生成AIもあるのでそれを使ってスプライトアニメーションも作ってみたりしたが ゲーム素材として見るとやはり今一つの出来になってしまう。 細部デザインの破綻は目をつぶったとしても中割コマの残像化など対処できない部分がどうしても出るのだ そもそも考えてみれば学習元の映像自体、動きのある物はブレて記録されているのだからブレているのが正解だ… 正解を再現してくれているんだからこれはもうどうしようもないのだ そこで今回考えたのはSpineだ 検出AIを組み合わせればその素材が上手く作れるのではないかという研究である (容量削減に破綻も無くなる一石二鳥) 問題はSpine素材を作り上げるまでの労力をどれだけ削減できるかである 今回主に使うのはPose Landmarkerとセグメンテーション検出 https://ai.google.dev/edge/mediapipe/solutions/vision/pose_landmarker https://ai.google.dev/edge/mediapipe/solutions/vision/image_segmenter Pose Landmarkerによって関節が検出できるというAIソリューションで これの検出を画像に適用するとこんな感じに検出される この時点で既にボーン情報が得られたと見ることが出来る (驚くべきは裏側にある構造の推測があり、映っていない左腕の情報まである) 適当に動画化AIにアクションさせて検知 …お判りいただけただろうか。 座標差分を見れば既にアニメーションキーフレームが完成していることに!
次に素材の切り出し 画像からパーツを切り出すだけだが、これは実に労力が掛かる。 ある程度はやむなしだが全部切り出すのはとても大変だ とにかくそこをどうにかしたい! プロトタイプとしてセグメンテーション判別とボーンの階層構造をjson出力するComfyUIワークフローを組んだ (残念ながらmediapipeによるセグメンテーション検出は実写学習モデルの為アニメ系には使えず) 指定範囲を組んでSAMによる検出をUI化して繋ぎ込み、ボーン位置と連動させれば 必要な画像パーツのセグメント検出で自動的に切り抜くという代物だ…しかしこれでもノイズは混ざる 位置計算を挟みSpineの構成情報となるjsonを構築 最後はアレコレ手直し そしてプロトタイプ う〜ん?