目标检测任务简介
目标检测的主要目的是让计算机可以自动识别图片或者视频帧中所有目标的类别,并在该目标周围绘制边界框,标示出每个目标的位置,如下图所示。
图(a)是图像分类任务,只需识别出这是一张斑马的图片。 图(b)是目标检测任务,不仅要识别出这是一张斑马的图片,还要标出图中斑马的位置。
目标检测是计算机视觉的主要方向之一,同时也是实例分割,人脸检测,关键点检测等视觉任务的基础,目标检测应用场景广泛,下面列举了一些常见的应用场景。
目标检测任务的挑战
对于目标检测任务,主要存在以下挑战:
PaddleDetection是飞桨推出的端到端目标检测开发套件,旨在帮助开发者更快更好地完成检测模型的训练、精度速度优化到部署全流程。PaddleDetection以模块化的设计实现了多种主流目标检测算法,并且提供了丰富的数据增强、网络组件、损失函数等模块,集成了模型压缩和跨平台高性能部署能力。目前基于PaddleDetection已经完成落地的项目涉及工业质检、遥感图像检测、无人巡检等多个领域。
PaddleDetection具备以下四大优势:
PaddleDetection模型库概览
PaddleDetection模块式地提供YOLOv3,EfficientDet等10余种目标检测算法、ResNet-vd,MobileNetV3等10余种backbone,以及sync batch norm, IoU Loss、可变性卷积等多个扩展模块,这些模块可以定制化地自由组合,灵活配置;同时预置提供100余种训练好的检测模型。
服务器端增强模型
PaddleDetection不仅复现了常见的目标检测模型,还对模型的进行了图像增强、骨干网络优化、DropBlock,IoU Loss IoUAware等一系列深度优化。同时,内置集成模型压缩能力,提供了一键式剪裁,蒸馏,量化的脚本,大大提高模型精度和速度,并减小模型体积。
单阶段目标检测模型YOLOv3
精度方面,原论文作者开源的YOLOv3模型在COCO数据集上精度是33.0,PaddleDetectio将其提高到43.6(提高10.6个绝对百分点);推理速度方面,领先于同类产品40%左右。
两阶段目标检测模型FasterRCNN-ResNet50vd-FPN
精度方面,通过减小NMS的proposal,和减小FPN的通道数,虽然精度略有降低,但是推理速度大幅提升;通过PaddleClas里的SSLD蒸馏的预训练、CIoU Loss、自动图像增强等优化方法,将精度优化到41.6(提升5.2个绝对百分点)。推理速度方面,提升了38%,在Tesla V100上的预测速度达到60FPS。
模型压缩
在YOLOv3系列模型上,通过一键式剪裁+蒸馏的方案,YOLOv3_MobileNetV1剪裁了近70%的计算量,在精度基本无损或略有提升的情况,模型在高通855芯片上加速2.3倍,GPU上也有60%的加速;YOLOv3-ResNet50vd-DCN剪裁模型,精度提升了0.6,GPU上加速20%。同时,对应压缩后的模型、压缩脚本和操作方法均可以在Github上获取。
端侧轻量化增强模型
对于移动端,嵌入式这些端侧的设备,一般算力比较低,内存较小,所以对运算量和模型大小要求比较高,同时端侧的设备种类也比较多,有早起的低端CPU,也有近年来推出的骁龙855,麒零980等性能较好的CPU,还有更优一些嵌入式的GPU,NPU等。PaddleDetection针对这种情况,推出了三组模型:
通过这三组增强模型,可以根据自己的设备算力来选择合适的端上模型,下图是三组模型的增强效果。
如前文所述,PaddleDetection是飞桨推出的端到端目标检测开发套件,旨在帮助开发者更快更好地完成检测模型的训练、精度速度优化到部署全流程。支持现有的RCNN、SSD、YOLO等系列模型、支持 ResNet、ResNet-VD、ResNeXt、ResNeXt-VD、SENet、MobileNet、DarkNet等主干网络。而快速完成不同模型的训练体验,就是通过配置文件的切换。
亮点:一键式训练/推理/部署
PaddleDetection提供所有模型、算法、扩展模块的配置脚本,同时提供一键式训练、评估、推理、模型导出等脚本,从而帮助开发者完成不同模型的快速体验。
亮点:一键式模型增强
PaddleDetection以组件式形式提供模型的所有优化方法,只需要修改对应配置文件的参数配置,就能一键式模型增强。
PaddleDetection配置文件目录
PaddleDetection
├── configs # 提供所有模型、算法、扩展模块的配置脚本
├── contrib
├── dataset
├── demo
├── deploy # 提供C++端和python端使用飞桨预测库进行推理部署的详细指导
├── docs
├── ppdet
├── slim
├── tools # 一键式训练、评估、推理、模型导出`train.py` `eval.py` `infer.py` `export_model.py`
├── .gitignore
├── .pre-commit-config.yaml
├── .style.yapf
├── .travis.yml
├── LICENSE
├── README.md
├── README_en.md
├── requirements.txt # 列出了PaddleDetection的所有依赖库
常用命令
在命令提示符下输入命令时,一定避免输入多余的空格。比如,weights=后面出现了一个多的空格,导致模型文件读不到。
-c
: 指定配置文件进行一键式训练--eval
:训练中使用评估-o use_gpu=False
:使用CPU训练。不建议在CPU下训练模型,若只能使用CPU运行PaddleDetection,需指定。
这里以faster_rcnn_r50_1x.yml
举例,展示配置文件的使用方法。
# 设置PYTHONPATH路径
export PYTHONPATH=$PYTHONPATH:.
# GPU训练 支持单卡,多卡训练,通过CUDA_VISIBLE_DEVICES指定卡号
export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
python tools/train.py -c configs/faster_rcnn_r50_1x.yml
# GPU评估
export CUDA_VISIBLE_DEVICES=0
python tools/eval.py -c configs/faster_rcnn_r50_1x.yml
# 预测
python tools/infer.py -c configs/faster_rcnn_r50_1x.yml --infer_img=demo/000000570688.jpg
常用参数设置
训练配置文件需要着重关注的参数如下:(需要根据自己的不同数据集进行训练)
下文“十分钟入门,玩转视频的目标检测”,使用PaddleDetection提供的一键式脚本,带你快速完成视频流的目标检测任务。
以YOLOv3_darknet模型为例,介绍如何使用PaddleDetection进行目标检测模型的训练和部署,以及对视频流进行目标检测。
请使用AI Studio的“高级版”运行本节相关程序,如下图所示。
模型训练期间,需要确保此网页不关闭、电脑屏幕未锁定,否则训练将中断。
除“数据集”和“文件夹 > Work”目录外,其他输出文件在重启环境时将被清空。如果希望本次实验任务用到的文件在下次进入环境时仍然存在,可以选择保存到这两个地方。
PaddleDetection下载
可以通过如下git clone
命令下载PaddleDetection目标检测库,由于在AIStudio上通过git clone
下载比较慢,本项目在work
目录下提供下载好的PaddleDetection压缩包,也可直接解压使用。
%cd data
# !git clone https://github.com/PaddlePaddle/PaddleDetection # 下载PaddleDetection目标检测库
#! tar xf ../work/PaddleDetection.tar -C . # 解压work目录下已下载好的PaddleDetection压缩包
!unzip -o /home/aistudio/work/PaddleDetection.zip
安装PaddleDetection依赖库
通过如下方式安装PaddleDetection依赖,并设置环境变量。
%cd PaddleDetection
!pip install -r requirements.txt # requirements.txt列出了PaddleDetection的所有依赖库
!pip install Cython pycocotools
%env PYTHONPATH=.:$PYTHONPATH
%env CUDA_VISIBLE_DEVICES=0
PaddleDetection提供了COCO、VOC等数据集下载脚本如dataset/coco/download.py
,通过此脚本可自动下载对应数据集。但由于COCO数据集下载比较耗时,本项目已上传COCO2017数据集,可直接解压获取。
COCO的
train
数据集较大,解压比较耗时,本项目仅使用val
数据集。
# ! python dataset/coco/download_coco.py # coco数据集下载脚本
! unzip -q /home/aistudio/data/data7122/annotations_trainval2017.zip -d dataset/coco # 解压数据集
! unzip -q /home/aistudio/data/data7122/val2017.zip -d dataset/coco
# ! unzip /home/aistudio/data/data7122/train2017.zip -d dataset/coco
本项目选取yolov3_darknet.yml
作为本项目的训练配置文件。该配置文件选取的是YOLOv3_darknet模型,骨干网络为DarkNet
,yolo_head为YOLOv3Head
。
本项目演示使用COCO的val
数据集训练,对配置文件做如下修改(使用train
数据集不需要做以下修改,可以直接一键式启动训练),work
目录下提供了一个修改好的配置文件,也可在configs
目录(即data/PaddleDetection/configs
目录)下按照如下方式自行修改yolov3_darknet.yml
和yolov3_reader.yml
。
1.本次项目将训练轮数max_iters
减小到50000
, 减少PiecewiseDecay
的milestones
到[40000, 45000]
。
2.修改TrainReader.dataset
的anno_path
和image_dir
为val
数据集路径, mixup_epoch
修改为0
。
3.由于使用单卡训练,将LearningRate.base_lr
减少8倍到0.000125
。
yolov3_darknet.yml
文件配置好之后,就可以进行一键式模型训练。
常见的训练命令:
-c configs/yolov3_darknet.yml:用来指定模型配置文件 –use_tb:是否使用tb-paddle记录数据,进而在TensorBoard中显示,默认值是False –tb_log_dir:指定 tb-paddle 记录数据的存储路径 –eval:是否边训练边测试,在训练中交替执行评估, 评估在每个snapshot_iter时开始。每次评估后还会评出最佳mAP模型保存到best_model文件夹下,建议训练时候使用该参数,可以使得完成训练后快速找到最好的模型。
此处仅展示一键式训练,训练完成比较耗时(4小时左右)。如果想压缩训练时间,可以在
yolov3_darknet.yml
中将训练轮数max_iters
调小,后续使用PaddleDetection发布的权重(yolov3_darknet
模型的训练权重默认存储于output/yolov3_darknet
目录)进行推理。
! python tools/train.py -c ../../work/yolov3_darknet.yml --use_vdl=True --vdl_log_dir=/home/aistudio/log --eval # 启动模型训练
2020-07-31 15:37:31,475-INFO: If regularizer of a Parameter has been set by 'fluid.ParamAttr' or 'fluid.WeightNormParamAttr' already. The Regularization[L2Decay, regularization_coeff=0.000500] in Optimizer will not take effect, and it will only be applied to other Parameters! 2020-07-31 15:37:32,678-INFO: font search path ['/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf', '/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/afm', '/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts'] 2020-07-31 15:37:34,002-INFO: generated new fontManager loading annotations into memory... Done (t=0.64s) creating index... index created! 2020-07-31 15:37:35,710-INFO: places would be ommited when DataLoader is not iterable W0731 15:37:35.749830 206 device_context.cc:252] Please NOTE: device: 0, CUDA Capability: 70, Driver API Version: 10.1, Runtime API Version: 9.0 W0731 15:37:35.753389 206 device_context.cc:260] device: 0, cuDNN Version: 7.3. 2020-07-31 15:37:38,410-INFO: Downloading DarkNet53_pretrained.tar from https://paddle-imagenet-models-name.bj.bcebos.com/DarkNet53_pretrained.tar 100%|████████████████████████████████| 158940/158940 [00:08<00:00, 18874.15KB/s] 2020-07-31 15:37:46,919-INFO: Decompressing /home/aistudio/.cache/paddle/weights/DarkNet53_pretrained.tar... 2020-07-31 15:37:47,148-WARNING: /home/aistudio/.cache/paddle/weights/DarkNet53_pretrained.pdparams not found, try to load model file saved with [ save_params, save_persistables, save_vars ] loading annotations into memory... Done (t=0.72s) creating index... index created! 2020-07-31 15:37:54,357-INFO: places would be ommited when DataLoader is not iterable 2020-07-31 15:37:57,222-INFO: iter: 0, lr: 0.000000, 'loss': '4349.791016', time: 0.006, eta: 0:04:50 2020-07-31 15:38:07,677-INFO: iter: 20, lr: 0.000001, 'loss': '7997.978516', time: 0.654, eta: 9:04:49 2020-07-31 15:38:13,518-INFO: iter: 40, lr: 0.000001, 'loss': '1091.667236', time: 0.292, eta: 4:03:11 2020-07-31 15:38:19,337-INFO: iter: 60, lr: 0.000002, 'loss': '585.337524', time: 0.292, eta: 4:03:01 2020-07-31 15:38:25,974-INFO: iter: 80, lr: 0.000003, 'loss': '506.772156', time: 0.325, eta: 4:30:45 2020-07-31 15:38:33,924-INFO: iter: 100, lr: 0.000003, 'loss': '478.433105', time: 0.391, eta: 5:24:47 2020-07-31 15:38:39,475-INFO: iter: 120, lr: 0.000004, 'loss': '409.666504', time: 0.290, eta: 4:01:14 2020-07-31 15:38:45,500-INFO: iter: 140, lr: 0.000004, 'loss': '385.746246', time: 0.304, eta: 4:12:49 2020-07-31 15:38:51,134-INFO: iter: 160, lr: 0.000005, 'loss': '446.195587', time: 0.265, eta: 3:40:03 2020-07-31 15:38:57,548-INFO: iter: 180, lr: 0.000006, 'loss': '378.182983', time: 0.334, eta: 4:37:18 2020-07-31 15:39:02,861-INFO: iter: 200, lr: 0.000006, 'loss': '425.748291', time: 0.267, eta: 3:41:57 2020-07-31 15:39:09,404-INFO: iter: 220, lr: 0.000007, 'loss': '370.520874', time: 0.314, eta: 4:20:39 2020-07-31 15:39:15,689-INFO: iter: 240, lr: 0.000008, 'loss': '355.822144', time: 0.321, eta: 4:26:29 2020-07-31 15:39:21,506-INFO: iter: 260, lr: 0.000008, 'loss': '354.289124', time: 0.294, eta: 4:03:18 2020-07-31 15:39:27,545-INFO: iter: 280, lr: 0.000009, 'loss': '320.562805', time: 0.293, eta: 4:02:37 2020-07-31 15:39:33,780-INFO: iter: 300, lr: 0.000009, 'loss': '311.270996', time: 0.320, eta: 4:25:05 2020-07-31 15:39:39,910-INFO: iter: 320, lr: 0.000010, 'loss': '267.223694', time: 0.311, eta: 4:17:37 2020-07-31 15:39:46,555-INFO: iter: 340, lr: 0.000011, 'loss': '249.246765', time: 0.332, eta: 4:34:33 2020-07-31 15:39:52,995-INFO: iter: 360, lr: 0.000011, 'loss': '243.238327', time: 0.307, eta: 4:13:37 2020-07-31 15:39:59,105-INFO: iter: 380, lr: 0.000012, 'loss': '210.381363', time: 0.317, eta: 4:22:29 2020-07-31 15:40:04,653-INFO: iter: 400, lr: 0.000013, 'loss': '203.033066', time: 0.284, eta: 3:54:28 2020-07-31 15:40:11,069-INFO: iter: 420, lr: 0.000013, 'loss': '185.442490', time: 0.306, eta: 4:12:39 2020-07-31 15:40:17,031-INFO: iter: 440, lr: 0.000014, 'loss': '216.101425', time: 0.308, eta: 4:14:13 2020-07-31 15:40:23,471-INFO: iter: 460, lr: 0.000014, 'loss': '157.271713', time: 0.326, eta: 4:29:32 2020-07-31 15:40:30,143-INFO: iter: 480, lr: 0.000015, 'loss': '165.912811', time: 0.326, eta: 4:29:18 2020-07-31 15:40:37,252-INFO: iter: 500, lr: 0.000016, 'loss': '200.069427', time: 0.345, eta: 4:44:36 2020-07-31 15:40:43,732-INFO: iter: 520, lr: 0.000016, 'loss': '163.968475', time: 0.328, eta: 4:30:44 2020-07-31 15:40:49,928-INFO: iter: 540, lr: 0.000017, 'loss': '158.648056', time: 0.322, eta: 4:25:06 2020-07-31 15:40:56,070-INFO: iter: 560, lr: 0.000018, 'loss': '155.449524', time: 0.300, eta: 4:07:02 2020-07-31 15:41:02,123-INFO: iter: 580, lr: 0.000018, 'loss': '149.289307', time: 0.300, eta: 4:06:54 2020-07-31 15:41:07,229-INFO: iter: 600, lr: 0.000019, 'loss': '153.428802', time: 0.259, eta: 3:33:21 2020-07-31 15:41:15,485-INFO: iter: 620, lr: 0.000019, 'loss': '141.784515', time: 0.422, eta: 5:47:05 2020-07-31 15:41:21,090-INFO: iter: 640, lr: 0.000020, 'loss': '114.264877', time: 0.280, eta: 3:50:34 2020-07-31 15:41:27,319-INFO: iter: 660, lr: 0.000021, 'loss': '145.880859', time: 0.309, eta: 4:14:12 2020-07-31 15:41:34,049-INFO: iter: 680, lr: 0.000021, 'loss': '144.587112', time: 0.321, eta: 4:24:06 2020-07-31 15:41:40,005-INFO: iter: 700, lr: 0.000022, 'loss': '114.052292', time: 0.314, eta: 4:17:52 2020-07-31 15:41:46,828-INFO: iter: 720, lr: 0.000023, 'loss': '112.328705', time: 0.326, eta: 4:27:55 2020-07-31 15:41:53,791-INFO: iter: 740, lr: 0.000023, 'loss': '129.093109', time: 0.359, eta: 4:54:41 2020-07-31 15:41:58,980-INFO: iter: 760, lr: 0.000024, 'loss': '116.874458', time: 0.252, eta: 3:26:39 2020-07-31 15:42:05,323-INFO: iter: 780, lr: 0.000024, 'loss': '123.895432', time: 0.314, eta: 4:17:19 2020-07-31 15:42:10,919-INFO: iter: 800, lr: 0.000025, 'loss': '120.467987', time: 0.292, eta: 3:59:39 2020-07-31 15:42:17,120-INFO: iter: 820, lr: 0.000026, 'loss': '125.974319', time: 0.301, eta: 4:06:49 2020-07-31 15:42:22,653-INFO: iter: 840, lr: 0.000026, 'loss': '112.528641', time: 0.288, eta: 3:56:21 2020-07-31 15:42:28,742-INFO: iter: 860, lr: 0.000027, 'loss': '118.941055', time: 0.303, eta: 4:08:01 2020-07-31 15:42:35,879-INFO: iter: 880, lr: 0.000028, 'loss': '109.778778', time: 0.342, eta: 4:40:05 2020-07-31 15:42:42,483-INFO: iter: 900, lr: 0.000028, 'loss': '92.892197', time: 0.342, eta: 4:39:33 2020-07-31 15:42:48,342-INFO: iter: 920, lr: 0.000029, 'loss': '128.099503', time: 0.294, eta: 4:00:07 2020-07-31 15:42:54,298-INFO: iter: 940, lr: 0.000029, 'loss': '127.058044', time: 0.301, eta: 4:06:17 2020-07-31 15:43:00,445-INFO: iter: 960, lr: 0.000030, 'loss': '117.944519', time: 0.302, eta: 4:07:02 2020-07-31 15:43:06,757-INFO: iter: 980, lr: 0.000031, 'loss': '118.212769', time: 0.309, eta: 4:12:11 2020-07-31 15:43:12,646-INFO: iter: 1000, lr: 0.000031, 'loss': '124.516418', time: 0.303, eta: 4:07:47 2020-07-31 15:43:18,317-INFO: iter: 1020, lr: 0.000032, 'loss': '94.399078', time: 0.284, eta: 3:51:30 2020-07-31 15:43:24,336-INFO: iter: 1040, lr: 0.000033, 'loss': '113.629181', time: 0.304, eta: 4:07:47 2020-07-31 15:43:30,204-INFO: iter: 1060, lr: 0.000033, 'loss': '110.786438', time: 0.289, eta: 3:55:39 2020-07-31 15:43:35,741-INFO: iter: 1080, lr: 0.000034, 'loss': '85.554443', time: 0.283, eta: 3:50:31 2020-07-31 15:43:41,941-INFO: iter: 1100, lr: 0.000034, 'loss': '111.587654', time: 0.306, eta: 4:09:14 2020-07-31 15:43:47,569-INFO: iter: 1120, lr: 0.000035, 'loss': '96.128357', time: 0.287, eta: 3:53:29 2020-07-31 15:43:53,378-INFO: iter: 1140, lr: 0.000036, 'loss': '104.191391', time: 0.285, eta: 3:51:52 2020-07-31 15:43:59,129-INFO: iter: 1160, lr: 0.000036, 'loss': '115.461334', time: 0.279, eta: 3:46:53 2020-07-31 15:44:04,937-INFO: iter: 1180, lr: 0.000037, 'loss': '100.543701', time: 0.300, eta: 4:04:02 2020-07-31 15:44:11,719-INFO: iter: 1200, lr: 0.000038, 'loss': '125.268829', time: 0.335, eta: 4:32:50 2020-07-31 15:44:18,316-INFO: iter: 1220, lr: 0.000038, 'loss': '113.588531', time: 0.322, eta: 4:21:37 2020-07-31 15:44:27,096-INFO: iter: 1240, lr: 0.000039, 'loss': '102.357216', time: 0.441, eta: 5:58:25 2020-07-31 15:44:33,071-INFO: iter: 1260, lr: 0.000039, 'loss': '106.932518', time: 0.304, eta: 4:07:00 2020-07-31 15:44:39,196-INFO: iter: 1280, lr: 0.000040, 'loss': '111.148056', time: 0.310, eta: 4:11:50 2020-07-31 15:44:45,698-INFO: iter: 1300, lr: 0.000041, 'loss': '96.706154', time: 0.313, eta: 4:14:15 2020-07-31 15:44:52,012-INFO: iter: 1320, lr: 0.000041, 'loss': '101.807487', time: 0.320, eta: 4:19:39 2020-07-31 15:44:58,012-INFO: iter: 1340, lr: 0.000042, 'loss': '122.297989', time: 0.307, eta: 4:09:01 2020-07-31 15:45:04,024-INFO: iter: 1360, lr: 0.000043, 'loss': '103.514076', time: 0.303, eta: 4:05:50 2020-07-31 15:45:10,722-INFO: iter: 1380, lr: 0.000043, 'loss': '85.650970', time: 0.322, eta: 4:20:51 2020-07-31 15:45:16,241-INFO: iter: 1400, lr: 0.000044, 'loss': '98.000046', time: 0.288, eta: 3:53:05 2020-07-31 15:45:22,098-INFO: iter: 1420, lr: 0.000044, 'loss': '104.807053', time: 0.297, eta: 4:00:23 2020-07-31 15:45:28,182-INFO: iter: 1440, lr: 0.000045, 'loss': '108.437813', time: 0.300, eta: 4:03:04 2020-07-31 15:45:34,119-INFO: iter: 1460, lr: 0.000046, 'loss': '118.776573', time: 0.300, eta: 4:02:22 2020-07-31 15:45:40,292-INFO: iter: 1480, lr: 0.000046, 'loss': '93.497322', time: 0.304, eta: 4:05:34 2020-07-31 15:45:46,240-INFO: iter: 1500, lr: 0.000047, 'loss': '96.293488', time: 0.303, eta: 4:04:39 2020-07-31 15:45:52,821-INFO: iter: 1520, lr: 0.000048, 'loss': '106.420120', time: 0.317, eta: 4:16:27 2020-07-31 15:45:58,357-INFO: iter: 1540, lr: 0.000048, 'loss': '99.813301', time: 0.287, eta: 3:52:06 2020-07-31 15:46:04,764-INFO: iter: 1560, lr: 0.000049, 'loss': '104.515434', time: 0.316, eta: 4:14:47 2020-07-31 15:46:11,383-INFO: iter: 1580, lr: 0.000049, 'loss': '86.635101', time: 0.338, eta: 4:32:47 2020-07-31 15:46:17,482-INFO: iter: 1600, lr: 0.000050, 'loss': '97.006958', time: 0.292, eta: 3:55:45 2020-07-31 15:46:23,015-INFO: iter: 1620, lr: 0.000051, 'loss': '93.530777', time: 0.287, eta: 3:51:10 2020-07-31 15:46:29,059-INFO: iter: 1640, lr: 0.000051, 'loss': '93.594009', time: 0.294, eta: 3:56:46 2020-07-31 15:46:35,713-INFO: iter: 1660, lr: 0.000052, 'loss': '99.072800', time: 0.341, eta: 4:34:52 2020-07-31 15:46:41,769-INFO: iter: 1680, lr: 0.000053, 'loss': '75.845039', time: 0.297, eta: 3:58:53 2020-07-31 15:46:47,867-INFO: iter: 1700, lr: 0.000053, 'loss': '98.739716', time: 0.301, eta: 4:02:05 2020-07-31 15:46:54,506-INFO: iter: 1720, lr: 0.000054, 'loss': '101.547394', time: 0.329, eta: 4:24:25 2020-07-31 15:47:00,306-INFO: iter: 1740, lr: 0.000054, 'loss': '100.238541', time: 0.290, eta: 3:53:16 2020-07-31 15:47:06,376-INFO: iter: 1760, lr: 0.000055, 'loss': '97.934555', time: 0.309, eta: 4:08:28 2020-07-31 15:47:12,769-INFO: iter: 1780, lr: 0.000056, 'loss': '95.060623', time: 0.326, eta: 4:21:45 2020-07-31 15:47:19,247-INFO: iter: 1800, lr: 0.000056, 'loss': '113.702446', time: 0.314, eta: 4:11:55 2020-07-31 15:47:25,983-INFO: iter: 1820, lr: 0.000057, 'loss': '94.452484', time: 0.337, eta: 4:30:55 2020-07-31 15:47:32,322-INFO: iter: 1840, lr: 0.000058, 'loss': '97.577782', time: 0.308, eta: 4:06:59 2020-07-31 15:47:40,725-INFO: iter: 1860, lr: 0.000058, 'loss': '108.748138', time: 0.431, eta: 5:45:42 ^C 2020-07-31 15:47:41,125-INFO: KeyboardInterrupt: main proc 206 exit, kill subprocess [295, 298, 296, 302, 300, 299, 297, 301]
查看loss和精度值曲线
启动训练后,可以使用Visualdl可以在训练期间实时观察loss和精度值曲线。
查看方法:新打开一个新的网页窗口,在地址栏参考以下格式输入网址。
格式:AI studio链接+visualdl,比如:https://aistudio.baidu.com/bdvgpu/user/166411/627226/visualdl
当我们训练完成后,在项目文件的output中可以看到我们生成的模型文件,在代码中我们设置模型每迭代200步保存一次,训练总共有50000步,因此会生成250个训练文件,由于我们使用 --eval参数进行边训练边测试,因此我们可以获得训练过程中最好的模型文件。
PaddleDetection给出的模型预测脚本是infer.py,可通过此脚本,使用训练好的模型对指定图像进行推理预测。该脚本在项目文件夹tools里面。PaddleDetection提供了两种预测方式,第一种是单张图片预测,第二种是以一个文件夹中的图片进行预测。使用–infer_img=demo/xxx.jpg为单张图片进行预测,使用–infer_dir=demo为用一个文件夹进行预测。其中demo是放置测试图片的地方。
infer.py默认加载上面一键式训练的最终权重output/yolov3_darknet/model_final
, 可通过-o weights=
指定模型权重路径,若指定路径为url,将自动下载解压并加载。本示例中自动下载并加载PaddleDetection发布的权重。
预测结果默认存储于output
目录,可通过如下方式可视化预测结果。
# ! python tools/infer.py -c ../../work/yolov3_darknet.yml --infer_img=../../work/dog.jpg
! python tools/infer.py -c ../../work/yolov3_darknet.yml --infer_img=../../work/dog.jpg -o weights=https://paddlemodels.bj.bcebos.com/object_detection/yolov3_darknet.tar
W0731 15:48:09.248399 652 device_context.cc:252] Please NOTE: device: 0, CUDA Capability: 70, Driver API Version: 10.1, Runtime API Version: 9.0 W0731 15:48:09.252437 652 device_context.cc:260] device: 0, cuDNN Version: 7.3. 2020-07-31 15:48:11,873-WARNING: /home/aistudio/.cache/paddle/weights/yolov3_darknet.pdparams not found, try to load model file saved with [ save_params, save_persistables, save_vars ] 2020-07-31 15:48:12,584-INFO: Not found annotation file annotations/instances_val2017.json, load coco17 categories. 2020-07-31 15:48:12,800-INFO: Infer iter 0 2020-07-31 15:48:12,817-INFO: Detection bbox results save in output/dog.jpg
%matplotlib inline
import matplotlib.pyplot as plt
import cv2
infer_img = cv2.imread("output/dog.jpg")
plt.figure(figsize=(15,10))
plt.imshow(cv2.cvtColor(infer_img, cv2.COLOR_BGR2RGB))
plt.show()
模型导出
模型部署须将模型导出为Paddle预测库支持的格式。PaddleDetection提供了模型导出脚本tools/export_model.py
,通过此脚本可以一键式下载PaddleDetection发布的yolov3_darknet
模型权重并完成模型导出。导出的模型存储于output/yolov3_darknet
目录。
! python tools/export_model.py -c configs/yolov3_darknet.yml -o weights=https://paddlemodels.bj.bcebos.com/object_detection/yolov3_darknet.tar
2020-07-31 15:52:56,613-WARNING: /home/aistudio/.cache/paddle/weights/yolov3_darknet.pdparams not found, try to load model file saved with [ save_params, save_persistables, save_vars ] 2020-07-31 15:52:57,611-INFO: save_inference_model pruned unused feed variables im_id 2020-07-31 15:52:57,611-INFO: Export inference model to output/yolov3_darknet, input: ['image', 'im_size'], output: ['multiclass_nms_0.tmp_0']... 2020-07-31 15:52:58,548-INFO: Not found annotation file annotations/instances_val2017.json, load coco17 categories. 2020-07-31 15:52:58,552-INFO: Export inference config file to output/yolov3_darknet/infer_cfg.yml
图像推理
PaddleDetection在deploy/python
文件夹下提供模型推理的脚本infer.py,可以实现Python端调用Paddle预测库完成图像和视频的推理,并可视化推理结果。
! python deploy/python/infer.py --model_dir=output/yolov3_darknet/ --image_file=../../work/dog.jpg --use_gpu=True
----------- Running Arguments ----------- image_file: ../../work/dog.jpg model_dir: output/yolov3_darknet/ output_dir: output run_benchmark: False run_mode: fluid threshold: 0.5 use_gpu: True video_file: ------------------------------------------ ----------- Model Configuration ----------- Model Arch: YOLO Use Padddle Executor: False Transform Order: --transform op: Resize --transform op: Normalize --transform op: Permute -------------------------------------------- Inference: 22.216081619262695 ms per batch image class_id:1, confidence:0.96,left_top:[122.40,125.05], right_bottom:[560.99,435.19] class_id:7, confidence:0.85,left_top:[471.86,80.75], right_bottom:[685.44,167.01] class_id:16, confidence:0.98,left_top:[131.98,224.07], right_bottom:[316.92,545.75] save result to: output/dog.jpg
%matplotlib inline
import matplotlib.pyplot as plt
import cv2
infer_img = cv2.imread("output/dog.jpg")
plt.figure(figsize=(15,10))
plt.imshow(cv2.cvtColor(infer_img, cv2.COLOR_BGR2RGB))
plt.show()
视频推理
同样使用deploy/python/infer.py
进行视频推理。视频推理结果不能在AIStudio上展示,可以在data/PaddleDetection/output
目录下载预测结果视频到本地播放,确认预测效果。
为了在视频流预测中效果更好,可以设置
--thresh=0.2
,这样score >= 0.2
的预测框均画在可视化结果中。
! python deploy/python/infer.py --model_dir=output/yolov3_darknet/ --video_file=../../work/test.mp4 --use_gpu=True --thresh=0.2
Inference: 20.867347717285156 ms per batch image class_id:0, confidence:0.92,left_top:[802.62,152.84], right_bottom:[863.96,284.90] class_id:17, confidence:0.99,left_top:[706.12,171.99], right_bottom:[938.53,364.24] class_id:17, confidence:0.97,left_top:[140.06,251.72], right_bottom:[356.46,416.49] class_id:17, confidence:0.95,left_top:[432.89,222.03], right_bottom:[629.28,376.07] class_id:17, confidence:0.94,left_top:[549.35,230.51], right_bottom:[709.38,367.12] class_id:17, confidence:0.75,left_top:[0.00,257.36], right_bottom:[86.34,417.62] detect frame:145 Inference: 20.87688446044922 ms per batch image class_id:0, confidence:0.75,left_top:[816.19,139.67], right_bottom:[874.47,282.75] class_id:17, confidence:0.99,left_top:[710.34,161.08], right_bottom:[949.00,355.40] class_id:17, confidence:0.95,left_top:[457.67,219.18], right_bottom:[637.15,367.83] class_id:17, confidence:0.93,left_top:[140.75,248.25], right_bottom:[363.70,412.64] class_id:17, confidence:0.85,left_top:[584.36,220.84], right_bottom:[717.28,359.18] class_id:17, confidence:0.75,left_top:[0.00,258.11], right_bottom:[82.99,413.29] detect frame:146 Inference: 20.86806297302246 ms per batch image class_id:0, confidence:0.87,left_top:[838.77,122.24], right_bottom:[897.83,271.42] class_id:17, confidence:0.99,left_top:[739.84,148.93], right_bottom:[971.95,349.16] class_id:17, confidence:0.96,left_top:[583.26,214.90], right_bottom:[743.49,359.32] class_id:17, confidence:0.95,left_top:[476.78,215.65], right_bottom:[654.16,365.25] class_id:17, confidence:0.95,left_top:[0.00,252.64], right_bottom:[98.08,410.19] class_id:17, confidence:0.89,left_top:[177.31,242.36], right_bottom:[382.36,402.14] detect frame:147 Inference: 20.834684371948242 ms per batch image class_id:0, confidence:0.88,left_top:[855.00,117.39], right_bottom:[912.18,269.93] class_id:17, confidence:0.99,left_top:[744.04,143.35], right_bottom:[989.51,347.78] class_id:17, confidence:0.96,left_top:[488.78,205.83], right_bottom:[671.08,357.99] class_id:17, confidence:0.93,left_top:[1.38,242.37], right_bottom:[107.43,394.92] class_id:17, confidence:0.90,left_top:[606.82,202.20], right_bottom:[759.10,346.42] class_id:17, confidence:0.74,left_top:[173.84,229.31], right_bottom:[405.05,395.68] detect frame:148 Inference: 20.95198631286621 ms per batch image class_id:0, confidence:0.82,left_top:[866.98,117.93], right_bottom:[930.13,273.13] class_id:17, confidence:0.99,left_top:[761.65,144.62], right_bottom:[1010.87,353.06] class_id:17, confidence:0.97,left_top:[499.06,205.60], right_bottom:[689.92,357.20] class_id:17, confidence:0.96,left_top:[205.44,225.30], right_bottom:[413.25,390.66] class_id:17, confidence:0.93,left_top:[612.58,201.05], right_bottom:[777.56,346.86] class_id:17, confidence:0.92,left_top:[0.00,237.70], right_bottom:[117.70,393.22] detect frame:149 Inference: 20.865678787231445 ms per batch image class_id:0, confidence:0.92,left_top:[887.07,118.34], right_bottom:[942.18,274.42] class_id:17, confidence:0.99,left_top:[775.14,144.32], right_bottom:[1030.93,360.31] class_id:17, confidence:0.98,left_top:[218.87,216.38], right_bottom:[429.78,383.15] class_id:17, confidence:0.93,left_top:[0.00,237.04], right_bottom:[129.51,388.95] class_id:17, confidence:0.90,left_top:[505.64,204.31], right_bottom:[699.70,357.55] class_id:17, confidence:0.84,left_top:[639.16,202.27], right_bottom:[792.76,347.65] detect frame:150 Inference: 20.720243453979492 ms per batch image class_id:0, confidence:0.78,left_top:[901.95,120.48], right_bottom:[964.01,279.41] class_id:17, confidence:0.99,left_top:[787.41,145.08], right_bottom:[1045.18,361.12] class_id:17, confidence:0.99,left_top:[234.14,212.56], right_bottom:[445.91,380.77] class_id:17, confidence:0.95,left_top:[524.80,205.21], right_bottom:[729.90,361.79] class_id:17, confidence:0.92,left_top:[0.81,224.22], right_bottom:[142.62,376.47] class_id:17, confidence:0.87,left_top:[636.71,203.00], right_bottom:[809.56,348.67] detect frame:151 Inference: 20.743608474731445 ms per batch image class_id:0, confidence:0.73,left_top:[923.29,128.46], right_bottom:[976.99,293.44] class_id:17, confidence:0.98,left_top:[0.00,234.39], right_bottom:[152.19,397.33] class_id:17, confidence:0.98,left_top:[814.06,155.82], right_bottom:[1051.07,365.46] class_id:17, confidence:0.96,left_top:[244.49,215.97], right_bottom:[452.61,379.61] class_id:17, confidence:0.89,left_top:[540.92,213.95], right_bottom:[737.92,364.77] class_id:17, confidence:0.72,left_top:[669.61,218.10], right_bottom:[828.76,359.49] detect frame:152 Inference: 20.807266235351562 ms per batch image class_id:0, confidence:0.80,left_top:[933.73,118.50], right_bottom:[986.56,276.68] class_id:17, confidence:0.99,left_top:[827.28,143.34], right_bottom:[1073.93,365.56] class_id:17, confidence:0.97,left_top:[558.65,203.50], right_bottom:[744.98,356.70] class_id:17, confidence:0.97,left_top:[0.00,231.73], right_bottom:[161.34,389.45] class_id:17, confidence:0.96,left_top:[251.65,211.89], right_bottom:[463.97,371.45] class_id:17, confidence:0.94,left_top:[666.61,203.63], right_bottom:[836.48,357.46] detect frame:153 Inference: 20.956993103027344 ms per batch image class_id:0, confidence:0.79,left_top:[935.56,131.87], right_bottom:[997.06,292.52] class_id:17, confidence:0.99,left_top:[822.86,167.34], right_bottom:[1074.22,370.23] class_id:17, confidence:0.98,left_top:[259.78,215.11], right_bottom:[474.61,374.99] class_id:17, confidence:0.98,left_top:[0.00,231.90], right_bottom:[163.87,389.45] class_id:17, confidence:0.93,left_top:[569.98,216.16], right_bottom:[748.93,364.95] class_id:17, confidence:0.93,left_top:[673.06,217.12], right_bottom:[845.91,364.70] detect frame:154 Inference: 20.941734313964844 ms per batch image class_id:0, confidence:0.79,left_top:[941.19,148.42], right_bottom:[996.16,295.95] class_id:17, confidence:0.99,left_top:[828.15,178.69], right_bottom:[1076.98,377.58] class_id:17, confidence:0.98,left_top:[268.58,229.89], right_bottom:[476.39,386.61] class_id:17, confidence:0.97,left_top:[0.00,242.15], right_bottom:[166.64,396.62] class_id:17, confidence:0.94,left_top:[572.39,237.29], right_bottom:[752.99,374.16] class_id:17, confidence:0.90,left_top:[683.07,226.55], right_bottom:[848.38,370.89] detect frame:155 Inference: 20.961999893188477 ms per batch image class_id:0, confidence:0.84,left_top:[939.24,139.33], right_bottom:[1001.48,295.57] class_id:17, confidence:0.99,left_top:[831.11,172.95], right_bottom:[1078.63,375.02] class_id:17, confidence:0.98,left_top:[276.89,223.74], right_bottom:[480.77,389.19] class_id:17, confidence:0.98,left_top:[1.84,245.51], right_bottom:[167.54,403.44] class_id:17, confidence:0.95,left_top:[567.56,226.48], right_bottom:[756.09,375.07] class_id:17, confidence:0.93,left_top:[685.48,217.36], right_bottom:[849.85,371.53] detect frame:156 Inference: 20.688295364379883 ms per batch image class_id:0, confidence:0.65,left_top:[938.74,153.05], right_bottom:[1004.66,308.02] class_id:17, confidence:0.99,left_top:[838.10,180.77], right_bottom:[1084.14,381.98] class_id:17, confidence:0.99,left_top:[286.75,244.39], right_bottom:[489.68,413.23] class_id:17, confidence:0.99,left_top:[4.48,279.29], right_bottom:[179.40,430.17] class_id:17, confidence:0.96,left_top:[570.94,239.95], right_bottom:[762.22,389.61] class_id:17, confidence:0.85,left_top:[680.30,231.70], right_bottom:[855.64,385.25] detect frame:157 Inference: 20.906448364257812 ms per batch image class_id:0, confidence:0.74,left_top:[938.64,153.78], right_bottom:[1005.18,307.02] class_id:17, confidence:0.99,left_top:[834.47,181.22], right_bottom:[1088.15,386.77] class_id:17, confidence:0.99,left_top:[289.24,247.86], right_bottom:[493.85,419.90] class_id:17, confidence:0.97,left_top:[3.56,286.88], right_bottom:[181.05,441.72] class_id:17, confidence:0.88,left_top:[571.10,240.67], right_bottom:[764.11,394.44] class_id:17, confidence:0.71,left_top:[677.54,230.66], right_bottom:[855.22,391.93] detect frame:158 Inference: 20.777225494384766 ms per batch image class_id:0, confidence:0.92,left_top:[929.25,142.19], right_bottom:[997.37,301.30] class_id:17, confidence:0.99,left_top:[825.87,175.61], right_bottom:[1089.03,393.02] class_id:17, confidence:0.99,left_top:[284.23,245.05], right_bottom:[484.42,424.60] class_id:17, confidence:0.98,left_top:[4.54,287.07], right_bottom:[170.83,455.74] class_id:17, confidence:0.92,left_top:[570.58,237.92], right_bottom:[761.40,398.05] class_id:17, confidence:0.82,left_top:[677.82,227.75], right_bottom:[852.57,393.83] detect frame:159 Inference: 20.716428756713867 ms per batch image class_id:0, confidence:0.95,left_top:[923.66,157.68], right_bottom:[991.56,311.10] class_id:17, confidence:0.99,left_top:[832.73,183.93], right_bottom:[1081.99,397.45] class_id:17, confidence:0.99,left_top:[0.78,306.62], right_bottom:[160.36,471.07] class_id:17, confidence:0.98,left_top:[280.63,261.84], right_bottom:[478.77,436.38] class_id:17, confidence:0.86,left_top:[561.40,244.43], right_bottom:[764.13,407.03] class_id:17, confidence:0.78,left_top:[679.85,235.72], right_bottom:[852.38,400.19] detect frame:160 Inference: 20.795106887817383 ms per batch image class_id:0, confidence:0.89,left_top:[921.44,163.77], right_bottom:[990.80,317.62] class_id:17, confidence:0.99,left_top:[0.00,312.73], right_bottom:[162.41,468.77] class_id:17, confidence:0.99,left_top:[822.68,183.35], right_bottom:[1080.17,412.09] class_id:17, confidence:0.97,left_top:[276.95,263.92], right_bottom:[474.51,440.27] class_id:17, confidence:0.94,left_top:[572.71,251.71], right_bottom:[755.38,406.70] class_id:17, confidence:0.87,left_top:[676.37,241.57], right_bottom:[848.72,413.66] detect frame:161 Inference: 20.885467529296875 ms per batch image class_id:0, confidence:0.88,left_top:[918.45,190.08], right_bottom:[985.08,347.73] class_id:17, confidence:0.98,left_top:[817.18,210.49], right_bottom:[1081.67,418.23] class_id:17, confidence:0.98,left_top:[571.71,269.29], right_bottom:[749.93,422.49] class_id:17, confidence:0.97,left_top:[0.00,329.73], right_bottom:[152.10,476.67] class_id:17, confidence:0.97,left_top:[268.58,286.23], right_bottom:[469.80,452.94] class_id:17, confidence:0.95,left_top:[678.98,262.81], right_bottom:[845.11,425.57] detect frame:162 Inference: 20.87545394897461 ms per batch image class_id:0, confidence:0.81,left_top:[916.12,191.69], right_bottom:[982.23,345.36] class_id:17, confidence:0.99,left_top:[799.00,212.82], right_bottom:[1064.20,419.77] class_id:17, confidence:0.98,left_top:[565.26,269.67], right_bottom:[740.69,430.49] class_id:17, confidence:0.98,left_top:[0.00,331.68], right_bottom:[146.33,486.03] class_id:17, confidence:0.95,left_top:[672.26,262.87], right_bottom:[837.12,429.38] class_id:17, confidence:0.95,left_top:[268.72,285.04], right_bottom:[469.77,461.68] detect frame:163 Inference: 20.832300186157227 ms per batch image class_id:0, confidence:0.92,left_top:[918.52,201.04], right_bottom:[984.30,354.17] class_id:17, confidence:0.99,left_top:[813.66,221.80], right_bottom:[1056.22,426.19] class_id:17, confidence:0.98,left_top:[561.14,275.75], right_bottom:[745.68,434.68] class_id:17, confidence:0.98,left_top:[0.00,334.99], right_bottom:[146.95,490.60] class_id:17, confidence:0.98,left_top:[267.06,297.27], right_bottom:[473.87,468.82] class_id:17, confidence:0.96,left_top:[669.45,266.68], right_bottom:[842.07,437.16] detect frame:164 Inference: 20.642757415771484 ms per batch image class_id:0, confidence:0.93,left_top:[920.82,214.68], right_bottom:[976.48,358.69] class_id:17, confidence:0.99,left_top:[811.20,239.20], right_bottom:[1056.47,430.97] class_id:17, confidence:0.98,left_top:[256.56,304.44], right_bottom:[466.01,469.46] class_id:17, confidence:0.97,left_top:[558.08,290.63], right_bottom:[735.51,442.88] class_id:17, confidence:0.94,left_top:[0.00,345.98], right_bottom:[130.30,493.75] class_id:17, confidence:0.92,left_top:[670.98,283.09], right_bottom:[833.85,443.27] detect frame:165 Inference: 20.650386810302734 ms per batch image class_id:0, confidence:0.84,left_top:[917.78,197.79], right_bottom:[982.11,354.24] class_id:17, confidence:0.99,left_top:[801.93,222.88], right_bottom:[1056.67,428.93] class_id:17, confidence:0.99,left_top:[258.03,298.32], right_bottom:[473.41,470.37] class_id:17, confidence:0.96,left_top:[556.74,277.08], right_bottom:[739.97,437.30] class_id:17, confidence:0.94,left_top:[0.00,340.20], right_bottom:[130.22,499.83] class_id:17, confidence:0.86,left_top:[667.54,264.97], right_bottom:[837.91,439.04] detect frame:166 Inference: 20.69234848022461 ms per batch image class_id:0, confidence:0.64,left_top:[916.95,218.44], right_bottom:[976.39,362.24] class_id:17, confidence:0.99,left_top:[799.36,251.46], right_bottom:[1054.29,443.97] class_id:17, confidence:0.99,left_top:[242.93,315.58], right_bottom:[467.14,479.19] class_id:17, confidence:0.96,left_top:[542.97,295.47], right_bottom:[739.68,448.14] class_id:17, confidence:0.89,left_top:[0.00,348.70], right_bottom:[119.57,489.78] class_id:17, confidence:0.79,left_top:[674.74,290.87], right_bottom:[832.37,443.79] detect frame:167 Inference: 20.741701126098633 ms per batch image class_id:0, confidence:0.85,left_top:[917.23,197.67], right_bottom:[982.32,356.28] class_id:17, confidence:0.99,left_top:[799.38,227.39], right_bottom:[1060.95,443.85] class_id:17, confidence:0.98,left_top:[251.60,298.06], right_bottom:[465.37,474.57] class_id:17, confidence:0.95,left_top:[0.00,336.42], right_bottom:[119.22,486.33] class_id:17, confidence:0.94,left_top:[538.62,284.12], right_bottom:[736.85,444.82] class_id:17, confidence:0.74,left_top:[670.19,277.53], right_bottom:[832.05,452.04] detect frame:168 Inference: 20.80535888671875 ms per batch image class_id:0, confidence:0.61,left_top:[916.06,204.56], right_bottom:[980.56,368.86] class_id:17, confidence:0.99,left_top:[797.81,241.30], right_bottom:[1056.59,447.93] class_id:17, confidence:0.97,left_top:[247.68,302.53], right_bottom:[462.88,474.22] class_id:17, confidence:0.95,left_top:[539.62,289.55], right_bottom:[739.79,450.49] class_id:17, confidence:0.95,left_top:[0.00,334.61], right_bottom:[112.79,491.45] class_id:17, confidence:0.65,left_top:[620.14,286.36], right_bottom:[814.81,454.00] detect frame:169 Inference: 20.83730697631836 ms per batch image class_id:0, confidence:0.82,left_top:[915.70,207.41], right_bottom:[978.52,371.44] class_id:17, confidence:0.99,left_top:[792.57,243.16], right_bottom:[1053.10,452.50] class_id:17, confidence:0.96,left_top:[0.00,335.05], right_bottom:[112.73,490.30] class_id:17, confidence:0.96,left_top:[537.30,289.80], right_bottom:[738.29,452.77] class_id:17, confidence:0.96,left_top:[243.24,303.30], right_bottom:[454.95,477.60] class_id:17, confidence:0.82,left_top:[642.85,285.41], right_bottom:[820.20,452.87] detect frame:170 Inference: 20.904541015625 ms per batch image class_id:0, confidence:0.75,left_top:[907.36,213.07], right_bottom:[970.97,373.98] class_id:17, confidence:0.98,left_top:[790.33,243.34], right_bottom:[1041.94,454.11] class_id:17, confidence:0.95,left_top:[0.00,334.68], right_bottom:[110.09,492.09] class_id:17, confidence:0.95,left_top:[238.27,309.78], right_bottom:[451.56,480.98] class_id:17, confidence:0.93,left_top:[536.94,297.02], right_bottom:[727.27,454.22] class_id:17, confidence:0.92,left_top:[642.29,289.70], right_bottom:[813.71,460.91] detect frame:171 Inference: 20.809650421142578 ms per batch image class_id:0, confidence:0.92,left_top:[894.92,222.04], right_bottom:[950.42,371.81] class_id:17, confidence:0.99,left_top:[788.00,249.72], right_bottom:[1033.72,452.96] class_id:17, confidence:0.98,left_top:[219.25,322.11], right_bottom:[441.22,497.01] class_id:17, confidence:0.93,left_top:[633.30,299.88], right_bottom:[796.53,464.58] class_id:17, confidence:0.89,left_top:[0.00,359.94], right_bottom:[100.89,517.94] class_id:17, confidence:0.87,left_top:[530.24,310.65], right_bottom:[707.98,463.50] detect frame:172 Inference: 20.681381225585938 ms per batch image class_id:0, confidence:0.91,left_top:[891.25,209.89], right_bottom:[947.06,366.77] class_id:17, confidence:0.99,left_top:[784.12,238.19], right_bottom:[1025.84,451.10] class_id:17, confidence:0.94,left_top:[0.00,362.79], right_bottom:[102.39,525.95] class_id:17, confidence:0.93,left_top:[637.90,286.17], right_bottom:[791.92,462.42] class_id:17, confidence:0.89,left_top:[524.70,306.23], right_bottom:[699.93,462.16] class_id:17, confidence:0.88,left_top:[222.05,319.58], right_bottom:[438.69,499.62] detect frame:173 Inference: 20.882129669189453 ms per batch image class_id:0, confidence:0.87,left_top:[893.41,202.19], right_bottom:[948.06,358.76] class_id:17, confidence:0.99,left_top:[778.31,235.25], right_bottom:[1024.53,454.18] class_id:17, confidence:0.90,left_top:[0.00,351.93], right_bottom:[99.39,513.87] class_id:17, confidence:0.87,left_top:[615.35,274.04], right_bottom:[789.74,465.15] class_id:17, confidence:0.86,left_top:[219.89,312.92], right_bottom:[436.83,497.55] class_id:17, confidence:0.77,left_top:[511.70,313.69], right_bottom:[682.60,464.20] detect frame:174 Inference: 20.795345306396484 ms per batch image class_id:0, confidence:0.95,left_top:[890.05,222.36], right_bottom:[943.93,370.66] class_id:17, confidence:0.99,left_top:[768.73,251.97], right_bottom:[1026.28,452.04] class_id:17, confidence:0.98,left_top:[219.94,320.58], right_bottom:[438.63,496.29] class_id:17, confidence:0.90,left_top:[512.65,307.64], right_bottom:[721.69,466.35] class_id:17, confidence:0.87,left_top:[0.00,355.59], right_bottom:[95.20,509.35] class_id:17, confidence:0.75,left_top:[613.96,292.66], right_bottom:[786.39,454.43] detect frame:175 Inference: 20.80988883972168 ms per batch image class_id:0, confidence:0.88,left_top:[873.97,219.98], right_bottom:[938.57,371.83] class_id:17, confidence:1.00,left_top:[754.99,250.13], right_bottom:[1020.82,448.67] class_id:17, confidence:0.97,left_top:[220.32,317.15], right_bottom:[432.99,494.85] class_id:17, confidence:0.87,left_top:[0.00,349.77], right_bottom:[89.27,507.61] class_id:17, confidence:0.83,left_top:[494.88,315.40], right_bottom:[680.15,464.76] class_id:17, confidence:0.76,left_top:[601.65,289.55], right_bottom:[774.12,455.94] detect frame:176 Inference: 20.653724670410156 ms per batch image class_id:0, confidence:0.86,left_top:[862.00,211.04], right_bottom:[930.49,363.91] class_id:17, confidence:1.00,left_top:[752.94,234.85], right_bottom:[1020.67,442.18] class_id:17, confidence:0.96,left_top:[212.85,320.81], right_bottom:[416.05,496.45] class_id:17, confidence:0.95,left_top:[0.00,365.46], right_bottom:[77.02,512.72] class_id:17, confidence:0.88,left_top:[492.53,311.05], right_bottom:[671.09,466.85] class_id:17, confidence:0.74,left_top:[580.55,290.81], right_bottom:[752.69,459.88] detect frame:177 Inference: 20.68305015563965 ms per batch image class_id:0, confidence:0.92,left_top:[869.31,216.49], right_bottom:[935.01,368.10] class_id:17, confidence:0.99,left_top:[751.74,246.82], right_bottom:[1027.97,446.06] class_id:17, confidence:0.96,left_top:[215.39,319.92], right_bottom:[416.33,491.10] class_id:17, confidence:0.96,left_top:[582.33,297.49], right_bottom:[747.23,476.42] class_id:17, confidence:0.92,left_top:[0.00,356.82], right_bottom:[79.64,500.63] class_id:17, confidence:0.73,left_top:[497.86,313.46], right_bottom:[670.79,469.24] detect frame:178 Inference: 20.751953125 ms per batch image class_id:0, confidence:0.80,left_top:[866.25,221.63], right_bottom:[932.30,371.06] class_id:17, confidence:0.99,left_top:[751.70,250.46], right_bottom:[1025.53,453.56] class_id:17, confidence:0.97,left_top:[210.20,317.92], right_bottom:[413.32,490.57] class_id:17, confidence:0.93,left_top:[581.25,300.32], right_bottom:[744.38,474.15] class_id:17, confidence:0.90,left_top:[0.00,351.47], right_bottom:[75.48,497.19] class_id:17, confidence:0.69,left_top:[499.75,313.34], right_bottom:[668.84,468.92] detect frame:179 Inference: 20.84946632385254 ms per batch image class_id:0, confidence:0.92,left_top:[861.89,235.50], right_bottom:[920.65,383.67] class_id:17, confidence:0.99,left_top:[754.73,257.82], right_bottom:[1016.98,455.23] class_id:17, confidence:0.98,left_top:[194.40,323.02], right_bottom:[402.67,490.85] class_id:17, confidence:0.91,left_top:[491.83,320.41], right_bottom:[668.90,470.89] class_id:17, confidence:0.90,left_top:[582.15,306.09], right_bottom:[739.29,474.74] class_id:17, confidence:0.73,left_top:[1.99,353.75], right_bottom:[70.61,497.25] detect frame:180 Inference: 20.71404457092285 ms per batch image class_id:0, confidence:0.87,left_top:[863.44,221.61], right_bottom:[926.80,379.62] class_id:17, confidence:0.99,left_top:[743.07,249.23], right_bottom:[1024.90,454.77] class_id:17, confidence:0.97,left_top:[196.92,312.00], right_bottom:[408.95,487.22] class_id:17, confidence:0.84,left_top:[493.00,312.42], right_bottom:[670.55,472.48] class_id:17, confidence:0.78,left_top:[576.35,296.71], right_bottom:[741.67,473.95] class_id:17, confidence:0.65,left_top:[2.07,335.69], right_bottom:[71.00,482.60] detect frame:181 Inference: 20.897388458251953 ms per batch image class_id:0, confidence:0.85,left_top:[861.79,244.88], right_bottom:[915.93,387.79] class_id:17, confidence:0.99,left_top:[753.61,265.18], right_bottom:[1009.66,461.92] class_id:17, confidence:0.97,left_top:[196.04,317.42], right_bottom:[401.26,483.02] class_id:17, confidence:0.85,left_top:[574.29,303.64], right_bottom:[733.32,477.01] class_id:17, confidence:0.63,left_top:[0.00,330.19], right_bottom:[64.25,485.48] class_id:17, confidence:0.63,left_top:[482.03,315.53], right_bottom:[685.51,475.10] detect frame:182 Inference: 20.75362205505371 ms per batch image class_id:0, confidence:0.82,left_top:[859.62,235.72], right_bottom:[911.69,389.75] class_id:17, confidence:0.98,left_top:[741.04,261.33], right_bottom:[996.92,447.92] class_id:17, confidence:0.93,left_top:[192.29,313.07], right_bottom:[393.00,481.47] class_id:17, confidence:0.80,left_top:[483.02,306.16], right_bottom:[692.59,469.97] class_id:17, confidence:0.74,left_top:[580.21,300.48], right_bottom:[727.95,471.90] class_id:17, confidence:0.36,left_top:[0.00,328.56], right_bottom:[62.82,489.02] detect frame:183 Inference: 20.813465118408203 ms per batch image class_id:0, confidence:0.87,left_top:[858.16,232.28], right_bottom:[912.60,387.36] class_id:17, confidence:0.99,left_top:[739.13,259.35], right_bottom:[997.19,450.34] class_id:17, confidence:0.95,left_top:[186.79,315.03], right_bottom:[392.92,487.83] class_id:17, confidence:0.80,left_top:[479.38,304.78], right_bottom:[684.31,469.36] class_id:17, confidence:0.74,left_top:[580.84,294.52], right_bottom:[728.40,452.77] class_id:17, confidence:0.41,left_top:[0.00,340.89], right_bottom:[60.76,500.07] detect frame:184 Inference: 20.818471908569336 ms per batch image class_id:0, confidence:0.88,left_top:[859.67,236.91], right_bottom:[913.60,385.23] class_id:17, confidence:0.99,left_top:[734.56,262.95], right_bottom:[997.71,449.95] class_id:17, confidence:0.94,left_top:[177.98,317.82], right_bottom:[393.25,485.45] class_id:17, confidence:0.89,left_top:[479.36,305.05], right_bottom:[698.79,465.92] class_id:17, confidence:0.58,left_top:[580.08,294.64], right_bottom:[723.63,457.47] class_id:17, confidence:0.43,left_top:[1.32,339.55], right_bottom:[50.87,508.93] detect frame:185 Inference: 20.677566528320312 ms per batch image class_id:0, confidence:0.85,left_top:[857.05,229.71], right_bottom:[911.99,385.11] class_id:17, confidence:0.99,left_top:[733.44,264.24], right_bottom:[994.63,448.74] class_id:17, confidence:0.91,left_top:[175.81,309.71], right_bottom:[387.42,481.19] class_id:17, confidence:0.72,left_top:[576.17,292.34], right_bottom:[722.31,458.71] class_id:17, confidence:0.62,left_top:[471.35,308.98], right_bottom:[641.92,467.92] class_id:17, confidence:0.27,left_top:[2.01,331.85], right_bottom:[46.29,490.13] detect frame:186 Inference: 20.761966705322266 ms per batch image class_id:0, confidence:0.87,left_top:[858.66,219.14], right_bottom:[912.83,374.43] class_id:17, confidence:0.99,left_top:[729.17,256.26], right_bottom:[1000.28,446.00] class_id:17, confidence:0.88,left_top:[479.27,301.76], right_bottom:[646.19,469.96] class_id:17, confidence:0.85,left_top:[583.24,290.77], right_bottom:[717.95,455.70] class_id:17, confidence:0.78,left_top:[232.18,301.52], right_bottom:[388.17,480.70] class_id:17, confidence:0.39,left_top:[0.54,333.95], right_bottom:[42.13,475.75] detect frame:187 Inference: 20.71404457092285 ms per batch image class_id:0, confidence:0.91,left_top:[859.49,219.11], right_bottom:[913.58,375.40] class_id:17, confidence:0.99,left_top:[737.27,252.63], right_bottom:[997.34,444.99] class_id:17, confidence:0.85,left_top:[485.32,299.31], right_bottom:[649.04,466.46] class_id:17, confidence:0.84,left_top:[232.22,303.01], right_bottom:[386.78,482.73] class_id:17, confidence:0.75,left_top:[585.78,294.98], right_bottom:[716.66,447.14] class_id:17, confidence:0.56,left_top:[0.89,337.86], right_bottom:[40.57,472.54] class_id:17, confidence:0.21,left_top:[141.90,333.32], right_bottom:[293.00,480.73] detect frame:188 Inference: 20.679473876953125 ms per batch image class_id:0, confidence:0.89,left_top:[856.26,219.73], right_bottom:[918.40,377.85] class_id:17, confidence:0.99,left_top:[736.17,250.61], right_bottom:[998.16,445.21] class_id:17, confidence:0.69,left_top:[145.23,309.88], right_bottom:[365.18,489.51] class_id:17, confidence:0.69,left_top:[495.40,299.00], right_bottom:[663.09,466.07] class_id:17, confidence:0.56,left_top:[0.00,337.83], right_bottom:[38.47,473.57] class_id:17, confidence:0.52,left_top:[588.01,296.28], right_bottom:[715.08,442.31] detect frame:189 Inference: 21.020889282226562 ms per batch image class_id:0, confidence:0.91,left_top:[858.65,215.29], right_bottom:[913.63,373.44] class_id:17, confidence:0.99,left_top:[732.64,246.24], right_bottom:[998.35,442.55] class_id:17, confidence:0.92,left_top:[475.78,290.46], right_bottom:[646.54,460.44] class_id:17, confidence:0.82,left_top:[584.77,295.17], right_bottom:[711.01,447.86] class_id:17, confidence:0.70,left_top:[141.57,294.58], right_bottom:[368.76,489.52] class_id:17, confidence:0.31,left_top:[1.89,332.65], right_bottom:[40.09,481.07] detect frame:190 Inference: 20.846128463745117 ms per batch image class_id:0, confidence:0.77,left_top:[854.90,204.91], right_bottom:[916.70,369.91] class_id:17, confidence:0.99,left_top:[734.30,243.48], right_bottom:[1001.12,444.60] class_id:17, confidence:0.80,left_top:[469.45,281.88], right_bottom:[647.73,457.04] class_id:17, confidence:0.75,left_top:[544.80,285.54], right_bottom:[714.69,453.03] class_id:17, confidence:0.69,left_top:[142.36,288.87], right_bottom:[369.79,481.18] class_id:17, confidence:0.37,left_top:[1.09,325.67], right_bottom:[43.06,488.42] class_id:17, confidence:0.22,left_top:[145.08,344.11], right_bottom:[288.63,476.50] detect frame:191 Inference: 20.681142807006836 ms per batch image class_id:0, confidence:0.94,left_top:[863.36,214.75], right_bottom:[916.22,373.43] class_id:17, confidence:0.99,left_top:[735.40,250.39], right_bottom:[1002.28,440.74] class_id:17, confidence:0.85,left_top:[152.36,289.40], right_bottom:[375.03,478.12] class_id:17, confidence:0.76,left_top:[540.65,290.95], right_bottom:[720.96,451.81] class_id:17, confidence:0.71,left_top:[465.11,293.00], right_bottom:[650.05,455.52] class_id:17, confidence:0.48,left_top:[0.00,326.64], right_bottom:[43.10,481.49] detect frame:192 Inference: 20.855426788330078 ms per batch image class_id:0, confidence:0.91,left_top:[859.85,209.22], right_bottom:[921.85,370.21] class_id:17, confidence:0.99,left_top:[736.66,251.05], right_bottom:[1005.21,438.58] class_id:17, confidence:0.96,left_top:[140.42,274.80], right_bottom:[385.45,467.28] class_id:17, confidence:0.90,left_top:[472.41,285.53], right_bottom:[695.09,448.15] class_id:17, confidence:0.36,left_top:[585.75,283.86], right_bottom:[717.58,445.50] class_id:17, confidence:0.27,left_top:[0.00,315.37], right_bottom:[40.32,380.57] class_id:17, confidence:0.27,left_top:[0.53,304.21], right_bottom:[43.35,474.99] detect frame:193 Inference: 21.04640007019043 ms per batch image class_id:0, confidence:0.85,left_top:[856.64,205.43], right_bottom:[919.64,368.03] class_id:17, confidence:0.99,left_top:[735.47,248.05], right_bottom:[1001.80,440.76] class_id:17, confidence:0.96,left_top:[464.42,285.63], right_bottom:[703.51,449.89] class_id:17, confidence:0.70,left_top:[137.55,274.81], right_bottom:[378.55,467.22] class_id:17, confidence:0.35,left_top:[0.00,316.19], right_bottom:[39.21,382.95] detect frame:194 Inference: 20.919322967529297 ms per batch image class_id:0, confidence:0.68,left_top:[848.12,213.24], right_bottom:[909.20,360.15] class_id:17, confidence:0.99,left_top:[728.97,239.72], right_bottom:[997.29,435.25] class_id:17, confidence:0.97,left_top:[474.19,291.32], right_bottom:[697.47,454.02] class_id:17, confidence:0.84,left_top:[211.52,295.76], right_bottom:[377.34,470.99] class_id:17, confidence:0.46,left_top:[449.84,334.65], right_bottom:[582.10,443.56] class_id:17, confidence:0.34,left_top:[130.95,343.10], right_bottom:[236.42,474.89] detect frame:195 Inference: 20.92432975769043 ms per batch image class_id:0, confidence:0.91,left_top:[835.31,204.96], right_bottom:[901.18,353.08] class_id:17, confidence:0.99,left_top:[459.07,288.61], right_bottom:[679.41,457.09] class_id:17, confidence:0.99,left_top:[723.85,233.10], right_bottom:[987.41,430.63] class_id:17, confidence:0.83,left_top:[204.95,298.45], right_bottom:[366.48,470.84] detect frame:196 Inference: 20.837783813476562 ms per batch image class_id:0, confidence:0.94,left_top:[834.97,194.95], right_bottom:[903.00,353.15] class_id:17, confidence:0.99,left_top:[718.39,223.99], right_bottom:[988.43,427.21] class_id:17, confidence:0.99,left_top:[459.71,284.42], right_bottom:[680.01,450.45] class_id:17, confidence:0.90,left_top:[121.02,293.68], right_bottom:[367.10,480.84] detect frame:197 Inference: 20.696401596069336 ms per batch image class_id:0, confidence:0.84,left_top:[834.60,209.22], right_bottom:[901.51,366.39] class_id:17, confidence:0.99,left_top:[725.24,237.61], right_bottom:[988.62,435.75] class_id:17, confidence:0.98,left_top:[104.69,293.49], right_bottom:[364.79,480.28] class_id:17, confidence:0.97,left_top:[456.27,293.08], right_bottom:[681.67,449.81] detect frame:198 Inference: 20.77770233154297 ms per batch image class_id:0, confidence:0.76,left_top:[839.72,202.14], right_bottom:[903.29,360.45] class_id:17, confidence:0.99,left_top:[725.07,232.39], right_bottom:[988.47,436.06] class_id:17, confidence:0.95,left_top:[456.37,280.77], right_bottom:[678.89,444.46] class_id:17, confidence:0.93,left_top:[136.94,283.46], right_bottom:[364.96,464.74] detect frame:199 Inference: 20.816564559936523 ms per batch image class_id:0, confidence:0.70,left_top:[836.74,200.50], right_bottom:[903.21,360.09] class_id:17, confidence:0.99,left_top:[729.97,228.12], right_bottom:[988.03,432.06] class_id:17, confidence:0.93,left_top:[456.75,275.65], right_bottom:[677.53,442.99] class_id:17, confidence:0.87,left_top:[130.37,284.21], right_bottom:[359.51,463.72] detect frame:200 Inference: 20.893096923828125 ms per batch image class_id:0, confidence:0.73,left_top:[831.17,207.82], right_bottom:[897.72,367.76] class_id:17, confidence:0.99,left_top:[726.97,231.81], right_bottom:[984.58,436.92] class_id:17, confidence:0.91,left_top:[460.84,277.84], right_bottom:[670.29,441.57] class_id:17, confidence:0.91,left_top:[121.87,290.71], right_bottom:[360.06,458.73] class_id:33, confidence:0.23,left_top:[984.03,28.17], right_bottom:[1054.08,106.51] detect frame:201 Inference: 20.65420150756836 ms per batch image class_id:0, confidence:0.73,left_top:[834.35,205.93], right_bottom:[899.80,357.06] class_id:17, confidence:0.99,left_top:[729.61,235.60], right_bottom:[981.86,431.93] class_id:17, confidence:0.91,left_top:[116.61,298.85], right_bottom:[353.63,466.45] class_id:17, confidence:0.84,left_top:[438.51,281.61], right_bottom:[620.30,426.82] class_id:17, confidence:0.81,left_top:[560.80,275.11], right_bottom:[687.49,437.13] detect frame:202 Inference: 20.571470260620117 ms per batch image class_id:0, confidence:0.83,left_top:[833.25,203.52], right_bottom:[901.64,356.04] class_id:17, confidence:0.99,left_top:[719.79,227.81], right_bottom:[984.83,426.95] class_id:17, confidence:0.97,left_top:[459.72,285.64], right_bottom:[683.99,447.19] class_id:17, confidence:0.84,left_top:[123.61,298.01], right_bottom:[349.68,469.37] detect frame:203 Inference: 20.741939544677734 ms per batch image class_id:0, confidence:0.84,left_top:[839.26,191.81], right_bottom:[901.49,350.38] class_id:17, confidence:0.99,left_top:[726.66,219.57], right_bottom:[986.25,419.06] class_id:17, confidence:0.89,left_top:[123.32,288.25], right_bottom:[362.21,460.42] class_id:17, confidence:0.81,left_top:[469.69,276.15], right_bottom:[680.67,441.90] class_id:17, confidence:0.34,left_top:[100.74,319.57], right_bottom:[258.83,455.27] detect frame:204 Inference: 20.821332931518555 ms per batch image class_id:0, confidence:0.85,left_top:[838.11,181.39], right_bottom:[902.73,338.58] class_id:17, confidence:0.99,left_top:[724.29,214.11], right_bottom:[986.10,417.58] class_id:17, confidence:0.82,left_top:[118.29,286.09], right_bottom:[359.14,458.32] class_id:17, confidence:0.72,left_top:[467.40,272.50], right_bottom:[675.55,440.64] class_id:17, confidence:0.27,left_top:[99.66,317.67], right_bottom:[256.78,454.43] detect frame:205 Inference: 20.609140396118164 ms per batch image class_id:0, confidence:0.93,left_top:[847.36,171.98], right_bottom:[909.82,339.86] class_id:17, confidence:0.99,left_top:[726.35,209.26], right_bottom:[992.23,415.04] class_id:17, confidence:0.91,left_top:[94.57,278.25], right_bottom:[367.74,457.30] class_id:17, confidence:0.77,left_top:[466.59,270.31], right_bottom:[677.19,438.78] detect frame:206 Inference: 20.828723907470703 ms per batch image class_id:0, confidence:0.88,left_top:[853.67,178.18], right_bottom:[914.70,346.24] class_id:17, confidence:0.99,left_top:[736.68,215.62], right_bottom:[997.12,417.56] class_id:17, confidence:0.96,left_top:[116.58,290.73], right_bottom:[368.25,451.76] class_id:17, confidence:0.75,left_top:[470.99,275.95], right_bottom:[687.97,437.06] detect frame:207 Inference: 20.7366943359375 ms per batch image class_id:0, confidence:0.84,left_top:[850.74,166.48], right_bottom:[910.87,339.53] class_id:17, confidence:0.99,left_top:[738.92,205.40], right_bottom:[993.43,409.06] class_id:17, confidence:0.90,left_top:[458.14,269.38], right_bottom:[683.92,433.57] class_id:17, confidence:0.82,left_top:[129.28,283.65], right_bottom:[362.70,451.27] class_id:17, confidence:0.28,left_top:[433.66,314.70], right_bottom:[558.84,422.80] detect frame:208 Inference: 20.885944366455078 ms per batch image class_id:0, confidence:0.80,left_top:[851.07,163.40], right_bottom:[907.98,337.93] class_id:17, confidence:0.98,left_top:[725.53,207.29], right_bottom:[994.62,405.72] class_id:17, confidence:0.91,left_top:[454.06,264.93], right_bottom:[681.37,431.88] class_id:17, confidence:0.89,left_top:[131.98,280.33], right_bottom:[367.02,453.13] class_id:17, confidence:0.31,left_top:[109.43,322.98], right_bottom:[204.95,450.47] detect frame:209 Inference: 20.88785171508789 ms per batch image class_id:0, confidence:0.77,left_top:[854.38,183.46], right_bottom:[904.40,340.12] class_id:17, confidence:0.99,left_top:[728.45,217.01], right_bottom:[989.02,413.64] class_id:17, confidence:0.94,left_top:[458.74,278.17], right_bottom:[681.37,430.98] class_id:17, confidence:0.91,left_top:[121.99,288.30], right_bottom:[373.44,451.02] class_id:17, confidence:0.28,left_top:[103.33,327.88], right_bottom:[211.65,450.60] detect frame:210 Inference: 20.832300186157227 ms per batch image class_id:0, confidence:0.94,left_top:[858.80,168.13], right_bottom:[909.68,334.39] class_id:17, confidence:0.99,left_top:[732.08,209.30], right_bottom:[995.53,405.32] class_id:17, confidence:0.86,left_top:[472.95,256.94], right_bottom:[694.55,416.43] class_id:17, confidence:0.82,left_top:[117.80,265.80], right_bottom:[379.18,445.16] detect frame:211 Inference: 20.719051361083984 ms per batch image class_id:0, confidence:0.90,left_top:[861.19,166.18], right_bottom:[912.47,337.05] class_id:17, confidence:0.99,left_top:[730.70,211.73], right_bottom:[997.91,405.68] class_id:17, confidence:0.96,left_top:[471.04,256.65], right_bottom:[700.51,418.11] class_id:17, confidence:0.65,left_top:[208.28,263.02], right_bottom:[378.16,435.11] class_id:17, confidence:0.24,left_top:[103.95,301.77], right_bottom:[261.05,437.45] detect frame:212 Inference: 20.73049545288086 ms per batch image class_id:0, confidence:0.92,left_top:[855.67,155.46], right_bottom:[916.25,318.45] class_id:17, confidence:0.99,left_top:[723.07,197.71], right_bottom:[1004.94,395.54] class_id:17, confidence:0.97,left_top:[471.38,253.16], right_bottom:[705.27,418.15] class_id:17, confidence:0.84,left_top:[229.18,252.61], right_bottom:[392.31,419.69] class_id:17, confidence:0.61,left_top:[111.53,273.97], right_bottom:[271.30,432.15] detect frame:213 Inference: 21.02351188659668 ms per batch image class_id:0, confidence:0.85,left_top:[858.54,169.47], right_bottom:[920.42,329.93] class_id:12, confidence:0.30,left_top:[1191.32,449.37], right_bottom:[1245.41,603.51] class_id:17, confidence:0.99,left_top:[728.38,200.18], right_bottom:[1006.46,394.90] class_id:17, confidence:0.98,left_top:[479.73,260.23], right_bottom:[707.78,413.91] class_id:17, confidence:0.87,left_top:[226.19,258.91], right_bottom:[395.39,415.61] class_id:17, confidence:0.56,left_top:[116.49,305.35], right_bottom:[248.25,428.72] class_id:67, confidence:0.63,left_top:[1191.32,449.37], right_bottom:[1245.41,603.51] detect frame:214 Inference: 20.769357681274414 ms per batch image class_id:0, confidence:0.89,left_top:[863.05,166.42], right_bottom:[928.37,320.87] class_id:17, confidence:0.99,left_top:[731.68,201.24], right_bottom:[1009.16,394.95] class_id:17, confidence:0.87,left_top:[486.92,252.96], right_bottom:[698.32,419.67] class_id:17, confidence:0.61,left_top:[231.66,264.01], right_bottom:[397.74,431.49] class_id:17, confidence:0.40,left_top:[130.36,276.04], right_bottom:[350.35,427.61] detect frame:215 Inference: 20.819425582885742 ms per batch image class_id:0, confidence:0.90,left_top:[871.22,161.59], right_bottom:[938.50,315.55] class_id:17, confidence:0.99,left_top:[743.91,198.17], right_bottom:[1022.22,391.76] class_id:17, confidence:0.73,left_top:[182.80,251.16], right_bottom:[398.76,411.51] class_id:17, confidence:0.60,left_top:[486.01,247.88], right_bottom:[696.53,411.84] class_id:17, confidence:0.23,left_top:[140.66,289.07], right_bottom:[329.71,407.87] detect frame:216 Inference: 20.859956741333008 ms per batch image class_id:0, confidence:0.81,left_top:[880.75,163.97], right_bottom:[946.33,321.24] class_id:17, confidence:0.99,left_top:[743.08,195.95], right_bottom:[1031.24,395.83] class_id:17, confidence:0.80,left_top:[203.20,246.62], right_bottom:[410.80,412.67] class_id:17, confidence:0.77,left_top:[523.52,249.48], right_bottom:[732.91,413.50] class_id:17, confidence:0.23,left_top:[138.91,294.12], right_bottom:[246.58,401.84] detect frame:217 Inference: 20.86353302001953 ms per batch image class_id:0, confidence:0.82,left_top:[887.44,161.65], right_bottom:[949.68,326.88] class_id:12, confidence:0.54,left_top:[1031.00,454.04], right_bottom:[1075.34,617.73] class_id:17, confidence:0.98,left_top:[741.46,196.03], right_bottom:[1041.50,395.34] class_id:17, confidence:0.81,left_top:[531.25,243.18], right_bottom:[739.08,409.78] class_id:17, confidence:0.76,left_top:[262.10,245.87], right_bottom:[436.76,407.89] class_id:17, confidence:0.36,left_top:[148.54,289.28], right_bottom:[284.47,404.40] class_id:17, confidence:0.20,left_top:[0.80,253.34], right_bottom:[49.77,406.61] detect frame:218 Inference: 20.786046981811523 ms per batch image class_id:0, confidence:0.91,left_top:[889.06,166.04], right_bottom:[952.04,331.13] class_id:12, confidence:0.52,left_top:[996.44,455.92], right_bottom:[1042.42,618.30] class_id:17, confidence:0.99,left_top:[738.81,195.20], right_bottom:[1043.68,395.78] class_id:17, confidence:0.88,left_top:[531.09,238.35], right_bottom:[739.76,406.37] class_id:17, confidence:0.71,left_top:[249.95,242.31], right_bottom:[448.66,401.16] class_id:17, confidence:0.51,left_top:[0.16,246.33], right_bottom:[60.78,410.51] class_id:17, confidence:0.27,left_top:[156.96,293.49], right_bottom:[286.50,402.13] class_id:67, confidence:0.39,left_top:[996.44,455.92], right_bottom:[1042.42,618.30] detect frame:219 Inference: 20.817041397094727 ms per batch image class_id:0, confidence:0.92,left_top:[889.57,166.85], right_bottom:[956.34,331.39] class_id:12, confidence:0.35,left_top:[961.79,455.93], right_bottom:[1008.07,618.65] class_id:17, confidence:0.98,left_top:[751.95,193.51], right_bottom:[1048.17,393.51] class_id:17, confidence:0.79,left_top:[539.35,237.08], right_bottom:[745.72,402.34] class_id:17, confidence:0.76,left_top:[254.52,244.03], right_bottom:[454.28,408.47] class_id:17, confidence:0.69,left_top:[2.48,244.01], right_bottom:[70.56,407.60] class_id:17, confidence:0.34,left_top:[170.58,294.93], right_bottom:[280.08,399.34] class_id:17, confidence:0.22,left_top:[205.91,252.61], right_bottom:[360.07,405.68] detect frame:220 Inference: 20.712852478027344 ms per batch image class_id:0, confidence:0.85,left_top:[898.83,166.40], right_bottom:[966.21,317.17] class_id:12, confidence:0.31,left_top:[927.78,458.62], right_bottom:[972.31,615.06] class_id:17, confidence:0.99,left_top:[548.92,237.26], right_bottom:[765.57,404.69] class_id:17, confidence:0.98,left_top:[759.97,192.92], right_bottom:[1054.30,396.72] class_id:17, confidence:0.76,left_top:[0.00,241.74], right_bottom:[77.49,395.82] class_id:17, confidence:0.59,left_top:[303.53,247.02], right_bottom:[464.25,412.41] class_id:17, confidence:0.50,left_top:[186.54,248.64], right_bottom:[393.77,403.88] detect frame:221 Inference: 20.910024642944336 ms per batch image class_id:0, confidence:0.84,left_top:[903.78,162.05], right_bottom:[971.21,316.97] class_id:12, confidence:0.21,left_top:[896.99,455.16], right_bottom:[939.26,620.17] class_id:17, confidence:0.99,left_top:[767.93,192.65], right_bottom:[1063.78,391.02] class_id:17, confidence:0.98,left_top:[551.79,240.07], right_bottom:[768.95,402.83] class_id:17, confidence:0.87,left_top:[271.98,248.45], right_bottom:[476.45,407.75] class_id:17, confidence:0.80,left_top:[188.87,249.63], right_bottom:[396.31,397.32] class_id:17, confidence:0.79,left_top:[0.00,242.43], right_bottom:[77.54,406.41] detect frame:222 Inference: 20.99609375 ms per batch image class_id:0, confidence:0.89,left_top:[922.30,151.06], right_bottom:[981.28,319.31] class_id:17, confidence:0.99,left_top:[778.33,185.04], right_bottom:[1075.61,390.45] class_id:17, confidence:0.94,left_top:[198.58,244.47], right_bottom:[402.10,396.69] class_id:17, confidence:0.93,left_top:[306.38,248.22], right_bottom:[514.59,412.44] class_id:17, confidence:0.92,left_top:[0.00,238.98], right_bottom:[94.24,397.96] class_id:17, confidence:0.82,left_top:[547.78,246.23], right_bottom:[772.32,396.64] detect frame:223 Inference: 20.842552185058594 ms per batch image class_id:0, confidence:0.93,left_top:[926.24,148.37], right_bottom:[989.53,319.01] class_id:17, confidence:0.99,left_top:[787.29,188.30], right_bottom:[1085.16,390.89] class_id:17, confidence:0.94,left_top:[0.00,237.45], right_bottom:[98.39,393.14] class_id:17, confidence:0.93,left_top:[581.54,246.70], right_bottom:[787.47,398.64] class_id:17, confidence:0.81,left_top:[311.58,249.33], right_bottom:[518.40,399.51] class_id:17, confidence:0.52,left_top:[205.71,254.88], right_bottom:[403.34,394.74] detect frame:224 Inference: 20.889997482299805 ms per batch image class_id:0, confidence:0.86,left_top:[933.67,147.40], right_bottom:[1000.74,315.19] class_id:17, confidence:0.98,left_top:[795.91,183.70], right_bottom:[1099.93,391.56] class_id:17, confidence:0.97,left_top:[583.84,242.86], right_bottom:[793.39,396.79] class_id:17, confidence:0.94,left_top:[0.00,235.80], right_bottom:[99.74,397.89] class_id:17, confidence:0.93,left_top:[313.27,248.27], right_bottom:[516.81,406.23] class_id:17, confidence:0.50,left_top:[208.23,255.68], right_bottom:[405.84,396.75] detect frame:225 Inference: 20.67732810974121 ms per batch image class_id:0, confidence:0.88,left_top:[938.08,145.35], right_bottom:[1004.42,315.82] class_id:12, confidence:0.20,left_top:[727.86,457.38], right_bottom:[766.89,616.81] class_id:17, confidence:0.99,left_top:[797.80,181.89], right_bottom:[1104.35,387.50] class_id:17, confidence:0.91,left_top:[1.34,234.86], right_bottom:[106.88,402.28] class_id:17, confidence:0.91,left_top:[317.82,248.43], right_bottom:[520.84,406.98] class_id:17, confidence:0.82,left_top:[526.86,241.68], right_bottom:[788.27,390.22] class_id:17, confidence:0.46,left_top:[224.11,278.23], right_bottom:[341.20,384.92] detect frame:226 Inference: 20.792007446289062 ms per batch image class_id:0, confidence:0.78,left_top:[948.42,142.47], right_bottom:[1011.25,306.38] class_id:17, confidence:0.99,left_top:[819.09,180.47], right_bottom:[1105.01,384.79] class_id:17, confidence:0.95,left_top:[588.10,231.08], right_bottom:[802.52,394.19] class_id:17, confidence:0.91,left_top:[0.00,234.59], right_bottom:[116.51,399.92] class_id:17, confidence:0.77,left_top:[323.05,248.95], right_bottom:[528.81,402.95] class_id:17, confidence:0.32,left_top:[233.36,263.77], right_bottom:[391.50,393.28] detect frame:227 Inference: 20.930051803588867 ms per batch image class_id:0, confidence:0.82,left_top:[957.07,143.04], right_bottom:[1013.68,316.63] class_id:17, confidence:0.99,left_top:[846.37,182.77], right_bottom:[1110.84,384.14] class_id:17, confidence:0.97,left_top:[611.95,222.10], right_bottom:[815.30,395.75] class_id:17, confidence:0.88,left_top:[4.04,241.90], right_bottom:[138.14,395.49] class_id:17, confidence:0.84,left_top:[340.42,245.64], right_bottom:[542.62,399.15] class_id:17, confidence:0.41,left_top:[256.03,261.71], right_bottom:[457.30,395.87] detect frame:228 Inference: 20.78986167907715 ms per batch image class_id:0, confidence:0.87,left_top:[960.24,143.12], right_bottom:[1022.40,318.11] class_id:12, confidence:0.26,left_top:[598.56,457.32], right_bottom:[637.13,613.26] class_id:17, confidence:0.99,left_top:[851.37,180.07], right_bottom:[1116.12,384.92] class_id:17, confidence:0.97,left_top:[617.72,226.06], right_bottom:[823.99,393.56] class_id:17, confidence:0.95,left_top:[338.63,244.75], right_bottom:[543.63,406.62] class_id:17, confidence:0.93,left_top:[1.52,248.02], right_bottom:[139.06,405.04] class_id:17, confidence:0.55,left_top:[250.12,273.90], right_bottom:[400.64,391.65] detect frame:229 Inference: 20.82061767578125 ms per batch image class_id:0, confidence:0.94,left_top:[965.49,145.08], right_bottom:[1029.45,313.90] class_id:17, confidence:0.99,left_top:[854.16,179.72], right_bottom:[1118.79,380.60] class_id:17, confidence:0.97,left_top:[618.82,226.83], right_bottom:[826.87,397.54] class_id:17, confidence:0.96,left_top:[1.10,249.96], right_bottom:[139.85,409.85] class_id:17, confidence:0.83,left_top:[338.89,244.05], right_bottom:[544.79,405.39] class_id:17, confidence:0.57,left_top:[259.96,277.22], right_bottom:[393.68,392.85] detect frame:230 Inference: 20.766019821166992 ms per batch image class_id:0, confidence:0.85,left_top:[971.65,141.00], right_bottom:[1034.53,309.40] class_id:12, confidence:0.64,left_top:[533.43,465.06], right_bottom:[574.60,609.19] class_id:17, confidence:0.99,left_top:[849.62,181.71], right_bottom:[1125.15,385.44] class_id:17, confidence:0.98,left_top:[620.75,224.32], right_bottom:[834.94,399.73] class_id:17, confidence:0.96,left_top:[1.38,254.53], right_bottom:[145.91,411.49] class_id:17, confidence:0.93,left_top:[346.78,250.41], right_bottom:[559.48,415.24] class_id:17, confidence:0.39,left_top:[258.02,257.07], right_bottom:[464.83,403.66] detect frame:231 Inference: 20.79463005065918 ms per batch image class_id:0, confidence:0.84,left_top:[970.67,140.88], right_bottom:[1038.97,306.14] class_id:12, confidence:0.21,left_top:[503.14,466.50], right_bottom:[543.47,612.68] class_id:17, confidence:0.99,left_top:[850.21,180.89], right_bottom:[1132.81,381.37] class_id:17, confidence:0.98,left_top:[614.06,227.44], right_bottom:[839.05,399.52] class_id:17, confidence:0.98,left_top:[0.00,261.58], right_bottom:[150.99,411.56] class_id:17, confidence:0.85,left_top:[405.80,247.30], right_bottom:[568.64,415.50] class_id:17, confidence:0.62,left_top:[261.79,260.50], right_bottom:[430.53,404.25] detect frame:232 Inference: 20.9810733795166 ms per batch image class_id:0, confidence:0.89,left_top:[982.16,142.67], right_bottom:[1049.87,307.88] class_id:17, confidence:0.99,left_top:[862.62,181.93], right_bottom:[1143.48,386.23] class_id:17, confidence:0.99,left_top:[0.00,277.57], right_bottom:[160.44,418.87] class_id:17, confidence:0.97,left_top:[623.05,239.39], right_bottom:[847.56,405.05] class_id:17, confidence:0.79,left_top:[405.86,256.48], right_bottom:[578.72,417.13] class_id:17, confidence:0.28,left_top:[276.14,278.48], right_bottom:[426.39,417.52] detect frame:233 Inference: 20.91360092163086 ms per batch image class_id:0, confidence:0.94,left_top:[988.05,140.50], right_bottom:[1052.56,309.87] class_id:17, confidence:0.99,left_top:[858.25,178.64], right_bottom:[1151.56,386.53] class_id:17, confidence:0.99,left_top:[0.00,275.17], right_bottom:[164.03,415.73] class_id:17, confidence:0.97,left_top:[620.28,239.59], right_bottom:[848.60,404.28] class_id:17, confidence:0.82,left_top:[434.72,254.27], right_bottom:[590.44,417.20] class_id:17, confidence:0.38,left_top:[298.87,267.84], right_bottom:[469.15,423.73] class_id:17, confidence:0.21,left_top:[285.87,310.66], right_bottom:[364.54,399.23] detect frame:234 Inference: 20.9352970123291 ms per batch image class_id:0, confidence:0.86,left_top:[992.05,145.03], right_bottom:[1057.64,317.55] class_id:12, confidence:0.34,left_top:[377.23,482.62], right_bottom:[415.16,629.50] class_id:17, confidence:0.99,left_top:[647.02,243.92], right_bottom:[857.40,404.12] class_id:17, confidence:0.99,left_top:[869.73,180.91], right_bottom:[1163.53,394.69] class_id:17, confidence:0.99,left_top:[0.00,273.28], right_bottom:[174.15,415.37] class_id:17, confidence:0.76,left_top:[436.02,267.03], right_bottom:[605.50,427.22] class_id:17, confidence:0.32,left_top:[379.04,266.91], right_bottom:[522.62,426.17] detect frame:235 Inference: 20.863771438598633 ms per batch image class_id:0, confidence:0.92,left_top:[993.73,154.90], right_bottom:[1057.60,328.07] class_id:12, confidence:0.23,left_top:[344.19,487.18], right_bottom:[383.43,632.01] class_id:17, confidence:0.99,left_top:[0.00,270.41], right_bottom:[181.09,420.48] class_id:17, confidence:0.99,left_top:[872.49,189.71], right_bottom:[1162.04,402.00] class_id:17, confidence:0.99,left_top:[654.65,249.57], right_bottom:[867.53,407.89] class_id:17, confidence:0.87,left_top:[443.54,264.82], right_bottom:[612.71,428.13] class_id:17, confidence:0.40,left_top:[319.46,273.71], right_bottom:[525.08,422.56] class_id:17, confidence:0.35,left_top:[404.88,271.09], right_bottom:[515.69,320.39] detect frame:236 Inference: 20.882606506347656 ms per batch image class_id:0, confidence:0.93,left_top:[994.04,165.43], right_bottom:[1057.39,335.15] class_id:12, confidence:0.21,left_top:[313.23,492.95], right_bottom:[351.89,634.49] class_id:17, confidence:0.99,left_top:[882.39,205.30], right_bottom:[1160.49,407.63] class_id:17, confidence:0.99,left_top:[657.52,254.91], right_bottom:[867.90,409.48] class_id:17, confidence:0.99,left_top:[0.00,276.11], right_bottom:[185.66,420.87] class_id:17, confidence:0.86,left_top:[437.02,270.39], right_bottom:[621.14,426.52] class_id:17, confidence:0.79,left_top:[316.82,274.31], right_bottom:[525.39,428.40] detect frame:237 Inference: 20.967483520507812 ms per batch image class_id:0, confidence:0.88,left_top:[997.31,181.36], right_bottom:[1062.15,343.28] class_id:17, confidence:0.99,left_top:[883.83,211.69], right_bottom:[1166.11,416.23] class_id:17, confidence:0.98,left_top:[3.14,278.28], right_bottom:[181.43,428.86] class_id:17, confidence:0.98,left_top:[675.76,257.93], right_bottom:[877.51,415.41] class_id:17, confidence:0.94,left_top:[422.67,272.69], right_bottom:[632.71,435.81] class_id:17, confidence:0.82,left_top:[306.43,277.02], right_bottom:[480.90,419.67] detect frame:238 Inference: 20.914316177368164 ms per batch image class_id:0, confidence:0.75,left_top:[995.30,201.48], right_bottom:[1062.50,357.54] class_id:17, confidence:0.99,left_top:[875.38,228.58], right_bottom:[1163.19,431.92] class_id:17, confidence:0.98,left_top:[677.52,270.46], right_bottom:[876.44,424.34] class_id:17, confidence:0.97,left_top:[2.04,280.61], right_bottom:[181.99,431.21] class_id:17, confidence:0.86,left_top:[298.95,284.86], right_bottom:[487.02,424.33] class_id:17, confidence:0.86,left_top:[462.92,274.96], right_bottom:[636.61,430.21] detect frame:239 Inference: 20.718812942504883 ms per batch image class_id:0, confidence:0.68,left_top:[995.45,204.62], right_bottom:[1060.56,356.86] class_id:12, confidence:0.22,left_top:[173.97,500.93], right_bottom:[207.87,647.27] class_id:17, confidence:0.99,left_top:[878.71,233.16], right_bottom:[1159.91,437.49] class_id:17, confidence:0.98,left_top:[687.74,273.34], right_bottom:[879.57,421.42] class_id:17, confidence:0.96,left_top:[2.93,282.39], right_bottom:[184.39,431.86] class_id:17, confidence:0.91,left_top:[444.01,280.03], right_bottom:[645.57,438.32] class_id:17, confidence:0.82,left_top:[302.67,284.20], right_bottom:[484.08,426.25] detect frame:240 Inference: 20.952224731445312 ms per batch image class_id:0, confidence:0.85,left_top:[997.02,196.10], right_bottom:[1062.68,357.49] class_id:17, confidence:0.99,left_top:[877.31,231.37], right_bottom:[1164.01,432.09] class_id:17, confidence:0.99,left_top:[688.70,262.17], right_bottom:[883.66,434.82] class_id:17, confidence:0.97,left_top:[4.02,282.05], right_bottom:[185.37,430.66] class_id:17, confidence:0.95,left_top:[309.42,278.09], right_bottom:[485.28,425.78] class_id:17, confidence:0.94,left_top:[443.71,269.22], right_bottom:[643.95,435.67] detect frame:241 Inference: 20.900726318359375 ms per batch image class_id:0, confidence:0.90,left_top:[997.05,212.12], right_bottom:[1062.95,369.77] class_id:17, confidence:0.99,left_top:[874.19,238.46], right_bottom:[1160.36,437.33] class_id:17, confidence:0.99,left_top:[2.01,302.14], right_bottom:[182.41,440.32] class_id:17, confidence:0.98,left_top:[685.96,282.74], right_bottom:[879.50,438.45] class_id:17, confidence:0.86,left_top:[445.37,285.94], right_bottom:[646.18,440.69] class_id:17, confidence:0.83,left_top:[300.00,295.94], right_bottom:[498.33,439.32] detect frame:242 Inference: 20.9197998046875 ms per batch image class_id:0, confidence:0.93,left_top:[988.04,189.56], right_bottom:[1048.93,355.17] class_id:17, confidence:0.99,left_top:[863.05,226.85], right_bottom:[1145.62,436.90] class_id:17, confidence:0.98,left_top:[0.00,301.81], right_bottom:[181.80,449.59] class_id:17, confidence:0.98,left_top:[674.69,269.37], right_bottom:[870.13,444.57] class_id:17, confidence:0.93,left_top:[463.87,278.65], right_bottom:[632.13,450.33] class_id:17, confidence:0.90,left_top:[315.38,294.78], right_bottom:[481.34,442.22] detect frame:243 Inference: 20.920515060424805 ms per batch image class_id:0, confidence:0.86,left_top:[986.52,203.16], right_bottom:[1046.53,370.32] class_id:12, confidence:0.23,left_top:[3.55,530.37], right_bottom:[36.28,669.60] class_id:17, confidence:0.99,left_top:[859.19,245.79], right_bottom:[1143.13,445.60] class_id:17, confidence:0.99,left_top:[0.74,311.57], right_bottom:[184.19,452.47] class_id:17, confidence:0.97,left_top:[671.02,283.18], right_bottom:[866.18,444.34] class_id:17, confidence:0.79,left_top:[469.46,284.55], right_bottom:[632.37,450.07] class_id:17, confidence:0.62,left_top:[338.68,303.32], right_bottom:[485.36,447.36] detect frame:244 Inference: 20.93338966369629 ms per batch image class_id:0, confidence:0.92,left_top:[986.79,201.81], right_bottom:[1046.86,373.27] class_id:17, confidence:0.99,left_top:[862.19,244.80], right_bottom:[1142.70,446.74] class_id:17, confidence:0.99,left_top:[0.00,301.04], right_bottom:[188.55,447.76] class_id:17, confidence:0.97,left_top:[670.34,281.46], right_bottom:[866.81,442.61] class_id:17, confidence:0.86,left_top:[470.31,284.47], right_bottom:[633.83,454.72] class_id:17, confidence:0.67,left_top:[317.49,301.38], right_bottom:[473.34,444.63] detect frame:245 Inference: 21.015167236328125 ms per batch image class_id:0, confidence:0.91,left_top:[974.07,219.56], right_bottom:[1038.38,380.12] class_id:17, confidence:0.99,left_top:[852.66,252.52], right_bottom:[1133.56,450.46] class_id:17, confidence:0.99,left_top:[664.49,293.37], right_bottom:[863.52,447.03] class_id:17, confidence:0.98,left_top:[0.00,320.29], right_bottom:[188.24,462.44] class_id:17, confidence:0.92,left_top:[424.19,303.58], right_bottom:[629.79,467.73] class_id:17, confidence:0.86,left_top:[312.58,319.14], right_bottom:[481.31,460.46] detect frame:246 Inference: 20.99752426147461 ms per batch image class_id:0, confidence:0.86,left_top:[966.18,211.92], right_bottom:[1026.21,378.32] class_id:17, confidence:0.99,left_top:[843.28,245.51], right_bottom:[1134.72,443.58] class_id:17, confidence:0.99,left_top:[650.66,286.89], right_bottom:[849.40,449.90] class_id:17, confidence:0.98,left_top:[2.39,337.84], right_bottom:[172.91,479.20] class_id:17, confidence:0.90,left_top:[414.13,309.39], right_bottom:[614.45,471.27] class_id:17, confidence:0.70,left_top:[303.28,324.48], right_bottom:[466.32,464.97] detect frame:247 Inference: 20.88189125061035 ms per batch image class_id:0, confidence:0.82,left_top:[970.15,227.10], right_bottom:[1031.02,395.53] class_id:17, confidence:0.99,left_top:[1.90,337.07], right_bottom:[175.40,479.93] class_id:17, confidence:0.99,left_top:[842.03,263.11], right_bottom:[1132.33,462.71] class_id:17, confidence:0.97,left_top:[647.40,303.40], right_bottom:[853.49,465.56] class_id:17, confidence:0.75,left_top:[473.13,314.36], right_bottom:[630.69,465.58] class_id:17, confidence:0.37,left_top:[391.93,328.28], right_bottom:[522.23,480.10] class_id:17, confidence:0.35,left_top:[315.10,326.09], right_bottom:[463.11,460.13] detect frame:248 Inference: 20.854949951171875 ms per batch image class_id:0, confidence:0.85,left_top:[968.37,243.42], right_bottom:[1030.50,406.32] class_id:17, confidence:0.99,left_top:[849.93,272.60], right_bottom:[1126.31,469.73] class_id:17, confidence:0.99,left_top:[0.02,339.39], right_bottom:[172.09,478.91] class_id:17, confidence:0.94,left_top:[650.34,317.29], right_bottom:[853.09,464.47] class_id:17, confidence:0.84,left_top:[471.40,330.27], right_bottom:[637.18,473.50] class_id:17, confidence:0.56,left_top:[282.10,345.25], right_bottom:[492.96,473.04] class_id:17, confidence:0.45,left_top:[390.72,332.34], right_bottom:[529.32,482.71] detect frame:249 Inference: 21.005868911743164 ms per batch image class_id:0, confidence:0.86,left_top:[964.78,234.53], right_bottom:[1027.00,402.52] class_id:17, confidence:0.99,left_top:[836.24,267.34], right_bottom:[1125.85,467.11] class_id:17, confidence:0.99,left_top:[2.11,333.94], right_bottom:[169.56,477.39] class_id:17, confidence:0.89,left_top:[415.77,331.91], right_bottom:[632.59,475.55] class_id:17, confidence:0.88,left_top:[646.08,315.92], right_bottom:[852.07,469.46] class_id:17, confidence:0.38,left_top:[313.58,334.14], right_bottom:[531.28,474.50] detect frame:250 Inference: 21.170377731323242 ms per batch image class_id:0, confidence:0.93,left_top:[961.05,231.13], right_bottom:[1024.79,404.31] class_id:17, confidence:0.99,left_top:[4.08,334.09], right_bottom:[168.31,478.76] class_id:17, confidence:0.98,left_top:[835.08,264.49], right_bottom:[1121.38,472.39] class_id:17, confidence:0.95,left_top:[417.67,335.15], right_bottom:[634.02,479.68] class_id:17, confidence:0.95,left_top:[643.20,314.21], right_bottom:[850.97,470.01] class_id:17, confidence:0.46,left_top:[322.94,334.14], right_bottom:[528.54,474.93] detect frame:251 Inference: 20.951509475708008 ms per batch image class_id:0, confidence:0.81,left_top:[959.85,240.40], right_bottom:[1025.04,409.38] class_id:17, confidence:0.99,left_top:[837.95,270.61], right_bottom:[1124.49,478.04] class_id:17, confidence:0.98,left_top:[0.00,341.47], right_bottom:[173.62,482.92] class_id:17, confidence:0.97,left_top:[645.77,322.17], right_bottom:[850.59,475.83] class_id:17, confidence:0.69,left_top:[418.70,338.04], right_bottom:[635.74,485.94] class_id:17, confidence:0.57,left_top:[319.48,341.47], right_bottom:[467.72,477.73] detect frame:252 Inference: 20.919322967529297 ms per batch image class_id:0, confidence:0.86,left_top:[956.47,242.63], right_bottom:[1018.99,410.06] class_id:17, confidence:0.98,left_top:[0.75,348.76], right_bottom:[183.59,491.91] class_id:17, confidence:0.98,left_top:[838.18,281.39], right_bottom:[1128.14,484.16] class_id:17, confidence:0.98,left_top:[648.16,321.92], right_bottom:[853.18,479.21] class_id:17, confidence:0.85,left_top:[426.89,342.42], right_bottom:[638.06,498.02] class_id:17, confidence:0.79,left_top:[328.13,344.61], right_bottom:[469.42,482.50] detect frame:253 Inference: 20.92146873474121 ms per batch image class_id:0, confidence:0.90,left_top:[956.12,242.90], right_bottom:[1018.56,409.15] class_id:17, confidence:0.99,left_top:[0.00,346.85], right_bottom:[185.86,495.89] class_id:17, confidence:0.98,left_top:[835.83,278.02], right_bottom:[1127.18,488.58] class_id:17, confidence:0.98,left_top:[644.35,321.13], right_bottom:[855.50,480.76] class_id:17, confidence:0.94,left_top:[445.73,336.70], right_bottom:[650.15,486.24] class_id:17, confidence:0.81,left_top:[342.60,345.20], right_bottom:[479.72,481.89] detect frame:254 Inference: 20.951509475708008 ms per batch image class_id:0, confidence:0.95,left_top:[952.50,248.62], right_bottom:[1015.86,410.22] class_id:17, confidence:0.99,left_top:[837.66,278.20], right_bottom:[1122.63,489.95] class_id:17, confidence:0.98,left_top:[0.41,354.80], right_bottom:[184.95,501.62] class_id:17, confidence:0.98,left_top:[641.82,319.64], right_bottom:[853.41,482.97] class_id:17, confidence:0.89,left_top:[471.11,332.41], right_bottom:[644.34,489.31] class_id:17, confidence:0.70,left_top:[320.63,354.01], right_bottom:[470.06,487.61] detect frame:255 Inference: 20.973682403564453 ms per batch image class_id:0, confidence:0.95,left_top:[949.59,254.59], right_bottom:[1012.24,417.96] class_id:17, confidence:0.99,left_top:[822.88,283.57], right_bottom:[1114.85,489.52] class_id:17, confidence:0.98,left_top:[1.88,368.29], right_bottom:[175.82,512.56] class_id:17, confidence:0.98,left_top:[641.32,318.79], right_bottom:[851.31,485.68] class_id:17, confidence:0.94,left_top:[313.13,352.10], right_bottom:[475.74,495.47] class_id:17, confidence:0.93,left_top:[471.07,336.07], right_bottom:[640.00,491.21] class_id:17, confidence:0.26,left_top:[196.45,424.19], right_bottom:[264.05,458.48] class_id:17, confidence:0.25,left_top:[427.17,353.78], right_bottom:[543.44,492.73] detect frame:256 Inference: 21.055936813354492 ms per batch image class_id:0, confidence:0.94,left_top:[949.11,252.12], right_bottom:[1012.53,420.99] class_id:17, confidence:0.99,left_top:[3.00,369.19], right_bottom:[181.60,514.42] class_id:17, confidence:0.99,left_top:[837.38,278.03], right_bottom:[1106.29,491.40] class_id:17, confidence:0.97,left_top:[646.90,313.32], right_bottom:[853.69,483.24] class_id:17, confidence:0.92,left_top:[467.17,333.33], right_bottom:[640.19,491.04] class_id:17, confidence:0.91,left_top:[314.30,351.20], right_bottom:[475.05,493.08] detect frame:257 Inference: 20.919084548950195 ms per batch image class_id:0, confidence:0.88,left_top:[937.36,258.10], right_bottom:[1003.68,418.30] class_id:17, confidence:0.99,left_top:[1.83,370.86], right_bottom:[181.03,517.03] class_id:17, confidence:0.97,left_top:[829.47,281.21], right_bottom:[1104.19,493.77] class_id:17, confidence:0.91,left_top:[306.95,350.89], right_bottom:[479.85,493.36] class_id:17, confidence:0.91,left_top:[647.30,317.85], right_bottom:[851.46,485.20] class_id:17, confidence:0.79,left_top:[468.02,339.70], right_bottom:[635.95,499.94] detect frame:258 Inference: 21.00992202758789 ms per batch image class_id:0, confidence:0.84,left_top:[934.32,259.21], right_bottom:[998.58,416.03] class_id:17, confidence:0.98,left_top:[819.39,278.96], right_bottom:[1100.51,495.19] class_id:17, confidence:0.98,left_top:[3.60,374.91], right_bottom:[200.05,524.58] class_id:17, confidence:0.97,left_top:[301.52,356.07], right_bottom:[477.60,497.55] class_id:17, confidence:0.97,left_top:[625.73,321.12], right_bottom:[840.98,491.36] class_id:17, confidence:0.91,left_top:[464.80,343.54], right_bottom:[638.14,496.44] detect frame:259 Inference: 20.987272262573242 ms per batch image class_id:0, confidence:0.88,left_top:[930.99,264.04], right_bottom:[995.90,422.78] class_id:17, confidence:0.98,left_top:[814.30,284.60], right_bottom:[1101.03,494.57] class_id:17, confidence:0.98,left_top:[0.00,377.99], right_bottom:[183.90,523.17] class_id:17, confidence:0.96,left_top:[307.54,359.89], right_bottom:[479.22,500.99] class_id:17, confidence:0.92,left_top:[623.98,329.22], right_bottom:[838.69,491.16] class_id:17, confidence:0.92,left_top:[461.92,346.56], right_bottom:[637.63,508.04] detect frame:260 Inference: 20.824432373046875 ms per batch image class_id:0, confidence:0.92,left_top:[935.32,255.89], right_bottom:[998.49,417.59] class_id:17, confidence:0.99,left_top:[825.54,283.66], right_bottom:[1098.69,494.56] class_id:17, confidence:0.98,left_top:[0.00,368.30], right_bottom:[183.93,512.23] class_id:17, confidence:0.94,left_top:[313.35,353.67], right_bottom:[480.65,494.87] class_id:17, confidence:0.89,left_top:[627.47,326.44], right_bottom:[840.22,493.12] class_id:17, confidence:0.88,left_top:[423.89,347.37], right_bottom:[632.68,510.43] detect frame:261 Inference: 21.08931541442871 ms per batch image class_id:0, confidence:0.91,left_top:[932.99,266.10], right_bottom:[998.38,425.88] class_id:17, confidence:0.99,left_top:[821.74,293.49], right_bottom:[1102.11,500.98] class_id:17, confidence:0.96,left_top:[0.00,365.50], right_bottom:[189.56,510.38] class_id:17, confidence:0.95,left_top:[316.76,357.34], right_bottom:[479.83,496.75] class_id:17, confidence:0.92,left_top:[625.47,344.52], right_bottom:[835.42,502.07] class_id:17, confidence:0.84,left_top:[426.73,358.57], right_bottom:[633.17,509.86] detect frame:262 Inference: 21.12603187561035 ms per batch image class_id:0, confidence:0.87,left_top:[925.57,255.54], right_bottom:[986.52,431.84] class_id:17, confidence:0.99,left_top:[807.31,287.81], right_bottom:[1094.72,508.17] class_id:17, confidence:0.98,left_top:[0.00,365.00], right_bottom:[175.99,514.20] class_id:17, confidence:0.97,left_top:[625.52,336.11], right_bottom:[839.94,491.34] class_id:17, confidence:0.96,left_top:[302.65,354.18], right_bottom:[476.28,499.24] class_id:17, confidence:0.90,left_top:[427.20,356.85], right_bottom:[637.15,510.26] class_id:17, confidence:0.21,left_top:[474.90,350.07], right_bottom:[545.26,403.83] detect frame:263 Inference: 20.95627784729004 ms per batch image class_id:0, confidence:0.84,left_top:[925.80,260.21], right_bottom:[977.06,411.82] class_id:17, confidence:0.99,left_top:[1.20,372.98], right_bottom:[169.59,523.41] class_id:17, confidence:0.97,left_top:[792.68,289.44], right_bottom:[1078.02,507.84] class_id:17, confidence:0.92,left_top:[616.42,344.29], right_bottom:[816.49,503.47] class_id:17, confidence:0.86,left_top:[301.65,354.77], right_bottom:[466.94,509.13] class_id:17, confidence:0.79,left_top:[420.84,363.43], right_bottom:[631.18,516.19] class_id:17, confidence:0.33,left_top:[444.23,358.41], right_bottom:[539.27,408.75] detect frame:264 Inference: 20.977497100830078 ms per batch image class_id:0, confidence:0.72,left_top:[921.84,255.83], right_bottom:[972.72,414.37] class_id:17, confidence:0.99,left_top:[0.00,375.20], right_bottom:[175.02,527.28] class_id:17, confidence:0.98,left_top:[802.33,285.60], right_bottom:[1068.94,497.88] class_id:17, confidence:0.92,left_top:[611.44,337.98], right_bottom:[816.64,504.99] class_id:17, confidence:0.87,left_top:[462.96,352.56], right_bottom:[634.85,506.54] class_id:17, confidence:0.87,left_top:[297.23,352.61], right_bottom:[465.20,502.97] class_id:17, confidence:0.25,left_top:[422.91,351.48], right_bottom:[545.71,507.61] class_id:17, confidence:0.21,left_top:[439.72,358.80], right_bottom:[537.41,406.09] detect frame:265 Inference: 20.790815353393555 ms per batch image class_id:0, confidence:0.73,left_top:[904.11,260.69], right_bottom:[971.96,425.71] class_id:17, confidence:0.98,left_top:[795.51,284.67], right_bottom:[1065.81,501.45] class_id:17, confidence:0.98,left_top:[0.00,384.41], right_bottom:[168.32,530.06] class_id:17, confidence:0.93,left_top:[628.53,334.80], right_bottom:[810.31,490.97] class_id:17, confidence:0.90,left_top:[469.07,353.37], right_bottom:[627.93,506.38] class_id:17, confidence:0.82,left_top:[290.14,357.25], right_bottom:[466.62,506.07] detect frame:266 Inference: 20.826101303100586 ms per batch image class_id:0, confidence:0.68,left_top:[901.49,266.54], right_bottom:[968.21,426.54] class_id:17, confidence:0.98,left_top:[0.82,387.94], right_bottom:[166.25,532.08] class_id:17, confidence:0.95,left_top:[792.43,289.92], right_bottom:[1059.46,505.03] class_id:17, confidence:0.95,left_top:[608.30,339.48], right_bottom:[810.75,502.91] class_id:17, confidence:0.84,left_top:[293.53,363.73], right_bottom:[463.79,515.11] class_id:17, confidence:0.82,left_top:[416.86,359.65], right_bottom:[621.98,515.57] detect frame:267 Inference: 21.06165885925293 ms per batch image class_id:0, confidence:0.84,left_top:[895.70,262.51], right_bottom:[949.77,424.75] class_id:17, confidence:0.98,left_top:[0.00,389.47], right_bottom:[161.02,536.99] class_id:17, confidence:0.98,left_top:[773.91,288.64], right_bottom:[1044.34,502.03] class_id:17, confidence:0.95,left_top:[586.55,336.80], right_bottom:[798.45,505.50] class_id:17, confidence:0.92,left_top:[443.79,357.28], right_bottom:[614.35,505.03] class_id:17, confidence:0.81,left_top:[304.92,368.58], right_bottom:[457.51,513.59] detect frame:268 Inference: 21.164894104003906 ms per batch image class_id:0, confidence:0.85,left_top:[888.13,265.24], right_bottom:[943.93,409.57] class_id:17, confidence:0.99,left_top:[754.55,289.03], right_bottom:[1035.93,498.94] class_id:17, confidence:0.99,left_top:[0.00,392.87], right_bottom:[154.28,538.75] class_id:17, confidence:0.95,left_top:[441.42,355.55], right_bottom:[601.72,504.44] class_id:17, confidence:0.90,left_top:[595.42,328.72], right_bottom:[799.21,497.75] class_id:17, confidence:0.74,left_top:[283.24,372.29], right_bottom:[432.23,509.85] class_id:17, confidence:0.30,left_top:[396.31,371.55], right_bottom:[513.59,509.71]
from IPython.display import HTML
# bilibili
HTML('')
PaddleDetection的数据处理模块是一个Python模块,所有代码逻辑在ppdet/data/中,数据处理模块用于加载数据并将其转换成适用于物体检测模型的训练、评估、推理所需要的格式。 数据处理模块的主要构成如下架构所示。 PaddleDetection目前支持COCO、Pascal VOC 和WIDER-FACE数据源,默认数据集可自动下载,请参考默认数据集安装方法。同时还支持自定义数据源,包括(1)自定义数据源转换成COCO数据集;(2)定义新的数据源。详细操作请数据处理。
ppdet/data/
├── reader.py # 数据处理模块的总接口
├── shared_queue # 共享内存管理模块
│ ├── queue.py # 定义共享内存队列
│ ├── sharedmemory.py # 负责分配内存
├── source # 数据源管理模块
│ ├── dataset.py # 定义数据源基类,各类数据集继承于此
│ ├── coco.py # COCO数据集解析与格式化数据
│ ├── voc.py # Pascal VOC数据集解析与格式化数据
│ ├── widerface.py # WIDER-FACE数据集解析与格式化数据
├── tests # 单元测试模块
│ ├── test_dataset.py # 对数据集解析、加载等进行单元测试
│ │ ...
├── tools # 一些有用的工具
│ ├── x2coco.py # 将其他数据集转换为COCO数据集格式
├── transform # 数据预处理模块
│ ├── batch_operators.py # 定义各类基于批量数据的预处理算子
│ ├── op_helper.py # 预处理算子的辅助函数
│ ├── operators.py # 定义各类基于单张图片的预处理算子
├── parallel_map.py # 在多进程/多线程模式中对数据预处理操作进行加速
边训练边测试
export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -u tools/train.py -c configs/faster_rcnn_r50_1x.yml --eval 在训练中交替执行评估, 评估在每个snapshot_iter时开始。每次评估后还会评出最佳mAP模型保存到best_model文件夹下。
如果验证集很大,测试将会比较耗时,建议减少评估次数,或训练完再进行评估。
Fine-tune其他任务
使用预训练模型fine-tune其他任务时,可以直接加载预训练模型,形状不匹配的参数将自动忽略,例如:
export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -u tools/train.py -c configs/faster_rcnn_r50_1x.yml
-o pretrain_weights=output/faster_rcnn_r50_1x/model_final
也可以显示的指定忽略参数名,可采用如下两种方式:
在YAML配置文件中设置finetune_exclude_pretrained_params 在命令行中添加-o finetune_exclude_pretrained_params对预训练模型进行选择性加载。 export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -u tools/train.py -c configs/faster_rcnn_r50_1x.yml
-o pretrain_weights=output/faster_rcnn_r50_1x/model_final
finetune_exclude_pretrained_params=[‘cls_score’,‘bbox_pred’] 详细说明请参考迁移学习文档
使用Paddle OP组建的YOLOv3损失函数训练YOLOv3。
为了便于用户重新设计修改YOLOv3的损失函数,我们也提供了不使用fluid.layer.yolov3_loss接口而是在python代码中使用Paddle OP的方式组建YOLOv3损失函数, 可通过如下命令用Paddle OP组建YOLOv3损失函数版本的YOLOv3模型:
export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
python -u tools/train.py -c configs/yolov3_darknet.yml \
-o use_fine_grained_loss=true
Paddle OP组建YOLOv3损失函数代码位于ppdet/modeling/losses/yolo_loss.py
CUDA_VISIBLE_DEVICES 参数可以指定不同的GPU。例如: export CUDA_VISIBLE_DEVICES=0,1,2,3.
若本地未找到数据集,将自动下载数据集并保存在~/.cache/paddle/dataset中。
预训练模型自动下载并保存在〜/.cache/paddle/weights中。
模型checkpoints默认保存在output中,可通过修改配置文件中save_dir进行配置。
混合精度训练
通过设置 --fp16 命令行选项可以启用混合精度训练。目前混合精度训练已经在Faster-FPN, Mask-FPN 及 Yolov3 上进行验证,几乎没有精度损失(小于0.2 mAP)。
建议使用多进程方式来进一步加速混合精度训练。示例如下。python -m paddle.distributed.launch --selected_gpus 0,1,2,3,4,5,6,7 tools/train.py --fp16 -c configs/faster_rcnn_r50_fpn_1x.yml
如果训练过程中loss出现NaN,请尝试调节–loss_scale选项数值,细节请参看混合精度训练相关的Nvidia文档。
另外,请注意将配置文件中的 norm_type 由 affine_channel 改为 bn。
指定权重和数据集路径