こんばんは、スタジオ真榊です。今回の記事は、AIが苦手な「手だけ」の生成を掘り下げた特集です。こちらの投稿をご覧いただくと早いのですが、このように自分の手をさっとスマホなどで撮影し、その画角とポーズのままで線画やAIイラストに落とし込むやり方をいろいろと検証しました。
漫画やアニメ、映画を見ていると、「手だけが映るシーン」というのは意外とよく出てくるものです。手には手の表情や個性があり、登場人物の悩みや決意、愛情、来し方などを手の演技だけで見せることができます。一方、人間の手の生成は画像生成AIのもっとも苦手な分野として知られてきたのも周知の事実。単純に生成しようとしても、そうそう思い通りの「表情」にはなりません。
ただでさえ、人気のイラスト系AIモデルは「1girl」の生成に特化して学習しているため、手だけの生成をしようとすると破綻しがち。そこで、最も思い通りになる自分の手を「入力デバイス」にしてしまい、どうするとイメージ通りの手を生成できるか試しました。
1.t2i生成の基本
2.自分の手を写真に取ろう
・線画化したいときは?
3.複雑なポーズでも再現できる?
4.より「読み取りやすい手」にする
5.小道具を使った生成はできる?
6.【今後の課題】異性の手にするには?
・Grok3にやってもらうと?
・posemaniacsの3Dハンドモデル
・Clipstudioの3Dハンドモデル
7.イラスト活用の実例
終わりに
さて、今回の記事はControlnetを使って思い通りのカットを(手で描くよりも手っ取り早く)生成するのが目的ですが、Controlnetを使わないでも注文通りの手を生成できるのなら、その方がいいですよね。まずはプロンプトだけで、どれくらいイメージ通りの手が生成できるかから見ていきます。お使いのモデルで試してみてください。
t2iで「手のみ」のカットを出すプロンプトは、素直に組むと下図のような感じになるでしょうか。
PP:hand focus, pov hand, solo,out of frame, (white background, simple background:1.3) +クォリティタグ
これに「握りこぶし(clenched hand)」や「平手(open hand)」といった手のポーズに関するタグを加えて使うのが一般的かと思います。「solo」を入れるのは、これがないと2人分の手になることが多かったため。また、「1girl」や「1boy」を入れると、どうしても手のほかに何かを描くバイアスが出てしまって、手の本数が増えたり、顔が映り込んだりしてしまいますので、避けた方が無難かと思います。
もちろんモデルによってきれいに出せるかどうかはかなり差がありますが、illustrious系モデルではこのような感じになりました。
「うーん?」という感じですね。これに手の形状(ポーズ)のタグを加えて生成するとこのようになります。
seed値にもよるでしょうが、このように指の数の破綻がかなり多いですね。
これを正すために、こちらの手修正LoRAを強度1で適用してみますが…。
このように、大した補正力は感じられませんでした。ただの平手のように簡単なポーズであれば、ある程度ガチャをすることでt2iのみでも生成できますが、ガチャに時間がかかってしまうのでは「手っ取り早く」とは言えませんね。
そこで、さっそく今回の主題であるcontrolnetを使った手法を考えてみます。
controlnetを使った手の生成にもさまざまなやり方がありますが、「思い通りに」というのであればもう、自分の手を撮影するのが最も手っ取り早いという結論に至りました。余計な情報を入れたくないので、白い背景で適当に自分の手を撮影し、PCに送ります。私はLINEのKeepメモ機能を使って送ってしまうのが早かったのですが、Googleフォトやsnapdropなど何の機能を使ってもOKです。
これは、自分の二次創作で出てくる予定の「飛んできたボールをとっさに素手でキャッチするシーン」のために撮影した手です。影の映り込みやパースなどは特に気にせず、室内光で撮りました。ちょうど野球のボールを握るようなポーズなので、分かりにくいですがかなり手前に親指が来ています。
これをPC内に取り込み、controlnet画面に入力します。輪郭はそのままに、別スタイルで描いてほしいわけですから、最初に「anytest v4」を試してみました。これは、入力画像の線画や濃淡を強く保持しつつ、それ以外の色合いやタッチなどを大胆に変更することができる万能CNモデルです。(対応プリプロセッサはnone=なし)
anytestv3、v4の入手法やcontrolnetの基本操作が分からない方は、こちらの記事をご参照ください。

【2024.10.06更新】スケッチ読み取りCN「XDoG-sketch」を追加しました。 こんにちは、スタジオ真榊です。こちらの記事は、SDXL向けControlnetの基本的知識や導入方法、おすすめのモデル、実際の使い方を紹介する大型特集です。ラフを線画化したり、線画を着色してもらったり、写真をイラスト風に変えたり、特定の部位だ...
プロンプトは先ほど紹介したのと全く同じ「hand focus, pov hand, solo,out of frame, (white background, simple background:1.3) +クォリティタグ」です。普段私が使っているモデルで4枚生成したのがこちら。
このように、上の段の2枚には存在しない「別の手」が生じてしまいました。おそらくこれは、入力した私の手の写真に影が映っていたため、anytest v4がその線を忠実に拾ってしまって「そこに何かがある」と勘違いしてしまったのだと思われます。
一方、anytest v3だとこのように、影にひっぱられずに写真通りの生成ができました。スタイルチェンジ用のv4よりも、v3のほうが線画を守る力が強い(よりLineartに近い動作をする)ので、こちらの方が良い結果となったようです。
上の例では全ステップにcontrolnetを利かせていますが、もう少し自然にしたい場合は「Ending Control Step」を0.7くらいまでにとどめると良いようです。多少カラーがイラスト寄り(使用モデルの本来の画風)に近くなった…ような気もしますが、微差ですのでこれは好みですね。
これでもリアルすぎる場合は「flat color」タグを加えるとこのようになります。ごくシンプルになりました。
ちなみに、できたものをさらにcopainterの「ペン入れ」機能に放り込むと、このように入り抜きのある線を拾うことができます。白黒漫画に使う方はこのようにした方が使いやすいかもしれません。(綺麗に白黒線画にならず、グレスケのグラデーションがついてくることが多いです)
「そんな面倒なことをしなくても、最初に撮った写真をそのままcopainterに放り込めばできるんじゃないの?」と思ったので、実際に試してみました。いまのところ、そうはうまくいかないようでしたね。これはタグを打ち込む必要がないペン入れモードを使用しましたが、他のモードだとできるかもしれません。
・線画化したいときは?
最初から白黒の線画で生成したい場合は、写真を入力してanytestで生成するときに「lineart」や「monochrome」タグ、線画化LoRAなどを併用するのが手っ取り早いです。このように、かなり正確に線画化することができました。
上の画像は下記のタグと月須和・那々さんのlineartLoRAの11番を使っています。
PP:hand focus, pov hands, solo, out of frame, masterpiece, best quality, newest, absurdres, highres,, (white background, simple background:1.3),monochrome,lineart,
さて、さきほどの手はうまく生成で再現できましたが、下図のようないわく言い難い手の形状や、何かを握っている手なども再現できるでしょうか。わざわざ手だけの画像を作りたいのは、漫画などで演技をしてもらいたいからなので、どんな形状でも問題なく生成できなければ実用性に欠けることになってしまいます。
まずは線画で試してみます。すぐ上のやり方と全く同じで、この画像をanytest v3に掛けて「hand focus, pov hands, solo, out of frame, masterpiece, best quality, newest, absurdres, highres,, (white background, simple background:1.3),monochrome,lineart, 」で生成しただけです。ending control stepは「0.7」です。
こちらがその生成結果。チェリーピックなし、一発生成でなんなく4枚とも成功しました。
今度は、このようなさらに難しい手の形状ではどうでしょうか。こんなの漫画で出てくるわけありませんが、まあ実験ということで…。
これは、anytest v3ではさすがにうまくいきませんでした。やや惜しいものもありますが、親指のラインが隠されてしまっているので、どこの線がどうつながるのかAIも理解できていない感じがします。
こういうときは、noobAIのlineartモデル「noobaiXL lineart anime」のほうが線を忠実に守ってくれるかな、と思い試してみましたが…
このようにリアルめなタッチになってしまうのが問題点です。立体的に指が交差するような手だと、なかなかむずかしそうに見えますね。
今度はこちらの恋人つなぎです。自分と手をつないで写真を撮るなんて初めて…。
こちらが生成結果。プロンプトは「hand focus, interlocked fingers, out of frame」で、anytest v3に掛けました。
こちらは完全に成功とも、完全に失敗とも言いにくい微妙な感じになりました。写真がしっかり輪郭・陰影をとらえていればもう少し正確に生成できる気がしますが、加筆はやはり必須かなと思います。
ところで、さきほどの写真はいずれも室内光で撮影したため、背景の白壁に影が落ちてしまい、anytestで読み取りづらい写真になっていました。影ができた画像を読み込ませると、「そこに何か物体があるんだな」とanytestは誤認しがちです。そこで、スマートフォンで撮影した段階で背景を透過してしまうことで、より読み取りやすい画像にする方法を思いつきました。
例えばiphoneの機能ですと、撮影した写真を写真アプリ上で長押しタップすることで、このように自動切り取り機能が発動します。
すぐに離すと、このように切り取りたい部分が光ってメニューが表示されます。ちょっと表示が分かりにくいのですが「共有▶画像を保存」で背景を削除した画像を別画像として端末に保存することができます。
これを使えば、このように背景削除した手の画像を簡単に得ることができました。ひと手間増えますが、ガチャの回数をその分減らすことができますので、覚えておくと有用かなと思います。
例えばこちらの画像は、カメラアプリの露出設定を変えて影を消そうとしたものを入力した例ですが、完全には影を消し切れていません。左の写真では中指の影が薬指の位置にあるため、生成結果の左上では誤って薬指が2本分生成されるミスが起きています。右下の生成例では、手首の影の部分に別の手が生成されているのが分かります。
そこで、さきほど「ひと手間」を加えた背景削除画像を代わりに使うとこのようになります。4枚とも誤生成が防げているのが分かるかと思います。
ただ、この手法にも難点が一つ。iphoneの「ロングタップ切り抜き▶保存」だと、キャンバスサイズがその切り取った部分とちょうどぴったりになってしまうんですよね。上の画像を見ると、小指と中指の先がちょうどぴったりキャンバスの端に触れているのが分かります。
そのため、生成キャンバスサイズの比率を入力画像と全く同じにしないと、上の例のように画像の左右か上下が一部見切れてしまうのです。もうひと手間かけるのは嫌なのですが、これを避けるためには、取り込んだ切り抜き画像のキャンバスサイズを画像編集ソフトなどで少し広げてあげる必要があります。(イラスト活用実例のところで具体的に紹介します)
さきほど「飛んできたボールをとっさにキャッチする手」を生成したわけですが、そこにボールを握らせるには、インペイントをするか、自分で加筆する必要があり面倒です。NovelAIv3(この記事の投稿日にいよいよv4が公開されました)でボールをインペイントするとこのようになり、「しっかり握っている感」やボールの縮尺を出すのはなかなか難しいように感じました。
それなら、最初からボールを握った手を撮影してしまえば楽なのではないか、と考え、実験をしてみました。
こちらが写真例。本物の硬球ではなく、家にあったぶにぶにしたおもちゃです。さきほどの方法で背景を削除してあります。
これをAnytestに入力した上で、プロンプトに「holding ball,baseball_(object) 」を加えて生成してみました。
こちらが生成結果。ボール描写がおかしいのは、単純にモデルがきちんと学習できていないためなようですが、インペイントよりもしっかりと「握っている感」を出すことができました。
こちらは白黒線画生成。問題なくできていますね。
ちなみに、上の手順でできた線画をanytestの入力画像にすると、写真を入力したときよりはややイラストチックにしやすいようです。これも手間が増えるやり方ですが、得られたものから二次的に派生してイメージに近づけていくと、より思ったとおりの生成結果に寄せられると思います。
一番難しいのは、やっぱり写真と異なる性別の手を生成すること。つまりおっさんの手を読み込ませて「女の子の手」にすることでした。女性ユーザーの皆様は存分に自分の手を撮影いただければよいと思うのですが、私の場合奥さんを叩き起こしてボール握らせるわけにいきませんしね…。
逆に女性ユーザーの場合は男性キャラクターの手を生成したいときに困るわけで、そこをAIの力でなんとかしてほしいところですが、変容度を強めると正確性が下がる法則で、なかなかうまくはいきません。さきほども触れましたが、「1girl」を入れると手が増えたり余計なオブジェクトが描かれたりする不具合が生じるため、NG。「female hand」や「fingernails」あたりが効果がありそうですが、やはり大きく線画は動かせません。
現状、奥さんを叩き起こす以外で一番手っ取り早そうなのは、今回もClipstudioの神機能「ゆがみツール」でした。こちらは左のがっしりした男性の手(私)を、ゆがみツール(主に「縮小」タイプと「進行方向に向かって右(or左)」タイプ)を使って細く修正したものです。
インチキではありますが、画像生成AIと取っ組み合うより楽にイメージに近づけることができました。ただ、これは男性の手を細くしただけなので、やはり「女性の手」と言い張るには少し厳しい気がしますね。
・Grok3にやってもらうと?
ちなみに、Grok3の力を借りてFlux生成で女性らしい手を生成してもらうやり方も試しましたが、現状この程度の生成しかできませんでした。
粘れば思った通りの画角に近いものができなくはなさそうですが、「自在に」というには運任せすぎて、これも時間がどんどん吸われていきそうなオーラがあります。また、イラストで描かれるの女性の手って、かなりマンガ的に誇張されていますよね。こんな感じに。
現実の女性の手をそのまま変換すれば、イラスト調の女の子の手になるかというと必ずしもそうではないということです。
・「posemaniacs」の3Dハンドモデル
自分の手を撮影して女性らしい手に変換するにはどうしたらいいか。いろいろ試してみましたが、結論から言うと、今一つ芳しい方法は見つかっていません。まず思いついた方法として、以前こちらの記事で紹介した「posemaniacs」を使った手法がありました。

====================================== 2023/08/11:記事後段に新項目「さらに正確に指を再現する」を追加しました。 ====================================== こんばんは、スタジオ真榊です。以前からこのFANBOXでもたびたび紹介してき...
操作方法は簡単なので上の記事をご参照いただくとして、このような34種類(記事執筆時)のハンドモデルを360度動かすことができます。
こちらが生成比較図。色合いによってなんとか女性らしく寄せてもらえていますが、基本的に線画は動きませんので、誇張された「女性の手」らしくはなりませんでした。※PPは「hand focus, pov hands,fingernails, female_hand,solo, out of frame+クォリティタグ」
そもそもこのハンドモデル、私の手とそんなに形状が変わらないんですよね(笑)
・Clipstudioの3Dハンドモデル
次に思いついたのが、こちらの記事で紹介したクリスタのハンドモデルを使う手法です。

こんにちは、スタジオ真榊です。本日はAIイラスト最大の難関であり、これまでこのFANBOXでも何度も特集してきた「手」の描写に関する検証記事をお届けします。 まずはこちらのカス・タイムラプスをご覧ください。 このように、素材集やClipstudio用のアセットとして市販・配布されている「手だけのイラスト」をそのまま...
こっちがアセットで配布されている女性用ハンドモデルの一例。うまく使いこなすと、女性らしい見た目手を好きな角度で表示させることができます。
ただ、Clipstudio上で自分の手のように完璧に演技を付けるのは、相当慣れないと難しいのが正直なところです。PCカメラに映した自分の手をトレースしてくれる「ハンドスキャナー」機能もありますが、起動までの面倒くささを考えるとそこまで快適・正確なものではないので、"こういうのもある"程度にとらえておくのが良いと思います。
例えば、このハンドモデルで先ほどのような「恋人つなぎ」を作るのは非常に大変ですよね。ハンドモデルを二つ召喚して、指一本一本に曲げる角度を設定しなくてはなりません。
最後に実際のワークフローです。今回紹介した手法を使って、こちらを振り向こうとしたミナちゃんのほほを「ぷにっ」としているイラストを作りたいと思います。自撮りした手を、背景を消した状態でPCに送り、このように背景がない状態で保存しました。実際にはiphoneで切り抜いたときに余白がなくなってしまっていますので、Clipstudioの「キャンバスサイズを変更」でこのように余白を広げています。
生成結果がこちら。「hand focus, index finger raised,solo,pov hand, out of frame」で生成しました。
この画像を使って「頬をぷにっとする絵」を出す手法は3つ思いつきます。一つは、この画像をanytestで入力して、プロンプトで無理やり余白部分にミナちゃんの顔を描くやり方。もう一つは、手の部分以外をインペイントで塗りつぶすやり方。3つめは、「手は手」「ミナちゃんはミナちゃん」で別々に生成して、ちょうどよい感じに合成するやり方です。
まずは最初のやり方でやってみます。さきほどの画像だと手のサイズが大きすぎるので、このようにちょうどいい位置に縮小して置きます。(わかりやすいよう背景色を少し変えていますが、実際は選択削除してしまったほうがいいです)
プロンプトは適当ですが、太字にしたところが「指が頬に触れる」のタグです。「pout」(ほほをふくらませる)を併用してもよいでしょう。「sunken cheeks」はあまりうまくいきませんでした。
PP:1girl, angry,glaring,finger_to_another's_cheek, looking at viewer, smile, sidelocks,(red-framed eyewear,semi-rimless eyewear:1.2),blue eyes,white pupils,school uniform,serafuku,hair between eyes,sailor_collar,ponytail,short sleeves,shiny skin,black hair,white bow,red neckerchief, (white background, simple background:1.3)
しかし、このような感じで位置がなかなか合いません。
そこで、三つ目に書いた「別々に生成」をやってみます。さきほどの手のレイヤーとこちらを振り返るミナちゃんの画像を単に重ねただけです。これなら位置決めが簡単ですね。
頬を「ぷにっ」としている感じがないので、このようにもう一度anytest v3に掛けます。ending control stepを4割ほどにして…
このように、「ぷに」ができました。口の端がふくらんで見えるのは「pout」(不満そうに頬をふくらませる)の効果です。単純なimage2imageでも同じようにできるはずですが、あまり変容しすぎても面白くないですからね。
ただ、作例としてはこちらの方が面白いかもしれません。アイデア次第でいろいろ面白いことができそうですね。
今回紹介した自分の手を撮影する方法は、思った通りの角度・表情の手をミリ単位で即座につけられるのがポイントですが、形状が異なる異性の手などを再現するのはやや難しいですし、そのために3Dハンドを指一本ずつドラッグして演技をつけるとなると相当手間が掛かってしまいます。とはいえ、IPAdapterなどの参照機能や「女の子の手」だけを学習させたLoRA、相当進歩してくるであろう明日公開のNovelAIv4などを使うことで、この壁もさほどかからずに超えられてしまうような気もしますね。
最近は相変わらず二次創作漫画を作っているのですが、人間がバストアップで演技しているコマだけではどうしても画面が持たず、いわゆる「捨てゴマ」や「アップゴマ」を使う技術が足りないことを痛感します。プロの漫画を見ると、本当に「天井だけが映っているコマ」「足元だけが映っているコマ」「手だけが映っているコマ」を縦横無尽に使って、読み進めるためのリズムを作り出しているんですよね。
思えば昔(といっても1年ほど前)、フリーレンのアウラちゃんの二次創作漫画を作ったとき、地面に落ちている剣を握る手のアップを生成するのが本当に難しくて断念したのですが、今回の手法を使えばかなりイメージに近いものができる気がします。しかしつくづく、この1年でできるようになったことのほとんどはanytestのお陰ではないか?と思えるほど万能なcontrolnetですね…。
できるだけ少ない工程で女の子の手らしくする手法や、今回の手法で作った手をキャラクターの全身とつなげる手法などについては、今後も引き続き検証していきたいと思っています。
それでは本日はこのへんで。スタジオ真榊でした。
なるみや
2025-03-01 08:30:15 +0000 UTC