【Inpaint-Anything】【Remove Anything】画像内に写っている要らないものを消す

はじめに

以前から画像内の不要物を消すことはいろいろ挑戦してきました。
touch-sp.hatenablog.com
今回は「Inpaint-Anything」というのに含まれる「Remove Anything」を試してみました。
github.com

環境構築

Ubuntu 20.04 on WSL2
CUDA 11.6
Python 3.8

1行で環境構築できるように「requirements_cu116.txt」を作成しました。

pip install -r https://raw.githubusercontent.com/dai-ichiro/myEnvironments/main/Inpaint-Anything/requirements_cu116.txt

モデルのダウンロード

git clone https://github.com/geekyutao/Inpaint-Anything
cd Inpaint-Anything/pretrained_models
wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth
curl -L $(yadisk-direct https://disk.yandex.ru/d/ouP6l8VJ0HpMZg) -o big-lama.zip
unzip big-lama.zip

実行

cd app
python app.py

結果

用意した画像

このような画像を用意しました。

犬を消したいと思います。

犬を選択

犬のところでマウスをクリックして「Predict Mask」ボタンを押します。

そうすると自動的に犬がマスクされます。

Inpaint

最後に「Inpaint Image」ボタンを押すと犬が消えた画像ができました。

感想

今まで自分でMask画像を作成していたのが不要になるので便利です。

Google製スマホ Pixel の「消しゴムマジック」みたいなものですね。

Windows環境

以下の環境で問題なく動作しました。

Windows 11
CUDA 11.7
Python 3.10
pip install -r https://raw.githubusercontent.com/dai-ichiro/myEnvironments/main/Inpaint-Anything/requirements_cu117_win.txt





このエントリーをはてなブックマークに追加