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

福田网站建设团队wifi网络服务商电话

福田网站建设团队,wifi网络服务商电话,做定制校服的网站,网络公司除了建网站DETR#xff08;基于Transformer架构的目标检测方法开山之作#xff09; End-to-End Object Detection with Transformers 参考#xff1a;跟着李沐学AI-DETR 论文精读【论文精读】 摘要 在摘要部分作者#xff0c;主要说明了如下几点#xff1a; DETR是一个端到端基于Transformer架构的目标检测方法开山之作 End-to-End Object Detection with Transformers 参考跟着李沐学AI-DETR 论文精读【论文精读】 摘要 在摘要部分作者主要说明了如下几点 DETR是一个端到端end-to-end框架释放了传统基于CNN框架的一阶段YOLO等、二阶段FasterRCNN等目标检测器中需要大量的人工参与的步骤例如NMS后处理或proposals/anchors/centers生成等。使其成为一个真正意义上的端到端end-to-end的目标检测框架DETR还可以很方便地迁移到诸如全景分割等其他任务当中只需要在最后的FFN前向传播头之后增加分割头等即可DETR在当时发表出来的时候2020年5月左右已经达到了和经过长时间调参的FasterRCNN基线一样的精度/速度/内存占用基准为COCO2017 介绍 DETR模型架构 第一步将图片输入到一个CNN中得到feature map。 第二步将图片拉直送入到transformer encoder-decoder。其中encoder的作用是为了进一步学习全局的信息为最后的decoder(也就是为最后的出预测框做铺垫)。使用transformer的encoder是为使得图片中每一个特征点与图片中的其他特征有交互这样就知道了哪块是哪个物体。这种全局的特征非常有利于移除冗余的框全局建模。 第三步decoder生成框的输出其中输入decoder的不只有encoder的输出还有object query用来限制decoder输出多少个框通过object query和特征不停的做交互在decoder中间去做self-attention操作从而得到最后输出的框论文中作者选择的框数量为N100。 第四步计算出来的N100个框与Ground Truth做匹配然后计算loss本部分是DETR这篇文章中最重要的一个贡献。作者使用二分图匹配的方法去计算loss从而决定出在预测出来的100个框中有哪几个框是与ground-truth框对应的。匹配之后就会和普通的目标检测一样去计算分类的loss、再算bounding box的loss。剩下的没有匹配上的框就会被标记为没有物体也就是所谓的背景类。 DETR推理流程 推理的时候前三步和训练时保持一样第四步因为是test过程因此只需要在最后的输出上设置一下置信度阈值即可得到预测框原始论文中将置信度设置为0.7即置信度大于0.7的预测就是前景物体所有置信度小于0.7的就被当做背景。 DETR特性 对大物体识别效果很好归功于Transformer架构的全局建模能力而不是像原来一样预测的物体大小受限制于你设置的anchor大小对小物体识别效果较差后续的Deformable DETR就提出了多尺度的DETR同时解决了DETR训练太慢的问题 相关工作 集合预测因为使用集合预测来解决目标检测问题的工作其实并不多Transformer架构同时也介绍了parallel decoding如何不像原来的transformer一样去做自回归预测介绍了一下目标检测之前的相关工作其中重点引用了一篇当时最近的工作指出原来的一阶段或二阶段的目标检测器的性能与初始的猜测proposals/anchors/centers等密切相关这里作者重点想讲的就是不想使用这些复杂的人工先验知识因此DETR在这个方面具有优势然后作者介绍了基于RNN的目标检测方法使用的是自回归模型时效性就比较差性能也会比较差DETR使用了不带掩码信息的decoder之后可以使得预测输出同时进行所以DETR的时效性大大增强了 文章主体部分 作者首先介绍了基于二分图匹配的loss目标函数因为这点比DETR这种架构来说更新同时DETR架构是比较标准的比较容易理解的即便是其中的object query思想也比较容易讲解因此作者首先介绍了目标函数也正是因为这种目标函数DETR才能做到一对一的预测出框方式。 二分图匹配 举例理解假如说有三个工人abc然后需要完成三个工作xyz因为所有工人的特点不一样因此三个工人完成工作的时间等都不一致因此对三个工人和三个不同的工作来说会有一个 3 × 3 3\times3 3×3的矩阵矩阵中对应的每个格子具有不同的数值这个矩阵就叫做cost matrix也就是损失矩阵那么这个二分图匹配的最终目的是我可以给每个工人找到最擅长的工作然后使得这三个人完成工作之后的代价最低 匈牙利算法就是解决这样一个问题的比较好的方式。 scripy库中包含匈牙利算法的实现line_sum_assignment。DETR原始论文中使用的也是这个 这个方法返回的结果就是一个全面的排列告诉你哪个人应该做哪个事其实DETR将目标检测问题看成是集合预测问题其中每个工人可以看成是对应的N100的预测框然后xyz表示GroundTruth框 那么这个cost matrix矩阵的每个格子中放的就是每个预测框与GroundTruth框之间的cost也就是loss 这里的每个格子中表示的loss就是分类损失和bbox loss总的来说就是遍历所有预测的框将这些框与GroundTruth进行计算loss然后使用匈牙利算法得到最匹配的对应的图片中目标数量的框 然后作者又说这里与一阶段/二阶段的目标检测器一样的道理都是拿着预测出来的框与GroundTruth逐个计算loss。但是唯一不同的地方在于DETR是只得到一对一的匹配关系而不像之前方法一样得到一对多的匹配关系这样DETR就不需要做后边的NMS后处理步骤。 loss目标函数 接下来由于前边步骤得到了所有匹配的框那么现在才计算真正的loss来做梯度回传。DETR在计算真正的loss分类loss和bbox loss其中对于分类loss作者和原来的计算分类loss方法不一样而是将DETR中这个地方的log去掉作者发现去掉之后效果会更好一些。然后对于bbox loss这里与之前的loss计算方式也有所不同原来计算bbox loss是使用L1 loss但是l1 loss会出现框越大计算出来的loss容易越大。而同时DETR这种基于Transformer架构的模型对大目标预测出大框很友好那么得到的loss就会比较大不利于优化。因此作者不光使用了l1 loss还使用了GIoU loss。这里的GIoU loss就是一个与框大小无关的loss函数。 DETR详细架构 上图中CONV卷积神经网络的输出向量维度为2048x25x34然后使用1x1的卷积将该向量维度减少到256得到256x25x34的向量然后使用positional embeddings进行位置编码得到的向量维度也是256x25x34然后将两个向量相加。 相加之后将对应的256x25x34这个向量的HW维度进行拉直得到850x256的向量其中850就是序列的长度256就是Transformer的head dimension。然后经过encoder仍然得到850x256的向量。DETR中作者使用了6个encoder。 然后将最后一个encoder的输出向量维度为850x256输入到decoder中。这里一同输入的还有object queries可以看作是learned embeddings可学习的嵌入准确地说它就是一个可学习的positional embeddings。其维度为100x256。这里可以将这个object queries作为一个条件condition就是告诉模型我给你一个条件你需要得到什么结果。接着将两个输入一个来自encoder编码器的输出一个来自object queries反复做cross attention自注意力操作。最后得到一个100x256的特征。 然后将最后一个decoder的输出100x256维度的向量通过一个FFNfeed forward network标准检测头全连接层。然后FFN做出来两个预测一个是类别一个是bbox位置。原始的DETR是在COCO2017上进行实验的因此这里的类别数量就是91类。 最后将FFN的输出与Ground Truth根据匈牙利算法计算最佳匹配然后根据最佳匹配计算loss然后将loss反向传播更新模型权重。 DETR中的一些细节 decoder部分首先在object query做自注意力操作目的是为了移除冗余的框。因为这些object query做自注意力操作之后就大概之后每个query可能得到什么样的一个框。 最后做loss的时候作者为了让这个模型收敛得更快或训练更稳定。作者在decoder之后加了auxiliary loss。作者在6个decoder的输出之后都做了这个loss。这里的FFN都是共享权重。 文章实验部分 首先作者介绍了DETR和FasterRCNN在COCO数据集上的结果。发现DETR在大物体上检测的性能更好而小物体上还是FasterRCNN模型更好一些。这说明DETR使用了Transformer架构具有较高的全局建模能力因此DETR想检测多大的目标就检测多大的目标所以对大目标友好一些。 延伸写论文的技巧当你的想法在一个数据集a上不work的时候有可能在数据集b上work如果你的想法很好但是就是不work的时候找到一个合适的研究动机其实也是很重要的找到一个合适的切入点也很重要。 上图中作者将Transformer encoder-decoder的自注意力机制可视化。可以看到自注意力机制的巨大威力三只牛基本上的轮廓基本上都出来了。 实际上当你使用transformer的encoder之后图像上的东西就可以分的很开了那么这个时候再去做检测、分割等任务就很简单了。 上图展示了不同的encoder数量对DETR最后目标检测精度AP的影响。可以发现随着encoder层数的增加AP精度是一直在上升的且没有饱和的趋势但是层数的增加带来了计算量的增加。 上图中展示了DETR中decoder attention的分布情况可以明显看到在遮挡很严重的情况下大象和小象身上的不同颜色注意力也是很区分开来的。总之DETR这里的encoder-decoder架构的作用与CNN的encoder-decoder架构的作用其实差不多是一致的。 上图展示了20个object query的可视化结果其中每个正方形代表一个object query每个object query中出现的多个点表示bounding box。其中绿色的点表示小目标物体红色点表示水平方向的目标物体蓝色点表示垂直方向的目标物体。实际上这里的object query和一阶段目标检测器中的anchors差不多只不过anchors是预先设定的而这里的object query是通过学习得到的。总之这100个query中就像100个问问题的人一样每个人都会有不同的问问题的方式。需要注意的是这些object query中都在中间有一个红线这表示每个query都会去询问图片中间是否包含大的目标物体这是因为COCO数据集的问题因为COCO数据集中很多图片中心都会有一些大物体。 总结 一些基于DETR改进的新工作 Omni DETR, Up DETR, PnP DETR, Smac DETR, Deformable DETR, DAB DETR, Sam DETR, DN DETR, OW DETR, OV DETR, pixel to sequence把输入输出全部搞成序列形式从而与NLP那边完美兼容
http://www.lakalapos1.cn/news/42260/

相关文章:

  • fullpage wow做的网站普陀做网站
  • wordpress与cmsseo研究协会网
  • 网站移动端是什么问题精细化工网站建设
  • 承德市网站建设网站开发的阶段流程图
  • 适合大学生做的网站网站描述怎么修改吗
  • 网站建设有几块顺天亿建设网站
  • 在哪个平台做网站好商家做网站的优点
  • 怎么联系网站开发团队网站备案证明
  • 建网站需要哪些步骤建网站找汉狮
  • 网站一般宽度做暧昧在线网站
  • 北京网站制作公司兴田德润可以不学校官网的网址
  • 查流量网站暴雪时分小说原著
  • 十堰做网站的公司富源县建设局的网站是什么
  • 营销网站html江小白发展过程中采用了哪些网络营销方式
  • 免费的logo网站精品资源共享课网站建设 碧辉腾乐
  • 网站建设 资质网站建设兼职劳务协议书
  • 珠海正规网站制作排名费用多少小白一步步做网站
  • 网站如何做微信推广方案设计msn网站制作
  • 河北中瑞建设集团有限公司网站方城微网站建设
  • 个人网站备案网址微信文件传输网页版入口
  • 营销型网站建设公司比较专业网站建设费用无形资产如何摊销
  • 网站备案更名网站开发制作的流程
  • 网站 做内容分发资格河北建设工程新希望
  • 一个门户网站怎么做外贸seo优化公司
  • 做网站毕业答辩会问什么企业网站策划书范文3000字
  • 斐讯k3做网站新开传奇网站刚开
  • 外包做网站多少钱全椒有做网站的吗
  • 阿里云做网站视频无法播放深圳网站设..
  • 响应式网站布局做co的网站
  • 关于网站建设的博客什么网站做蜘蛛池