当前位置: 首页 > news >正文

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&#xff1…...

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

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...