DINO-DETR 实验与分析
创始人
2025-06-01 03:30:00
0

前言

自DETR提出之后,不计其数的DETR改进模型不断被提出,尽管如此,基于Transformer模型的速度与精度却一直被人诟病。今天学习的这个DETR的改进模型,号称SOTA模型,这便是大名鼎鼎的DINO-DETR模型。
该模型声称在COCO数据上测试的mAP值达到了0.63,可谓是不同凡响。

实验过程

博主也做了相关的实验,论文中提到DINO-DETR模型收敛极快,这个的确显而易见,考虑到COCO数据集太大,所以博主提取了bus,car,truck三个类别数据进行实验,其在训练过程中,在第一个epoch时效果还并不好,而第二个epoch时竟然mAP达到了0.26,这属实让我大为震惊,正当我以为其能够继续高歌猛进,达到其论文中的效果时,其最终的结果却让我有些失望,其最终的mAP值仅为0.28,而论文中指出其在12个epoch时便能达到0.49,在24个epoch时能到达0.52,这与我现在的结果差距属实巨大:

训练结果

博主的实验结果:

epochs=24,batch-size=2
在这里插入图片描述

在这里插入图片描述

考虑到自己的数据集在经过提取后其数量已经急剧下降,效果差些也就情有可原,但目前两者毕竟差距太过巨大。因此便打算使用完整数据集进行实验。但让我想不通的是,博主的数据集并非是直接减少,而是按照不同类别进行提取,对于某个类别而言,其不该有如此大的差距。

验证结果

因此便想到使用论文中给出的已经训练好的模型文件进行验证:
在验证的过程中,博主也发现,先前的loss值最多只能下降到6.2便不再下降,而在使用论文中提供的权重文件时,其可以下降到3.1左右,这倒是令我感到意外。
最终通过验证集最后的结果为:可以看到的确如论文中所言,其达到了0.49。

在这里插入图片描述

原因分析

数据集标注问题

目前来看,关于实验结果差距大的问题可能原因为:
1.博主的类别提取方法有问题,提取的数据集有问题(太可怕了)

关于该问题,博主考虑到可以将COCO数据集中的标注信息打印到图片上进行验证:提取代码如下:

import json
import shutil
import cv2def select(json_path, outpath, image_path):json_file = open(json_path)infos = json.load(json_file)images = infos["images"]annos = infos["annotations"]assert len(images) == len(images)for i in range(len(images)):im_id = images[i]["id"]im_path = image_path + "/" + images[i]["file_name"]img = cv2.imread(im_path)for j in range(len(annos)):if annos[j]["image_id"] == im_id:x, y, w, h = annos[j]["bbox"]x, y, w, h = int(x), int(y), int(w), int(h)x2, y2 = x + w, y + h# object_name = annos[j][""]img = cv2.rectangle(img, (x, y), (x2, y2), (255, 0, 0), thickness=2)img_name = outpath + "/" + images[i]["file_name"]cv2.imwrite(img_name, img)# continueprint(i)if __name__ == "__main__":json_path = "/data/datasets/coco_type/annotations/instances_val2017.json"#放标注json的地址out_path = "/data/datasets/coco_type/results"#结果放的地址image_path = "/data/datasets/coco_type/images/val2017/"#原图的地址select(json_path, out_path, image_path)

输出结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从上面的标注结果来看,其标注的信息还是较为准确的。

数据集数量问题

2.按照目前对Transformer的研究来看,其效果一般在数据量及其庞大的情况下越好,因此博主虽然是按照类别进行提取了,但不可否认的是数据集数量大大缩水,所以导致了实验效果差。

验证时GPU使用情况

在这里插入图片描述

关于当前实验结果分析与改进,博主还在进行中,如果大家有自己的观点,望不吝赐教。感谢!

相关内容

热门资讯

端午节精选诗集   端 午  (唐)文 秀  节分端午自谁言,万古传闻为屈原;  堪笑楚江空渺渺,不能洗得直臣冤。 ...
母爱的古代诗句 母爱的古代诗句  1、世界上有一种最美丽的声音,那便是母亲的呼唤。(但丁)  2、爱子心无尽,归家喜...
式微式微胡不归 “式微式微胡不归”出处 出自 宋代 吴泳 的《八月十四夜神泉官满再别同官》“式微式微胡不归”平仄韵脚...
杏花春雨江南造句 杏花春雨江南造句  那是江南下着春雨的清晨,空气中夹杂着杏花的清香。小编为大家整理的杏花春雨江南造句...
逶迤的解释及造句 逶迤的解释及造句  逶迤拼音  【注音】: wei yi  逶迤解释  【意思】:(wēiyí)形容...
还是的解释及造句 还是的解释及造句  还是的解释及造句还是拼音还是的解释及造句,下面是小编精心整理的还是的解释及造句,...
“风云际会”造句 1、老王这几年风云际会,你去找找他,求一个职位应该没问题。2、老王这几年风云际会,你去找找他,求一个...
用是因为造句 用是因为造句大全  用是因为造句大全  1、明天的野炊改天,是因为昨天天气预报说明天下大暴雨。  2...
“威驰”造句 1、 结论威驰搽剂是一种安全性较好的外用制剂。2、 介绍了威驰轿车制动防抱死系统的结构、工作原理及性...
使用既不和也不进行造句 使用既不和也不进行造句  造句指懂得并使用字词,按照一定的句法规则造出字词通顺、意思完整、符合逻辑的...
形容人年龄的词语 形容人年龄的词语  新词典词语丰富,信息量大。词是由语素组成的最小的造句单位。词语有2字、3字及4字...
忌妒的解释和造句 忌妒的解释和造句  忌妒拼音  【注音】: ji du  忌妒解释  【意思】:<轻>对才能、名誉、...
“遐想”造句 51、走过深秋,冬天又将如约而至,心里不由有了一种向往的喜悦。或许“瑞雪兆丰年”的预言应证着自已人生...
“闭月羞花”造句 1、善良,不是容颜的闭月羞花,不是举止的温文尔雅,不是财富的腰缠万贯;更不是权势的叱咤风云。善良,是...
“亏本”造句 51、 当蚕农都在担心当年养蚕要亏本时,蒋建明仍然按每公斤18元的保护价收购蚕茧,保护了养蚕户的利益...
用从容不迫进行造句 用从容不迫进行造句  1、他拥有的胆识是一般人没有的。他时时刻刻都有可能会被发现,但他仍旧从容不迫地...
“难乎其难”造句 1、通货紧缩使美国人卸掉沉重的债务包袱变得难乎其难。2、约拿传道的情况也实在难乎其难。3、一个一直被...
“不要让”造句 51、 不要让任何人告诉你要成为怎样的人。做与众不同的人。追随自己的感觉。52、 树立人人珍惜水,人...
振聋发聩造句-成语造句 振聋发聩造句-成语造句  1、由于门开着,机器的噪音几乎振聋发聩。  2、这个炮垒的大炮接连不断地射...
耳提面命的意思和造句 耳提面命的意思和造句  耳提面命是指不但当面告诉他;而且揪着他的耳朵向他讲。形容严厉而又恳切的教导。...