扭扭炒饭
姓名:王咫毅 学号: 【嵌牛导读】CNN如此风靡,其衍生算法也是层出不穷,各种衍生算法也可以应用于各种应用场景,各类场合。本文则是了解每个衍生算法的各个使用场景、原理及方法。 【嵌牛鼻子】RCNN 目标检测 【嵌牛提问】RCNN系列算法有何区别和联系? 【嵌牛正文】 在生活中,经常会遇到这样的一种情况,上班要出门的时候,突然找不到一件东西了,比如钥匙、手机或者手表等。这个时候一般在房间翻一遍各个角落来寻找不见的物品,最后突然一拍大脑,想到在某一个地方,在整个过程中有时候是很着急的,并且越着急越找不到,真是令人沮丧。但是,如果一个简单的计算机算法可以在几毫秒内就找到你要找的物品,你的感受如何?是不是很惊奇!这就是对象检测算法(object detection)的力量。虽然上述举的生活例子只是一个很简单的例子,但对象检测的应用范围很广,跨越多个不同的行业,从全天候监控到智能城市的实时车辆检qian测等。简而言之,物体检测是强大的深度学习算法中的一个分支。 在本文中,我们将深入探讨可以用于对象检测的各种算法。首先从属于RCNN系列算法开始,即RCNN、 Fast RCNN和 Faster RCNN。在之后的文章中,将介绍更多高级算法,如YOLO、SSD等。 1.解决对象检测任务的简单方法(使用深度学习) 下图说明了对象检测算法是如何工作。图像中的每个对象,从人到风筝都以一定的精度进行了定位和识别。 下面从最简单的深度学习方法开始,一种广泛用于检测图像中的方法——卷积神经网络(CNN)。如果读者对CNN算法有点生疏,建议 阅读此文 。 这里仅简要总结一下CNN的内部运作方式: 首先将图像作为输入传递到网络,然后通过各种卷积和池化层处理,最后以对象类别的形式获得输出。 对于每个输入图像,会得到一个相应的类别作为输出。因此可以使用这种技术来检测图像中的各种对象。 1.首先,将图像作为输入; 2.然后,将图像分成不同的区域; 3.然后,将每个区域视为单独的图像; 4.将所有这些区域传递给CNN并将它们分类为各种类别; 5.一旦将每个区域划分为相应的类后,就可以组合所有这些区域来获取具有检测到的对象的原始图像: 使用这种方法会面临的问题在于,图像中的对象可以具有不同的宽高比和空间位置。例如,在某些情况下,对象可能覆盖了大部分图像,而在其他情况下,对象可能只覆盖图像的一小部分,并且对象的形状也可能不同。 基于此,需要划分大量的区域,这会花费大量的计算时间。因此,为了解决这个问题并减少区域数量,可以使用基于区域的CNN,它使用提议方法选择区域。 2.基于区域的卷积神经网络 RCNN的思想 RCNN算法不是在大量区域上工作,而是在图像中提出了一堆方框,并检查这些方框中是否包含任何对象。RCNN 使用选择性搜索从图像中提取这些框。 下面介绍选择性搜索以及它如何识别不同的区域。基本上四个区域形成一个对象:不同的比例、颜色、纹理和形状。选择性搜索在图像中识别这些模式,并基于此提出各种区域。以下是选择性搜索如何工作的简要概述: 首先, 将图像作为输入: 然后,它生成初始子分段,以便获得多个区域: 之后,该技术组合相似区域以形成更大的区域(基于颜色相似性、纹理相似性、尺寸相似性和形状兼容性): 最后,这些区域产生最终的对象位置(感兴趣的区域); 下面是RCNN检测对象所遵循的步骤的简要总结: 1.首先采用预先训练的卷积神经网络; 2.重新训练该模型模型——根据需要检测的类别数量来训练网络的最后一层(迁移学习); 3.第三步是获取每个图像的感兴趣区域。然后,对这些区域调整尺寸,以便其可以匹配CNN输入大小; 4.获取区域后,使用SVM算法对对象和背景进行分类。对于每个类,都训练一个二分类SVM; 最后,训练线性回归模型,为图像中每个识别出的对象生成更严格的边界框; [对上述步骤进行图解分析]( ): 首先,将图像作为输入: 然后,使用一些提议方法获得感兴趣区域(ROI)(例如,选择性搜索): 之后,对所有这些区域调整尺寸,并将每个区域传递给卷积神经网络: 然后,CNN为每个区域提取特征,SVM用于将这些区域划分为不同的类别: 最后,边界框回归(Bbox reg)用于预测每个已识别区域的边界框: 以上就是RCNN检测物体的全部流程。 RCNN的问题 从上节内容可以了解到RCNN是如何进行对象检测的,但这种技术有其自身的局限性。以下原因使得训练RCNN模型既昂贵又缓慢: 基于选择性搜索算法为每个图像提取2,000个候选区域; 使用CNN为每个图像区域提取特征; RCNN整个物体检测过程用到三种模型: CNN模型用于特征提取; 线性svm分类器用于识别对象的的类别; 回归模型用于收紧边界框; 这些过程相结合使得RCNN非常慢,对每个新图像进行预测需要大约40-50秒,这实际上使得模型在面对巨大的数据集时变得复杂且几乎不可能应用。 好消息是存在另一种物体检测技术,它解决了RCNN中大部分问题。 3.了解Fast RCNN RCNN的思想 RCNN的提出者Ross Girshick提出了这样的想法,即每个图像只运行一次CNN,然后找到一种在2,000个区域内共享该计算的方法。在Fast RCNN中,将输入图像馈送到CNN,CNN生成卷积特征映射。使用这些特征图提取候选区域。然后,使用RoI池化层将所有建议的区域重新整形为固定大小,以便将其馈送到全连接网络中。 下面将其分解为简化概念的步骤: 1.首先将图像作为输入; 2.将图像传递给卷积神经网络,生成感兴趣的区域; 3.在所有的感兴趣的区域上应用RoI池化层,并调整区域的尺寸。然后,每个区域被传递到全连接层的网络中; 层用于全连接网以输出类别。与softmax层一起,也并行使用线性回归层,以输出预测类的边界框坐标。 因此,Fast RCNN算法中没有使用三个不同的模型,而使用单个模型从区域中提取特征,将它们分成不同的类,并同时返回所标识类的边界框。 对上述过程进行可视化讲解: 将图像作为输入: 将图像传递给卷积神经网络t,后者相应地返回感兴趣的区域: 然后,在提取的感兴趣区域上应用RoI池层,以确保所有区域具有相同的大小: 最后,这些区域被传递到一个全连接网络,对其进行分类,并同时使用softmax和线性回归层返回边界框: 上述过程说明了Fast RCNN是如何解决RCNN的两个主要问题,即将每个图像中的1个而不是2,000个区域传递给卷积神经网络,并使用一个模型来实现提取特征、分类和生成边界框。 RCNN的问题 Fast RCNN也存在一定的问题,它仍然使用选择性搜索作为查找感兴趣区域的提议方法,这是一个缓慢且耗时的过程,每个图像检测对象大约需要2秒钟。 因此,又开发了另一种物体检测算法——Faster RCNN。 4.了解Faster RCNN . Faster RCNN的思想 Faster RCNN是Fast RCNN的修改版本,二者之间的主要区别在于,Fast RCNN使用选择性搜索来生成感兴趣区域,而Faster RCNN使用“区域提议网络”,即RPN。RPN将图像特征映射作为输入,并生成一组提议对象,每个对象提议都以对象分数作为输出。 以下步骤通常采用Faster RCNN方法: 1.将图像作为输入并将其传递给卷积神经网络,后者返回该图像的特征图; 2.在这些特征图上应用RPN,返回提议对象及其分数; 3.在这些提议对象上应用RoI池层,以将所有提案降低到相同的大小; 4.最后,将提议传递到全连接层,该层在其顶部具有softmax层和线性回归层,以对对象的边界框进行分类和输出; 这里简要解释一下RPN是如何运作的: 首先,Faster RCNN从CNN获取特征图并将它们传递到区域提议网络。RPN在这些特征图上使用滑动窗口,每个窗口生成不同形状和大小的k个方框( Anchor boxe): 方框是固定尺寸的边界箱,具有不同的形状和尺寸。对于每个方框,RPN预测两件事: 预测锚是对象的概率; 用于边界框回归器调整锚点以更好地适合物体的形状; 在有了不同形状和大小的边界框后,将其传递到RoI池层。对每个提案并对其进行裁剪,以便每个提案都包含一个对象。这就是RoI池层所做的事情,它为每个方框提取固定大小的特征图: 然后将这些特征图传递到全连接层,该层具有softmax和线性回归层,最终对对象进行分类并预测已识别对象的边界框。 RCNN的问题 上述讨论过的所有对象检测算法都使用区域来识别对象,且网络不会一次查看完整图像,而是按顺序关注图像的某些部分,这样会带来两个复杂性的问题: 该算法需要多次通过单个图像来提取到所有对象; 由于不是端到端的算法,不同的系统一个接一个地工作,整体系统的性能进一步取决于先前系统的表现效果。 链接:
wangbaoxin888
有一个月没更博客了,捂脸 o( ̄= ̄)d
端午回家休息了几天,6月要加油~
回到正文,HOG是很经典的一种图像特征提取方法,尤其是在行人识别领域被应用的很多。虽然文章是2005年发表在CVPR上的,但近十年来还没有被淹没的文章真的是很值得阅读的研究成果了。
key idea: 局部物体的形状和外观可以通过局部梯度或者边缘的密度分布所表示。
主要步骤:
上图为论文中提供的图,个人觉得我在参考资料中列出的那篇 博客 中给出的图可能更好理解一些。
具体细节: 关于每一个过程的详细解释还是在 这篇博客 中已经写得很清楚了,这里就不再搬运了。
文章中数据集的图像大小均为:64*128, block大小为16x16, block stride为8x8,cell size为8x8,bins=9(直方图等级数);
获取到每张图的特征维度后,再用线性SVM训练分类器即可。
下图为作者而给出的示例图:
这两篇博客写的都很好,推荐阅读一波。
柠檬朱古力
姓名:王梦妮 学号:20021210873 学院:电子工程学院 【嵌牛导读】本文主要介绍了无人驾驶中所需的行人检测算法 【嵌牛鼻子】无人驾驶 环境感知 计算机视觉 SVM Adaboost算法 【嵌牛提问】无人驾驶中所用到的行人检测算法有哪些 【嵌牛正文】 在同样的交通路况下,无人车通过对自身运动状态及行驶环境信息进行分析,决策出最佳行驶策略和行驶方案代替驾驶员完成一系列驾驶行为,从而降低道路交通事故的发生率。而在无人驾驶中最为重要的技术便是环境感知,而在城市道路上有大量的行人出行,只有准确快速地检测出行人与对其进行跟踪,才能避免车撞人。 计算机视觉是研究赋予机器“人眼”功能的科学,通过多个传感器来获取一定范围内的色彩数据,用算法分析得到的数据从而理解周围环境,这个过程模拟了人眼以及大脑的处理过程,从而赋予机器视觉感知能力。现有的行人检测技术大多都是检测照片中的行人目标,这种照片的拍摄大多是拍摄的静止目标,图像的分辨率和像素点包含的语义信息都及其丰富,对应的算法在这样的图片上往往能取得理想的效果,但是用于无人车的“眼睛”,算法的鲁棒性就表现的非常差。这是因为在实际的道路环境中,摄像头需要搭载的车身上,在行进过程中跟随车以一定的速度移动,并且在实际道路中,行人目标往往是在运动的,由此提取出拍摄视频中的一帧就会出现背景虚化,造成像素点包含的语义信息大量减少,增加了行人检测的难度。 行人检测是计算机视觉领域的一个重要研究课题。在实际生活中,行人大多处于人口密集、背景复杂的城市环境中,并且行人的姿态各不相同,如何将行人从色彩丰富、形状相似的环境中快速准确地提取出来,是行人检测算法的难点。 行人检测算法分为两大类,一类是基于传统图像处理,另一类是基于深度学习的方法。近年来随着计算机计算速度的大幅提升,基于深度学习的方法有着越来越高的检测速度与检测精度,在行人检测领域应用越加广泛。 (一)基于传统图像处理的行人检测算法 使用传统的图像处理方法来做行人检测一般都是由两个步骤组成,第一就是需要手工设计一个合理的特征,第二就是需要设计一个合理的分类器。手工设计特征就是找到一种方法对图像内容进行数学描述,用于后续计算机能够区分该图像区域是什么物体,分类器即是通过提取的特征判断该图像区域属于行人目标还是属于背景。在传统的图像处理领域,手工特征有许多种,比如颜色特征、边缘特征(canny算子和sobel算子)以及基于特征点的描述子(方向梯度直方图)等。 学者们一致认为方向梯度直方图是最适合行人检测的人工特征,其主要原理是对图像的梯度方向直方图进行统计来表征图像。该特征是由Dalal于2005提出的,并与SVM分类器相结合,在行人检测领域取得了前所未有的成功。 传统的行人检测方法首先需要通过提取手工设计特征,再使用提取好的特征来训练分类器,得到一个鲁棒性良好的模型。在行人检测中应用最广泛的分类器就是SVM和Adaboost。SVM分类器就是要找到一个超平面用来分割正负样本,这个超平面的满足条件就是超平面两侧的样本到超平面的距离要最大,即最大化正负样本边界。下图即为线性SVM的示意图。Adaboost分类算法的主要原理不难理解,就是采用不同的方法训练得到一系列的弱分类器,通过级联所有的弱分类器来组成一个具有更高分类精度的强分类器,属于一种迭代算法。原理简单易于理解且有着良好的分类效果,唯一不足就是练多个弱分类器非常耗时。下图为面对一个二分类问题,Adaboost算法实现的细节。 (二)基于深度学习的行人检测算法 近年来,随着硬件计算能力的不断增强,基于卷积神经网络的深度学习飞速发展,在目标检测领域取得了更好的成绩。卷积神经网络不再需要去手动设计特征,只需要将图片输入进网络中,通过多个卷积层的卷积操作,提取出图像的深层语义特征。要想通过深度学习的方法得到一个性能良好的模型,需要大量的样本数据,如果样本过少,就很难学习到泛化能力好的特征,同时在训练时,由于涉及到大量的卷积操作,需要进行大量计算,要求硬件设备具有极高的算力,同时训练起来也很耗时。随着深度学习的飞速发展,越来越多基于深度学习的模型和方法不断被提出,深度学习在目标检测领域会有更加宽广的发展空间。 Ross Girshick团队提出了系列行人检测算法,其中Faster R—CNN 算法通过一个区域提议网络来生成行人候选框,在最后的特征图上滑动来确定候选框。Faster RCNN是首个实现端到端训练的网络,通过一个网络实现了特征提取、候选框生成、边界框回归和分类,这样的框架大大提高了整个网络的检测速度。 He Kaiming等人在2017年提出Mask R—CNN算法,该算法改进了Faster·R—CNN, 在原有的网络结构上增加了一个分支进行语义分割,并用ROI Align替代了ROI Pooling,取得了COCO数据集比赛的冠军。
1、最先大家先进到知网网址的主页,点击查看中国知网查重入口,进来以后大家会见到不一样的检验类型。2、我们要先明确好自己的论文类型,挑选相对应的检验类型入口,开展
姓名:王咫毅 学号: 【嵌牛导读】CNN如此风靡,其衍生算法也是层出不穷,各种衍生算法也可以应用于各种应用场景,各类场合。本文则是了解每个衍生算法的各个
之前也是为论文苦恼了半天,网上的范文和能搜到的资料,大都不全面,一般能有个正文就不错了,而且抄袭的东西肯定不行的,关键是没有数据和分析部分,我好不容易搞出来一篇
是画论文里的滤波器结构分解图,我做的多层结构的滤波器
1、选择一个可靠的论文检测系统;2、在选定的论文检测网站上注册或直接登录账户,然后点击查重入口查重;3、输入论文的相关信息,点击上传论文;4、论文检测时间一般为