最近迷上了示例分割,开始的时候最先研究的Mask_RCNN,在github上找了一下开源的 库,发现很多都是基于Tensorflow的,而我比较喜欢Pytorch,所以就找了Detectron2
git源码
源码地址:https://github.com/facebookresearch/detectron2
直接git clone https://github.com/facebookresearch/detectron2.git即可,或者直接下载也可以
相关环境
笔者的环境为:ubuntu16.04
pytorch=1.8.2
由于刚升的pytorch版本,所以没有来的及进行cuda的配置,没有GPU的也不影响,可以运行的
安装
在克隆完Detectron2的源代码之后,还不能直接用,还需要进行安装
在Detectron2的根目录下打开终端,输入如下命令:
python -m pip install e .
值得注意的是,如果你的文件在此之前有在别人的计算机上编译过,你需要先执行如下命令:
rm -rf build/ **/*.so
安装如下图所示
此过程需要进行大概两三分钟
最终的结果如下
执行
在完成上述的安装后,我们需要看一下是不是可以使用
在这里我们需要将终端切换到demo的文件夹下面
将需要测试的图片放在demo中
在这里我们需要执行如下命令:
python demo.py --config-file ../configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml --input 7.jpg --output rest.jpg --opts MODEL.WEIGHTS detectron2://COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl MODEL.DEVICE cpu
其中input后接的时需要测试的图片数据,output后面接的是识别完毕后的结果图片名字,这里可以根据自己的意愿进行定义
如果你的计算机有配置gpu的话可以将最后的那个MODEL.DEVICE cpu删除,即:
python demo.py --config-file ../configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml --input 7.jpg --output rest.jpg --opts MODEL.WEIGHTS detectron2://COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl
最终的识别结果如下所示: