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目录下存放蓝色底牌、新能源绿色底牌、污渍&#…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
