yolov3算法检测单类物体

2023-11-08

yolov3是目前目标检测类检测效果和检测速度最好的算法,原版的yolov3检测的物体种类众多,本文实在原有yolov3上将多累物体检测简化为单类物体检测,本文的原始代码基于github上copy的,源码下载地址为:https://github.com/qqwweee/keras-yolo3
根据作者提供的代码我们可以测试、训练我们的数据集,原文已做详细叙述如何训练测试代码,不做过多叙述。
单类物体检测假设我们是在源码基础上检测‘person’这个类别,我们需要对其中的yolo.cfg文件做修改,这里写图片描述
这里写图片描述
将其中的classes修改为1,所有的filters=255的值修改为filters=18(计算方式为(classes+5)*3),然后将coco_class.txt和voc_class.txt文件中的类别全部修改成‘person’
这里写图片描述
再将voc_annocation.py文件中的classes修改成只有‘person’一个类。
这里写图片描述
然后需要准备数据集,将数据集放在运行代码的同一级目录下。注意数据集下载需要将训练集和测试集里面的数据放在一起,我这里已经将其数据整理,https://download.csdn.net/download/z649431508/10638245,有人说我设置的积分太高,我说明下,这是CSDN官方调的,我自己都不知道,这里给一个百度云链接,不需要从CSDN那边下载,https://pan.baidu.com/s/15ewJZoav2ebmkqBf2bPyeA,提取码 anv2
这里写图片描述
运行voc_annocation.py生成2007_train.txt和2007_test.txt,2007_val.txt文件。
然后通过命令行cd到运行代码的同一级目录,执行

python convert.py -w yolov3.cfg yolov3.weights model_data/yolo_weights.h5

生成预训练权重。
然后运行

python train.py

开始训练
训练过程可能会出现val_loss=nan的情况,我在训练过程中发现在训练到50Epoch以后val_loss开始降低,或者按照网上的说法可以调整cfg文件的batch大小,将其调大,也能改善val_loss。
训练完成后会生成一个logs文件夹,里面的000文件夹下会有训练好的权重文件,trained_weights_final.h5是我们所需要的文件,再次修改yolo.py文件中的代码,将其中的modelpath换成自己生成的trained_weights_final.h5文件下的目录。
这里写图片描述
至此所有工作基本上完成,接着就是检测效果的时候,命令行运行代码

python yolo_video.py --input 1.mp4

这里写图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

yolov3算法检测单类物体 的相关文章

  • 如何传递架构以从现有数据帧创建新数据帧?

    要将 schema 传递到 json 文件 我们这样做 from pyspark sql types import StructField StringType StructType IntegerType data schema Stru
  • 类的 IPython 表示

    我正在使用我创建的模块尝试 IPython 但它没有显示类对象的实际表示 相反 它显示类似的内容 TheClass module TheClass name I heavily在这个模块中使用元类 我有真正有意义的类表示 应该向用户显示 是
  • Python - 比较同一字典中的值

    我有一本字典 d Trump MAGA FollowTheMoney Clinton dems Clinton Stein FollowTheMoney Atlanta 我想删除字符串列表中的重复字符串 该字符串是键的值 对于这个例子 期望
  • 计算另一个字符串中多个字符串的出现次数

    在 Python 2 7 中 给定以下字符串 Spot是一只棕色的狗 斑点有棕色的头发 斑点的头发是棕色的 查找字符串中 Spot brown 和 hair 总数的最佳方法是什么 在示例中 它将返回 8 我正在寻找类似的东西string c
  • 如何在 Matplotlib 饼图周围绘制箭头以将每个标签指向圆圈中各自的部分?

    我一直在用 Matplotlib 绘制一些图表 我有一个饼图 想要在图表周围绘制箭头 使每个标签都指向图表 我有一个例子 这是我当前的代码 import matplotlib pyplot as plt plt rcParams font
  • 如何在 __init__ 中使用await设置类属性

    我如何定义一个类await在构造函数或类体中 例如我想要的 import asyncio some code class Foo object async def init self settings self settings setti
  • matplotlib 图中点的标签

    所以这是一个关于已发布的解决方案的问题 我试图在我拥有的 matplotlib 散点图中的点上放置一些数据标签 我试图在这里模仿解决方案 是否有与 MATLAB 的 datacursormode 等效的 matplotlib https s
  • 嵌套列表的重叠会产生不必要的间隙

    我有一个包含三个列表的嵌套 这些列表由 for 循环填充 并且填充由 if 条件控制 第一次迭代后 它可能类似于以下示例 a 1 2 0 0 0 0 0 0 4 5 0 0 0 0 0 0 6 7 根据条件 它们不重叠 在第二次迭代之后 新
  • PyQt 使用 ctrl+Enter 触发按钮

    我正在尝试在我的应用程序中触发 确定 按钮 我当前尝试的代码是这样的 self okPushButton setShortcut ctrl Enter 然而 它不起作用 这是有道理的 我尝试查找一些按键序列here http ftp ics
  • 打印数字时添加千位分隔符[重复]

    这个问题在这里已经有答案了 我真的不知道这个问题的 名称 所以它可能是一个不正确的标题 但问题很简单 如果我有一个数字 例如 number 23543 second 68471243 我想要它使print 像这样 23 54368 471
  • 矩形函数的数值傅里叶变换

    本文的目的是通过一个众所周知的分析傅里叶变换示例来正确理解 Python 或 Matlab 上的数值傅里叶变换 为此 我选择矩形函数 这里报告了它的解析表达式及其傅立叶变换https en wikipedia org wiki Rectan
  • Python 内置的 super() 是否违反了 DRY?

    显然这是有原因的 但我没有足够的经验来认识到这一点 这是Python中给出的例子docs http docs python org 2 library functions html super class C B def method se
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 如何将 ascii 值列表转换为 python 中的字符串?

    我在 Python 程序中有一个列表 其中包含一系列数字 这些数字本身就是 ASCII 值 如何将其转换为可以在屏幕上回显的 常规 字符串 您可能正在寻找 chr gt gt gt L 104 101 108 108 111 44 32 1
  • 在 Google App Engine 中,如何避免创建具有相同属性的重复实体?

    我正在尝试添加一个事务 以避免创建具有相同属性的两个实体 在我的应用程序中 每次看到新的 Google 用户登录时 我都会创建一个新的播放器 当新的 Google 用户在几毫秒内进行多个 json 调用时 我当前的实现偶尔会创建重复的播放器
  • 每当使用 import cv2 时 OpenCV 都会出错

    我在终端上使用 pip3 install opencv contrib python 安装了 cv2 并且它工作了 但是每当我尝试导入 cv2 或运行导入了 cv2 的 vscode 文件时 在 python IDLE 上它都会说 Trac
  • 重新分配唯一值 - pandas DataFrame

    我在尝试着assign unique值在pandas df给特定的个人 For the df below Area and Place 会一起弥补unique不同的价值观jobs 这些值将分配给个人 总体目标是使用尽可能少的个人 诀窍在于这
  • 在virtualenv中下载sqlite3

    我正在尝试使用命令创建应用程序python3 manage py startapp webapp但我收到一条错误消息 django core exceptions ImproperlyConfigured 加载时出错 pysqlite2 或
  • 根据 Pandas 中的列表选择数据框行的子集

    我有一个数据框df1并列出x In 22 import pandas as pd In 23 df1 pd DataFrame C range 5 B range 10 20 2 A list abcde In 24 df1 Out 24
  • JSON:TypeError:Decimal('34.3')不是JSON可序列化的[重复]

    这个问题在这里已经有答案了 我正在运行一个 SQL 查询 它返回一个小数列表 当我尝试将其转换为 JSON 时 出现类型错误 查询 res db execute SELECT CAST SUM r SalesVolume 1000 0 AS

随机推荐

  • 全链路监控之pinpoint

    一 pinpoint出现与其他相似概念比较 1 pinpoint概念 pinpoint是由java PHP编写而成的 用来对大规模的分布式系统提供应用性能管理 pinpoint可以解决复杂架构下的拓扑解析与性能分析 2 pinpoint的特
  • NCNN、OpenVino、 TensorRT、MediaPipe、ONNX,各种推理部署架构,到底哪家强?

    以深度学习为主的人工智能算法模型在日常AI应用中逐渐占据主流方向 相关的各类产品也是层出不穷 我们平时所看到的AI产品 像刷脸支付 智能语音 银行的客服机器人等 都是AI算法的具体落地应用 AI技术在具体落地应用方面 和其他软件技术一样 也
  • 数字图像与视频处理 作业模板 Latex版

    搞了好久 终于把这个简单的模板给拼出来了 不熟悉想做点什么真的太难 做的时候一点点小的问题就可能发去半天的时间都找不出来 比如到最后完全没有问题的时候bibtex命令就是通不过 后来我把文件名改短了 去掉分隔符 成功了 所以说不懂的事情要从
  • 黑窗口下带进度条的http下载

    package main import flag fmt io log net http os strconv strings time github com cheggaaa pb var url flag String url The
  • mac下pycharm使用小技巧--持续更新

    Pycharm使用小技巧 pycharm创建新文件自动添加文件头注释 背景 我们平时在使用pycharm发现有些大神创建一个新文件的时候会自动在文件头添加一些注释 像是有文件路径 创建时间 创建人 集成平台等信息 但是我们自己创建的时候就没
  • 论文翻译:2021_Performance optimizations on deep noise suppression models

    Python微信订餐小程序课程视频 https blog csdn net m0 56069948 article details 122285951 Python实战量化交易理财系统 https blog csdn net m0 5606
  • 快速排序---从大到小和从小到大(Java)

    快速排序 快速排序由于排序效率在同为O nlogn 的几种排序方法中效率较高 因此经常被采用 再加上快速排序使用了分治法的思想 算是基础排序中比较高档的一种排序了 基本思想 1 先从数列中取出一个数作为基准数 可以是第一个 也可是中间的或者
  • 大数据系统体系架构(含图示)

    目录 1 大数据体系架构图 2 数据采集层 3 数据计算层 4 数据服务层 5 数据应用层 1 大数据体系架构图 2 数据采集层 阿里的的日志采集包括两大体系 Aplus JS是Web端的日志采集技术方案 UserTrack是APP端的日志
  • 前后端分离案例--权限系统(跨域请求)

    权限系统 1 前端 vue elementui axios css html 2 后端 springboot mybatis plus nybatis druid shiro swagger2 redis 1 前端界面及按钮事件实现 1 1
  • thrift介绍及应用(一)—介绍

    原文 http blog csdn net guxch article details 12157151 一 概述 Thrift是Apache下的一个子项目 最早是Facebook的项目 后来Facebook提供给Apache作为开源项目
  • 如何判断一个List集合中是否有空值

    list Any v gt string IsNullOrWhiteSpace v 转载于 https www cnblogs com xiaonangua p 10818082 html
  • ifdef win32 linux,使用预定义宏检测编译环境(操作系统、编译器类型、编译器版本)...

    在编写跨平台的程序时 我们经常使用预定义宏来检测编译环境 虽然编译器的手册中有预处理宏的介绍 但是不够详细 而且还有很多宏没有介绍 于是 我编写了一个小程序 显示常见C C 编译器的编译器的预定义宏 一 心得 最直接的办法是逐个逐个的用 i
  • 第一次团队展示

    组长本次团队展示链接 拟作的团队项目描述 致力于让现代学生生活更加轻松 队员风采 宋奕 风格 工作时候认真 生活上快乐 擅长的技术 java dotnet c 编程兴趣 通过不断地完成项目来提升技术和能力 希望的软工角色 项管兼后端 一句话
  • python案例:用户画像分析

    目录 1 项目背景 数据 2 标记高潜用户 3 基于高潜用户信息进行分析 3 1 筛选高潜用户静态数据 3 2 高潜客户的客户等级分布 3 3 高潜用户的年龄段对比 3 4 根据df ac cate 和高潜用户id匹配出高潜用户的购买该商品
  • Barman离线安装(一步到位)

    软件版本信息 软件版本 CentOS Linux release 7 8 2003 Core Python 3 6 8 pip 9 0 3 from usr lib python3 6 site packages python 3 6 ps
  • @JSONField的用法

    主要用在JSON格式和JAVA对象之间进行传递的时候有很大的用处 由于JSON中的key与bean中的属性不能匹配 因此在转换过程中出现了部分属性为null的情况 如下 package test import com alibaba fas
  • 【DL】第7章 推荐表情符号

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • MATLAB笔记 sparse稀疏矩阵函数

    sparse 函数功能 生成稀疏矩阵 使用方法 S sparse A 将矩阵A转化为稀疏矩阵形式 即矩阵A中任何0元素被去除 非零元素及其下标组成矩阵S 如果A本身是稀疏的 sparse S 返回S S sparse i j s m n n
  • 【XGBoost】第 8 章:XGBoost 替代基础学习器

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • yolov3算法检测单类物体

    yolov3是目前目标检测类检测效果和检测速度最好的算法 原版的yolov3检测的物体种类众多 本文实在原有yolov3上将多累物体检测简化为单类物体检测 本文的原始代码基于github上copy的 源码下载地址为 https github