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目录下存放蓝色底牌、新能源绿色底牌、污渍&#…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
