LamaCleanerの導入と使用法(&エラー対処)
はじめに
LamaCleaner とは、A1111WebUIとはまた別のツールでして、イラストの修正を楽に行えます。
Photoshopをご存じの方は、「コンテンツに応じた塗りつぶし」に近い機能であると説明されれば、おおよそ想像ができるかと思います。
WebUI経験者の方に説明するなら、邪魔な部分を消すことに特化したInpaintのようなツールと想像してもらえれば良いでしょう。
以前も話題になったのですが、私はPhotoshopを持っているためスルーしてしまっていたので、今回の再燃を機に導入してみました。
どうやら消すだけじゃなく、「要素を減らす」という使い方ができそうなので、photoshopとはまた挙動が違うのだな、と知れたからです。
今回話題となったツイートはこちら。
るぺったんさんもnoteでご紹介してくださってまして、とても分かりやすいのでこちらもお勧めさせてください。
・インストール方法
それでは、私も実際に導入から解説を進めてみたいと思います。
正直、Zuntanさんや、るぺったんさんの記事の方法でインストールできれば一番簡単だったのですが、私の環境ではエラーが出てしまって起動までこぎつけることができませんでした。
また、公式が配布している Windows 1 click installer は$5.00ですので、課金まではしたくないなぁという方も多いかと思います。
なので私の記事では多少面倒ではありますが、pip installコマンドを使って自分で導入する方法を手トリ足トリ書き残しておこうと思います。
LamaCleaner の最低限必要な導入環境として、Python と Git は必須となります。
ローカルでWebUIをご使用の方は既に導入済みとは思いますので、その場合はスキップしてください。
1⃣ : Python 3.10.6
2⃣ : Git
今回はいつものように、私はDドライブ直下に LamaCleaner というフォルダを作成し、その中にインストールをしていくことにします。
まず、そのフォルダを開いてください。
アドレスバーをクリックしましょう。
そこに「 cmd 」とだけ打ち込んでエンターします。
無事、インストールフォルダの場所でコマンドプロンプトを起動することができました。
では、以下のコマンドをコピペして打ち込んでください。
python -m venv venv
数秒待ったら、このようになりました。
実はこの際、LamaCleaner フォルダの中に venv というフォルダが作成されており、その中にも色々ファイルが作成されています。
venv とは Python での仮想環境を作る事を指します。
Stable Diffusion WebUI でも同様のことをしてツールを仮想環境で動作させているので、似たようなことをしようとしているわけですね。
次に、先程作った venv という仮想環境を有効化します。
以下のコマンドをコピペしてください。
.\venv\scripts\activate.bat
それでは、下記のコマンドを入力して Lama Cleaner を導入します。
pip install lama-cleaner
すると、今までとは打って変わって、大量の文章と同時にファイルのダウンロードなどが行われていきます。
最終的にはこんな感じで止まりました。
Lama Cleaner のインストールが完了したら下記のコマンドを入力してLama Cleanerを起動します。
lama-cleaner --model=lama --device=cpu --port=8080
上手くいけばコマンドプロンプト内に URL が表示され、それをCtrlキーを押しながらクリックすることで、Webブラウザ上でLama Cleanerが立ち上がります。
ですが、私の場合はそうではありませんでした。
エラー:big-lama.ptの読み込みに失敗した場合の対処法
私が遭遇したエラーはこのようなものになっています。
このエラーメッセージは、Lama Cleaner が指定されたパスにあるモデルファイル( big-lama.pt )をロードしようとしたが、そのパスにファイルが存在しなかったため、ロードに失敗したことを示しています。
しかし、エラーメッセージで書かれた場所を確認しに行ってみますと、ちゃんとあるんですよね、big-lama.pt 。
ちゃんと指定の場所に存在しているのに読めていないということのようです。
既に公式フォーラムのような場所にエラーの報告は上がっていまして、対処法も書かれていましたのでこちらで解説しておきます。
公式が言うに、おそらく権限の問題だろうから、モデルの場所を引数で別のところに指定してあげて。ということです。
が、私はプログラム関係はさっぱりなので、引数が何なのかもわからないし、そもそもそのコマンドをどう入れればいいのかわかりませんでした。
Chat GPT ちゃんに説明を求めたところ、以下のような回答。
どうやら先ほどのコマンドプロンプトの続きのまま、以下のような文章を打ち込めば良いそうです。
--model=lama --device=cpu --port=8080 --model-dir=ここに任意のフォルダアドレス
こちらは、D:\LamaCleanerフォルダにモデルをダウンロードして、そこから読み込むように指示しているようです。 この場所は任意でお好きなフォルダのアドレスをコピペしてください。
打ち込むと改めてモデルのダウンロードが始まり、最後の行に起動用のURLが示されました。
URL部分をCTRL+クリックして、ブラウザで Lama Cleaner を無事立ち上げることに成功しました。
ちなみに、「はじめに」の項でご紹介した Zuntanさんや、るぺったんさんの記事 の方法で導入した際も、全く同じエラーでダメだったんですが、エラーメッセージが一瞬出ただけでコマンドプロンプトが即落ちする為、原因がわかりずらかったので、今回のような回りくどい導入方法をとりました。
エラーの対処法がわからず諦めかけていた誰かの助けになれば幸いです。
・次回からの起動用ファイルを作成
さて、実際の使用法に入る前に、次回からどうやって LamaCleaner を起動すればいいの?という部分を解消しておきましょう。
今回はファイルを作成してダウンロードできるようにしておきました。
ファイル名は start_lama.bat です。
インストールに問題が無かった方と、インストールの際に先ほどのエラーが出た方用にそれぞれ用意しました。
インストールが問題なかった方
エラーのため、モデルを別の場所にインストールし方
ファイルの中身を編集したい場合は、ファイルを右クリックして「その他のオプションを表示」→「編集」から行うことができます。
内容が変更できたら、上書き保存して使っていってください。
以後、このファイルをダブルクリックするだけで LamaCleaner を起動できるようになります。
エラー:「PermissionError: [WinError 10013] アクセス許可で禁じられた方法でソケットにアクセスしようとしました。」が出た場合
この場合はポート番号を変更してみましょう。
起動ファイルの中の「 --port=8080」の部分を「 --port=8000」なんかに書き換えてみると成功すると思います。
・LamaCleaner の使用法
では、実際の使用法を見ていきましょう。
ざっくり言ってしまうと、黄色いマーカーで塗りつぶしたところがいい感じに変化する、です。
下のバーでブラシのサイズを選んで、消したい部分をなぞります。
うまく指を一本消すことができました。
この状態で img2img をすれば自然なハンドサインとして機能しそうですね。
消す以外でも、様々な用途で使えますので、Zuntanさんの説明なんかも観てみると良いでしょう。
自力で修正するのが面倒だったり、清書する前に要素を整理したいときとかに重宝しそうですね。
それでは、これで今回の記事を終わります。
はかな鳥でした。