CutLER のインストールと動作確認を行う.
MaskCut は,画像から,複数のセグメンテーション・マスク (segmentation mask)を得る.ViT を使用
CutLER は,MaskCut の結果に対して物体検出を実行.教師なし学習と自己学習 (self-training) を使用.
【目次】
【文献】
Wang, Xudong and Girdhar, Rohit and Yu, Stella X and Misra, Ishan, Cut and Learn for Unsupervised Object Detection and Instance Segmentation, arXiv preprint arXiv:2301.11320, 2023.
【関連する外部ページ】
Pythonは,プログラミング言語の1つ. Gitは,分散型のバージョン管理システム. CMakeは,クロスプラットフォームのビルドシステム生成ツール.
【手順】
コマンドプロンプトを管理者として実行: 別ページ »で説明
次のコマンドを実行
次のコマンドは,Python ランチャーとPython 3.10とGitとCMakeをインストールし,Gitにパスを通すものである.
次のコマンドでインストールされるGitは 「git for Windows」と呼ばれるものであり, Git,MinGW などから構成されている.
winget install --scope machine Python.Launcher winget install --scope machine Python.Python.3.10 winget install --scope machine Git.Git powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\Program Files\Git\cmd\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")" winget install --scope machine Kitware.CMake powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\Program Files\CMake\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
【関連する外部ページ】
【サイト内の関連ページ】
【関連項目】 Python, Git バージョン管理システム, Git の利用, CMake ビルドシステム生成ツール, CMake の使用方法
【サイト内の関連ページ】 NVIDIA グラフィックスボードを搭載しているパソコンの場合には, NVIDIA ドライバ, NVIDIA CUDA ツールキット, NVIDIA cuDNN のインストールを行う.
【関連する外部ページ】
コマンドプロンプトを管理者として実行: 別ページ »で説明
次のコマンドを実行することにより, PyTorch 2.3 (NVIDIA CUDA 11.8 用)がインストールされる. 但し,Anaconda3を使いたい場合には別手順になる.
事前に NVIDIA CUDA のバージョンを確認しておくこと(ここでは,NVIDIA CUDA ツールキット 11.8 が前もってインストール済みであるとする).
PyTorch で,GPU が動作している場合には,「torch.cuda.is_available()」により,True が表示される.
python -m pip install -U --ignore-installed pip python -m pip uninstall -y torch torchvision torchaudio torchtext xformers python -m pip install -U torch torchvision torchaudio numpy --index-url https://download.pytorch.org/whl/cu118 python -c "import torch; print(torch.__version__, torch.cuda.is_available())"
Anaconda3を使いたい場合には, Anaconda プロンプト (Anaconda Prompt) を管理者として実行し, 次のコマンドを実行する. (PyTorch と NVIDIA CUDA との連携がうまくいかない可能性があるため,Anaconda3を使わないことも検討して欲しい).
conda install -y pytorch torchvision torchaudio pytorch-cuda=11.8 cudnn -c pytorch -c nvidia py -c "import torch; print(torch.__version__, torch.cuda.is_available())"
【サイト内の関連ページ】
【関連する外部ページ】
コマンドプロンプトを管理者として実行: 別ページ »で説明
* 「pip install ...」は,Python パッケージをインストールするための操作
python -m pip install -U opencv-python opencv-contrib-python
pycocotools のインストールを行う.
コマンドプロンプトを管理者として実行: 別ページ »で説明
COCOデータセットをPythonで扱うためには,pycocotools を使う. pycocotools を使うことで,COCOデータセットのアノテーションを扱いやすくなる.
次のコマンドを実行
python -m pip install -U --ignore-installed pip python -m pip install -U cython wheel python -m pip install "git+https://github.com/philferriere/cocoapi.git#egg=pycocotools&subdirectory=PythonAPI" python -m pip install git+https://github.com/cocodataset/panopticapi.git
次の記事に記載の手順による.
https://dgmaxime.medium.com/how-to-easily-install-detectron2-on-windows-10-39186139101c
コマンドプロンプトを管理者として実行: 別ページ »で説明
python -m pip uninstall -y detectron2 cd /d c:%HOMEPATH% rmdir /s /q detectron2 git clone --recursive https://github.com/facebookresearch/detectron2 cd detectron2
notepad detectron2\layers\csrc\nms_rotated\nms_rotated_cuda.cu
次のように書き換える
cd /d c:%HOMEPATH%\detectron2 python -m pip install -e .
pip install git+https://github.com/cocodataset/panopticapi.git pip install git+https://github.com/mcordts/cityscapesScripts.git
【文献】 Efficient Inference in Fully Connected CRFs with Gaussian Edge Potentials Philipp Krähenbühl and Vladlen Koltun NIPS 2011
【関連する外部ページ】
コマンドプロンプトを管理者として実行: 別ページ »で説明
次のコマンドを実行.
「Error compiling Cython file: from eigen cimport * pydensecrf\densecrf.pxd:1:0: 'eigen.pxd' not found」の エラーメッセージの回避のため「copy pydensecrf\eigen.pxd .」を実行している.
python -m pip install -U eigen cython cd /d c:%HOMEPATH% rmdir /s /q pydensecrf git clone https://github.com/lucasb-eyer/pydensecrf.git cd pydensecrf copy pydensecrf\eigen.pxd . python setup.py build python setup.py develop python setup.py install
PyDenseCRF のインストールで, 上のコマンドでエラーメッセージが出る場合には,次を実行
python -m pip install pydensecrf-1.0rc2-cp310-cp310-win_amd64.whl
次の Python プログラムを実行.エラーメッセージは出ないことを確認.
import numpy as np import pydensecrf.densecrf as dcrf d = dcrf.DenseCRF2D(640, 480, 5) print(d)
コマンドプロンプトを管理者として実行: 別ページ »で説明
次のコマンドを実行.
cd /d c:%HOMEPATH% rmdir /s /q CutLER git clone --recursive https://github.com/facebookresearch/CutLER.git cd CutLER python -m pip install -U faiss_cpu python -m pip install -U opencv-python scikit-image scikit-learn shapely timm pyyaml colored fvcore gdown
公式ページの https://github.com/facebookresearch/CutLER の手順により行う.
次のコマンドの実行により,demo.jpg ができる.
cd /d c:%HOMEPATH% cd CutLER cd maskcut python demo.py --img-path imgs/demo2.jpg --N 3 --tau 0.15 --vit-arch base --patch-size 8 --cpu --out-dir . demo.jpg
実行結果
元画像
公式ページの https://github.com/facebookresearch/CutLER の手順により行う.
cd /d c:%HOMEPATH% cd CutLER cd cutler curl -L -O http://dl.fbaipublicfiles.com/cutler/checkpoints/cutler_cascade_final.pth
cd /d c:%HOMEPATH% cd CutLER cd cutler notepad data\transforms\transform.py
cd /d c:%HOMEPATH% cd CutLER cd cutler python demo/demo.py --config-file model_zoo/configs/CutLER-ImageNet/cascade_mask_rcnn_R_50_FPN_demo.yaml --input demo/imgs/*.jpg --opts MODEL.WEIGHTS cutler_cascade_final.pth
1-1.avi のとこどにはビデオファイル名を指定すること.
cd /d c:%HOMEPATH% cd CutLER cd cutler python demo/demo.py --config-file model_zoo/configs/CutLER-ImageNet/cascade_mask_rcnn_R_50_FPN_demo.yaml --video-input 1-1.avi --opts MODEL.WEIGHTS cutler_cascade_final.pth
cd /d c:%HOMEPATH% cd CutLER cd cutler python demo/demo.py --config-file model_zoo/configs/CutLER-ImageNet/cascade_mask_rcnn_R_50_FPN_demo.yaml --webcam --opts MODEL.WEIGHTS cutler_cascade_final.pth