使用Detectron2识别自己的图片数据

2022-09-28 14:56:45 浏览数 (1)

2

最近迷上了实例分割,开始的时候最先研究的是Mask_RCNN,在github上找了一下开源的库,发现很多都是基于Tensorflow的,而我又比较喜欢Pytorch,所以就找了Detectron2

PART 01

git源码

源码地址:https://github.com/facebookresearch/detectron2

直接git clone https://github.com/facebookresearch/detectron2.git即可,或者直接下载也可以

PART 02

相关环

笔者的环境为:ubuntu16.04

pytorch=1.8.2

由于刚升的pytorch版本,所以没有来的及进行cuda的配置,没有GPU的也不影响,可以运行的

PART 03

安装

相关环境

在克隆完Detectron2的源代码之后,还不能直接用,还需要进行安装

在Detectron2的根目录下打开终端,输入如下命令:

代码语言:javascript复制
python -m pip install e .

值得注意的是,如果你的文件在此之前有在别人的计算机上编译过,你需要先执行如下命令:

代码语言:javascript复制
rm -rf build/ **/*.so

安装如下图所示

此过程需要进行大概两三分钟

最终的结果如下

PART 04

执行

在完成上述的安装后,我们需要看一下是不是可以使用

在这里我们需要将终端切换到demo的文件夹下面

将需要测试的图片放在demo中

在这里我们需要执行如下命令:

代码语言:javascript复制
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删除,即:

代码语言:javascript复制
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

最终的识别结果如下所示:

由于笔者的能力有限,在一些问题的描述上可能不是那么的准确,所以还请多多包含

0 人点赞