DINO-DETR在COCO缩减数据集上实验结果分析
博主在进行DINO-DETR模型实验时,使用缩减后的COCO数据集进行训练,发现其mAP值只能达到0.27作用,故而修改了下pycocotool的代码,令其输出每个类别的AP值,来看看是由于什么原因导致这个问题。
之所以这样是因为博主认为各类别的AP值是不均匀的,必定由学得好的与学得不好的。
参数设置:batch-size=1,lr=0.00005
使用22个epoch中训练结果最好的那个进行验证,结果如下:
【truck,car,bus】
分别为0.02,0.11,0.70,map为0.28
batch-size=2,lr=0.0001,epoch=24。结果如下:
随后使用官方给定的训练后的模型进行测试:
【'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck'】
对应car,bus,truck为:0.49,0.72,0.42,map值为0.54
上述实验结果首先证明了博主的猜想,即各个类别的AP值是不同的,也就说明其并非是对所有类别信息都有一个较好的结果。
其次尝试分析一下造成这个问题的原因。
首先在我们缩小的COCO数据集上,尽管car的标注较多,但目标都较小,而且存在很大程度的遮挡。且car在出现时背景复杂多变(有时是通过窗户看到,有时出现在马路上,有时旁边出现其他的物体),周边出现多种信息。
而bus尽管数量上并不占优,但其在出现时特征较为明显,显示较为完整,且出现时背景较为固定。(多为公路上出现)故而其学习效果较好。
博主选择了几个具有代表性的图像进行展示,用以证实博主上面的猜想。
使用DINO-DETR官方给定的权重模型来验证完整COCO数据集,完整结果如下:
IoU metric: bboxAverage Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.491, per category = [ 0.607 0.368 0.493 0.505 0.750 0.727 0.723 0.428 0.321 0.3130.709 0.690 0.530 0.293 0.434 0.793 0.721 0.654 0.603 0.6380.717 0.781 0.752 0.730 0.192 0.468 0.216 0.421 0.528 0.7290.301 0.457 0.518 0.509 0.388 0.423 0.576 0.461 0.568 0.4340.442 0.495 0.464 0.280 0.264 0.471 0.310 0.270 0.431 0.3920.262 0.277 0.481 0.610 0.560 0.447 0.345 0.499 0.306 0.5190.336 0.664 0.637 0.676 0.651 0.401 0.579 0.416 0.638 0.3980.566 0.424 0.671 0.200 0.568 0.418 0.356 0.540 0.169 0.349]Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.667, per category = [ 0.854 0.625 0.734 0.775 0.898 0.854 0.879 0.590 0.578 0.5790.869 0.777 0.706 0.406 0.639 0.921 0.852 0.856 0.832 0.8480.898 0.910 0.925 0.899 0.339 0.683 0.363 0.644 0.740 0.9090.574 0.618 0.746 0.735 0.630 0.707 0.791 0.698 0.822 0.6230.654 0.657 0.637 0.442 0.377 0.609 0.466 0.378 0.566 0.5120.446 0.417 0.639 0.797 0.714 0.650 0.529 0.634 0.498 0.6580.469 0.794 0.813 0.806 0.831 0.597 0.737 0.622 0.767 0.5520.713 0.644 0.780 0.380 0.781 0.591 0.479 0.698 0.216 0.496]Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.536, per category = [ 0.660 0.353 0.531 0.537 0.822 0.799 0.812 0.481 0.303 0.3120.802 0.742 0.564 0.315 0.447 0.836 0.778 0.730 0.664 0.7060.790 0.833 0.841 0.791 0.199 0.510 0.219 0.462 0.585 0.8600.268 0.515 0.592 0.572 0.416 0.461 0.621 0.500 0.626 0.4880.465 0.547 0.500 0.291 0.291 0.525 0.333 0.298 0.476 0.4260.268 0.302 0.501 0.680 0.615 0.497 0.365 0.536 0.341 0.5270.351 0.729 0.715 0.741 0.775 0.480 0.635 0.446 0.738 0.4120.713 0.417 0.746 0.187 0.634 0.437 0.363 0.579 0.200 0.428]Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.327, per category = [ 0.409 0.223 0.388 0.338 0.704 0.394 0.449 0.238 0.246 0.2670.448 0.346 0.263 0.184 0.315 0.396 0.494 0.351 0.438 0.5310.516 0.681 0.612 0.457 0.206 0.302 0.185 0.324 0.383 0.6660.292 0.332 0.482 0.519 0.410 0.382 0.461 0.315 0.478 0.3260.279 0.333 0.301 0.204 0.244 0.263 0.159 0.095 0.121 0.2270.154 0.204 0.314 0.385 0.423 0.324 0.255 0.131 0.195 0.0290.055 0.069 0.332 0.194 0.546 0.349 0.284 0.288 0.250 0.1130.532 0.296 0.800 0.164 0.459 0.275 0.115 0.176 0.131 0.309]Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.524, per category = [ 0.675 0.427 0.637 0.456 0.735 0.578 0.348 0.455 0.370 0.5120.722 0.729 0.459 0.263 0.619 0.763 0.726 0.645 0.647 0.6750.661 0.781 0.722 0.770 0.189 0.514 0.288 0.554 0.510 0.8170.416 0.688 0.806 0.556 0.465 0.503 0.693 0.537 0.638 0.5880.589 0.620 0.629 0.456 0.354 0.517 0.333 0.441 0.276 0.4330.303 0.359 0.599 0.511 0.614 0.505 0.387 0.382 0.372 0.1970.199 0.573 0.608 0.573 0.752 0.561 0.583 0.545 0.614 0.3250.538 0.484 0.415 0.292 0.678 0.490 0.465 0.496 0.279 0.403]Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.630, per category = [ 0.796 0.650 0.734 0.659 0.784 0.864 0.767 0.572 0.507 0.6130.856 0.961 0.780 0.492 0.817 0.813 0.760 0.809 0.720 0.7790.789 0.810 0.849 0.778 0.274 0.621 0.155 0.701 0.742 0.8940.221 0.541 0.686 0.421 0.027 0.583 0.548 0.664 0.575 0.6970.789 0.729 0.594 0.423 0.440 0.639 0.543 0.438 0.576 0.6010.285 0.342 0.603 0.732 0.817 0.539 0.484 0.563 0.324 0.5540.470 0.734 0.748 0.807 0.802 0.634 0.684 0.692 0.783 0.4900.824 0.485 0.740 0.401 0.619 0.650 0.535 0.704 0.482 0.830]Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.379, per category = [ 0.205 0.289 0.192 0.299 0.583 0.562 0.668 0.396 0.158 0.1460.680 0.719 0.427 0.290 0.215 0.769 0.664 0.400 0.141 0.1920.294 0.589 0.279 0.386 0.253 0.283 0.252 0.348 0.231 0.6150.243 0.446 0.450 0.196 0.387 0.388 0.527 0.360 0.502 0.2540.208 0.314 0.441 0.276 0.292 0.352 0.148 0.159 0.382 0.1740.110 0.111 0.262 0.429 0.149 0.273 0.188 0.522 0.271 0.5960.425 0.604 0.555 0.614 0.609 0.310 0.515 0.443 0.704 0.4440.722 0.440 0.606 0.090 0.483 0.310 0.450 0.382 0.409 0.304]Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.651, per category = [ 0.613 0.509 0.588 0.606 0.830 0.811 0.832 0.705 0.454 0.4590.819 0.816 0.725 0.508 0.445 0.902 0.861 0.738 0.608 0.6420.765 0.894 0.784 0.800 0.506 0.602 0.503 0.540 0.597 0.8130.481 0.633 0.605 0.557 0.608 0.564 0.699 0.599 0.729 0.5740.568 0.649 0.680 0.522 0.561 0.701 0.434 0.493 0.751 0.5310.417 0.435 0.634 0.725 0.577 0.577 0.512 0.789 0.577 0.7930.652 0.813 0.790 0.800 0.756 0.619 0.779 0.650 0.827 0.6650.822 0.666 0.814 0.299 0.743 0.628 0.639 0.704 0.600 0.570]Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.727, per category = [ 0.735 0.599 0.682 0.704 0.877 0.837 0.865 0.791 0.604 0.5370.824 0.820 0.792 0.612 0.599 0.909 0.869 0.809 0.766 0.7920.871 0.904 0.865 0.857 0.590 0.718 0.587 0.597 0.721 0.8230.590 0.686 0.650 0.700 0.695 0.596 0.739 0.666 0.759 0.6820.643 0.734 0.718 0.592 0.624 0.767 0.659 0.640 0.792 0.6940.626 0.609 0.742 0.792 0.748 0.733 0.658 0.848 0.651 0.8450.718 0.857 0.803 0.832 0.759 0.682 0.783 0.672 0.827 0.7060.822 0.707 0.850 0.526 0.764 0.709 0.650 0.769 0.709 0.607]Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.563, per category = [ 0.575 0.433 0.587 0.553 0.777 0.550 0.675 0.662 0.490 0.4910.648 0.644 0.619 0.435 0.486 0.625 0.616 0.627 0.630 0.6780.753 0.840 0.717 0.677 0.522 0.532 0.483 0.475 0.561 0.7520.510 0.542 0.612 0.648 0.609 0.531 0.597 0.524 0.644 0.5940.516 0.611 0.574 0.502 0.517 0.592 0.490 0.460 0.372 0.5200.431 0.492 0.536 0.581 0.631 0.544 0.518 0.344 0.491 0.7000.305 0.386 0.533 0.565 0.660 0.619 0.394 0.534 0.525 0.3400.900 0.502 0.800 0.449 0.666 0.565 0.362 0.428 0.600 0.556]Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.767, per category = [ 0.800 0.687 0.812 0.684 0.879 0.768 0.656 0.795 0.663 0.7100.823 0.833 0.762 0.650 0.799 0.832 0.868 0.793 0.791 0.8300.821 0.846 0.838 0.831 0.686 0.750 0.728 0.757 0.747 0.9200.805 0.904 0.933 0.815 0.808 0.710 0.838 0.727 0.802 0.8050.764 0.836 0.829 0.761 0.834 0.790 0.682 0.744 0.754 0.7370.632 0.705 0.800 0.759 0.801 0.756 0.708 0.759 0.688 0.4640.598 0.768 0.786 0.734 0.845 0.853 0.782 0.809 0.824 0.6350.760 0.751 0.750 0.721 0.837 0.785 0.767 0.739 0.633 0.661]Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.883, per category = [ 0.900 0.852 0.919 0.825 0.919 0.933 0.892 0.899 0.867 0.8680.932 0.985 0.939 0.815 0.933 0.934 0.905 0.916 0.889 0.9310.920 0.925 0.945 0.924 0.650 0.905 0.790 0.905 0.882 0.9380.975 0.780 0.757 0.814 0.800 0.633 0.900 0.879 0.958 0.9170.929 0.908 0.932 0.838 0.857 0.922 0.881 0.887 0.910 0.8940.769 0.762 0.900 0.882 0.952 0.878 0.882 0.897 0.813 0.8820.885 0.917 0.890 0.933 0.922 0.893 0.907 0.939 0.900 0.7950.900 0.848 0.879 0.832 0.864 0.916 0.843 0.914 0.967 0.900]
相关文章:

DINO-DETR在COCO缩减数据集上实验结果分析
博主在进行DINO-DETR模型实验时,使用缩减后的COCO数据集进行训练,发现其mAP值只能达到0.27作用,故而修改了下pycocotool的代码,令其输出每个类别的AP值,来看看是由于什么原因导致这个问题。 之所以这样是因为博主认为各…...

语聊房app源码及架构设计
语音社交产品技术架构设计 语音社交产品的技术架构设计是产品开发中非常重要的一环。在设计时需要考虑产品的功能、性能、可靠性等多个方面,同时也需要与产品策划与设计相协调。以下是语音社交产品技术架构设计的主要内容。 架构设计原则 在设计语音社交产品的技…...

什么是软件测试?5分钟带你快速了解!
经常有人问我,你的公司是做什么的?我回答“软件测试”,看着对方一脸的迷茫。何为软件测试?软件测试究竟测试什么?一、软件测试的定义和意义软件测试是伴随着软件工程的重要组成部分,是软件质量保证的重要前…...

[3D游戏开发实践] Cocos Cyberpunk 源码解读-手把手教你新增一个后效Shader
Cocos Cyberpunk 是 Cocos 引擎官方团队以展示引擎重度 3D 游戏制作能力,提升社区学习动力而推出的完整开源 TPS 3D游戏,支持 Web, IOS, Android 多端发布。 本系列文章将从各个方面对源码进行解读,提升大家的学习效率。希望能够帮助大家在 …...

构建产品帮助中心,促进SaaS企业的进步
长期来看,保留现有客户比获取新客户更为关键,因此建立良好的客户服务质量需要着重关注客户心理状态。 什么是 SaaS SaaS是软件即服务(Software as a Service)的缩写。它是一种软件交付模式,其中软件应用程序托管在云计…...

【Qt】Qt单元测试详解(四):Google Test
1、创建测试工程 【Qt】Qt单元测试详解(一):通过QtCreator创建测试工程 2、添加测试代码 2.1 默认生成的代码 1)项目工程pro include(gtest_dependency.pri)TEMPLATE = app CONFIG += console c++14 CONFIG -= app_bundle CONFIG += thread CONFIG -= qtHEADERS += \t…...

容器引擎Docker的常用命令
一.镜像相关命令 1.搜索镜像 可使用 docker search命令搜索存放在 Docker Hub中的镜像。执行该命令后, Docker就会在Docker Hub中搜索含有 java这个关键词的镜像仓库 docker search java以上列表包含五列,含义如下: NAME:镜像仓库名称。D…...

vue尚品汇商城项目-day01【3.项目路由的分析】
文章目录本人其他相关文章链接安装命令:cnpm install --save vue-router vue-router 前端所谓路由:kv键值对 key:URL(地址栏中的路径) value:相应的路由组件 注意:本项目是上中下结构 路由组件: Home首页路由组件、Search路由组件…...

详解--高级IO
文章目录前言一、五种IO模型阻塞IO非阻塞IO信号驱动IOIO多路转接:异步IO二、高级IO同步通信和异步通信阻塞 VS 非阻塞其他高级IO三、非阻塞IOfcntl实现函数SetNoBlock总结前言 理解五种IO模型的基本概念.重点是IO多路转接. 正文开始! 一、五种IO模型 IO: 等 数据拷贝 read/…...

Android自定义闹钟
google推荐方式3种: 一、AlarmManager setRepeating() 重复闹钟。1、Android 4.4(API 级别 19)开始,所有重复闹钟都是不精确的,延时2分钟左右。2、闹钟触发的待定 Intent。当您设置使用同一待定 Intent 的第二个闹钟…...

第02章_MySQL环境搭建
第02章_MySQL环境搭建 🏠个人主页:shark-Gao 🧑个人简介:大家好,我是shark-Gao,一个想要与大家共同进步的男人😉😉 🎉目前状况:23届毕业生,目前…...

java使用线程池和Future接口实现异步的实例
线程池可以提供线程的复用和管理,避免线程频繁创建和销毁的开销。而Future接口则可以获取异步任务的执行结果和状态,避免了阻塞等待异步任务完成的情况。下面是一个简单的示例代码: import java.util.concurrent.*;public class AsyncExample…...

cocosCreator 事件系统
概述: DOM的输入事件通过CCInputManager转化成cocos的输入事件,由CCEventManager 分发给监听器。 监听器在通过回调函数(begin/move/end/cancel)告知事件派发对象(eventTarget)派发事件。 重要类: event࿱…...

刷题_20:字符串反转 and 公共子串计算
一.字符串反转 题目链接: 字符串反转 题目描述: 接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000) 输入描述: 输入一行,为一个只包含小写字母的字符串…...

如何在 Linux 命令行中比较两个目录,我教你五个命令!
在 Linux 命令行中比较两个目录是一项常见的任务,特别是当你需要确保两个目录之间的文件完全相同时。在本文中,我们将介绍一些在 Linux 命令行中比较两个目录的方法。 方法一:使用 diff 命令比较两个目录 diff 命令可以比较两个文件或目录之…...

多元算力如何满足万千本土化场景需求,解析第四代至强核心加速器设计
作者 | 宋慧 出品 | CSDN 云计算 2023 年初,英特尔重磅发布了企业级芯片领域重要的产品——第四代英特尔 至强 可扩展处理器。当时报道中,我们就重点提到了其中重要的七大内置加速器,这也是英特尔为千行百业多种创新场景去提供算力支持的底气…...

SPI主模式切换为从模式
一、SPI主模式切换为从模式在SPI总线上,要将主设备转换为从设备或者将从设备转换为主设备,需要通过改变SPI控制寄存器的配置来实现。下面分别介绍SPI主模式切换为从模式的步骤:配置从设备的SPI控制寄存器首先需要配置从设备的SPI控制寄存器。…...

IMX6ULL学习笔记(21)——MMDC接口使用(DDR3测试)
一、MMDC简介 MMDC 接口与 STM32 的 FSMC 接口类似,只不过 MMDC 接口专用于外接 DDR,并且 MMDC 外部引脚不复用。MMDC 是一个多模的 DDR 控制器,可以连接 16 位宽的 DDR3/DDR3L、16 位宽的 LPDDR2。 MMDC 是一个可配置、高性能的 DDR 控制器。…...
机器学习——无监督学习
机器学习的分类一般分为下面几种类别:监督学习( supervised Learning )无监督学习( Unsupervised Learning )强化学习( Reinforcement Learning,增强学习)半监督学习( Semi-supervised Learning )深度学习(Deep Learning)Python Scikit-learn. http: // …...

python+opencv生成较真实的车牌号码图片
本文参考github代码:https://github.com/loveandhope/license-plate-generator 效果: 一、代码目录结构: background目录下存放各种背景图片 font目录下存放车牌中文、字符的ttf字体 images目录下存放蓝色底牌、新能源绿色底牌、污渍&#…...

3.26周报
周报 代码行数: 周一 581 周二 601 周三 615 周四 591 周五 570 周六 561 周日 577 遇到的问题: 项目启动很慢,要将近5分钟才能开启项目,对开发造成很大困扰。 断点打在奇怪的地方,造成启动缓慢。断点…...

从0开始学python -69
Python math 模块 Python math 模块提供了许多对浮点数的数学运算函数。 math 模块下的函数,返回值均为浮点数,除非另有明确说明。 如果你需要计算复数,请使用 cmath 模块中的同名函数。 要使用 math 函数必须先导入: import…...

HashMap中HashCode的实现原理
代码 static final int hash(Object key) {int h;return (key null) ? 0 : (h key.hashCode()) ^ (h >>> 16);}1. h >>> 16 是什么,有什么用? h是hashcode。h >>> 16是用来取出h的高16,(>>>是无符号右移) 如下展…...

Redis —Set、ZSet介绍和应用场景
Set 概念 Redis的set是一个不重复、无序并唯一的键值集合。(方便管理无序集合)它支持交集、并集、差集等等 set和list区别 List 可以存储重复元素,Set 只能存储非重复元素;List 是按照元素的先后顺序存储元素的,而…...

【产品人卫朋】内容运营:文章点击量少的可怜,该怎么做?
今天来谈谈内容运营这个话题。 随着自媒体进入视播时代,也就是短视频的时代。 无论你打开任何一个短视频应用,每一个主题下面都会有成千上万个视频。 最为致命的是,大家停留的时间也越来越短了。 如果你不能在2秒的时间内吸引眼球,…...

【K8S系列】深入解析无状态服务
目录 序言 1. 无服务介绍 1.1 优点 1.2 使用场景 1.3 资源类型 1.4 总结 2 使用介绍 2.1 Deployment 使用场景: 2.2 ReplicaSet 使用场景 2.3 pod Pod 资源定义示例 2.4 service 创建一个Deployment: 创建一个Service: 总结…...

Node基础--命令窗口
1.Windows命令行窗口(叫做:小黑屏、cmd窗口、终端、shell) (1).如何打开命令行窗口 开始菜单 -- 运行 --- cmd --- enter win R -- cmd --- enter (2).cmd窗口常用指令 dir 列出当前目录下的所有文件 cd 目录名 进入到指定的目录 md 目录名 …...

一些有趣的项目
一个支持交互的展示卷积过程的可视化工具 https://github.com/pwwang/cnn-convoluter 一款简单易用基于 Python scikit 的推荐系统https://github.com/NicolasHug/Surprise 一个封装了 7 种启发式算法的 Python 代码库。分别是:差分进化算法、遗传算法、粒子群算法…...

教你精通JavaSE语法之第六章、数组的使用
一、数组的定义与使用 😁1.1数组的概念📌数组:可以看成是相同类型元素的一个集合。在内存中是一段连续的空间,可以同来存储同种数据类型的多个值。但是数组容器在存储数据的时候,需要结合隐式转换考虑。比如࿱…...

基于51单片机AT89C51的小型音乐喷泉控制系统设计
wx供重浩:创享日记 对话框发送:单片机小喷泉 获取完整无水印论文报告(内含电路原理图和程序) 根据目前音乐喷泉的发展现状,介绍了一个以AT89C51单片机为核心的小型音乐喷泉控制系统。给出了一个简洁的单片机控制电路&a…...