项目复现 | DETR:利用transformers端到端的目标检测

论文:End-to-End Object Detection with Transformers

论文详解地址:

论文地址:https://arxiv.org/abs/2005.12872

项目地址:https://github.com/facebookresearch/detr

 方法一

1.下载项目压缩,pycharm打开

项目复现 | DETR:利用transformers端到端的目标检测_第1张图片

2.配置所需环境

项目复现 | DETR:利用transformers端到端的目标检测_第2张图片

 在pycharm上新建conda虚拟环境(我的detr-main)

打开Anaconda Prompt 激活环境detr-main,输入安装

conda install -c pytorch pytorch torchvision

 如果不好使的的话,就单独安装(一般pytorch需要到官方网站找命令安装),详情不再赘述,电脑要有VisualStdio2015。

然后

conda install cython scipy

再然后

pip install -U 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'

提示无效字符

pip install 

 (可选择)

pip install git+https://github.com/cocodataset/panopticapi.git

结果如图

项目复现 | DETR:利用transformers端到端的目标检测_第3张图片

安装完成后

项目复现 | DETR:利用transformers端到端的目标检测_第4张图片

3.下载数据集和模型

3.1数据集

数据集下载网站:http://cocodataset.org.

项目复现 | DETR:利用transformers端到端的目标检测_第5张图片

数据太大了,下载中!!

方法二:使用Google Colab运行

网站:detr_demo.ipynb - Colaboratory (google.com)

 第一步:配置环境 

项目复现 | DETR:利用transformers端到端的目标检测_第6张图片

下载模型

 项目复现 | DETR:利用transformers端到端的目标检测_第7张图片

用DETR计算预测结果
我们刚刚加载的预训练的DETR模型已经在80个COCO类上进行了训练,类指数从1到90不等。在下面的单元中,定义从类指数到名称的映射。

项目复现 | DETR:利用transformers端到端的目标检测_第8张图片

 DETR使用标准的ImageNet归一化,并以[xcenter,ycenter,w,h]格式的相对图像坐标输出框,其中[xcenter,ycenter]是边界框的预测中心,而w,h是其宽度和高度。因为坐标是相对于图像维度的,位于[0,1]之间,所以我们将预测值转换为绝对图像坐标和[x0,y0,x1,y1]格式,用于可视化。

进行转置

项目复现 | DETR:利用transformers端到端的目标检测_第9张图片

放入检测函数:

 利用DETR进行检测

下载图片

结果

 项目复现 | DETR:利用transformers端到端的目标检测_第10张图片

你可能感兴趣的:(❀transformer❀,❀项目复现❀,人工智能,深度学习,计算机视觉)