使用mmdetection检测并存储结果

  • 使用voc格式样本训练
  • 检测并保存结果(添加nms)

使用voc格式样本训练

修改mmdet/datasets/voc.py文件中类别,注意格式别出错

CLASSES = ('bird-nest',)

然后修改配置文件,其中img_scale是你输入图片的宽高,num_classes=数据集类别数+1(背景),其他超参按照官网教程修改即可。

如果要做精度评价的话,要记得修改mmdet/core/evaluation/class_names.py中的类别跟数据集的类别一致。

检测并保存结果(添加nms)

由于我在超算上运行,所以没有做结果显示,只是保存为了jpg
在根目录下新建一个demo.py文件,并运行。

import mmcv
import os
import numpy as np
from mmcv.runner import load_checkpoint
from mmdet.models import build_detector
from mmdet.apis import init_detector, inference_detector, show_resultmodel = init_detector('configs/pascal_voc/faster_rcnn_r50_fpn_1x_voc0712.py', 'work_dirs/faster_rcnn_r50_fpn_1x_voc0712/epoch_8.pth', device='cuda:0')input_dir = 'data/VOCdevkit/VOC2007/JPEGImages/'
out_dir = 'results/'if not os.path.exists(out_dir):os.mkdir(out_dir)def py_cpu_nms(dets, thresh):"""Pure Python NMS baseline."""dets = np.array(dets)x1 = dets[:, 0]y1 = dets[:, 1]x2 = dets[:, 2]y2 = dets[:, 3]scores = dets[:, 4]areas = (x2 - x1 + 1) * (y2 - y1 + 1)order = scores.argsort()[::-1]keep = []while order.size > 0:i = order[0]keep.append(i)xx1 = np.maximum(x1[i], x1[order[1:]])yy1 = np.maximum(y1[i], y1[order[1:]])xx2 = np.minimum(x2[i], x2[order[1:]])yy2 = np.minimum(y2[i], y2[order[1:]])w = np.maximum(0.0, xx2 - xx1 + 1)h = np.maximum(0.0, yy2 - yy1 + 1)inter = w * hovr = inter / (areas[i] + areas[order[1:]] - inter + 0.000000000001)inds = np.where(ovr <= thresh)[0]order = order[inds + 1]return keepdef nms_cpu(total_detections, classnames, thresh=0.5):for i in range(len(classnames)):keep = py_cpu_nms(total_detections[i], thresh)total_detections[i] = total_detections[i][keep]return total_detectionsfiles = os.listdir(input_dir)
if len(files) != 0:for file in files:name = os.path.splitext(file)[0]print ('detecting: ' + name)img = mmcv.imread(os.path.join(input_dir, file))img_resize = mmcv.imresize(img, (2000, 1500))result = inference_detector(model, img_resize)result = nms_cpu(result, model.CLASSES, 0.1)result_img = draw_result(img_resize, result, model.CLASSES, score_thr=0.3, out_file=os.path.join(out_dir, name + '.jpg'))

使用mmdetection检测并存储结果相关推荐

  1. android检测usb存储,USBdevice识别为存储设备并找到路径

    如何检测可用于存储的已安装设备(如Pen-Drive)?如何找到安装的存储设备的路径,以便我可以从中读取文件?USBdevice识别为存储设备并找到路径 我用下面取权限访问安装器件广播接收机: pri ...

  2. 怎么看mmdetection版本_如何评价商汤开源的 mm-detection 检测库?

    万年潜水党,上来答一发. 利益相关:名字在 author list 里. 今天(10.12)正式开源了两个项目,mmcv 和 mmdetection.(划重点:for pure research) m ...

  3. android检测usb存储,android 监听检测USB存储设备

    1,USB存储设备(如:U盘,移动硬盘): //USB存储设备 插拔监听与 SD卡插拔监听一致. private USBBroadCastReceiver mBroadcastReceiver; In ...

  4. 用 C# 编写 USB 存储设备使用痕迹检测和删除工具

    编写 USB 存储设备使用痕迹检测和删除工具 (C# Windows Form 编程练习) [版权所有 邱秋 2014 metaphysis@yeah.net, 转载请注明出处] 第一节 准备知识 之 ...

  5. mmdetection

    参考: mmdetection检测训练和源码解读 源码解读 图像目标检测之cascade-rcnn实践 mmdetection添加focal loss mmdetection,训练自己的数据 训练自定 ...

  6. docker 容器环境 检测方法

    1.背景 现在有研究表明,人们目前有使用Docker进行恶意代码重现工作的倾向.Docker的反检测可分为三部分:CPU反检测,内存反检测和存储数据反检测.该技术利用了AUFS的层叠镜像技术,使得我们 ...

  7. 视频监控/存储系统设计要点

    视频监控系统包括以下组成部分: 编号 模块名称 功能及备注 1 设备代理 系统与前端设备进行通信 2 报警 接收/存储报警信息(外部报警) 3 流媒体 转发视频流,因为设备并发连接有限,通常配备多个网 ...

  8. OpenCV isContinuous()连续存储的问题

    OpenCV isContinuous()连续存储的问题 [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/78614662 ...

  9. 如何正确的检测对象类型?

    在 javascript 中,我们常常用 typeof 运算符来检测对象的类型,在使用 typeof 检测引用类型的存储值会出现一个问题,无论引用的是什么类型的对象,它都会返回 "objec ...

  10. CVPR 2019 Oral | 京东目标检测算法ScratchDet的深入思考

    本文为CVPR 2019 Oral ScratchDet算法的第一作者朱睿投稿,转载自作者公众号BringYourOwnVision,欢迎大家于文末右下角关注. 使用ImageNet预训练的网络模型能 ...

最新文章

  1. 金山网盾监测:游戏玩家下载西西游戏外挂会中大量***
  2. cmd装b专用代码_Python 用5行代码学机器学习—线性回归
  3. 存储过程与事务应用两三事
  4. mysql中非主键不能自增吗_mysql非主键自增长用法实例分析
  5. 总结下用Vue.js和webpack遇到的问题
  6. 解压的mysql_10分钟教你解决安装解压版mysql出现的各种问题
  7. 跑分cpu_英特尔Rocket Lake 8核心和16线程CPU跑分泄漏
  8. 4 读写文件_和尧名大叔一起从0开始学Python编程-简单读写文件
  9. Spring : BeanFactoryPostProcessor 子类 BeanDefinitionRegistryPostProcessor
  10. 为什么DNN的SectionHead Control图片无法显示,也无法折叠
  11. eclipse各版本下载列表
  12. python pygame鼠标点击_Python之pygame学习鼠标操作(12)
  13. 搭建 Kodbox 私有云教程
  14. L2+/L3级智能驾驶功能量产,为何说侧向补盲激光雷达是必备传感器?
  15. 深圳海关计算机应用岗位进面分数,这是深圳国税和海关的进面分数线,看完你还敢报吗?...
  16. excel按某个字符将一个单元格拆分成多个单元格
  17. Spark streaming动态调整资源-调研报告
  18. php开发gui有啥意义,gui是什么?
  19. 免费PPT模板 | 《超能陆战队》暖心大白通用演示PPT模板
  20. HTML、HTM、MHT 图标修复方法

热门文章

  1. eeglab导出图片
  2. LINUX 远程复制
  3. 【Turbo】基于MATLAB的turbo编译码算法的仿真
  4. 格拉布斯检验法matlab,格拉布斯检验法MATLAB算法
  5. python打印九九乘法表代码
  6. c语言实现通讯录(详解)
  7. Fragstats软件使用及其景观生态学意义
  8. html图片怎么弄透明背景,如何使用CSS实现背景图像透明
  9. Go全栈面试题(3) -微服务面试题
  10. python 函数 思维导图