基于深度神经网络目标检测算法研究
摘要
近年来,基于深度神经网络(DL)的人工智能(AI)引起了全球的极大兴趣。深度神经网络今天被广泛使用,并已扩展到各种有趣的领域。它在跨学科研究中越来越受欢迎,例如将计算机科学与工程应用相结合的智慧城市系统研究。人体动作检测是这些领域之一。由于对计算速度和准确性的严格要求,人类行为检测是一个有趣的挑战。高精度实时目标跟踪也被认为是一项重大挑战。
目标检测(Object Detection)是计算机视觉领域的基本任务之一,学术界已有将近二十年的研究历史。近些年随着深度学习技术的火热发展,目标检测算法也从基于手工特征的传统算法转向了基于深度神经网络的检测技术。从最初2013年提出的R-CNN、OverFeat,到后面的Fast/Faster R-CNN,SSD,YOLO系列,再到2018年最近的Pelee。短短不到五年时间,基于深度学习的目标检测技术,在网络结构上,从two stage到one stage,从bottom-up only到Top-Down,从single scale network到feature pyramid network,从面向PC端到面向手机端,都涌现出许多好的算法技术,这些算法在开放目标检测数据集上的检测效果和性能都很出。
深度神经网络的提出极大地帮助基于视觉的目标检测提高了准确度。自2014年以来,深度神经网络在基于视觉的目标检测中被广泛应用,出现了多种算法。本论文分别讨论两阶段和一阶段算法的主要思路、发展过程以及实现效果等,最后结合相关领域的一些成果讨论基于视觉的目标检测未来可能的应用模式。
污到让人下面滴水不止100句子关键词:目标检测,神经网络,R-CNN,SSD,YOLO
1.1研究背景及意义
当人类首次发明计算机时,就已经开始思考如何让计算机变得智能。如今,人工智能(artificial intelligence)已经成为一个非常火热的领域,并且具有众多活跃的研究
课题以及惠及生活方方面面的实际应用。这个领域目前正在以几何倍的速度增长着,并
且未来也将持续健康发展。人们希望可以借助人工智能自动地处理一些主观的,非规范
性的事物,如识别图像等。
在人工智能发展初期,计算机很容易处理一些人类很难甚至是无法解决的问题,这些
问题可以用一种形式化的数学规律来描述。人工智能真正面临的任务是那些很难用形式
化符号描述的任务,当然对于人类来说很容易执行。举个例子,人们能够轻松识别对方
说的话,也能够轻易识别图像中的物体。对于这类问题,计算机却无法给出自己的判断。
计算机很擅长助理抽象和形式化的任务,但是人类却觉得这是很困难的脑力劳动。早
在上个世纪,计算机就在国际象棋方面战胜了人类选手。但一直到最近几年,计算机才
在语音和图像识别任务中达到人类一般水平。通常一个人的思维发育需要海量有关外界
的知识。相当一部分领域的知识是主观的,并且很难用形式化的结构表示清楚。同人类
一样,计算机也要获得同样数量级的知识才能表现得智能化。因此,对于研究人工智能
马蓉出轨证据领域的学者来说,关键的挑战就是如何将这些主观的、非形式化的知识教会计算机来学习。
人工智能系统需要具备从原始数据中拟合模型的能力,也就是自主学习的能力。我们
hp电脑售后电话通常称这种拟合的能力叫机器学习(machine learning)。利用机器学习,计算机能够拟
合出关于真实事物的近似模型,并对相似事物做出判断。目前主流的机器学习的工作都
是经过两个步骤,首先人工选定一个特征集合,然后将原始数据提交给模型,根据选定
特征拟合出决策模型。
现实中的事物极其复杂,人们很难深入到事物内部看清本质,很难知道哪些特征是重
要的,甚至不知道什么才是真正的特征。研究生物神经网络带给我们的启示就是可以让
机器自主发掘隐藏在知识中的规律,而不只是简单把知识灌输给计算机,这会让计算机
像个顽皮的孩子一样学完就忘了。人类从原始数据中提取高度抽象的特征是极其困难的,而计算机通过模拟人脑就可以用较简单的模型来表示复杂概念,解决了特征提取这一关
键问题。深度学习逐渐发展成以人工神经网络(artificial neural network)算法为核
心的算法体系。
人工神经网络为人工智能的研究带来了前所未有的期望。人工神经网络并不是近代的
产物,上世纪50年代就验证了其可行性,为什么直到最近几年才被普遍接受?这也是研
究深度网络算法的意义之所在。首先日俱增的数据量得以存储,出现了很多专门用于研
究神经网络的数据集,这些数据集越来越大并且质量都很高,如图1-1所示。人们迫切
希望有一种算法能从海量数据中发现事物的本质。其次是大规模的模型已经出现,经过
近几十年的发展,模型中神经元的连接数已经达到了数十亿级,逐渐接近人类大脑的连
接数。科学家预计这种增长势头将稳定持续到未来若干年。最后人工神经网络模型做决
策的能力一直在提高,各大数据集上的准确率不断被刷新。深度学习发展迅速,但仍然
汉语言文学专业很年轻,还有很多未知领域的研究和实际应用等着人类去发掘。
1.2 物体识别技术的发展
1.2.1传统物体识别的发展
物体检测一直是计算机视觉领域经久不衰的研究方向。物体检测同样是一个主观的过程,对于人类来说相当简单。就连一个没受过任何训练的孩子通过观察图片中不同的颜、区域等特征就能轻易定位出目标物体。但计算机收到这些RGB像素矩阵,不会直接得到目标(如行人、车辆等)的抽象概念,更不必说定位其位置了。再加上目标形态千差万别,目标和背景重合等问题,使得目标检测难上加难。
传统的目标检测算法包括三个阶段,首先生成目标建议框,接着提取每个建议框中的特征,最后根据特征进行分类。以下是这三个阶段的具体过程:
呆的拼音1,生成目标建议框。当输入一张原始图片时,计算机只认识每一个像素点,想要用方框框出目标的
qq密保问题
位置以及大小,最先想到的方法就是穷举建议框,具体的做法就是用滑动窗口扫描整个图像,还要通过缩放来进行多尺度滑窗。很显然这种方法计算量很大,很多都是重复的计算,并且效率极低。
2,提取每个建议框中的特征。在传统的检测中,常见的HOG[20]算法对物体边缘使用直方图统计来进行编码,有较好的表达能力。然而传统特征设计需要人工指定,达不到可靠性的要求。
3,分类器的设计。传统的分类器在机器学习领域非常多。具有代表性的SVM将分类间隔最大化来获得分类平面的支持向量,在指定特征的数据集上表现良好。
然而传统的算法在预测精度和速度上都很不理想,随着深度学习算法在计算机视觉领域大放异彩,并逐渐成为霸主,传统识别算法渐渐暗淡。
1.2.2 基于深度学习的物体识别技术发展
自从深度神经网络算法首次在ImageNet数据集上大放异彩,物体检测领域逐渐开始利用深度学习来做研究。随后各种结构的深度模型被提出,数据集的准确率一再被刷新。实际上,深度学习模型在分类任务上将传统的方法远远地甩在身后。图像分类上明显的提升也带动了检测领域的快速发展。
到目前为止,高性能的检测算法都基于深度学习。最早的R-CNN(Region-based CNN)[23]首次使用深度模型提取图像特征,以49.6%的准确率开创了检测算法的新时代。早期的物体检测,都以滑动
窗口的方式生成目标建议框,这种方式本质上与穷举法无异。
实际上,重复计算问题仍然没有得到解决。Fast R-CNN[25]的出现正是为了解决冗余计算这个问题。Fast R-CNN添加了一个简化的SPP[24]层,使得它的训练和测试过程能够合并在一起。
Fast R-CNN[26]使用Selective Search来生成目标候选框,但是速度依然达不到实时的要求。Faster R-CNN则直接利用RPN(Region Proposal Networks)网络来生成目标候选框。RPN输入任意像素的原始图像,输出一批矩形区域,每个区域对应一个目标坐标信息和置信度。从R-CNN到Faster R-CNN,是一个合并的过程,它把传统检测的三个步骤整合到同一个深度网络模型中。
基于回归算法的检测模型又将检测领域带到一个新的高度。其中以YOLO[28]和SSD[30]方法为代表的检测方法做到了真正意义上的实时效果。
R-CNN到Faster R-CNN,再到SSD等是检测方法发展的主要轨迹。实际应用中还有许多特定物体的检测方法,如人脸检测、行人检测等。随着技术的发展,相信未来检测方法也
会更加智能。
1.3论文组织结构
本论文的整体结构共有六个章节,分别如下:
第1章引言。简要介绍了物体识别算法的研究意义和背景,国内外发展状况,以及从传统方法到基于深度学习算法的变更。研究人员逐渐舍弃了基于人工提取图像特征的传统算法,开始大范围使用卷积网络让网络自己来提取特征。最终提高算法在分类上的准确度,进而提高图像物体检测的准确性。
第2章深度神经网络。讲述了深度网络的基本原理(包括其结构形态、基本单元、工作模式等),以及对图像数据敏感的卷积网络。之后又介绍了一些经典的卷积网络结构和它们用到的优化方法。
第3章目标检测算法概述。细介绍了物体识别(也叫目标检测)的策略,即在卷积网络的基础上增加了候选框建议和边框回归的策略,重点介绍了SSD算法。
第4章目标检测应用自动驾驶。实现了一个基于深度网络的物体识别系统。最后对测试结果进行阐述和总结。
第5章总结与展望。对项目整体的实现情况作出总结,并对未来的发展和研究做更进一步的展望。
第2章深度神经网络
2.1  启发:线性回归
神经网络的基本计算主要以线性和非线性为主,线性是为了对不同的特征进行相互组合,其主要的运
算结果是线性回归问题;非线性处理是为了对模型进行优化,使其能够处理非线性问题,其主要运算以函数形式。
线性模型是机器学习中最简单的分类模型,单变量线性回归是典型
的回归问题,其主要模型为:其中W表示参数矩
阵(或权重矩阵),b 表示偏向向量(一元线性曲线的截距),x 表示输入的特征向量,y表示对应的输出。线性分类器的目的便是训练一个线性回归方程,使得其能够拟合实际的样本输出。
通过曲线图可以描绘线性回归方程的含义:
下面给出模型训练的推导:
假设有一组训练样本,记作 D ={(X,Y)|X ={x 1 , x 2 , . . . , x n },Y ={y 1 , y 2 , . . . , y n }},其中 n表示样本数,选择平方差作为损失函数,即:则代价函数(所有样本的损失函数的均值)为:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。