037、目标检测-算法速览

news2025/1/13 13:24:04

之——常用算法速览

目录

之——常用算法速览

杂谈

正文

1.区域卷积神经网络 - R-CNN

2.单发多框检测SSD,single shot detection

3.yolo


杂谈

        快速过一下目标检测的各类算法。


正文

1.区域卷积神经网络 - R-CNN

        region_based CNN,奠基性的工作。

        选择锚框是一个较为复杂的算法,来自于神经网络还没发展的时候;启发式算法选择出锚框后,每一个锚框当做一个图片,然后用预训练好的CNN抽取特征;然后训练SVM用来分类,训练一个回归模型来预测边缘框,具体是:

  1. 将每个提议区域的特征连同其标注的类别作为一个样本。训练多个支持向量机对目标分类,其中每个支持向量机用来判断样本是否属于某一个类别;

  2. 将每个提议区域的特征连同其标注的边界框作为一个样本,训练线性回归模型来预测真实边界框。

         然而锚框的选择大小与比例是不一定的,这种情况下如何生成规则的训练batch呢,于是提出了RoI(region of interest),兴趣区域池化:

         这个方法不会严格均匀地切割,而是会尽量按比例切割满足最后输出,看对应颜色:

         

        Fast RCNN:

        对于RCNN的加强,主要的改进是直接对整张图片抽特征而不是对锚框抽特征:

        R-CNN的主要性能瓶颈在于,对每个提议区域,卷积神经网络的前向传播是独立的,而没有共享计算。 由于这些区域通常有重叠,独立的特征抽取会导致重复的计算。 Fast R-CNN 对R-CNN的主要改进之一,是仅在整张图象上执行卷积神经网络的前向传播。

         搜到锚框之后再映射到CNN之后的feature map上:

        再把特征图上的ROI展平投入到全连接层进行预测。 

       

        Faster R-CNN:

        更进一步的改进是:

        为了较精确地检测目标结果,Fast R-CNN模型通常需要在选择性搜索中生成大量的提议区域。 Faster R-CNN 提出将选择性搜索替换为区域提议网络(region proposal network),从而减少提议区域的生成数量,并保证目标检测的精度。

        二分类预测锚框合理与不合理:

         

        Mask R-CNN:

        如果有像素级别的标号就用FCN来处理,提升原有的性能;roi pooling改为了roi align以避免像素级的误差:

                 比较贵,实用性不高:


2.单发多框检测SSD,single shot detection

        单发步枪,只跑一遍,不需要两个网络。

        生成锚框的办法:

        然后的操作:

        多个分辨率下去锚框然后用算法预测类别和边界框,参考上面RCNN的预测方法。

        性能,更快但没那么准:

         主要原因应该是没有什么改进?


3.yolo

        you only live once:

         you only look once:

        每个锚框预测了多个边缘框,因为这样均匀分割的锚框可能会同时挨到多个真实边缘框。

        后续通过细节改进进行提升,比如引入数据集真实框的先验知识之类的。 

        YOLO(You Only Look Once)是一种流行的实时目标检测系统,可以在图像或视频流中检测多个物体。YOLO的关键思想是将图像分成网格,并为每个网格单元预测边界框和类别概率。这使得YOLO能够在神经网络的单次前向传递中对多个物体进行预测,从而具有高效的计算能力。

YOLO算法的主要步骤包括:

  1. 输入图像:

    • YOLO接收输入图像并将其划分为网格。
  2. 网格划分:

    • 将图像划分为一个 S x S 的网格。每个网格单元负责预测对象,如果对象的中心落入该单元,则该单元负责预测该对象。
  3. 边界框预测:

    • 每个网格单元预测多个边界框,同时预测它们的置信度分数。这些边界框由(x,y,w,h)表示,其中(x,y)是边界框的中心,(w,h)是宽度和高度。
  4. 类别预测:

    • 每个边界框预测对象的不同类别的概率。
  5. 物体置信度分数:

    • YOLO为每个边界框预测一个物体置信度分数,表示该框内存在物体的可能性。
  6. 非极大值抑制:

    • 在进行预测后,会应用一种后处理步骤称为非极大值抑制,以过滤重复或低置信度的预测结果。它保留最有信心的预测结果并删除重叠显著的预测。
  7. 输出:

    • 最终输出是一个边界框列表,每个边界框关联着一个类别标签和置信度分数。

        YOLO已经推出了几个版本,通过提高准确性和速度进行改进。一些知名的版本包括YOLOv1,YOLOv2(YOLO9000),YOLOv3和YOLOv4。每个版本都引入了架构改进,并解决了目标检测中的特定挑战。

        值得注意的是,由于其实时处理能力,YOLO被广泛应用于自动驾驶车辆、监控和机器人等各种应用领域。YOLO的实现可在流行的深度学习框架(如TensorFlow和PyTorch)中找到,使其对研究人员和开发人员更易于接触和使用。

 


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1225927.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【AI】行业消息精选和分析(23-11-19)

行业动态 1、对标GPTs,微软连夜发布100多项更新!微软CEO:Copilot时代来了 2、英伟达联手微软推出AI代工服务 3、全新雅虎搜索将于 2024 年上线,未来还会推出更多 AI 和高级功能 4、Instagram 推出定制 AI 贴纸和滤镜功能&#xff…

【教3妹学编程-算法题】三个无重叠子数组的最大和

2哥 : 3妹,咋啦?一副苦大仇深的样子? 3妹:不开心呀不开心,羽生结弦宣布离婚。 2哥 : 羽生什么? 3妹:羽生结弦! 2哥 : 什么结弦? 3妹:羽生结弦!&am…

战神传奇【我本沉默精修版】win服务端+双端+充值后台+架设教程

搭建资源下载:战神传奇【我本沉默精修版】win服务端双端充值后台架设教程-海盗空间

安卓手机投屏到电视,跨品牌、跨地域同样可以实现!

在手机网页上看到的视频,也可以投屏到电视上看! 长时间使用手机,难免脖子会酸。这时候,如果你将手机屏幕投屏到大电视屏幕,可以减缓脖子的压力,而且大屏的视觉体验更爽。 假设你有一台安卓手机,…

TG Pro v2.87(mac温度风扇速度控制工具)

TG Pro 是适用于 macOS 的温度和风扇速度控制工具,可让您监控 Mac 组件(例如 CPU 和 GPU)的温度和风扇速度。如果您担心 Mac 过热或想要手动调整风扇速度以降低噪音水平,这将特别有用。 除了温度和风扇监控,TG Pro 还…

解锁数据安全之门:探秘迅软DSE的文件权限控制功能

企业管理者在进行数据安全管控时通常只关注到文件的加密方式,却忽略了以下问题:对于企业内部文档,根据其所承载的涉密程度不同,重要程度也不相同,需要由不同涉密等级的的人员进行处理,这就需要对涉密文档和…

JVM 调优指南

文章目录 为什么要学 JVM一、JVM 整体布局二、Class 文件规范三、类加载模块四、执行引擎五、GC 垃圾回收1 、JVM内存布局2 、 JVM 有哪些主要的垃圾回收器?3 、分代垃圾回收工作机制 六、对 JVM 进行调优的基础思路七、 GC 情况分析实例 JVM调优指南 -- 楼兰 ​ JV…

参考文献格式

目录 期刊会议预印本(如arxiv) 期刊 找不到页码可以在文献中查看bibtex格式,其中有 外文期刊可在web of science中查找卷号、期号和所在页数: [1] ZHANG F, HU Z Q, FU Y K, et al. A New Identification Method for Surface …

详解Java设计模式之职责链模式

原文:详解Java设计模式之职责链模式_java_脚本之家 责任链模式是一种行为设计模式,使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,文中通过代码示例给大家介绍的非常详细,需要的朋友可以参考下 − 目…

传奇手游白日门【龙城霸业】win服务端+双端+GM后台+详细教程

搭建资源下载地址:传奇手游白日门【龙城霸业】win服务端双端GM后台详细教程-海盗空间

6.9平衡二叉树(LC110-E)

绝对值函数:abs() 算法: 高度和深度的区别: 节点的高度:节点到叶子节点的距离(从下往上) 节点的深度:节点到根节点的距离(从上往下) 逻辑:一个平衡二叉树…

Bert学习笔记(简单入门版)

目 录 一、基础架构 二、输入部分 三、预训练:MLMNSP 3.1 MLM:掩码语言模型 3.1.1 mask模型缺点 3.1.2 mask的概率问题 3.1.3 mask代码实践 3.2 NSP 四、如何微调Bert 五、如何提升BERT下游任务表现 5.1 一般做法 5.2 如何在相同领域数据中进…

C_11微机原理

一、单项选择题(本大题共 15 小题,每小题 3分,共45分。在每小题给出的四个备选项中,选出一个正确的答案。) .EXE 文件产生在()之后。 A.汇编 B. 编辑 C.用软件转换 D.连接 2,十进制-61的8位二进…

Dynamsoft Barcode Reader新框架将医疗视觉提升到新水平

Dynamsoft Vision 框架将医疗保健领域的计算机视觉提升到新的水平 引入图像捕获、内容理解、结果解析和交互式工作流程的聚合 SDK,以简化复杂的流程。 温哥华 – 2023 年 7 月 17 日 – Dynamsoft™ 发布了 Dynamsoft Barcode Reader SDK C Edition v10.0.0。更新…

Redis篇---第七篇

系列文章目录 文章目录 系列文章目录前言一、是否使用过 Redis Cluster 集群,集群的原理是什么?二、 Redis Cluster 集群方案什么情况下会导致整个集群不可用?三、Redis 集群架构模式有哪几种?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分…

【算法挨揍日记】day31——673. 最长递增子序列的个数、646. 最长数对链

673. 最长递增子序列的个数 673. 最长递增子序列的个数 题目解析: 给定一个未排序的整数数组 nums , 返回最长递增子序列的个数 。 注意 这个数列必须是 严格 递增的。 解题思路: 算法思路: 1. 状态表⽰: 先尝试…

后端技术知识点内容-全部内容-面试宝典-后端面试知识点

文章目录 -2 flink-1 linux of viewlinux查看占用cup最高的10个进程的命令; 〇、分布式锁 & 分布式事务0-1分布式锁--包含CAP理论模型概述分布式锁:分布式锁应该具备哪些条件:分布式锁的业务场景: 分布式锁的实现方式有&#…

【linux】补充:高效处理文本的命令学习(tr、uniq、sort、cut)

目录 一、tr——转换、压缩、删除 1、tr -s “分隔符” (指定压缩连续的内容) 2、tr -d 想要删除的东西 ​编辑 3、tr -t 内容1 内容2 将内容1全部转换为内容2(字符数需要一一对应) 二、cut——快速剪裁命令 三、uniq——去…

【算法挨揍日记】day30——300. 最长递增子序列、376. 摆动序列

300. 最长递增子序列 300. 最长递增子序列 题目解析: 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如&#…

《2020年最新面经》—字节跳动Java社招面试题

文章目录 前言:一面:01、Java基础知识答疑,简单概述一下?02、倒排索引了解吗?使用Java语言怎么实现倒排?03、详细讲解一下redis里面的哈希表,常用的Redis哈希表命名有哪些,举例说明其…