火灾自动报警系统是由触发装置、火灾报警装置、联动输出装置以及具有其它辅助功能装置组成的。原理:具有能在火灾初期,将燃烧产生的烟雾、热量、火焰等物理量,通过火灾探测器变成电信号,传输到火灾报警控制器,并同时以声或光的形式通知整个楼层疏散,控制器记录火灾发生的部位、时间等,使人们能够及时发现火灾,并及时采取有效措施,扑灭初期火灾,最大限度的减少因火灾造成的生命和财产的损失,是人们同火灾做斗争的有力工具。
《基于深度学习的自然语言处理研究进展》是一篇文献,它探讨了最新的深度学习在自然语言处理(NLP)领域中的应用。文章重点介绍了几个重要的NLP任务,如语音识别、机器翻译、问题回答、句法分析、情感分析以及对话理解。文章还总结了使用深度学习来完成上述任务所带来的优势:能够处理大量数据集;能够很好地表征不同形式的特征;能够快速地进行特征选取和表征学习。本文平均出版时间是2019年9月20日,Ave大于,共100字。
《Effect of aerobic exercise on insulin resistance, inflammatory cytokines, and adipokines in prediabetes: a systematic review and meta-analysis》是一篇关于有氧运动对于糖尿病前期患者的影响的文献。该文献分为以下几段:第一段介绍了糖尿病前期患者的概念以及糖尿病的发病机制,重点强调了胰岛素抵抗、炎症细胞因子和脂肪细胞因子等因素与糖尿病前期和糖尿病的关系。第二段介绍了有氧运动的定义和作用机制,指出有氧运动可以改善身体代谢和减少炎症反应,有助于预防和治疗糖尿病。第三段介绍了该研究的目的和方法,以及筛选文献的标准和结果。作者筛选了全球各地的研究文献,最终选取了11篇符合要求的研究进行综合分析。第四段介绍了研究结果。分析显示,有氧运动可以显著降低糖尿病前期患者的胰岛素抵抗、炎症细胞因子和脂肪细胞因子水平,从而减少糖尿病的风险。第五段讨论了研究结果的临床意义和限制。作者指出,有氧运动是一种安全、有效的预防和治疗糖尿病的方法,但是样本量较小、研究质量不一等因素可能影响研究结论的准确性。最后一段总结了该研究的重要性和未来研究方向。作者强调,有氧运动对于糖尿病前期患者的治疗具有重要意义,未来研究应该进一步探索有氧运动的具体作用机制以及如何更好地应用于临床实践。
在计算机科学领域中,AVE(Algorithm Visualizer Engine)是一个强大的工具,它可以帮助开发者可视化算法的执行过程,从而更好地理解和调试代码。而针对AVE的研究也不断在进行中。近年来,许多研究人员致力于将AVE应用于教育领域中,以提高学生学习算法的效果。例如,一篇名为“使用AVE促进高中信息学习的实证研究”论文就探讨了AVE在教学中的应用。研究人员在两个班级中分别使用传统教学方法和AVE辅助教学方法,结果表明,使用AVE辅助教学的学生在考试成绩和算法理解方面都有明显提高。除了教育应用外,AVE还有广泛的应用领域。比如,一篇名为“AVE-GUI:一种基于JavaFX和Spring Boot的算法可视化工具”论文介绍的AVE-GUI工具,就可以帮助开发人员快速搭建算法可视化工具,并且能够自动解析算法代码并生成可视化界面。总之,AVE在许多领域都有着重要的应用价值,同时也有着广阔的发展前景。未来,我们可以期待更多精彩的AVE相关研究成果的问世。
第一类: FCN(完全卷积网络) 简介;FCN是一种端到端的深度学习图像分割算法,让网络做像素的预测,直接得到label map 传统cnn缺点:存储开销大,效率低下,像素块的大小限制了感受区域的大小 FCN改变了什么:经典的cnn在卷积层之后时使用了全连接层得到固定长度的整个输入图像的概率向量,适合用于图像的分类和回归任务,经过 softmax后可以获得类别概率信息,但是这个概率信息是1维的,只能表示出整个图像的类别,所以这种全连接方法不适用于图像分割。FCN将Cnn的全连接层换成卷积层(1000个节点的全连接层换成1000个1*1的卷积核的卷积层),这样可以得到2维的fp,再通过softmax可以得到每个像素点的类别信息,从而解决分割问题。 FCN结构:FCN可以接受任何尺寸的输入图像,在最后得到的fp后,通过反卷积层进行上采样,使他恢复到输入图像的尺寸,从而可以对每一个像素都产生预测,保留原始图像当中的空间信息。 为啥cnn不能随便尺寸输入:因为cnn的全连接层会得到一个拉直的向量,向量中比方说有n*n个元素,这n*n个元素每个元素当作一个结点与下一层全连接,如果下一层比方说节点数是4096,权值数就是4096*n*n。神经网络结构确定,那么权值数就要确定了,上一层的输出就不能变了,然后倒着往前推,每一层输出都不能变,因此输入就必须得固定。 skip state:由于最后这个特征图太小,容易丢失很多细节,增加一个skip state这样的一个结构,最后一层的预测(局部信息)和更浅层(全局信息)预测结合起来,这样就是既局部还全局。 FCN缺点:实施推理速度不够快,对各个像素进行分类,没有考虑像素与像素之间的一个关系,不容易移植到三维图像当中。 第二类:基于CNN和完全连接的CRF的语义分割算法 FCN可能忽略了有用的场景级语义上下文,为了集成更多上下文信息 cnn+crf>cnn+softmax fcn得到粗分值图,经过双线性插值上采样恢复分辨率,然后再将它传递给全连接的crf层细化分割结果。最终实验表明:有更高的准确率来定位边界。 第三类:编码器加解码器结构(unet,vnet) 分为一般的分割跟医学图像的分割。 一个是使用从VGG 16层网络采用的卷积层的编码器,另一个是将特征向量作为输入并生成像素级类概率图的反卷积网络。 segnet SegNet的主要新颖之处在于解码器对其较低分辨率的输入特征图进行升采样。具体来说,它使用在相应编码器的最大池化步骤中计算出的合并索引来执行非线性上采样,从而消除了学习上采样的需求.与其他竞争性体系结构相比,SegNet的可训练参数数量也明显更少并且能够提升边缘刻画度。 (ex:SDN,Linknet,w-net) segnet的encoder过程中卷积起到提取特征的作用,使用的是same卷积,卷积后不改变图片的大小。同时在decoder过程中,同样是采用了same卷积,作用是upsample之后丰富变大图片的信息 u-net (医学影像分割的论文几乎都是用u-net来改良的) 在医学图像分割上,在编码器部分,类似于FCN,下采样采用conv3*3,全卷积神经网络。 上采样 conv2*2 ,插值法(不使用转置卷积,为了让特征图保持着均匀的色差) 最后有个1*1(将特征通道数降至特定的数量 ) 为了降低在压缩路径当中造成的图像细节损失,作者会将压缩路径当中的fp叠加到拓张路径的相同尺寸的fp上,再进行conv,upsample.以此整合更多更完整的图像信息。 v-net 基于FCN用于3D医学图像分析的图像分割网络。最后输出的是三维的单通道数据,代表每一个像素是前景还是背景的概率,如果概率大于是前景,概率小于是背景。 第四类:多尺度分析跟金字塔网络 尺度:分辨率 多尺度:所训练出来的成功的模型,他在换到另一个尺度下很有可能失效 提出了一个pspnet,实现利用上下文信息的能力来进行场景解析,又到了老生常谈的问题,FCN不能很好的利用全局信息(比如说,FCN非认为右边是车,但是左边就有船坞,他不能利用这种线索来进行一个判断) DM-Net (Dynamic Multi-scale Filters Network) Context contrasted network and gated multi- scale aggregation (CCN) Adaptive Pyramid Context Network (APC-Net) Multi-scale context intertwining (MSCI) 第五类:实例分割当中基于r-cnn的模型 r-cnn mask r-cnn Mask RCNN使用ResNet+FPN(特征金字塔网络)进行特征提取。顶层特征(最后一层特征图),感受野最大,特征信息最丰富,但对小物体的检测效果并不好。因此,将多个阶段的特征图融合在一起(FPN),这样既有了高层的语义特征,也有了底层的轮廓特征。 RoI Align替代RoI Pooling RoI Pooling有什么问题?经过两次量化,使特征图对应位置不准。 增加Mask分支(语义分割)Mask分支只做语义分割,类型预测的任务交给另一个分支。
论文名称:Rich feature hierarchies for accurate object detection and semantic segmentation 提出时间:2014年 论文地址: 针对问题: 从Alexnet提出后,作者等人思考如何利用卷积网络来完成检测任务,即输入一张图,实现图上目标的定位(目标在哪)和分类(目标是什么)两个目标,并最终完成了RCNN网络模型。 创新点: RCNN提出时,检测网络的执行思路还是脱胎于分类网络。也就是深度学习部分仅完成输入图像块的分类工作。那么对检测任务来说如何完成目标的定位呢,作者采用的是Selective Search候选区域提取算法,来获得当前输入图上可能包含目标的不同图像块,再将图像块裁剪到固定的尺寸输入CNN网络来进行当前图像块类别的判断。 参考博客: 。 论文题目:OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks 提出时间:2014年 论文地址: 针对问题: 该论文讨论了,CNN提取到的特征能够同时用于定位和分类两个任务。也就是在CNN提取到特征以后,在网络后端组织两组卷积或全连接层,一组用于实现定位,输出当前图像上目标的最小外接矩形框坐标,一组用于分类,输出当前图像上目标的类别信息。也是以此为起点,检测网络出现基础主干网络(backbone)+分类头或回归头(定位头)的网络设计模式雏形。 创新点: 在这篇论文中还有两个比较有意思的点,一是作者认为全连接层其实质实现的操作和1x1的卷积是类似的,而且用1x1的卷积核还可以避免FC对输入特征尺寸的限制,那用1x1卷积来替换FC层,是否可行呢?作者在测试时通过将全连接层替换为1x1卷积核证明是可行的;二是提出了offset max-pooling,也就是对池化层输入特征不能整除的情况,通过进行滑动池化并将不同的池化层传递给后续网络层来提高效果。另外作者在论文里提到他的用法是先基于主干网络+分类头训练,然后切换分类头为回归头,再训练回归头的参数,最终完成整个网络的训练。图像的输入作者采用的是直接在输入图上利用卷积核划窗。然后在指定的每个网络层上回归目标的尺度和空间位置。 参考博客: 论文题目:Scalable Object Detection using Deep Neural Networks 提出时间:2014年 论文地址: 针对问题: 既然CNN网络提取的特征可以直接用于检测任务(定位+分类),作者就尝试将目标框(可能包含目标的最小外包矩形框)提取任务放到CNN中进行。也就是直接通过网络完成输入图像上目标的定位工作。 创新点: 本文作者通过将物体检测问题定义为输出多个bounding box的回归问题. 同时每个bounding box会输出关于是否包含目标物体的置信度, 使得模型更加紧凑和高效。先通过聚类获得图像中可能有目标的位置聚类中心,(800个anchor box)然后学习预测不考虑目标类别的二分类网络,背景or前景。用到了多尺度下的检测。 参考博客: 论文题目:DeepBox: Learning Objectness with Convolutional Networks 提出时间:2015年ICCV 论文地址: 主要针对的问题: 本文完成的工作与第三篇类似,都是对目标框提取算法的优化方案,区别是本文首先采用自底而上的方案来提取图像上的疑似目标框,然后再利用CNN网络提取特征对目标框进行是否为前景区域的排序;而第三篇为直接利用CNN网络来回归图像上可能的目标位置。创新点: 本文作者想通过CNN学习输入图像的特征,从而实现对输入网络目标框是否为真实目标的情况进行计算,量化每个输入框的包含目标的可能性值。 参考博客: 论文题目:AttentionNet: AggregatingWeak Directions for Accurate Object Detection 提出时间:2015年ICCV 论文地址: 主要针对的问题: 对检测网络的实现方案进行思考,之前的执行策略是,先确定输入图像中可能包含目标位置的矩形框,再对每个矩形框进行分类和回归从而确定目标的准确位置,参考RCNN。那么能否直接利用回归的思路从图像的四个角点,逐渐得到目标的最小外接矩形框和类别呢? 创新点: 通过从图像的四个角点,逐步迭代的方式,每次计算一个缩小的方向,并缩小指定的距离来使得逐渐逼近目标。作者还提出了针对多目标情况的处理方式。 参考博客: 论文题目:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition 提出时间:2014年 论文地址: 针对问题: 如RCNN会将输入的目标图像块处理到同一尺寸再输入进CNN网络,在处理过程中就造成了图像块信息的损失。在实际的场景中,输入网络的目标尺寸很难统一,而网络最后的全连接层又要求输入的特征信息为统一维度的向量。作者就尝试进行不同尺寸CNN网络提取到的特征维度进行统一。创新点: 作者提出的SPPnet中,通过使用特征金字塔池化来使得最后的卷积层输出结果可以统一到全连接层需要的尺寸,在训练的时候,池化的操作还是通过滑动窗口完成的,池化的核宽高及步长通过当前层的特征图的宽高计算得到。原论文中的特征金字塔池化操作图示如下。 参考博客 : 论文题目:Object detection via a multi-region & semantic segmentation-aware CNN model 提出时间:2015年 论文地址: 针对问题: 既然第三篇论文multibox算法提出了可以用CNN来实现输入图像中待检测目标的定位,本文作者就尝试增加一些训练时的方法技巧来提高CNN网络最终的定位精度。创新点: 作者通过对输入网络的region进行一定的处理(通过数据增强,使得网络利用目标周围的上下文信息得到更精准的目标框)来增加网络对目标回归框的精度。具体的处理方式包括:扩大输入目标的标签包围框、取输入目标的标签中包围框的一部分等并对不同区域分别回归位置,使得网络对目标的边界更加敏感。这种操作丰富了输入目标的多样性,从而提高了回归框的精度。 参考博客 : 论文题目:Fast-RCNN 提出时间:2015年 论文地址: 针对问题: RCNN中的CNN每输入一个图像块就要执行一次前向计算,这显然是非常耗时的,那么如何优化这部分呢? 创新点: 作者参考了SPPNet(第六篇论文),在网络中实现了ROIpooling来使得输入的图像块不用裁剪到统一尺寸,从而避免了输入的信息丢失。其次是将整张图输入网络得到特征图,再将原图上用Selective Search算法得到的目标框映射到特征图上,避免了特征的重复提取。 参考博客 : 论文题目:DeepProposal: Hunting Objects by Cascading Deep Convolutional Layers 提出时间:2015年 论文地址: 主要针对的问题: 本文的作者观察到CNN可以提取到很棒的对输入图像进行表征的论文,作者尝试通过实验来对CNN网络不同层所产生的特征的作用和情况进行讨论和解析。 创新点: 作者在不同的激活层上以滑动窗口的方式生成了假设,并表明最终的卷积层可以以较高的查全率找到感兴趣的对象,但是由于特征图的粗糙性,定位性很差。相反,网络的第一层可以更好地定位感兴趣的对象,但召回率降低。 论文题目:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 提出时间:2015年NIPS 论文地址: 主要针对的问题: 由multibox(第三篇)和DeepBox(第四篇)等论文,我们知道,用CNN可以生成目标待检测框,并判定当前框为目标的概率,那能否将该模型整合到目标检测的模型中,从而实现真正输入端为图像,输出为最终检测结果的,全部依赖CNN完成的检测系统呢? 创新点: 将当前输入图目标框提取整合到了检测网络中,依赖一个小的目标框提取网络RPN来替代Selective Search算法,从而实现真正的端到端检测算法。 参考博客 :
本文适合刚入门物体检测的人群学习,不涉及公式推理。 相比于图像分类,图像中物体检测是计算机视觉中一个更加复杂的问题,因为图像分类只需要判断出图像属于哪一类就行,而在物体检测中,图像里可能有多个物体,我们需要对所有物体进行种类判别和位置确定,所以比图像分类更具有挑战性,应用于物体检测的深度学习模型也会更加复杂。本文将会着重介绍几种基于深度学习的物体检测方法。待识别的物体有20类: person bird, cat, cow, dog, horse, sheep aeroplane, bicycle, boat, bus, car, motorbike, train bottle, chair, dining table, potted plant, sofa, tv/monitor Detection Label (Ground truth)格式: 提交结果文件格式: 有YOLO、SSD、rcnn、fast rcnn及faster rcnn等 注:后边部分内容会对算法进行详细介绍 针对单个物体实例而言,通常由于图像采集过程中光照条件、拍摄视角、距离的不同,物体自身的非刚体形变以及其他物体的部分遮挡使得物体实例的表观特征产生很大的变化,给视觉识别算法带来了极大的困难。 属于同一类的物体表观特征差别比较大,其原因有前面提到的各种实例层次的变化,但这里更强调的是类内不同实例的差别,例如图 3(a)所示,同样是椅子,外观却是千差万别;其次是类间模糊性,即不同类的物体实例具有一定的相似性,如图 3(b)所示,左边的是一只狼,右边的是一只哈士奇,但我们从外观上却很难分开二者;再次是背景的干扰,在实际场景下,物体不可能出现在一个非常干净的背景下,往往相反,背景可能是非常复杂的、对我们感兴趣的物体存在干扰的,这使得识别问题的难度大大加大。 困难与挑战与图像的视觉语义相关,这个层次的困难往往非常难以处理,特别是对现在的计算机视觉理论水平而言。一个典型的问题称为多重稳定性。如图所示,图 3(c)左边既可以看成是两个面对面的人,也可以看成是一个燃烧的蜡烛;右边则同时可以解释为兔子或者小鸭。同样的图像,不同的解释,这既与人的观察视角、关注点等物理条件有关,也与人的性格、经历等有关,而这恰恰是视觉识别系统难以很好处理的部分。 bounding box:矩形框 SPP:Spatial Pyramid Pooling SVM:支持向量机 RPN:Region Proposal Network区域检测模块主要处理图像检测区域窗口的问题。根据获得区域待检测窗口方法的不同,物体检测方法大致可分为稠密检测窗提取(蛮力搜索)和稀疏检测窗两类方法。稠密检测窗提取方法,比如滑动窗法,相对比较简单,它是通过使用训练好的模板在输入图像的多个尺度上图像金字塔上进行滑动扫描,通过确定最大响应位置找到目标物体的矩形窗口。稀疏检测窗提取方法,则一般利用某些先验或其他图像任务的结果,选择最有可能成为物体的检测窗口,比如选择性搜方法,对图像分割的结果进行利用,通过区域融合生产目标检测窗。(算法具体内容自行了解,比如边缘盒算法,选择性算法) 这是最重要和最关键的步骤,传统的特征提取方法,比如HOG、SIFT特征,通过计算图像局部区域的梯度特征,得到图像边缘或角点特征。相比现在深度学习的提取特征方法,这些方法都是根据图像的某些性质通过人工设计相应的特征。缺点很明显,第一人工设计很麻烦,第二很具有局限性,特征提取不够完整,而深度卷积神经网络就可以客服这些不足。 分类器模块是物体图像检测与分类系统的结果输出,用于评价整个检测系统的性能。在模式识别和机器学习领域中,常用的分类器包括:逻辑回归、softmax、SVM、ada-boost等。在深度学习模型中一般采用SVM和softmax。 暂时略 既然传统的物体检测方法局限性很大,此时随着深度学习的发展,基于深度学习的物体检测算法R-CNN横空出世了。 Fast-RCNN主要贡献在于对R-CNN进行加速,只有速度够快,才能做到实时处理。那么Fast-RCNN是改进了R-CNN哪些地方提高了处理速度呢? SPP:Spatial Pyramid Pooling(空间金字塔池化) 它有两个特点: 1.结合空间金字塔方法实现CNNs的多尺度输入。 一般CNN后接全连接层或者分类器,他们都需要固定的输入尺寸,因此不得不对输入数据进行crop或者warp,这些预处理会造成数据的丢失或几何的失真。SPP Net的第一个贡献就是将金字塔思想加入到CNN,实现了数据的多尺度输入。在卷积层和全连接层之间加入了SPP layer。此时网络的输入可以是任意尺度的,在SPP layer中每一个pooling的filter会根据输入调整大小,而SPP的输出尺度始终是固定的。 2.只对原图提取一次卷积特征 在R-CNN中,每个候选框先resize到统一大小,然后分别作为CNN的输入,这样是很低效的。所以SPP Net根据这个缺点做了优化:只对原图进行一次卷积得到整张图的feature map,然后找到每个候选框zaifeature map上的映射patch,将此patch作为每个候选框的卷积特征输入到SPP layer和之后的层。节省了大量的计算时间。 Fast-RCNN正是通过融合了SPP的设计(这一层称之为ROI Pooling),有了以上这两个优点,使得Fast-RCNN比R-CNN快多了。 原来的方法:许多候选框(比如两千个)-->CNN(两千次卷积)-->得到每个候选框的特征(不同尺度特征图不行)-->分类+回归 现在的方法:一张完整图片-->CNN(一次卷积)-->得到每张候选框的特征(可以不同尺度特征图不行,因为这里加了一层SSP net 称之为ROI Pooling)-->分类+回归 其还有个贡献是多任务Loss层:将分类和边框回归进行合并(又一个开创性的思路),通过多任务Loss层进一步整合深度网络,统一了训练过程,从而提高了算法准确度。 Fast-RCNN虽然加快了不少速度,但是其选择性搜索,找出所有的候选框,这个也非常耗时,于是有人就在Fast-RCNN的基础上解决了这个问题,提出了更快的Faster-RCNN。 Faster-RCNN特点(创新点):候选框提取不一定要在原图上做,特征图上同样可以,在低分辨率上做意味着计算量减小。 那么怎么在特征图上做候选框提取呢:于是有人提出了用神经网络去做,加入一个边缘提取的神经网络,称之为Region Proposal Network(RPN)。 具体加入方法: • 将RPN放在最后一个卷积层的后面 • RPN训练好后能使用其直接得到候选区域 暂时略 1. . 2. . 3. . 4.黄凯奇,任伟强,谭铁牛.图像物体分类与检测算法综述,中国科学院自动化研究所模式识别国家重点实验室智能感知与计算研究中心,12(36),2013:1225-1240. 5.夏源.基于深度学习的图像物体检测与分类,北京邮电大学,2016. 6. 7. 8.
论文名称:Rich feature hierarchies for accurate object detection and semantic segmentation 提出时间:2014年 论文地址: 针对问题: 从Alexnet提出后,作者等人思考如何利用卷积网络来完成检测任务,即输入一张图,实现图上目标的定位(目标在哪)和分类(目标是什么)两个目标,并最终完成了RCNN网络模型。 创新点: RCNN提出时,检测网络的执行思路还是脱胎于分类网络。也就是深度学习部分仅完成输入图像块的分类工作。那么对检测任务来说如何完成目标的定位呢,作者采用的是Selective Search候选区域提取算法,来获得当前输入图上可能包含目标的不同图像块,再将图像块裁剪到固定的尺寸输入CNN网络来进行当前图像块类别的判断。 参考博客: 。 论文题目:OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks 提出时间:2014年 论文地址: 针对问题: 该论文讨论了,CNN提取到的特征能够同时用于定位和分类两个任务。也就是在CNN提取到特征以后,在网络后端组织两组卷积或全连接层,一组用于实现定位,输出当前图像上目标的最小外接矩形框坐标,一组用于分类,输出当前图像上目标的类别信息。也是以此为起点,检测网络出现基础主干网络(backbone)+分类头或回归头(定位头)的网络设计模式雏形。 创新点: 在这篇论文中还有两个比较有意思的点,一是作者认为全连接层其实质实现的操作和1x1的卷积是类似的,而且用1x1的卷积核还可以避免FC对输入特征尺寸的限制,那用1x1卷积来替换FC层,是否可行呢?作者在测试时通过将全连接层替换为1x1卷积核证明是可行的;二是提出了offset max-pooling,也就是对池化层输入特征不能整除的情况,通过进行滑动池化并将不同的池化层传递给后续网络层来提高效果。另外作者在论文里提到他的用法是先基于主干网络+分类头训练,然后切换分类头为回归头,再训练回归头的参数,最终完成整个网络的训练。图像的输入作者采用的是直接在输入图上利用卷积核划窗。然后在指定的每个网络层上回归目标的尺度和空间位置。 参考博客: 论文题目:Scalable Object Detection using Deep Neural Networks 提出时间:2014年 论文地址: 针对问题: 既然CNN网络提取的特征可以直接用于检测任务(定位+分类),作者就尝试将目标框(可能包含目标的最小外包矩形框)提取任务放到CNN中进行。也就是直接通过网络完成输入图像上目标的定位工作。 创新点: 本文作者通过将物体检测问题定义为输出多个bounding box的回归问题. 同时每个bounding box会输出关于是否包含目标物体的置信度, 使得模型更加紧凑和高效。先通过聚类获得图像中可能有目标的位置聚类中心,(800个anchor box)然后学习预测不考虑目标类别的二分类网络,背景or前景。用到了多尺度下的检测。 参考博客: 论文题目:DeepBox: Learning Objectness with Convolutional Networks 提出时间:2015年ICCV 论文地址: 主要针对的问题: 本文完成的工作与第三篇类似,都是对目标框提取算法的优化方案,区别是本文首先采用自底而上的方案来提取图像上的疑似目标框,然后再利用CNN网络提取特征对目标框进行是否为前景区域的排序;而第三篇为直接利用CNN网络来回归图像上可能的目标位置。创新点: 本文作者想通过CNN学习输入图像的特征,从而实现对输入网络目标框是否为真实目标的情况进行计算,量化每个输入框的包含目标的可能性值。 参考博客: 论文题目:AttentionNet: AggregatingWeak Directions for Accurate Object Detection 提出时间:2015年ICCV 论文地址: 主要针对的问题: 对检测网络的实现方案进行思考,之前的执行策略是,先确定输入图像中可能包含目标位置的矩形框,再对每个矩形框进行分类和回归从而确定目标的准确位置,参考RCNN。那么能否直接利用回归的思路从图像的四个角点,逐渐得到目标的最小外接矩形框和类别呢? 创新点: 通过从图像的四个角点,逐步迭代的方式,每次计算一个缩小的方向,并缩小指定的距离来使得逐渐逼近目标。作者还提出了针对多目标情况的处理方式。 参考博客: 论文题目:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition 提出时间:2014年 论文地址: 针对问题: 如RCNN会将输入的目标图像块处理到同一尺寸再输入进CNN网络,在处理过程中就造成了图像块信息的损失。在实际的场景中,输入网络的目标尺寸很难统一,而网络最后的全连接层又要求输入的特征信息为统一维度的向量。作者就尝试进行不同尺寸CNN网络提取到的特征维度进行统一。创新点: 作者提出的SPPnet中,通过使用特征金字塔池化来使得最后的卷积层输出结果可以统一到全连接层需要的尺寸,在训练的时候,池化的操作还是通过滑动窗口完成的,池化的核宽高及步长通过当前层的特征图的宽高计算得到。原论文中的特征金字塔池化操作图示如下。 参考博客 : 论文题目:Object detection via a multi-region & semantic segmentation-aware CNN model 提出时间:2015年 论文地址: 针对问题: 既然第三篇论文multibox算法提出了可以用CNN来实现输入图像中待检测目标的定位,本文作者就尝试增加一些训练时的方法技巧来提高CNN网络最终的定位精度。创新点: 作者通过对输入网络的region进行一定的处理(通过数据增强,使得网络利用目标周围的上下文信息得到更精准的目标框)来增加网络对目标回归框的精度。具体的处理方式包括:扩大输入目标的标签包围框、取输入目标的标签中包围框的一部分等并对不同区域分别回归位置,使得网络对目标的边界更加敏感。这种操作丰富了输入目标的多样性,从而提高了回归框的精度。 参考博客 : 论文题目:Fast-RCNN 提出时间:2015年 论文地址: 针对问题: RCNN中的CNN每输入一个图像块就要执行一次前向计算,这显然是非常耗时的,那么如何优化这部分呢? 创新点: 作者参考了SPPNet(第六篇论文),在网络中实现了ROIpooling来使得输入的图像块不用裁剪到统一尺寸,从而避免了输入的信息丢失。其次是将整张图输入网络得到特征图,再将原图上用Selective Search算法得到的目标框映射到特征图上,避免了特征的重复提取。 参考博客 : 论文题目:DeepProposal: Hunting Objects by Cascading Deep Convolutional Layers 提出时间:2015年 论文地址: 主要针对的问题: 本文的作者观察到CNN可以提取到很棒的对输入图像进行表征的论文,作者尝试通过实验来对CNN网络不同层所产生的特征的作用和情况进行讨论和解析。 创新点: 作者在不同的激活层上以滑动窗口的方式生成了假设,并表明最终的卷积层可以以较高的查全率找到感兴趣的对象,但是由于特征图的粗糙性,定位性很差。相反,网络的第一层可以更好地定位感兴趣的对象,但召回率降低。 论文题目:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 提出时间:2015年NIPS 论文地址: 主要针对的问题: 由multibox(第三篇)和DeepBox(第四篇)等论文,我们知道,用CNN可以生成目标待检测框,并判定当前框为目标的概率,那能否将该模型整合到目标检测的模型中,从而实现真正输入端为图像,输出为最终检测结果的,全部依赖CNN完成的检测系统呢? 创新点: 将当前输入图目标框提取整合到了检测网络中,依赖一个小的目标框提取网络RPN来替代Selective Search算法,从而实现真正的端到端检测算法。 参考博客 :
对于目标检测方向并不是特别熟悉,本文记录一下RCNN, fast-RCNN, faster-RCNN, mask-RCNN这4篇有关目标检测的论文笔记和学习心得。
R-CNN的意思就是Region based,主要思路就是根据一张图像,提取多个region,再将每个Region输入CNN来进行特征的提取。因此RCNN就可以分为 Region proposals , Feature extraction 两个主要部分,提取的特征就可以输入任意一个分类器来进行分类。 模型的流程图如下:
在训练的时候,首先使用的是已经训练好的CNN网络作为特征提取器,但是由于预训练是在分类数据集上,因此在应用到检测之前要做finetune。也就是说,为了将用ImageNet数据集训练的网络应用到新的任务(检测),新的数据集(region)上,作者将原来的CNN最后的1000类的fc层,更改为了 层, 代表待检测的物体的类别数。然后,对于所有的region,如果它和ground truth的重叠率大于,就认为是正类。 对于分类器的训练,作者发现选择多大的IoU来区分正类和负类非常关键。并且,对于每一类,都会训练一个分类器。
框的回归非常重要,在对每一个region proposal使用分类器进行打分评价之后,作者使用一个回归器来预测一个新的框作为结果。这个回归器使用的特征是从CNN中提取的特征。回归器的训练中,输入是 region proposal 的 和ground truth的 ,目标是学习一种变换,使得region proposal通过该变换能够接近ground truth。同时,希望这种变换拥有尺度不变性,也就是说尺度变化的话,变换不会改变。 如下图所示,每一个regressor会学习一组参数,特征输入是pool 5的特征输出,拟合的目标是 。
Fast-RCNN 主要解决的问题是在RCNN中对于每一个region proposal都进行特征提取,会产生非常多的冗余计算,因此可以先对一张图像进行特征提取,再根据region proposal在相应的特征上进行划分得到对应region的特征(映射关系)。 这样便可以实现共享计算提高速度,但是与SPPnets不同,SPPnets在一副图像得到对应的特征后,从这张图像的特征上proposal对应的部分,采用空间金字塔池化,如下图:
RoI pooling的方法很简单,类似于空间金字塔pooling,它将proposal部分对应卷积层输出的特征(称之为RoI,因为用于做pooling的特征是 region of interest,也就是我们感兴趣的区域)划分成 块,然后对每一块求最大值,最终得到了一个 的特征图。可以看出,它只是空间金字塔pooling的一部分。 但是SPP-nets的空间金字塔也是可以求导的,那么它到底不好在哪里呢?因为当每一个RoI都可能来源于不同的图像的时候(R-CNN和SPPnets的训练策略是从一个batch的不同图像中,分别挑选一个proposal region),SPPNets的训练非常地低效,这种低效来源于在SPPnets的训练中,每个RoI的感受野都非常地大,很可能对应了原图的整个图像,因此,得到的特征也几乎对应了整张图像,所以输入的图像也就很大。 为了提高效率,Fast-RCNN首先选取 个图像,再从每个图像上选择 个RoI,这样的效率就比从每个图像提取一个RoI提高了 倍。
为了将分类和框回归结合起来,作者采用了多任务的loss,来进行联合的训练。具体来说就是将分类的loss和框回归的loss结合起来。网络的设计上非常直接,就是将RoI得到的特征接几个FC层后,分别接不同的输出层。对应于分类部分,特征会接一个softmax输出,用于分类,对于框回归部分,会接一个输出4维特征的输出层,然后分别计算loss,用于反向传播。loss的公式如下:
回归的target可以参考前面的R-CNN部分。
notes
为什么比fast还fast呢?主要原因是在这篇论文中提出了一个新的层:RPN(region proposal networks)用于替代之前的selective search。这个层还可以在GPU上运算来提高速度。 RPN的目的:
为了能够进行region proposal,作者使用了一个小的网络,在基础的卷积层输出的特征上进行滑动,这个网络输入大小为 ,输入后会映射(用 的卷积)为一个固定长度的特征向量,然后接两个并联的fc层(用 的卷积层代替),这两个fc层,一个为box-regressoin,一个为box-classification。如下图:
在每一个滑动窗口(可以参考 ),为了考虑到尽可能多的框的情况,作者设计了anchors来作为region proposal。anchors就是对于每一个滑动窗口的中心位置,在该位置对应的原图位置的基础上,按照不同的尺度,长宽比例框出 个不同的区域。然后根据这些anchors对应的原始图像位置以及区域,和ground truth,就可以给每一个滑动窗口的每一个anchor进行标记,也就是赋予label,满足一定条件标记为正类(比如和ground truth重叠大于一个值),一定条件为负类。对于正类,就可以根据ground truth和该anchor对应的原图的区域之间的变换关系(参考前面的R-CNN的框回归),得到回归器中的目标,用于训练。也就是论文中的loss function部分:
自然地,也就要求RPN的两个并联的FC层一个输出2k个值用于表示这k个anchor对应的区域的正类,负类的概率,另一个输出4k个值,用于表示框回归的变换的预测值。
对于整个网络的训练,作者采用了一种叫做 4-step Alternating Training 的方法。具体可以参考论文。
与之前的检测任务稍有不同,mask r-cnn的任务是做instance segmentation。因此,它需要对每一个像素点进行分类。 与Faster R-CNN不同,Faster R-CNN对每一个候选框产生两个输出,一个是类别,一个是bounding box的offset。Mask R-CNN新增加了一个输出,作为物体的mask。这个mask类似于ps中的蒙版。
与Faster R-CNN类似的是,Mask R-CNN同样采用RPN来进行Region Proposal。但是在之后,对于每一个RoI,mask r-cnn还输出了一个二值化的mask。
不像类别,框回归,输出都可以是一个向量,mask必须保持一定的空间信息。因此,作者采用FCN来从每个RoI中预测一个 的mask。
由于属于像素级别的预测问题,就需要RoI能够在进行特征提取的时候保持住空间信息,至少在像素级别上能够对应起来。因此,传统的取最大值的方法就显得不合适。 RoI Pooling,经历了两个量化的过程: 第一个:从roi proposal到feature map的映射过程。 第二个:从feature map划分成7*7的bin,每个bin使用max pooling。
为此,作者使用了RoIAlign。如下图
为了避免上面提到的量化过程
可以参考
作者使用ResNet作为基础的特征提取的网络。 对于预测类别,回归框,mask的网络使用如下图结构:
整体看完这几篇大佬的论文,虽说没有弄清楚每一个实现细节,但是大体上了解了算法的思路。可以看出,出发点都源于深度神经网络在特征提取上的卓越能力,因此一众大神试图将这种能力应用在检测问题中。从R-CNN中简单地用于特征提取,到为了提高速度减少计算的Fast R-CNN,再到为了将region proposal集成进入整个模型中,并且利用GPU加速的RPN,也就是Faster R-CNN。再到为了应用于instance segmentation任务中,设计的RoIAlign和mask。包括bounding box regression,pooling层的设计,训练方法的选择,loss的设计等等细节,无一不体现了大师们的思考和创造力。 可能在我们这些“拿来”者的眼中,这些方法都显得“理所应当”和巧妙,好用,但是,它们背后隐藏的选择和这些选择的思考却更值得我们学习。 以及,对待每一个问题,如何设计出合理的解决方案,以及方案的效率,通用性,更是应该我们努力的方向。
1. 红外线自动感应照明灯的设计(字数:14524,页数:32 价格:¥)2. 基于单片机电子密码锁的设计(字数:19969,页数:42 价格:¥)3. MQ-2烟雾报警器的设计与实现(字数:10305,页数:24 价格:¥)4. 基于MCS51单片机与LCD液晶显示器的接口技术(字数:9583,页数:38 价格:¥)5. 单片机在电阻炉控制系统中的应用(字数:18231,页数:45 价格:¥)6. 智能电表的设计(字数:10248,页数:61 价格:¥)
100元给你搞好
摘要:家庭自动化系统是适应现代生活对家庭功能逐渐增长的需求发展起来的一个系统,该系统的内容、构成和配置因国度、家庭的经济实力、家庭的知识结构以及个人喜好的不同而不同。因此,家庭自动化系统的配置与住宅小区的定位(安置型、实用型、舒适型还是豪华型)以及住户的类型比例(经济实力、知识结构等)有着密切的关系。 关键词:住宅小区 防盗报警系统 方案 1.家庭报警系统设计 概述 家庭自动化系统是适应现代生活对家庭功能逐渐增长的需求发展起来的一个系统,该系统的内容、构成和配置因国度、家庭的经济实力、家庭的知识结构以及个人喜好的不同而不同。因此,家庭自动化系统的配置与住宅小区的定位(安置型、实用型、舒适型还是豪华型)以及住户的类型比例(经济实力、知识结构等)有着密切的关系。 一般地,从结构上来讲,家庭自动化系统由家庭控制器、家庭布线、传感器/执行器等构成;每一个家庭控制器作为智能小区网络中的一个智能节点,互联成网并上联至小区综合管理系统;从信息组成上来讲,家庭自动化系统包括语音信息、数据信息、视频信息以及控制信息等;从功能上来讲,家庭自动化系统包括安防功能(可视对讲、防盗报警、火灾探测、煤气泄露报警、玻璃破碎探测以及紧急呼叫按钮)、控制功能(灯光控制、空调控制、门锁控制以及其他家用电器的控制)。 家庭报警的防护区域分成两部分,即住宅周界防护和住宅内区域防护。住宅周界防护是指在住宅的门、窗上安装门磁开关;住宅内区域防护是指在主要通道、重要的房间内安装红外探测器。当家中有人时,住宅周界防护的防盗报警设备(门磁开关)设防,住宅内区域防护的防盗报警设备(红外探测器)撤防。当家人出门后,住宅周界防护的防盗报警设备(门磁开关)和住宅区域防护的防盗报警设备(红外探测器)均设防。当有非法侵入时,家庭控制器发出声光报警信号,通知家人及小区物业管理部门。另外,通过程序可设定报警点的等级和报警器的灵敏度。 在当今高速发展的社会中,人们对自身所处的环境越来越关心,居家安全已成为当今小康之家优先考虑的问题。当您上班家中无人,或者仅有老人孩子在家,或者您晚上在家熟睡,您必须确保家庭成员和财产的绝对安全。 目前,众多住宅小区的安防防犯主要倚靠安装防盗窗、防盗门以及人工防犯。这样不仅有碍美观,不符合防火的要求、而且不能有效地防止坏人的侵入。现在全国都在开展建设安全文明的小区活动,提出取消防盗网,“走出牢笼”的口号。因此为配合捷报花园的现代化管理,担当起整个小区的安全保卫,给住户一个安全舒适的居住环境,本方案提供一套技术先进、性能完善的AURINE家庭报警系统,组成小区内的智能安全防范系统。AURINE作为一家专业电子安全服务公司,采用先进的科学技术,加以丰富的保安实际经验和知识,向社会提供各种超值安全设备服务,给用户带来安全和放心。 设计思想 在小区内的每个住户单元安装一台报警主机,住户可选择安装在住户门口、窗户处安装门磁、紧急求助按钮、烟感探头、瓦斯探头、三鉴探头等报警感知设备,报警主机通过总线与管理中心的电脑相连接,进行安防信息管理,本系统具有远程报警功能,可选并联接打印机。如果发生盗贼闯入、抢劫、烟雾、燃气泄漏、玻璃破碎等紧急事故,传感器就会立即获知并由报警系统即刻触发声光警报以有效阻吓企图行窃的盗贼,而现场保安系统的密码键盘立即显示相应报警区域,使您的家人保持警戒;系统还会迅速向报警中心传送报警信息;报警中心接到警情后立即自动进行分辨处理,迅速识别判定警报类型、地点、用户,电子地图显示报警位置并瞬间检索打印用户报警信息,中心据此派出机动力量采取相应解救措施;系统具备24小时防破坏功能并自我监视,一旦有任何被破坏的迹象也会即刻报警。总之,无论白天黑夜,您离家在外还是在家休息,电子保安时时刻刻保护您的安全。这正是您能为您的家人、家庭、财产所做的最有效的安全防盗保护措施。 系统设计目标 通过在住宅内门窗及室内其他部位安装各种探测器进行昼夜控制,当监测到警情时,通过住宅内的报警主机传送至智能管理中心的报警接收计算机、接收将准确显示警情发生的住户名称、地址和警报类型、提示保安人员迅速确认警情,及时赶赴现场,以确保住户和人身安全。 同时,住户也可通过固定式紧急呼叫报警系统,在住宅内发生抢劫案件和病人突发疾病时,向智能化管理中心呼叫报警,中心可根据情况迅速处理。 报警设备选型原则 防盗报警系统的设计应当从实际需要出发,尽可能的使系统的结构简单、可靠,设计时应遵循的基本原则如下: (1)系统可靠必须高,即使工作电源发生故障,系统也必须处于随时能够工作的状态。 (2)系统应具备一定的扩充能力,以适应日后使用功能的变化。 (3)报警器应安装在非法闯入者不易察觉的位置,和报警器相连的线路最好采用钢管暗埋的方式进行敷设。 (4)传感器尽量安装在不显眼的地方,当受损时易于发现,且容易处理的场所。 (5)系统应当符合有关的国家和福建省地方标准,即集散型结构通过总线方式将报警控制中心与现场控制器连接起来,而探测器则分别连接到现场控制器上。在难于布线的局部区域宜采用无线通信设备。 (6)系统应尽量采用标准产品,便于日后系统的维护和检修。 (7)系统必须采用多层次,立体化的防卫方式。目标保护不能出现控制盲区。 我们在为捷报花园进行家庭报警系统设计时,充分考虑以上原则,为住户建议和设计最为适用的报警系统设备,安装隐蔽灵活。 系统组成 根据以上对家庭报警系统的要求分析我们选用AURINE生产的家庭报警系列产品,其系统组成如下: 家庭报警系统由住户前端、传输和管理中心三部分组成: 以上是其中的一部分,因为有图例,我把网址发给你 麻烦采纳,谢谢!
第1章 绪 论随着经济的发展,人们对防盗、防劫、防火保安设备的需求量大大增加。针对偷盗、抢劫、火灾、煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。本设计运用单片机技术设计了一新颖红外线防盗报警器。而本设计中的输入部分主要是各种各样的传感器。不同类型的探测器用不同的手段探测各种入侵行为;不同作用的传感器,也可检测出不同类型的情况。本章节主要介绍了本设计的选题背景、课题介绍、本文主要工作、方案论证。选题背景单片机现在已越来越广泛地应用于智能仪表、工业控制、日常生活等很多领域,可以说单片机的应用已渗透到人类的生活、工作的每一个角落,这说明它和我们每个人的工作、生活密切相关,也说明我们每个人都有可能和有机会利用单片机去改造你身边的仪器、产品、工作与生活环境。红外技术已经成为先进科学技术的重要组成部分,他在各领域都得到广泛的应用。由于他是不可见光,因此用他做防盗报警监控器,具有良好的隐蔽性,白天黑夜均可使用,而且抗干扰能力强。这种监控报警装置广泛应用与博物馆、单位要害部门和家庭的防护[1]。通常红外线发射电路都是采用脉冲调制式。红外接收电路首先将接收到的红外光转换为电信号,并进行放大和解调出用于无线发射电路的调制信号。当无人遮挡红外光时,锁相环输出低电平,报警处于监控状态;一旦有人闯入便遮挡了红外光,则锁相环失锁,输出高电平,驱动继电器接通无线发射电路,监控室便可接收到无线报警信号,并可区分报警地点[2]。当我们考虑的范围广一点:若是在小区每一住户内安装防盗报警装置。当住户家中无人时,可把家庭内的防盗报警系统设置为布防状态,当窃贼闯入时,报警系统自动发出警报并向小区安保中心报警[3]。周界报警系统:在小区的围墙上设置主动红外对射式探测器,防止罪犯由围墙翻入小区作案,保证小区内居民的生活安全[4]。目 录第1章 绪 论 选题背景 课题介绍 本文主要工作 方案选择论证 单片机的选择 显示器工作原理及其选择 液晶显示和数码显示 防盗报警选择传感器的选择 硬件系统总体设计 AT89C51芯片的介绍 引脚功能 结构原理 AT89C51定时器/计数器相关的控制寄存器介绍 MAX708芯片介绍 单片机复位设置 8255A芯片介绍 8255A的引脚和结构 8255的工作方式 8255的控制字 AT89C51与8255的接口电路 显示部分 七段显示译码器 7448译码驱动 单片机与7448译码驱动器及LED的连接 外部地址锁存器 23第3章 检测信号放大电路设计 热释红外线传感器典型电路 红外光敏二极管警灯电路 光敏二极管控制电路 红外线探测信号放大电路设计 光电耦合器驱动接口 集成电路运算放大器 精密多功能运算放大器INA105 低功耗、双运算放大器LM358 34第4章 电源设计 单片机系统电源 检测部分电源 主程序设计 核对子程序设计 中断子程序设计 读数子程序设计 程序设计说明 程序清单 41第6章 调试 安装调试 音响(和继电器)驱动线路具体连接 程序修改 程序执行过程 47结论 48参考文献 49致谢 51原理图 52基于单片机控制的红外防盗报警器的设计[摘要]:随着社会的不断进步和科学技术、经济的不断发展,人们生活水平得到很大的提高,对私有财产的保护意识在不断的增强,因而对防盗措施提出了新的要求。 本设计就是为了满足现代住宅防盗的需要而设计的家庭式电子防盗系统。目前市面上装备主要有压力触发式防盗报警器、开关电子防盗报警器和压力遮光触发式防盗报警器等各种报警器,但这几种比较常见的报警器都存在一些缺点。本系统采用了热释电红外传感器,它的制作简单、成本低,安装比较方便,而且防盗性能比较稳定,抗干扰能力强、灵敏度高、安全可靠。这种防盗器安装隐蔽,不易被盗贼发现。同时它的信号经过单片机系统处理后方便和PC机通信,便于多用户统一管理。本设计包括硬件和软件设计两个部分。硬件部分包括单片机控制电路、红外探头电路、驱动执行报警电路、LED控制电路等部分组成。处理器采用51系列单片机AT89S51。整个系统是在系统软件控制下工作的。系统程序可以划分为以下几个模块: 数据采集、键盘控制、报警和显示等子函数。[关键词]:单片机、红外传感器、数据采集、报警电路。Infrared burglar alarm design controls which basedon the monolithicintegrated circuitAbstract :Along with society's unceasing progress and science and technology,economical unceasing development, the people living standard obtainsthe very big enhancement, to private property protection consciousnessin unceasing enhancement, thus set the new request to the securitymeasure. This design is for satisfy the family type electron securitysystem which the modern housing security needs to present in the market condition equips mainly has the pressure totouch the hair style burglar alarm, the switch electron burglar alarmand the pressure shields light the hair style burglar alarmand so on each kind of alarm apparatus, but these kind of quite commonalarm apparatuses all have some shortcomings. This system used hashotly released the electricity infrared sensor, its manufacturesimple, cost low, installm the antijamming ability strong, thesensitivity high, safe was reliable. This kind of security installmenthiding, was not easily discovered by the bandits and its signal after monolithic integrated circuit systemprocessing the convenience and P the C machine correspondence, isadvantageous for the multiuser unification design designs two parts including the hardware and software. Thehardware partially including the monolithic integrated circuit controlcircuit, infrared pokes head in the electric circuit, the actuationexecution alarm circuit, the LED control circuit and so on the partialcompositions. The processor uses 51 series monolithic integratedcircuits AT89S51, the overall system is works under the systemsoftware control. The system program may divide into following severalmodules: The data acquisition, the keyboard control, reports to thepolice with the demonstration small steelyard words: AT89S51 monolithic integrated circuit, infrared sensor,data acquisition, alarm circuit.目 录1. 绪论 1 前言 设计任务与要求 12. 热释电红外传感器概述 PIR传感器简单介绍 PIR 的原理特性 PIR 结构特性 33. AT89S51单片机概述 AT89S51单片机的结构 管脚说明 主要特性 振荡器特性 AT89S51单片机的工作周期 AT89S51单片机的工作过程和工作方式 AT89S51的指令系统 164. 方案设计 系统概述 总体设计 系统硬件选择 硬件电路实现 软件的程序实现 215. 结论概述 主要结论 结束语 27致谢 28参考文献 29
深度神经网络(DNNs)是 AI 领域的重要成果,但它的 “存在感” 已经不仅仅限于该领域。 一些前沿生物医学研究,也正被这一特别的概念所吸引。特别是计算神经科学家。 在以前所未有的任务性能彻底改变计算机视觉之后,相应的 DNNs 网络很快就被用以试着解释大脑信息处理的能力,并日益被用作灵长类动物大脑神经计算的建模框架。经过任务优化的深度神经网络,已经成为预测灵长类动物视觉皮层多个区域活动的最佳模型类型之一。 用神经网络模拟大脑或者试图让神经网络更像大脑正成为主流方向的当下,有研究小组却选择用神经生物学的方法重新审视计算机学界发明的DNNs。 而他们发现,诸如改变初始权重等情况就能改变网络的最终训练结果。这对使用单个网络来窥得生物神经信息处理机制的普遍做法提出了新的要求:如果没有将具有相同功能的深度神经网络具有的差异性纳入考虑的话,借助这类网络进行生物大脑运行机制建模将有可能出现一些随机的影响。要想尽量避免这种现象,从事 DNNs 研究的计算神经科学家,可能需要将他们的推论建立在多个网络实例组的基础上,即尝试去研究多个相同功能的神经网络的质心,以此克服随机影响。 而对于 AI 领域的研究者,团队也希望这种表征一致性的概念能帮助机器学习研究人员了解在不同任务性能水平下运行的深度神经网络之间的差异。 人工神经网络由被称为 “感知器”、相互连接的单元所建立,感知器则是生物神经元的简化数字模型。人工神经网络至少有两层感知器,一层用于输入层,另一层用于输出层。在输入和输出之间夹上一个或多个 “隐藏” 层,就得到了一个 “深层” 神经网络,这些层越多,网络越深。 深度神经网络可以通过训练来识别数据中的特征,就比如代表猫或狗图像的特征。训练包括使用一种算法来迭代地调整感知器之间的连接强度(权重系数),以便网络学会将给定的输入(图像的像素)与正确的标签(猫或狗)相关联。理想状况是,一旦经过训练,深度神经网络应该能够对它以前没有见过的同类型输入进行分类。 但在总体结构和功能上,深度神经网络还不能说是严格地模仿人类大脑,其中对神经元之间连接强度的调整反映了学习过程中的关联。 一些神经科学家常常指出深度神经网络与人脑相比存在的局限性:单个神经元处理信息的范围可能比 “失效” 的感知器更广,例如,深度神经网络经常依赖感知器之间被称为反向传播的通信方式,而这种通信方式似乎并不存在于人脑神经系统。 然而,计算神经科学家会持不同想法。有的时候,深度神经网络似乎是建模大脑的最佳选择。 例如,现有的计算机视觉系统已经受到我们所知的灵长类视觉系统的影响,尤其是在负责识别人、位置和事物的路径上,借鉴了一种被称为腹侧视觉流的机制。 对人类来说,腹侧神经通路从眼睛开始,然后进入丘脑的外侧膝状体,这是一种感觉信息的中继站。外侧膝状体连接到初级视觉皮层中称为 V1 的区域,在 V1 和 V4 的下游是区域 V2 和 V4,它们最终通向下颞叶皮层。非人类灵长类动物的大脑也有类似的结构(与之相应的背部视觉流是一条很大程度上独立的通道,用于处理看到运动和物体位置的信息)。 这里所体现的神经科学见解是,视觉信息处理的分层、分阶段推进的:早期阶段先处理视野中的低级特征(如边缘、轮廓、颜色和形状),而复杂的表征,如整个对象和面孔,将在之后由颞叶皮层接管。 如同人的大脑,每个 DNN 都有独特的连通性和表征特征,既然人的大脑会因为内部构造上的差异而导致有的人可能记忆力或者数学能力更强,那训练前初始设定不同的神经网络是否也会在训练过程中展现出性能上的不同呢? 换句话说,功能相同,但起始条件不同的神经网络间究竟有没有差异呢? 这个问题之所以关键,是因为它决定着科学家们应该在研究中怎样使用深度神经网络。 在之前 Nature 通讯发布的一篇论文中,由英国剑桥大学 MRC 认知及脑科学研究组、美国哥伦比亚大学 Zuckerman Institute 和荷兰拉德堡大学的 Donders 脑科学及认知与行为学研究中心的科学家组成的一支科研团队,正试图回答这个问题。论文题目为《Individual differences among deep neural network models》。 根据这篇论文,初始条件不同的深度神经网络,确实会随着训练进行而在表征上表现出越来越大的个体差异。 此前的研究主要是采用线性典范相关性分析(CCA,linear canonical correlation analysis)和 centered-kernel alignment(CKA)来比较神经网络间的内部网络表征差异。 这一次,该团队的研究采用的也是领域内常见的分析手法 —— 表征相似性分析(RSA,representational similarity analysis)。 该分析法源于神经科学的多变量分析方法,常被用于将计算模型生产的数据与真实的大脑数据进行比较,在原理上基于通过用 “双(或‘对’)” 反馈差异表示系统的内部刺激表征(Inner stimulus representation)的表征差异矩阵(RDMs,representational dissimilarity matrices),而所有双反馈组所组成的几何则能被用于表示高维刺激空间的几何排布。 两个系统如果在刺激表征上的特点相同(即表征差异矩阵的相似度高达一定数值),就被认为是拥有相似的系统表征。 表征差异矩阵的相似度计算在有不同维度和来源的源空间(source spaces)中进行,以避开定义 “系统间的映射网络”。本研究的在这方面上的一个特色就是,使用神经科学研究中常用的网络实例比较分析方法对网络间的表征相似度进行比较,这使得研究结果可被直接用于神经科学研究常用的模型。 最终,对比的结果显示,仅在起始随机种子上存在不同的神经网络间存在明显个体差异。 该结果在采用不同网络架构,不同训练集和距离测量的情况下都成立。团队分析认为,这种差异的程度与 “用不同输入训练神经网络” 所产生的差异相当。 如上图所示,研究团队通过计算对应 RDM 之间的所有成对距离,比较 all-CNN-C 在所有网络实例和层、上的表示几何。 再通过 MDS 将 a 中的数据点(每个点对应一个层和实例)投影到二维。各个网络实例的层通过灰色线连接。虽然早期的代表性几何图形高度相似,但随着网络深度的增加,个体差异逐渐显现。 在证明了深度神经网络存在的显著个体差异之后,团队继续探索了这些差异存在的解释。 随后,研究者再通过在训练和测试阶段使用 Bernoulli dropout 方法调查了网络正则化(network regularization)对结果能造成的影响,但发现正则化虽然能在一定程度上提升 “采用不同起始随机种子的网络之表征” 的一致性,但并不能修正这些网络间的个体差异。 最后,通过分析网络的训练轨迹与个体差异出现的过程并将这一过程可视化,团队在论文中表示,神经网络的性能与表征一致性间存在强负相关性,即网络间的个体差异会在训练过程中被加剧。 总而言之,这项研究主要调查了多个神经网络在最少的实验干预条件下是否存在个体差异,即在训练开始前为网络设置不同权重的随机种子,但保持其他条件一致,并以此拓展了此前与 “神经网络间相关性” 有关的研究。 除了这篇 这篇 研究以外,“深度学习三巨头” 之一、著名 AI 学者 Hinton 也有过与之相关的研究,论文名为《Similarity of Neural Network Representations Revisited》,文章探讨了测量深度神经网络表示相似性的问题,感兴趣的读者可以一并进行阅读。 Refrence: [1] [2]
这两天在公司做PM实习,主要是自学一些CV的知识,以了解产品在解决一些在图像识别、图像搜索方面的问题,学习的主要方式是在知网检索了篇国内近3年计算机视觉和物体识别的硕博士论文。由于时间关系,后面还会继续更新图片相似度计算(以图搜图)等方面的学习成果 将这两天的学习成果在这里总结一下。你将会看到计算机视觉在解决特定物体识别问题(主要是卷积神经网络CNNs)的基础过程和原理,但这里不会深入到技术的实现层面。
计算机视觉(Computer vision)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用计算机处理成为更适合人眼观察或传送给仪器检测的图像。 ————维基百科 通常而言,计算机视觉的研究包括三个层次: (1)底层特征的研究: 这一层次的研究主要聚焦如何高效提取出图像对象具有判别性能的特征,具体的研究内容通常包括:物体识别、字符识别等 (2)中层语义特征的研究: 该层次的研究在于在识别出对象的基础上,对其位置、边缘等信息能够准确区分。现在比较热门的:图像分割;语义分割;场景标注等,都属于该领域的范畴 (3)高层语义理解: 这一层次建立在前两层的基础上,其核心在于“理解”一词。 目标在于对复杂图像中的各个对象完成语义级别的理解。这一层次的研究常常应用于:场景识别、图像摘要生成及图像语义回答等。 而我研究的问题主要隶属于底层特征和中层语义特征研究中的物体识别和场景标注问题。
人类的视觉工作模式是这样的: 首先,我们大脑中的神经元接收到大量的信息微粒,但我们的大脑还并不能处理它们。 于是接着神经元与神经元之间交互将大量的微粒信息整合成一条又一条的线。 接着,无数条线又整合成一个个轮廓。 最后多个轮廓累加终于聚合我们现在眼前看到的样子。 计算机科学受到神经科学的启发,也采用了类似的工作方式。具体而言,图像识别问题一般都遵循下面几个流程
(1)获取底层信息。获取充分且清洁的高质量数据往往是图像识别工作能否成功的关键所在 (2)数据预处理工作,在图像识别领域主要包括四个方面的技术:去噪处理(提升信噪比)、图像增强和图像修复(主要针对不够清晰或有破损缺失的图像);归一化处理(一方面是为了减少开销、提高算法的性能,另一方面则是为了能成功使用深度学习等算法,这类算法必须使用归一化数据)。 (3)特征提取,这一点是该领域的核心,也是本文的核心。图像识别的基础是能够提取出足够高质量,能体现图像独特性和区分度的特征。 过去在10年代之前我们主要还是更多的使用传统的人工特征提取方法,如PCA\LCA等来提取一些人工设计的特征,主要的方法有(HOG、LBP以及十分著名的SIFT算法)。但是这些方法普遍存在(a)一般基于图像的一些提层特征信息(如色彩、纹理等)难以表达复杂的图像高层语义,故泛化能力普遍比较弱。(b)这些方法一般都针对特定领域的特定应用设计,泛化能力和迁移的能力大多比较弱。 另外一种思路是使用BP方法,但是毕竟BP方法是一个全连接的神经网络。这以为这我们非常容易发生过拟合问题(每个元素都要负责底层的所有参数),另外也不能根据样本对训练过程进行优化,实在是费时又费力。 因此,一些研究者开始尝试把诸如神经网络、深度学习等方法运用到特征提取的过程中,以十几年前深度学习方法在业界最重要的比赛ImageNet中第一次战胜了SIFT算法为分界线,由于其使用权重共享和特征降采样,充分利用了数据的特征。几乎每次比赛的冠军和主流都被深度学习算法及其各自改进型所占领。其中,目前使用较多又最为主流的是CNN算法,在第四部分主要也研究CNN方法的机理。
上图是一个简易的神经网络,只有一层隐含层,而且是全连接的(如图,上一层的每个节点都要对下一层的每个节点负责。)具体神经元与神经元的作用过程可见下图。
在诸多传统的神经网络中,BP算法可能是性能最好、应用最广泛的算法之一了。其核心思想是:导入训练样本、计算期望值和实际值之间的差值,不断地调整权重,使得误差减少的规定值的范围内。其具体过程如下图:
一般来说,机器学习又分成浅层学习和深度学习。传统的机器学习算法,如SVM、贝叶斯、神经网络等都属于浅层模型,其特点是只有一个隐含层。逻辑简单易懂、但是其存在理论上缺乏深度、训练时间较长、参数很大程度上依赖经验和运气等问题。 如果是有多个隐含层的多层神经网络(一般定义为大于5层),那么我们将把这个模型称为深度学习,其往往也和分层训练配套使用。这也是目前AI最火的领域之一了。如果是浅层模型的问题在于对一个复杂函数的表示能力不够,特别是在复杂问题分类情况上容易出现分类不足的弊端,深度网络的优势则在于其多层的架构可以分层表示逻辑,这样就可以用简单的方法表示出复杂的问题,一个简单的例子是: 如果我们想计算sin(cos(log(exp(x)))), 那么深度学习则可分层表示为exp(x)—>log(x)—>cos(x)—>sin(x)
图像识别问题是物体识别的一个子问题,其鲁棒性往往是解决该类问题一个非常重要的指标,该指标是指分类结果对于传入数据中的一些转化和扭曲具有保持不变的特性。这些转化和扭曲具体主要包括了: (1)噪音(2)尺度变化(3)旋转(4)光线变化(5)位移
该部分具体的内容,想要快速理解原理的话推荐看[知乎相关文章] ( ), 特别是其中有些高赞回答中都有很多动图和动画,非常有助于理解。 但核心而言,CNN的核心优势在于 共享权重 以及 感受野 ,减少了网络的参数,实现了更快的训练速度和同样预测结果下更少的训练样本,而且相对于人工方法,一般使用深度学习实现的CNN算法使用无监督学习,其也不需要手工提取特征。
CNN算法的过程给我的感觉,个人很像一个“擦玻璃”的过程。其技术主要包括了三个特性:局部感知、权重共享和池化。
CNN中的神经元主要分成了两种: (a)用于特征提取的S元,它们一起组成了卷积层,用于对于图片中的每一个特征首先局部感知。其又包含很关键的阈值参数(控制输出对输入的反映敏感度)和感受野参数(决定了从输入层中提取多大的空间进行输入,可以简单理解为擦玻璃的抹布有多大) (b)抗形变的C元,它们一起组成了池化层,也被称为欠采样或下采样。主要用于特征降维,压缩数据和参数的数量,减小过拟合,同时提高模型的容错性。 (c*)激活函数,及卷积层输出的结果要经过一次激励函数才会映射到池化层中,主要的激活函数有Sigmoid函数、Tanh函数、ReLU、Leaky ReLU、ELU、Maxout等。
也许你会抱有疑问,CNN算法和传统的BP算法等究竟有什么区别呢。这就会引出区域感受野的概念。在前面我们提到,一个全连接中,较高一层的每个神经元要对低层的每一个神经元负责,从而导致了过拟合和维度灾难的问题。但是有了区域感受野和,每个神经元只需要记录一个小区域,而高层会把这些信息综合起来,从而解决了全连接的问题。
了解区域感受野后,你也许会想,区域感受野的底层神经元具体是怎么聚合信息映射到上一层的神经元呢,这就要提到重要的卷积核的概念。这个过程非常像上面曾提到的“神经元与神经元的联系”一图,下面给大家一个很直观的理解。
上面的这个过程就被称为一个卷积核。在实际应用中,单特征不足以被系统学习分类,因此我们往往会使用多个滤波器,每个滤波器对应1个卷积核,也对应了一个不同的特征。比如:我们现在有一个人脸识别应用,我们使用一个卷积核提取出眼睛的特征,然后使用另一个卷积核提取出鼻子的特征,再用一个卷积核提取出嘴巴的特征,最后高层把这些信息聚合起来,就形成了分辨一个人与另一个人不同的判断特征。
现在我们已经有了区域感受野,也已经了解了卷积核的概念。但你会发现在实际应用中还是有问题: 给一个100 100的参数空间,假设我们的感受野大小是10 10,那么一共有squar(1000-10+1)个,即10的六次方个感受野。每个感受野中就有100个参数特征,及时每个感受野只对应一个卷积核,那么空间内也会有10的八次方个次数,,更何况我们常常使用很多个卷积核。巨大的参数要求我们还需要进一步减少权重参数,这就引出了权重共享的概念。 用一句话概括就是,对同一个特征图,每个感受野的卷积核是一样的,如这样操作后上例只需要100个参数。
池化是CNN技术的最后一个特性,其基本思想是: 一块区域有用的图像特征,在另一块相似的区域中很可能仍然有用。即我们通过卷积得到了大量的边缘EDGE数据,但往往相邻的边缘具有相似的特性,就好像我们已经得到了一个强边缘,再拥有大量相似的次边缘特征其实是没有太大增量价值的,因为这样会使得系统里充斥大量冗余信息消耗计算资源。 具体而言,池化层把语义上相似的特征合并起来,通过池化操作减少卷积层输出的特征向量,减少了参数,缓解了过拟合问题。常见的池化操作主要包括3种: 分别是最大值池化(保留了图像的纹理特征)、均值池化(保留了图像的整体特征)和随机值池化。该技术的弊端是容易过快减小数据尺寸,目前趋势是用其他方法代替池化的作用,比如胶囊网络推荐采用动态路由来代替传统池化方法,原因是池化会带来一定程度上表征的位移不变性,传统观点认为这是一个优势,但是胶囊网络的作者Hinton et al.认为图像中位置信息是应该保留的有价值信息,利用特别的聚类评分算法和动态路由的方式可以学习到更高级且灵活的表征,有望冲破目前卷积网络构架的瓶颈。
CNN总体来说是一种结构,其包含了多种网络模型结构,数目繁多的的网络模型结构决定了数据拟合能力和泛化能力的差异。其中的复杂性对用户的技术能力有较高的要求。此外,CNN仍然没有很好的解决过拟合问题和计算速度较慢的问题。
该部分的核心参考文献: 《深度学习在图像识别中的应用研究综述》郑远攀,李广阳,李晔.[J].计算机工程与应用,2019,55(12):20-36. 深度学习技术在计算机图像识别方面的领域应用研究是目前以及可预见的未来的主流趋势,在这里首先对深度学习的基本概念作一简介,其次对深度学习常用的结构模型进行概述说明,主要简述了深度信念网络(DBN)、卷积神经网络(CNN)、循环神经网络(RNN)、生成式对抗网络(GAN)、胶囊网络(CapsNet)以及对各个深度模型的改进模型做一对比分析。
深度学习按照学习架构可分为生成架构、判别架构及混合架构。 其生成架构模型主要包括: 受限波尔兹曼机、自编码器、深层信念网络等。判别架构模型主要包括:深层前馈网络、卷积神经网络等。混合架构模型则是这两种架构的集合。深度学习按数据是否具有标签可分为非监督学习与监督学习。非监督学习方法主要包括:受限玻尔兹曼机、自动编码器、深层信念网络、深层玻尔兹曼机等。 监督学习方法主要包括:深层感知器、深层前馈网络、卷积神经网络、深层堆叠网络、循环神经网络等。大量实验研究表明,监督学习与非监督学习之间无明确的界限,如:深度信念网络在训练过程中既用到监督学习方法又涉及非监督学习方法。
[1]周彬. 多视图视觉检测关键技术及其应用研究[D].浙江大学,2019. [2]郑远攀,李广阳,李晔.深度学习在图像识别中的应用研究综述[J].计算机工程与应用,2019,55(12):20-36. [3]逄淑超. 深度学习在计算机视觉领域的若干关键技术研究[D].吉林大学,2017. [4]段萌. 基于卷积神经网络的图像识别方法研究[D].郑州大学,2017. [5]李彦冬. 基于卷积神经网络的计算机视觉关键技术研究[D].电子科技大学,2017. [6]李卫. 深度学习在图像识别中的研究及应用[D].武汉理工大学,2014. [7]许可. 卷积神经网络在图像识别上的应用的研究[D].浙江大学,2012. [8]CSDN、知乎、机器之心、维基百科
虽然我们大多数人都惊叹为什么DL这么好?在使用大量数据进行训练时,它在准确性方面非常出色。近几年随着深度学习算法的发展,出现了很多深度学习的框架,这些框架各有所长,各具特色。下面将为大家介绍2019年最受欢迎的十大深度学习框架。
谷歌的Tensorflow可以说是当今最受欢迎的深度学习框架。Gmail,Uber,Airbnb,Nvidia以及其他许多知名品牌都在使用。TF是目前深度学习的主流框架,Tensorflow主要特性:
TensorFlow优点:
Tensorflow之后用于深度学习的主要框架是PyTorch。PyTorch框架是Facebook开发的,已被Twitter和Salesforce等公司使用。
PyTorch基本特性:
PyTorch优点:
Sonnet深度学习框架是建立在TensorFlow的基础之上。它是DeepMind用于创建具有复杂架构的神经网络。
Sonnet基本特性:
Sonnet优点:
Keras是一个机器学习框架,如果您拥有大量数据和/或你想快速入门深度学习,那么Keras将非常适合学习。Keras是TensorFlow高级集成APi,可以非常方便的和TensorFlow进行融合。这是我强烈推荐学习的一个库。
Keras基本特性:
Keras优点:
顺便说一下TensorFlow和Keras的对比:
PS:Tensorflow处于底层框架:这和MXNet,Theano和PyTorch等框架一样。包括实现诸如广义矩阵 - 矩阵乘法和诸如卷积运算的神经网络原语之类的数学运算。
Keras处于高度集成框架。虽然更容易创建模型,但是面对复杂的网络结构时可能不如TensorFlow。
MXNet是一种高度可扩展的深度学习工具,可用于各种设备。虽然与TensorFlow相比,它似乎没有被广泛使用,但MXNet的增长可能会因为成为一个Apache项目而得到提升。
MXNet基本特性:
MXNet优点:
虽然它不像TF那么受欢迎,但MXNet具有详细的文档并且易于使用,能够在命令式和符号式编程风格之间进行选择,使其成为初学者和经验丰富的工程师的理想选择。
Gluon是一个更好的深度学习框架,可以用来创建复杂的模型。GLUON基本特性:
GLUON优点:
当你听到Swift时,您可能会考虑iOS或MacOS的应用程序开发。但是如果你正在学习深度学习,那么你一定听说过Swens for Tensorflow。通过直接与通用编程语言集成,Swift for TensorFlow可以以前所未有的方式表达更强大的算法。SWIFT基本特性:
SWIFT优点:
直到CMU的DyNet和Facebook的PyTorch出现之前,Chainer是动态计算图或网络的领先神经网络框架,它允许输入数据长度不一致。chainer基本特性:
Chainer优点:
那些使用Java或Scala的人应该注意DL4J(Deep Learning for Java的简称)。DL4J的基本特性:
DL4J优点:
ONNX项目诞生于微软和Facebook,旨在寻找深度学习模型呈现的开放格式。ONNX简化了在人工智能的不同工作方式之间传递模型的过程。因此ONNX具有各种深度学习框架的优点。
ONNX基本特性:
ONNX优点:
那么您应该使用哪种深度学习框架?下面是几点建议: