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目录下存放蓝色底牌、新能源绿色底牌、污渍&#…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...