热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据测试是干嘛的,大数据测试

正文在yolo的官方上上显示,yolov2具有76.8%的mAP,与SSD500持平,单在fps上冥想的以碾压的优势胜出。但是经过实际的测试发现,tiny-yolo网络的实际效果并


看了很多博客,有了更简单的方法。 请看一下。 我直接使用了fastrcnn的地图脚本。 本博客是为了在项目上评价网络,并不是故意走那么多弯路。 因为原始的地图计算和我们yolo收集的数据集是不兼容的。 然后,为了更准确地判断,我们在计算地图时修改其iou的数值、confidence数据、面积滤波、坐标滤波等。 如果大家想求map的话,博主看教程很容易,但是没有试过。 原理是一样的。 3359 blog.csdn.net/leewanzhi/article/details/79690275态度虽然不好,但看起来可能很简单。 本文根据yolo公式,yolo v2具有76.8%的mAP,与SSD 500持平,仅通过fps冥想就以碾压优势取胜。 除此之外,tiny-yolo也有57.1%的地图。 以前博客进行了yolov2和tinu-yolo的移植和改良,训练了近3000张数据。 但经过实际测试,发现tiny-yolo网络的实际效果并没有官网所宣称的那么好,即使将迭代次数改为60000也是徒劳的。 但是,yolov2网络的效果不容小觑,基本博客的大部分检测物体都能很好地识别。 因此,博主试图实际测量yolov2和tiny-yolo的实际mAP值。


首先说明什么是地图。 目标检测中测量识别精度的指标是map(meanaverageprecision )。 在多个类别的物体检测中,可以根据每个类别的recall和precision绘制曲线。 AP是该曲线下的面积,mAP是多个类别AP的平均值。 以上介绍来自知乎论坛。 具体信息可以在百度和谷歌上搜索。


因为是使用的voc规格的数据集,所以应该有训练图像的源文件、xml文件。 但是,这些文件并不直接在yolo网络上检测到,而是必须将每个图像转换为相应的描述性文件txt。 这里,每个图像都记载了检测物体的类别、位置、尺寸。 但是,对于进入fast-rcnn的mAP计算程序来说,他需要的确实是别的格式,由于博主在进行格式变换时出现了很多bug,所以现在统一了识别为voc格式的格式,MMC


要衡量训练网络的效果,首先需要一定数量的测试数据集。 测试数据集需要图像和对应于每个图像的xml描述文件,而不是txt描述语言,因此相对来说需要较少的进一步转换。 使用


./darknetdetectorvalidcfg/VOC.data CFG/lucky-VOC.CFG backup/lucky-slippers-color _ 30000.weights-out 123 -


上述代码使用yolo网络附带的valid函数界面测试大量图像,并将其存储在123.txt文件中。 其他文件、名称和位置也可以自己决定。


首先cfg/voc.data中有几种路径的记述,具体内容如下


类=1


train=/home/lucky/open/tuoxie _ VOC/train.txt


valid=/home/lucky/open/tuoxie _ VOC/valid.txt


names=data/voc.names


backup=backup


因为我只有一个标识,所以class为1,train是训练的数据地址描述文件,valid是值测试的地址描述文件。 后面的name是类别描述文件,backup通常是培训时保存的路径。 需要修改的只有名为valid的项目,指的是需要测试的文件名。


cfg/lucky-voc.cfg是指与培训、检查时相同的配置文件。


backup/lucky-slippers-color _ 30000.weights是指你使用的权重。


-out是参数,输出到紧接在其后的文件名。


-thresh是输出阈值参数,但没有设置为源代码,因此在实际测试中效果不大。 这里设为0.5。


执行此语句后,darknet开始加载权重文件,并根据提供的测试文件目录逐一开始识别检查。 最后执行后,图像如下所示


(we use gpu! 请无视。 这是博主以前测试gpu和cpu速度时输出的)


在文件./results/中可以看到刚才的输出文件123tuoxie.txt。 yolo对识别的内容进行分类,并在自定义名称之后附加类别名称,如这里的123tuxie。


里面的内容也有点奇怪,好像不合逻辑。 是博客操作错误,还是博客在以前的优化时错误地更改了yolo的源代码? (从数据上看,设定的阈值确实没有用。 在源代码中也能看到。 )


首先开始计算地图。 映射计算使用fast-rcnn的voc_eval函数。 因为专业变了,所以可以更直接地得到我们想要的数据。 首先,确保所有测试图像都与对应的xml文件在一起。 否则,在查找匹配的描述文件时会出现错误。请注意,所有分类的图片都要放在同一个目录!!!如下图所示


然后将计算出的源代码下载到本地小文件voc-eval-github中


git clone gi

t@github.com:lucky-ing/voc_eval.git

里面只有一个文件123.py,使用

python 123.py /home/lucky/yolo/darknet/results/123tuoxie.txt /home/lucky/open/tuoxie_VOC/valid.txt tuoxie

/home/lucky/yolo/darknet/results/123tuoxie.txt是指刚才测试后的数据地址。/home/lucky/open/tuoxie_VOC/valid.txt,是测试的图片地址描述文件,和上面的voc.data是同一个文件。第四个参数tuoxie,是我们要计算mAP的类别名。然后,回车,运行,

不同的class有不同的valid文件,所以不同的分类需要一个一个测试。

最新更新:

这个用来测试mAP的文件因为麻烦,收到很多质问,博主在这一并回复。

为什么计算mAP的时候还需要xml文件?

答:因为yolo网络valid出来的是多个文件夹,每个文件夹代表一个分类检测出来的所有的情况,但是这些情况的信息使用使用像素位置来表示的。即,如果在480×480的图片中,里面检测出来的物体框图都是使用像素的位置,例如
20171015_210945 0.006307 292.750244 123.649994 354.466797 264.518311
代表着在20171015_210945图片中,检测出一个置信度为0.006307的物体,位置在292.750244 123.649994 354.466797 264.518311,这表示的是方框的对角的像素坐标。但是我们训练时候的标注文件(.txt)里面使用却是相对比例信息,例如
0.4 0.5 0.2 0.1
这个是指在图片比例0.4,0.5点有一个宽0.2,高0.1的物体。这就导致了求解mAP的时候信息格式是不对等的,所以只能从源xml文件找标注的信息。

为什么voc_eval文件计算的时候会保存一个txt文件?

答:因为xml的文件的原因,他需要统一路径,所以保存了文件,然后再读取,现在博主已经更新了,不会再保存文件了。

为什么读取valid文件错误?

因为博主设定的图片格式只有.jpg,现在已经支持.jpg .JPEG .png .PNG图像格式了。

为什么在使用voc_eval文件计算mAP的时候会显示目录错误。

请注意,是否将所有的测试图片都放在了同一个文件夹,请注意,一定要将所有的测试图片放在同一个文件夹内!!

为什么有时候会有split之类的错误?

博主遇到了这个问题,后来分析是因为测试集的名字有空格,所以导致在提取信息的时候会产生问题。如果真的是这个问题,那就需要修改yolo源码了,使yolo输出的文件用:或者其他符号来表示,然后提取的时候就不会出现这种问题。

新添加的功能 支持了查全率和查准率的图像的调取,保存在了目录下的123.jpg contact

欢迎读者一起讨论,或者联系博主邮件:lucky_lsq@163.com


推荐阅读
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 嵌入式处理器的架构与内核发展历程
    本文主要介绍了嵌入式处理器的架构与内核发展历程,包括不同架构的指令集的变化,以及内核的流水线和结构。通过对ARM架构的分析,可以更好地理解嵌入式处理器的架构与内核的关系。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • HTML学习02 图像标签的使用和属性
    本文介绍了HTML中图像标签的使用和属性,包括定义图像、定义图像地图、使用源属性和替换文本属性。同时提供了相关实例和注意事项,帮助读者更好地理解和应用图像标签。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • 在2022年,随着信息化时代的发展,手机市场上出现了越来越多的机型选择。如何挑选一部适合自己的手机成为了许多人的困扰。本文提供了一些配置及性价比较高的手机推荐,并总结了选择手机时需要考虑的因素,如性能、屏幕素质、拍照水平、充电续航、颜值质感等。不同人的需求不同,因此在预算范围内找到适合自己的手机才是最重要的。通过本文的指南和技巧,希望能够帮助读者节省选购手机的时间。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
author-avatar
北京雅舍
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有