LoginSignup
0
1

lang-segment-anything(テキスト入力による画像認識)

Last updated at Posted at 2024-06-07

テキスト入力による画像認識
ex. 「All yellow tailed fish」
img4_1.png img5_1.png

ここではDockerをインストールして仮想領域を作り
lang-segment-anythingを使用する方法をご紹介しています。
(ubuntu22.04.4 cuda12.4.1 cudNN9.1.1)の環境で行っています。

Dockerのインストール

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

リポジトリをaptソースに追加する

echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Docker のパッケージをインストールします

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

うまくインストール出来たら試しに、次を実行してみてください。

sudo docker run hello-world

きちんとインストールされていると次が表示されます

Hello from Docker!
This message shows that your installation appears to be working correctly.

Docker composeのインストール

DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose

バージョンを表示して、きちんとインストール出来ているのを確認してみてください。

docker compose version

dockerグループに追加

sudoを使わないで実行できるようにユーザー名を登録しておく
(dockerグループが既に作成されている場合はsudo groupadd dockerをする必要はありません)

sudo groupadd docker
sudo usermod -aG docker あなたのPCのユーザー名

再起動しないと反映されないので

sudo reboot

dockerのビルド

lang_segment_anythingのファイルをgithubより入手し、ディレクトリを変更する

git clone https://github.com/eijwat/lang_segment_anything_with_minor-modification
cd lang_segment_anything_with_minor-modification

NVIDIA Docker Toolkitのインストールのためbashファイルを作る
以下をコピーし、nvidia-container-runtime-script.shで保存

nvidia-container-runtime-script.sh
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker

作成した.shファイルを実行

sh nvidia-container-runtime-script.sh

コンテナの作成と起動

docker compose -f docker-compose.prebuild.yml up -d
docker compose -f docker-compose.prebuild.yml exec lang-segment-anything /bin/bash

GroundingDINO をインストール

pip install git+https://github.com/IDEA-Research/GroundingDINO.git

プログラムを実行します。
ダウンロードしたフォルダ内にあるfish.jpgを使い、
demo.py内の text_prompt = "All yellow tailed fish"について画像分類します。

python3 demo.py

結果は fish_result.png になります。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1