fb detectronを動かす

本投稿は記事投稿時点のgithub最新バージョンでの動かしたときのメモです。

detectronはインスタンセグメンテーションのツールです。

インスタンスセグメンテーションは画像から複数のオブジェクトをピクセル単位で認識するものです。(セマンティックセグメンテーションは、ある特定のオブジェクトをピクセル単位で認識します。)

 

gitの通りにdockerを使って基本進めて構築する。

 

テストのデモを回すときにコマンド

python tools/infer_simple.py \
    --cfg configs/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml \
    --output-dir /tmp/detectron-visualizations \
    --image-ext jpg \
    --wts https://dl.fbaipublicfiles.com/detectron/35861858/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml.02_32_51.SgT4y1cO/output/train/coco_2014_train:coco_2014_valminusminival/generalized_rcnn/model_final.pkl \
    demo

で回すが

Traceback (most recent call last):
File "tools/infer_simple.py", line 184, in <module>
main(args)
File "tools/infer_simple.py", line 176, in main
out_when_no_box=args.out_when_no_box
File "/detectron/detectron/utils/vis.py", line 332, in vis_one_image
e.copy(), cv2.RETR_CCOMP, cv2.CHAIN_APPROX_NONE)
ValueError: need more than 2 values to unpack

 

のエラーがでる。

"/detectron/detectron/utils/vis.py"内の

contour, hier = cv2.findContours(
e.copy(), cv2.RETR_CCOMP, cv2.CHAIN_APPROX_NONE)

として修正する

qiita.com