第一章前言部分1.1课程项目背景与意义1.1.1课程项目背景视觉是各个应用领域,如制造业、检验、文档分析、医疗诊断,和军事等领域中各种智能/自主系统中不可分割的一部分。
由于它的重要性,一些先进国家,例如美国把对计算机视觉的研究列为对经济和科学有广泛影响的科学和工程中的重大基本问题,即所谓的重大挑战。
计算机视觉的挑战是要为计算机和机器人开发具有与人类水平相当的视觉能力。
机器视觉需要图象信号,纹理和颜色建模,几何处理和推理,以及物体建模。
一个有能力的视觉系统应该把所有这些处理都紧密地集成在一起。
作为一门学科,计算机视觉开始于60年代初,但在计算机视觉的基本研究中的许多重要进展是在80年代取得的。
计算机视觉与人类视觉密切相关,对人类视觉有一个正确的认识将对计算机视觉的研究非常有益。
计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。
作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取‘信息’的人工智能系统。
这里所指的信息指Shannon定义的,可以用来帮助做一个“决定”的信息。
因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。
科学技术的发展是推动人类社会进步的主要原因之一,未来社会进一步地朝着科技化、信息化、智能化的方向前进。
在信息大爆炸的今天,充分利用这些信息将有助于社会的现代化建设,这其中图像信息是目前人们生活中最常见的信息。
利用这些图像信息的一种重要方法就是图像目标定位识别技术。
不管是视频监控领域还是虚拟现实技术等都对图像的识别有着极大的需求。
一般的图像目标定位识别系统包括图像分割、目标关键特征提取、目标类别分类三个步骤。
深度学习的概念源于人工神经网络的研究。
含多隐层的多层感知器就是一种深度学习结构。
深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
深度学习的概念由Hinton等人于2006年提出。
基于深度置信网络提出非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,随后提出多层自动编码器深层结构。
此外Lecun等人提出的卷积神经网络是第一个真正多层结构学习算法,它利用空间相对关系减少参数数目以提高训练性能。
深度学习是机器学习中的一个新的研究领域,通过深度学习的方法构建深度网络来抽取特征是目前目标和行为识别中得到关注的研究方向,引起更多计算机视觉领域研究者对深度学习进行探索和讨论,并推动了目标和行为识别的研究,推动了深度学习及其在目标和行为识别中的新进展。
基于这个发展趋势,我们小组选择了基于回归方法的深度学习目标识别算法YOLO的研究。
1.1.2课程项目研究的意义众所周知,当前是信息时代,信息的获得、加工、处理以及应用都有了飞跃发展。
人们认识世界的重要知识来源就是图像信息,在很多场合,图像所传送的信息比其他形式的信息更丰富、真切和具体。
人眼与大脑的协作使得人们可以获取、处理以及理解视觉信息,人类利用视觉感知外界环境信息的效率很高。
事实上,据一些国外学者所做的统计,人类所获得外界信息有80%左右是来自眼睛摄取的图像。
由此可见,视觉作为人类获取外界信息的主要载体,计算机要实现智能化,就必须能够处理图像信息。
尤其是近年来,以图形、图像、视频等大容量为特征的图像数据处理广泛应用于医学、交通、工业自动化等领域。
深度学习是机器学习中一种基于对数据进行表征学习的方法。
观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。
而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。
深度学习的好处是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。
深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。
目标检测对于人来说是再简单不过的任务,但是对于计算机来说,它看到的是一些值为0~255的数组,因而很难直接得到图像中有人或者猫这种高层语义概念,也不清楚目标出现在图像中哪个区域。
图像中的目标可能出现在任何位置,目标的形态可能存在各种各样的变化,图像的背景千差万别……,这些因素导致目标检测并不是一个容易解决的任务。
这次课程项目,正是基于视觉、深度学习、目标识别而进行的,是一个热度很高的话题。
基于深度学习的目标识别研究具有重大的意义,深度学习的目标识别算法对于未来能够使用目标检测和图像识别的手段运用于物联网、智能设备、生物制药经济调控等多领域有很大的作用。
1.2国外研究现状机器学习是一门专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能的学科。
机器能否像人类一样能具有学习能力呢?1959年美国的塞缪尔(Samuel)设计了一个下棋程序,这个程序具有学习能力,它可以在不断的对弈中改善自己的棋艺。
4年后,这个程序战胜了设计者本人。
又过了3年,这个程序战胜了美国一个保持8年之久的常胜不败的冠军。
这个程序向人们展示了机器学习的能力,提出了许多令人深思的社会问题与哲学问题。
深度学习最近几年发展速度十分快,因此同时也推动了目标识别技术的发展,技术的革新总是相互影响的。
目标检测是图像处理和计算机视觉的一个重要分支,在理论和实践上都有重大意义。
近年来,随着物联网的高速发展与智能终端的广泛普及,目标检测技术成了机器视觉领域的研究热点,被国外学者广泛关注。
目标检测的研究主要包括了基于视频图像的目标检测和基于静态图片的目标检测。
本文主要讨论基于静态图片的目标检测算法,即在静态图片中检测并定位所设定种类的目标。
基于静态图片的目标检测的难点主要在于图片中的目标会因光照、视角以及目标部等变化而产生变化。
针对以上的难点,国外学者进行了很多尝试。
目前提出的方法主要分为基于形状轮廓的目标检测算法和基于目标特征的检测方法。
计算机视觉是指用计算机实现人的视觉功能,它的研究目标就是使计算机具有用过一幅或多幅图像认知周围环境的能力(包括对客观世界三维环境的感知、识别与理解)。
运动目标检测作为计算机视觉技术的一个分支,就是对视场的运动目标,如人或交通工具,进行实时的观测,并将其分类,然后分析他们的行为。
目前,国际上许多高校和研究所,如麻省理工学学院、牛津大学等都专门设立了针对运动目标检测的研究组或者研究实验室。
美英等国家已经研究了大量的相关项目。
一些著名公司和研究机构,如IBM、Microsoft、麻省理工学院等近几年来投入了大量的人力物力来进行智能监控系统的研究,部分成果已经转化为产品投入了市场。
目前在国的研究机构中,中国科学院自动化研究所下属的模式识别国家重点实验室视觉监控研究处于领先地位。
他们在交通场景视觉监控、人的运动视觉监控和行为模式识别方面进行了深入研究。
另外他们也总结了英国雷丁大学VIEWS 的车辆交通监控原型系统的研究经验,在之前的理论研究的基础上,自行设计并初步实现了一个拥有完全自主知识产权的交通监控原型系统vstart(Visual surveillance star)。
国其他高校如交通大学、航空航天大学也对这方面进行了研究。
尽管这样,目前在运动目标检测和视觉监控这方面仍然存在着许多不足:目前国市场上所见到的大部分智能监控产品来源于国外,性能和可靠性不够,并且维护和安装问题需要外方全方位参加,给国家安全带来了巨大的隐患。
目标之间互遮挡和人体自遮挡问题,尤其是在拥挤状态下,多人的检测更是难处理。
1.3本论文结构本文是基于回归方法的深度学习目标识别算法YOLO的研究。
第一章:前言。
主要介绍课程项目背景与意义、国外研究的现状,以及本论文的结构。
第二章:使用工具介绍及安装。
包括CentOS系统、OpenCV工具、CUDA开发环境、环境的搭建。
第三章:YOLO算法简介。
包括YOLO方法特点、核心思想和实现方法、以及YOLO 的创新。
第四章:训练数据采集与制作。
包括训练数据的采集、训练数据的制作。
第五章:训练配置、训练及测试训练效果。
包括具体的训练配置、训练过程和测试训练效果。
第六章:总结。
包含对本次课程项目实践过程的感想与收获,以及对未来的展望。
第二章使用工具介绍及安装2.1 CentOS系统CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。
由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS 替代商业版的Red Hat Enterprise Linux使用。
两者的不同,在于CentOS并不包含封闭源代码软件。
CentOS,我们有很多人叫它社区企业操作系统,不管怎么叫它,它都是linux 的一个发行版本。
CentOS并不是全新的linux发行版,在RedHat家族中有企业版的产品,它是Red Hat Enterprise Linux,CentOS是RHEL的克隆版本,RHEL 是很多企业采用的linux发行版本,需要向RedHat付费才可以使用,并能得到付过费用的服务和技术支持和版本升级。
这个CentOS可以像REHL一样的构筑linux系统环境,但不需要向RedHat付任何的费用,同样也得不到任何有偿技术支持和升级服务。
CentOS有很多特点:CentOS就是对Red Hat AS进行改进后发布的,各种操作、使用和RED HAT没有区别;CentOS完全免费,不存在RED HAT AS4需要序列号的问题;CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RED HAT那样需要花钱购买支持服务;CentOS修正了许多RED HAT AS的BUG。
基于开源的特性,Linux环境被很多技术人员和公司使用。
Linux以它的高效性和灵活性著称,Linux模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能够在廉价的PC机上实现全部的Unix特性,具有多任务、多用户的能力。
我们这次的课程项目“基于深度学习的目标识别研究”也是在Linux环境下完成的,因此本次项目实现使用的是CentOS 7.0系统。
2.2 OpenCV工具OpenCV的全称是:Open Source Computer Vision Library。
OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS 操作系统上。