一、项目背景

本项目基于paddlex实现目标检测。

效果如图

下载版本小于2.0.0的paddlex

!pip install "paddlex<2.0.0" -i https://mirror.baidu.com/pypi/simple

定义参数

#config
val_radio=0.2
train_list='data/train_list.txt'
val_list='data/val_list.txt'
label_list='data/labels.txt'
data_dir='data'
num_epochs=20
train_batch_size=16
learning_rate=0.000125
lr_decay_epochs=[210, 240]
save_interval_epochs=10

载入所需库

import paddlex as pdx
from paddlex.det import transforms
import linecache
import random

二、数据集介绍

本项目使用的数据集为VOC2012数据集,其中标签有aeroplane,bicycle,bird,boat,bottle,bus,car,cat,chair,cow,diningtable,dog,horse,motorbike,person,pottedplant,sheep,sofa,train,tvmonitor。

解压数据集并将数据集放入data目录

!unzip /home/aistudio/data/data105732/VOC2012.zip
!mv Annotations data
!mv JPEGImages data
!mv train_list.txt data
!mv labels.txt data

将数据集划分为训练集和验证集

!paddlex --split_dataset --format VOC --dataset_dir data --val_value 0.2

对数据预处理

train_transforms = transforms.Compose([transforms.MixupImage(mixup_epoch=250),transforms.RandomDistort(),transforms.RandomExpand(),transforms.RandomCrop(),transforms.Resize(target_size=608, interp='RANDOM'),transforms.RandomHorizontalFlip(),transforms.Normalize(),
])
eval_transforms = transforms.Compose([transforms.Resize(target_size=608, interp='CUBIC'),transforms.Normalize(),
])

数据载入

train_dataset = pdx.datasets.VOCDetection(data_dir=data_dir,file_list=train_list,label_list=label_list,transforms=train_transforms,shuffle=True)
eval_dataset = pdx.datasets.VOCDetection(data_dir=data_dir,file_list=val_list,label_list=label_list,transforms=eval_transforms)

三、模型组网和训练

num_classes = len(train_dataset.labels)
model = pdx.det.YOLOv3(num_classes=num_classes, backbone='DarkNet53')
model.train(num_epochs=num_epochs,train_dataset=train_dataset,train_batch_size=train_batch_size,eval_dataset=eval_dataset,learning_rate=learning_rate,lr_decay_epochs=lr_decay_epochs,save_interval_epochs=save_interval_epochs,save_dir='output/yolov3_darknet53',use_vdl=True)

四、模型预测

model = pdx.load_model('output/yolov3_darknet53/best_model')
image_name = 'work/plane.jpg'
result = model.predict(image_name)
pdx.det.visualize(image_name, result, threshold=0.5, save_dir='./output/yolov3_darknet53')

五、自我介绍

太原理工大学 软件学院 软件工程专业 2020级 本科生 王志洲

AIstudio地址链接:https://aistudio.baidu.com/aistudio/personalcenter/thirdview/559770

码云地址链接:https://gitee.com/wang-zhizhou_1

本项目基于paddlex实现目标检测相关推荐

  1. 从零开始PyTorch项目:YOLO v3目标检测实现

    从零开始PyTorch项目:YOLO v3目标检测实现 目标检测是深度学习近期发展过程中受益最多的领域.随着技术的进步,人们已经开发出了很多用于目标检测的算法,包括 YOLO.SSD.Mask RCN ...

  2. 高效!Anchor DETR:旷视提出一种基于Transformer的目标检测神器!

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:Sophia知乎 https://zhuanlan.zhihu.com/p/412738375 985人工智能 ...

  3. 基于YOLOv4的目标检测系统(附MATLAB代码+GUI实现)

    摘要:本文介绍了一种MATLAB实现的目标检测系统代码,采用 YOLOv4 检测网络作为核心模型,用于训练和检测各种任务下的目标,并在GUI界面中对各种目标检测结果可视化.文章详细介绍了YOLOv4的 ...

  4. 基于YOLOv5的目标检测系统详解(附MATLAB GUI版代码)

    摘要:本文重点介绍了基于YOLOv5目标检测系统的MATLAB实现,用于智能检测物体种类并记录和保存结果,对各种物体检测结果可视化,提高目标识别的便捷性和准确性.本文详细阐述了目标检测系统的原理,并给 ...

  5. 基于ppyoloe-sod海星目标检测

    0 赛事背景说明 澳大利亚令人惊叹的美丽大堡礁是世界上最大的珊瑚礁,拥有 1,500 种鱼类.400 种珊瑚.130 种鲨鱼.鳐鱼和种类繁多的其他海洋生物. 不幸的是,珊瑚礁正受到威胁,部分原因是一种 ...

  6. 10分钟内基于gpu的目标检测

    10分钟内基于gpu的目标检测 Object Detection on GPUs in 10 Minutes 目标检测仍然是自动驾驶和智能视频分析等应用的主要驱动力.目标检测应用程序需要使用大量数据集 ...

  7. 基于YOLO的目标检测界面化部署实现(支持yolov1-yolov5、yolop、yolox)

    基于YOLO的目标检测界面化部署实现(支持yolov1-yolov5.yolop.yolox) 代码下载地址:下载地址 安装 操作系统:Win10.Win7.Ubuntu16.04(其他操作系统没有测 ...

  8. 深度神经网络在基于视觉的目标检测中的应用

    简 介: 目标检测是计算机视觉的一个重要应用方向,深度神经网络的提出极大地帮助基于视觉的目标检测提高了准确度.自2014年以来,深度神经网络在基于视觉的目标检测中被广泛应用,出现了多种算法.本文分别讨 ...

  9. matlab基于ssd的角点匹配_基于关键点的目标检测

    0 1 前言:基于锚点的目标检测方法 在基于关键点(key points)的目标检测方法出现之前,主流目标检测方法一般先设置一些预先定义好的 锚点 (anchor boxes). 作为预测物体框的参考 ...

  10. MATLAB基于形态学的目标检测(一)简单图形统计

    (目标检测)MATLAB基于形态学的目标检测(一)简单图形统计 一.生成测试图像 二.连通区域目标统计 三.结合形态学 总结 by HPC_ZY 本文主要介绍二值形态学在目标检测上的用法, 就不讲形态 ...

最新文章

  1. (区间dp 或 记忆化搜素 )Brackets -- POJ -- 2955
  2. java rectangle获取xy_JFreeChart 动态移动线 并求出两条线交点XY
  3. Kaggle比赛源代码和讨论的收集整理
  4. ajax 批量上传图片插件,jQuery多文件上传插件jquery.imageuploader.js
  5. 使用jQuery OCUpload实现excel文件一键上传功能
  6. android按钮点击后闪退_Android开发【04-27求助贴】点击button闪退
  7. Android 省份城市搜索,android - 非常不错的 城市省份的选择组件: citypicker
  8. 1081 n个数求和 (多实例测试)
  9. python两数相乘代码_Python 实现大整数乘法算法的示例代码
  10. 跨区域报考计算机考试可以吗,考生注意!2020年医师资格机考跨题型不可以回看(附上机操作系统)...
  11. Eclipse用法和技巧十五:自动添加未实现方法1
  12. type=button 字体大一点_CAD设计师喜欢用SHX字体的原因你知道吗?
  13. Selenium3 Java自动化测试完整教程
  14. 下载SVN上的文件到本地
  15. git 调换提交顺序
  16. js 幻灯片放映图片_20个响应式图像库和幻灯片放映(2018)
  17. vue修改预设preset
  18. 2021年多媒体技术圈年终事件大回顾
  19. Linux路由器的配置
  20. 【Pytorch Lighting】第 8 章:自监督学习

热门文章

  1. 本地用微信测试公众号开发对接微信支付思路
  2. 易生信:临床基因组学数据分析实战(11月12-14开课)
  3. 计算机语音识别引擎,基于微软语音引擎的语音识别技术的研究
  4. (简单明了)透彻理解电压前馈解耦算法
  5. 高德视觉技术中心招聘计算机视觉研发(社招/校招/实习岗位)
  6. excel几个表合成一张_【一分钟Excel】如何快速合并多个工作表
  7. 好工具推荐-侧边翻译
  8. -verbose:gc 和 -XX:+PrintGC 的区别
  9. 蓝牙怎么调声音大小_苹果蓝牙耳机
  10. 浪潮存储实至名归,通用存储用户评测排名全球榜首