前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的卷积神经网络的一般步骤主题范文,仅供参考,欢迎阅读并收藏。
2. 应用领域安防
实时从视频中检测出行人和车辆。
自动找到视频中异常的行为(比如,醉酒的行人或者逆行的车辆),并及时发出带有具体地点方位信息的警报。
自动判断人群的密度和人流的方向,提前发现过密人群带来的潜在危险,帮助工作人员引导和管理人流。
医疗
对医学影像进行自动分析的技术。这些技术可以自动找到医学影像中的重点部位,并进行对比比分析。
通过多张医疗影像重建出人体内器官的三维模型,帮助医生设计手术,确保手术
为我们每个人提供康建议和疾病风险预警,从而让我们生活得更加健康。
智能客服
智能客服可以像人一样和客户交流沟通。它可以听懂客户的问题,对问题的意义进行分析(比如客户是询问价格呢还是咨询产品的功能呢),进行准确得体并且个性化的回应。
自动驾驶
现在的自动驾驶汽车通过多种传感器,包括视频摄像头、激光雷达、卫星定位系统(北斗卫星导航系统BDS、全球定位系统GPS等)等,来对行驶环境进行实时感知。智能驾驶系统可以对多种感知信号进行综合分析,通过结合地图和指示标志(比如交通灯和路牌),实时规划驾驶路线,并发出指令,控制车子的运行。
工业制造
帮助工厂自动检测出形态各异的缺陷
3. 概念什么是人工智能?
人工智能是通过机器来模拟人类认知能力的技术。
人工智能的三种训练方式分别是监督学习、非监督学习、强化学习。下文会一一介绍。
二、这是不是鸾尾花(分类器)1. 特征提取人类感官特征
花瓣数量、颜色
人工设计特征
先确定哪些特征,再通过测量转化为具体数值
深度学习特征
这里先不提及,文章后面会说
2. 感知器
老师给了一道题:
要区分两种鸾尾花,得画出一条直线区分两类花,你可以画出无数条直线,但是哪条才是最好的呢?
怎么办呢?我可是学渣啊,靠蒙!
随便找三个数a=0.5、b=1.0、c=-2 带入 y = ax[1] + bx[2] + c,
每朵花的两个特征也代入x[1]、x[2],比如带入(4, 1) 得出 y[预测] = 1,此时 y[实际] = 1 (样本设定变色鸾尾花为 1,山鸾尾为 -1 ),所以y[实际] – y[预测] = 0.
重复以上两步,得出所有的『实际值和预测值的差距的综合,记为 Loss1
可怎么知道是不是最优的直线呢?继续猜啊!继续懵!像猜世界杯一样猜就好了。
通过沿 y = ax[1] + bx[2] + c 梯度(梯度就是求导数,高中有学的!)下降的方向继续猜数字,具体过程大概是这样子的:
上述所属的实际值和预测值的差距 实际上是一种损失函数,还有其他的损失函数,比如两点间直线距离公式,余弦相似度公式等等可以计算预测结果和实际结果之间的差距。
划重点:损失函数就是现实和理想的差距(很残酷)
3. 支持向量机
*判断依据的区别也导致了损失函数的不同(但依旧是猜)
直观的说,缝隙(上图的分类间隔)越大越好
4. 多分类
如果有多种花怎么办?
一趟植物课上,老师请来了牡丹鉴别专家、荷花鉴别专家、梅花鉴别专家。老师拿出了一盘花给各个专家鉴定,牡丹角色这是牡丹的概率是0.013、荷花专家角色这是荷花的概率是0.265、梅花专家角色这是梅花的概率是0.722。
老师综合了各位专家的意见后,告诉同学们,这是一盘梅花。
小明:这老师是不是傻,一朵花是啥都不知道,还要请三个专家
老师:你给我滚出去
实际计算过程就是通过用 2.2 和 2.3 等方法训练的二分类器,分别输出对应的分类值(比如三种花的分类器分别输出-1,2,3),那怎么把这些分类值转化成概率呢?这就要用到归一化指数化函数 Softmax(如果是二分类就用 Sigmoid函数),这里就不拿公式来说,可以直观的看看书中这个表格就懂了:
5. 非监督学习第 2.2 能从预测值和实际值的差别判断”是否猜对了”,是因为生物老师告诉了学渣,哪些样本是山鸾尾花,哪些变色鸾尾花。但如果老师连样本实际的类别也不告诉学渣(非监督式学习),学渣不知道样本分别是什么花。
那该怎么办呢?
机器学习的入门课程总是在讲鸾尾花,也是够烦的。
这里我们换个场景:
假如你是某直播老板,要找一堆小主播,这时候你有一堆应聘者,然而你只有她们的胸围和臀围数据。一堆8份简历摆在你面前,你是不知道哪些更加能干( capable啊 ! ) 的,更能吸引粉丝。你也没空全部面试,那应该怎么挑选呢?
这时候你把她们的胸围和臀围都标准在一张二维坐标图上:
这是你随手一划,把她们分成两组,可以说“聚成两类了”。
用某种计算方式(比如平均值)找到这个聚类的中心。点离聚类中心越近,代表越相似。
求出每个聚类中的点到蓝色聚类中心点和黄色聚类中心的距离
如果一个点离黄色聚类中心更近却被你随手划到了蓝色分组(上图用红色边框标出的小方块),那么就把它划入黄色分组。
这时因为分组范围和分组内包含哪些小姐姐都发生了变化。这时候你需要以 步骤3 的方法重新计算聚类的中心
重复步骤 4 (算点中心距离)-> 重复步骤 5 (调整黄色小姐姐们和蓝色小姐姐们)-> 重复步骤 3 (算中心),一直循环这个过程直到蓝色和黄色聚类下所包含的小姐姐不再发生变化。那么就停止这一循环。
至此,小姐姐们已经被分为两大类。你可以得出两类小姐姐:
计算机在没有监督的情况下,成功把小姐姐们分成两类,接下来就可以在把两种主播各投放2个到平台看看谁更能干。效果更好的,以后就以那个聚类的样本特征扩充更多能干的主播。
小明:有什么了不起的,我一眼就能看出黄色小姐姐更能干
老师:你给我滚出去
上面聚类小姐姐的算法就叫做 K 邻近算法,K 为要聚类的数量(这需要人工指定),上述例子 K=2.那么如果分成三类就是 K=3,训练过程可以看下图,有个直观的了解:
三、这是什么物品(图像识别)1. 特征提取人类感官特征
花瓣颜色、花瓣长度、有没有翅膀(区分猫和小鸟)、有没有嘴巴和眼睛(飞机和小鸟)
感官的特征通过量化得到颜色(RGB值)、边缘(圆角、直角、三角)、纹理(波浪、直线、网格)数值特征
人工设计特征
深度学习特征
通过卷积提取图像特征
划重点:卷积的作用就是提取图像有用信息,好比微信把你发出的图片压缩了,大小变小了,但是你依旧能分辨出图像的主要内容。
1维卷积 1*5+2*4+3*3=22、1*4+2*3+3*2=16、1*3+2*2+3*1=10
2维卷积 1*2+3*0+2*4+4*2=28…
通过卷积就可以得到图像的特征信息,比如边缘
垂直边缘检测
水平边缘检测
方向梯度直方图
2. 深度学习和传统模式分类的区别既然有传统模式分类,为什么还要神经网络呢?
区别就在于传统的模式分类需要人为设置特征,比如花瓣长度、颜色等等。而深度学习省略掉人工设计特征的步骤,交由卷积操作去自动提取,分类器的训练也同时融入到神经网络当中,实现了端对端的学习
划重点:端对端学习(End to End)就是从输入直接得出输出,没有中间商,自己赚差价。
3. 深(多)层神经网络存在的问题一般来说,神经网络层数增多,会提高准确率。但是,网络层数加深导致:
过拟合学渣把高考预测试题的答案都背一遍而不理解,考试的时候,如果试题是考生背过的,那么考生就能答对;如果没背过那么考生就不会回答了。我们就可以说,学渣『过拟合了预测试题。
与之对应的是:欠拟合渣得不能再渣的人,连预测试题都背不下来,即使考试试题和预测试题一模一样,他也只能答对30%。那么就可以说这种人~~欠揍~~欠拟合。
有兴趣的还可以了解一下梯度弥散和梯度爆炸下面是网上很火很励志的一个公式,权重在多层网络中相乘,比如每一层的权重都是0.01,传递100层 就是 0.01 的100 次方,变得非常小,在梯度下降 Gradient Descent 的学习过程中,学习将变得非常慢。(好比从一个碗顶部放下一个小球,在底部徘徊的速度会越来越慢)
非凸优化学习过程可能在局部最小值(极小值)就停止了,因为梯度(斜率)为零。在局部最低停止而不是全局最低停止,学习到的模型就不够准确了。
看图感受一下
你说的底不是底,你说的顶是什么顶
解决的办法
均匀初始化权重值(Uniform Initialization)、批归一化(Batch Normalization)、跳远链接(Shortcut)涉及到比较多数学逻辑,这里就不展开说明了。
4. 应用人脸识别
自动驾驶把汽车顶部拍摄到的图片切分层一个个小方块,每个小方块检测物体是车还是行人还是狗,是红灯还是绿灯,识别各种交通标识等等。再配合雷达等判断物体距离。
四、这是什么歌(语音识别)1. 特征提取人类感官特征音量、音调、音色
通过采样、量化、编码。实现声波数字化(声波转电信号)
人工设计特征梅尔频率在低频部分分辨率高,高频部分分辨率低(这与人耳的听觉感受是相似的,即在一定频率范围内人对低频声音比较敏感而对高频声音不敏感)。
关系为:
在每一个频率区间对频谱求均值,它代表了每个频率范围内声音能量的大小。一共有26个频率范围,从而得到26维的特征。倒谱操作后,得到 13 维的梅尔频率倒谱系数(Mel-FrequencyCepstralCoefficients,MFCCs)
深度学习特征通过 3.1 所介绍的 1维卷积进行特征提取
2. 应用音乐风格分类
输入:音频文件特征:声音特征输出:音乐种类
语音转文字
输入:音频文件特征:声音特征输出:声学模型(比如26个英文字母)
再把声学模型送入另外的学习器
输入:声学模型特征:语义和词汇输出:通顺的语句(可以查看第6点,如何让计算机输出通顺的语句)
听歌识曲通过窗口扫描(把音乐分割成一小段一小段的),然后通过4.1说的方法提取这一段的特征,就得到一个特征向量。对数据库的歌和用户录音的歌做同样的操作得到特征向量,然后两两之间计算相似度(两个向量的距离可以用余弦公式算夹角大小或者两点间距离公式来算)
五、视频里的人在做什么(视频理解,动作识别)1. 介绍视频,本质是由一帧帧图片连续组成的,因为人视觉的暂留效应(Persistence of vision,人眼在观察景物时,光信号传入大脑神经,并不立即消失,让人产生画面连续的印象),看上去是连续的,也就是视频。识别视频里面有什么物体,可以用上文说过的图像识别和分类方法去实时分析单帧图像,比如:
但是视频相对于图像有一个更重要的属性:动作(行为)。
怎么从一个连续的视频分析动作呢?
举个例子,像上图那只二哈,腿部的像素点相对于黄色的方框(框和狗相对静止)在左右”移动”,这里的”移动”我们引入一个概念——光流(一个像素点从一个位置移动到另一个位置),通过像素点移动形成的光流作为神经网络的训练特征(X),『奔跑作为训练目标值(Y),经过多次的迭代训练,机器就可以拟合得出一个 Y = f(X) 用于判断视频中的物体(Object)是否在奔跑。
2. 光流假设,1)相邻两帧中物体运动很小2)相邻两帧中物体颜色基本不变
至于神经网络是怎么跟踪某个像素点的,这里不展开说明。
第 t 时刻的点指向第 t+1 时刻该点的位置,就是该点的光流,是一个二维的向量。
整个画面的光流就是这样:
整个视频的光流(轨迹)是这样的
不同的虚线代表图像上某个点移动的轨迹
假设视频宽width、高 height、一共有 m 帧,那么该视频可以用 width * height * m * 2 的张量(就是立体的矩阵)来表示,把向量喂到神经网络即可进行分类训练。
进一步优化,可以把光流简化为8个方向上的,把视频某一帧的所有光流累加到这八个方向上得出某一帧的光流直方图,进一步得出 8 维的特征向量。
六、一段文字在表达什么(自然语言处理)1. 特征提取
这里有4个句子,首先进行分词:
去掉停用词(副词、介词、标点符合等等,一般在文本处理上都有一个停用词表)
编码词表
句子向量化
这样就得到一个句子19 维 的 特征向量,再把这19维的特征向量用普通卷积网络或者 LSTM 循环神经网络作为 X 读入(喂它吃东西),文本的分类(比如积极、消极)作为训练标签值 Y,迭代训练得到的模型可以用于情感分析或文本分类等任务。
2. 进阶词向量化厉害-牛逼、计算机-电脑是同义词。光从上面的步骤,我们可能认为厉害和牛逼是两个完全不一样的词语,但其实他们是近似的意思,怎么才能 AI 学习知道这点呢?需要从多个维度去进一步给词语更丰富的内涵,比如:
举例来说,男性用1表示,女性用0表示,不带性别倾向就是0.5。多个维度扩展之后,就得到“男人”这个词的特征向量(1,0, 0.5,0,1)
逆向文档频率一个词在一类文章出现的多,而在另外分类的文章出现的少,越能说明这个次能代表这篇文章的分类。比如游泳在体育类的文章中出现的多(2次),而在工具类的文章出现的少(0次),相比其他词语(1次)更能代表体育类的文章。
假设句子中有 N 个词, 某个词出现次数为 T,一共有 X 个句子,该词语在 W 个句子出现,则逆向文档频率 TF-IDF 为 T/N * log(X/W)
3. 应用
七、让计算机画画(生成对抗网络)从前有个人,以卖临摹名家的画来赚钱。他开始临摹一副名画:
第一次他画成这样子了:
鉴赏家一眼就看出来是假的,他不得不回去画第二幅画、第三幅画…
经过了10万次”画画-鉴别”的过程,这个临摹者画出来的画,鉴赏家居然认为这是真的原作,以高价买入了这副画。
这种生成(画画)- 鉴别(鉴伪)的模式正是生成对抗网络(GAN)的核心。
通过生成器,把随机像素点有序排列形成具有意义的画面,再通过鉴别器得出生成的画面的分类、和真实画面之间的差距,并告诉生成器要往什么方向去优化。多轮的训练之后,生成器就学会了画『真画了。
计算机是怎么把随机像素点变成有意义的画面的呢?我们通过一个简化的例子来看看。
直线上一些均匀分布的点,经过 y=2x+1变换后变成了非均匀分布。一张随机排布的像素点画面,经过某个f(x) 变换后就会变成具有某种意义的画面,而生成器就是不停地去近似f(x), 就像 2.2 感知器拟合一条直线那样。
下图为计算机生成手写数字的过程
划重点:函数可以变换数据分布(库克说:可以把直的变成弯的)
八AlphaGo是怎么下棋的?(强化学习)1. 粗略认知监督/无监督训练:尽可能让每一次任务正确强化学习:多次任务是否达成最终目标
每一次任务都准确,不就是能达成最终目标吗?我们来看一个例子:
一家批发商店的老板爱丽丝要求她的经理比尔增加销售额,比尔指导他的销售员多卖一些收音机,其中一个销售员查尔斯弄到了一个可以获利的大单,但是之后公司因为供应紧缺无法交付这些收音机。
应该责怪谁呢?
从爱丽丝的角度来看,查尔斯的行为让公司蒙羞了(最终任务没完成)。
但是从比尔的角度,查尔斯成功地完成了他的销售任务,而比尔也增加了销量(子任务达成)。——《心智社会》第7.7章
2. AlphaGo下围棋,最古老的办法是决策树,从左上角的位置开始到右下角的位置遍历,每一个空的位置就是一个分支,然后预测每种棋局赢的概率,找出最大概率的走法玩。这就是落子预测器。
但是由于围棋19X19的超大棋盘,空间复杂度高达10的360次方,要穷尽所有的走法几乎是不可能的,如大海捞针。
要降低复杂度,关键是要降低搜索的广度和深度。
我们栽培一颗小盆栽的时候,如果不对枝叶进行修剪,那么养分就会浪费在没长好的枝条上。需要及时对枯萎或者异常的枝条进行修剪以保证养分往正常(或者说我们希望它生长的方向)枝条上输送。
同样的道理,有限的计算机算力如果浪费在穷尽所有围棋走法上,将导致棋局推演非常慢,而且耗费大量的时间也难以找到最优的方案。
是否可以通过 “修剪” 落子选择器这颗庞大的决策树,加快较优落子方案的选择呢?怎么判断哪些是好的”枝条”,哪些是坏的”枝条”呢?这就需要棋局价值评估器(哪个棋盘的赢的概率更大),把没有价值的棋局先去掉不再往下遍历,这就同时减少了搜索的广度和深度。
其中,落子预测器有个名称,叫做政策网络(policy network)价值评估器有个名称,叫做价值网络(value network)政策网络(policy network)利用蒙特卡洛搜索树从当前棋局推演(随机下棋)到最终的棋局,最终胜则回报为正,反之回报为负。之后该算法会反向沿着该对弈过程的落子方案步步回溯,将路径上胜者所选择的落子方案分数提高,与此对应将败者的落子方案分数降低,所以之后遇到相同局面时选择胜者方案的概率就会增加。因此可以加速落子选择,称为快速走子网络。
通过 政策网络 + 价值网络 + 蒙特卡洛搜索树 实现最优落子方案的选择,同时两个机器人互相对弈,这样就不停地训练网络,学习落子方案。
3. 定义接下来说一下枯燥的定义
什么是强化学习?
当我们关注的不是某个判断是否准确,而是行动过程能否带来最大的收益时使用强化学习(reinforeement learning)。比如在下棋、股票交易或商业决策等场景中。
强化学习的目标是要获得一个策略(poliey)去指导行动。比如在围棋博弈中,这个策略可以根据盘面形势指导每一步应该在哪里落子;在股票交易中,这个策略会告诉我们在什么时候买入、什么时候卖出。
一个强化学习模型一般包含如下几个部分:
一组可以动态变化的状态(sute)
对于围棋棋盘上黑白子的分布位置对于股票交易来说,就是股票的价格
一组可以选取的动作(metion)
对于围棋来说,就是可以落子的位置;对于股票交易来说,就是每个时间点,买入或者卖出的股票以及数量。
一个可以和决策主体(agent)进行交互的环境(environment)这个环境会决定每个动作后状态如何变化。
棋手(主体)的落子会影响棋局(环境),环境给主体奖励(赢)或惩罚(输)操盘手(主体)的买入或卖出会影响股票价格(环境,供求关系决定价格),环境给主体奖励(赚钱)或惩罚(亏钱)
关键词:语义标记;三维人脸;网格标记;随机森林;正方形切平面描述符
DOIDOI:10.11907/rjdk.171139
中图分类号:TP317.4
文献标识码:A 文章编号:1672-7800(2017)006-0189-05
0 引言
在计算机视觉与图像领域,对于二维图像人脸的研究(包括人脸识别、人脸检测、人脸特征点标记等)非常多,并且取得了很大进展。特别是近几年,随着深度学习算法的应用,对于二维人脸的研究有了极大突破[1]。然而,相对于二维人脸,人们对三维人脸研究较少。三维人脸的研究是以人脸的三维数据为基础,结合计算机视觉和计算机图形学,充分利用三维人脸的深度信息和其它几何信息,解决和克服现有二维人脸研究中面临的光照、姿态、表情等问题[3]。三维人脸模型标记与分割是将三维人脸网格模型上的顶点进行分类,将人脸划分为几个区域,例如眉毛、眼睛、鼻子、嘴等。对这些区域的标记与分割对三维人脸重建、特征点定位和表情动画等方面的研究都起着重要作用。三维人脸的研究是模式识别和图形学领域活跃且极具潜力的研究方向之一,在影视、游戏动画、人脸识别、虚拟现实、人机交互等方面都有着广泛应用[2-3]。
目前,许多对三维人脸方面的研究,包括三维人脸重建、识别与跟踪、姿态估计及特征点标记等,都是基于深度图的方法[4-7]。Fanelli等[6-8]提出一种方法,将从深度数据估算人脸姿态表达为一个回归问题(Regression Problem),然后利用随机森林算法解决该问题,完成一个简单深度特征映射到三维人脸特征点坐标、人脸旋转角度等实值参数的学习。通过训练数据集建立随机森林,该数据集包括通过渲染随机生成姿态的三维形变模型得到的5万张640*480深度图像。在实验部分,对Fanelli等提出的从深度图中提取特征的方法与本文的特征提取方法进行了对比。与文献[6]中的方法相比,Papazov[9]提出了一个更为复杂的三角形表面patch特征,该特征是从深度图重建成的三维点云中计算获得的,主要包括两部分:线下测试和线上测试。将三角形表面patch(TSP)描述符利用快速最近邻算法(FLANN)从训练数据中寻找最相似的表面patches。
在计算机图形学领域,网格理解在建立和处理三维模型中起着重要作用。为了有效地理解一个网格,网格标记是关键步骤,它用于鉴定网格上的每个三角形属于哪个部分,这在网格编辑、建模和变形方面都有着重要应用。Shapira等[10]利用形状直径函数作为分割三维模型的一个信号,通过对该信号的计算,定义一个上下文感知的距离测量,并且发现众多目标之间的部分相似性;随后,Sidi等[11]提出一个半监督的联合分割方法,利用一个预定义的特征集实现对目标的预先分割,然后将预先做好的分割嵌入到一个普通空间,通过使用扩散映射获得最终的对网格集的联合分割。网格标记的一个关键问题是建立强大的特征,从而提高各类网格模型标记结果的准确性,增加泛化能力。为了解决该问题,Kalogerakis等[12]提出采用一种基于条件随机场算法的方法来标记网格。通过对已标记的网格进行训练,成功地学习了不同类型的分割任务;Xie等[13]提出一种三维图形快速分割与标记的方法,用一系列特征描述法和极端学习器来训练一个网格标记分类的神经网络;Guo等[14]提出用深度卷积神经网络(CNNs)从一个大的联合几何特征中学习网格表示方式。这个大的联合几何特征首先被提取出来表示每个网格三角形,利用卷积神经网络的卷积特征,将这些特征描述符重新组织成二维特征矩阵,作为卷积神经网络的输入进行训练与学习。
本文提出一种新的几何特征描述符(正方形切平面描述符)来表示人脸模型上的顶点特征,利用随机森林算法对三维人脸模型顶点进行训练,实现对人脸模型上顶点的分类(属于鼻子或是眼睛区域等),从而实现三维人脸模型的区域标记。这种新描述符并非从深度图提取的简单矩形区域特征,而是直接从三维人脸模型计算获得,在人脸的姿势、尺寸、分辨率的改变上具有一定鲁棒性。因此,训练过程是在三维人脸模型上执行的,这种数据相对于真实的深度图数据更容易获取(例如在文献[6]中使用的训练数据)。
1 特征描述符与三维人脸区域分割
1.1 正方形切平面描述符
从一个三维人脸模型M的所有顶点上随机选取一个种子点P,根据三维人脸模型的几何结构,计算该种子点的法向量,此时根据一点和法向量即可确定一个切平面。确定正方形的边长L和正方形的方向。正方形的方向(正方形局部坐标系)是根据全局坐标系下建立的正方形,通过法向量转换而成。建立正方形局部坐标系,以便于计算三维人脸上的点到正方形的投影距离,减少程序运行时间,从而可以确定一个正方形切平面块S。在这种情况下,根据正方形切平面块S,可以计算出一个简单且具有鲁棒性的几何描述符V。将正方形边长分成K等份,正方形则细分为K2个小正方形,如图1(a)所示。模型M上的所有点向正方形切平面块上投影,如果投影点在正方形内,此点则肯定在K2个小正方形中的某一个正方形内,称该点属于该小正方形或者称小正方形包含该点。每个小正方形的描述符是其包含所有点投影距离的平均值。考虑到人脸模型的几何特征,有些人脸部分存在于正方形上面,有些部分则存在于正方形下面,因此每个点的投影距离有正负之分。整个正方形切平面块的描述符V是所有小正方形描述符的简单串联。在实验部分,本文将对边长L和划分的小正方形个数K2对分类的准确率进行对比研究。
使用每个小正方形包含所有点的平均投影距离作为描述符,使得该描述符对噪声、数据分解和分辨率上的变化具有鲁棒性,这在实验部分有所体现。许多三维几何特征已经在一些文章中被提出,包括Spin Images(SI)[15]、3D shape context (SC)[16]、 SHOT[17]和MeshHOG[18-19]。这些描述法都根据局部坐标系定义并且依赖于大量的平面法向量,使噪声数据对结果产生一定影响。和以上描述法相比,本文描述符取平均投影距离,并且正方形取的足够大,使描述法更加简单、有效且具有鲁棒性。除三维几何特征外,许多文章也对三维模型投影生成的深度图进行了特征选取和处理。例如,Fanelli等[6-8]在深度图中选取patch,然后在patch中随机选取两个矩形框F1、F2,如图2所示。以像素点的深度值和几何法向量的X、Y、Z值作为随机森林的4个特征通道,F1和F2中所有像素点某个特征通道平均值的差值作为随机森林每棵树节点的二元测试。二元测试定义为:
本文在实验部分对上述特征选取方式与本文提出的正方形描述符在三维人脸区域标记上的结果进行了比较。
1.2 数据库与人脸区域分割
训练阶段的正方形切平面描述符均取自于高分辨率的人脸网格模型,这些训练模型由Basel Face Model (BFM)[20]生成。BFM是一个公开、可获得的基于PCA的三维形变模型,由200个人脸对象的高分辨率三维扫描创建而成。通过从一个正态分布取样的PCA系数,BFM能被用来生成任意数量的随机网格人脸。此外,在所有生成的人脸网格模型上,对应顶点的索引都是一样的。例如,在所有训练模型上,在鼻尖的顶点有相同的索引数字,这将带来诸多便利。对于训练模型,只需在任意一个BFM人脸模型上进行一次人脸区域的手动标记,即可知道每个训练模型要分割的区域上各点的索引,如每个模型鼻子区域的所有顶点索引都是一样的。
对训练模型进行手动分割标记(只需分割标记一次),将一个三维人脸模型分割为10个区域:左眉毛、右眉毛、左眼睛、右眼睛、左脸颊、右脸颊、鼻子、上嘴唇、下嘴唇、下巴,剩下部分属于其它区域。如图3所示,对三维人脸模型进行区域分割,不同的分割区域用不同颜色进行标记,每个区域包含很多三维人脸模型顶点。由于很多三维人脸模型额头部分包含的顶点相对较少,特征信息也相对较少,所以将额头区域划分至其它区域。人脸模型的每个区域包含的所有顶点属于同一类,根据上述BFM数据库特点可知,数据库中任何一个人脸模型每个区域包含的所有顶点索引都是一致的。
2 随机森林算法分类标记人脸区域
2.1 随机森林算法
分类回归树[21]是一个强大的工具,能够映射复杂的输入空间到离散或者分段连续的输出空间。一棵树通过分裂原始问题到更简单、可解决的预测以实现高度非线性映射。树上的每一个节点包含一个测试,测试的结果指导数据样本将分到左子树或是右子树。在训练期间,这些测试被选择用来将训练数据分组,这些分组对应着实现很好预测的简单模型。这些模型是由训练时到达叶子节点的被标记的数据计算而来,并且存储于叶子节点。Breiman[22]指出虽然标准的决策树单独使用会产生过拟合,但许多随机被训练的树有很强的泛化能力。随机被训练树的随机性包括两方面,一是用来训练每棵树的训练样本是随机选取的,二是每棵树上的二元测试是从使每个节点最优的测试集中随机选取的。这些树的总和称为随机森林。本文将三维人脸模型区域的标记与分割描述为一个分类问题,并利用随机森林算法来有效地解决它。
2.2 训练
训练数据集是由BFM生成的50个三维人脸模型。从每个模型上随机取n=10 000个顶点样本,每个顶点对应一个正方形切平面块。本文实验中森林由100棵树建立而成,森林里每个树由随机选取的一系列块(patch){Pi=Vfi,θi}构建而成。Vfi是从每个样本提取的特征,即正方形切平面描述符,f是特征通道的个数,正方形划分为K2个小正方形,f=K2。实值θi是这个样本所属的类别,例如鼻子区域类别设为数字1,那么鼻子区域内的顶点样本所对应的θ=1。建立决策树时,在每个非叶子节点上随机生成一系列可能的二元测试,该二元测试定义为:
这里的Pi∈{L,R}是到达左子树或右子树节点上的样本集合,wi是到左子树或右子树节点的样本数目和到父节点样本数目的比例,例如:wi=|Pi||P|。
2.3 测试
通过BFM生成55个三维人脸模型,其中50个人脸模型作为训练数据,剩下5个人脸模型作为测试数据。测试数据依然取10 000个样本点,并且知道每个样本点属于哪一个区域,通过测试数据计算三维人脸模型网格点分类的准确率。为了测试提出方法的有效性,研究过程中从网上下载获取了其它三维人脸模型,对人脸模型上的所有网格点通过之前训练好的随机森林模型进行分类。因为其它人脸模型与BFM生成人脸模型的尺寸、坐标单位等不一致,所以本研究对这些测试模型进行了后期处理,对正方形的边长按照模型尺寸的比例M行选取。
3 实验
3.1 数据集与实验环境
本文三维人脸标记与分割所用的训练和测试三维人脸模型由BFM生成,50个模型作为训练数据,5个模型作为测试数据。每个模型包含53 490个顶点和106 466个三角形网格,每个训练模型选取10 000个顶点样本。用C++和OpenGL、OpenCV等库对三维人脸模型数据进行采样,得到每个样本的正方形切平面描述符。在Matlab平台下用随机森林算法对数据集进行训练和测试,并对实验结果进行可视化。
3.2 实验结果
利用已训练好的模型对测试数据集上三维人脸模型的所有顶点进行分类,计算顶点分类的准确率。准确率(Accuracy Rate)计算公式为:
准确率=预测正确的顶点个数(m)人脸模型上所有顶点个数(N)
根据文献[10]提出的类似描述符参数选取以及参数优化策略,经过多次实验,研究发现正方形边长L和正方形划分的小正方形数目K2两个参数的选取对顶点分类准确率有着一定影响。实验中选取参数L∈{60,80,100}、参数K2∈{9,16,25,36}进行对比,具体对比结果如表1、表2所示(其中表1中K2为16,表2中L为80mm)。
根据上面两个表格,可以明显得出,L=80mm,K2=25时顶点分类准确率最高。接下来对L=80mm,K2=25情况下的三维人脸模型区域进行标记,可视化结果如图4所示,上边是原始三维模型数据,下边是标记后的结果。(a)、(b)模型标记图是由BFM生成的三维人脸模型区域标记的结果,模型有53 490个顶点。为了验证本文方法的一般性和对分辨率具有不变性,(c)~(e)模型标记图是非BFM生成的其它三维人脸模型的标记结果,模型约有5 000个顶点。以上所有图都是对三维人脸模型所有顶点进行标记的结果。
文献[6]~[8]中提到的基于深度图的特征提取方法(见图1),同样利用随机森林算法进行了实验,并与本文的正方形特征描述符的实验结果进行了比较,如表3所示。将深度图投影到96*96大小,深度图patch所取边长c深度图大小的比例和正方形所取边长与模型大小的比例相等。
由表3可得,对三维人脸模型顶点级分类和区域标记问题,本文提出的特征描述符的标记结果优于深度图patch特征选取方法。此外,由于深度图的一些局限性,直接对三维模型处理要比对深度图处理更有优势。
3.3 结果讨论与分析
图4中5个模型顶点数目、三角形面数目和头部姿势都不一样,验证了本文所提方法对于姿势、模型尺寸和模型分辨率具有较好的鲁棒性。并且其对不同的眉毛、眼睛、脸颊区域也能进行很好的区分,将左右眉毛、左右眼睛和左右脸颊用同一颜色、不同符号进行显示。本文提出的描述符和直接对三维模型处理的方法,与在深度图上选取特征方法相比具有一定优势。由于手动分割人脸区域时,很难避免分割粗糙,区域交界处有的部分顶点没有包含进去,因此在区域交界处顶点的分类误差会相对略大,特别是嘴唇之间的部分。另外,三维人脸模型中额头和下巴的顶点和特征相对较少,所以相较于其它区域,这两个区域的顶点分类误差也会略大。
4 结语
本文提出一种基于正方形切平面描述符的三维人脸区域标记方法。将这种几何特征描述符作为选取样本的特征,通过随机森林算法,对三维人脸模型进行区域分类和标记。该方法可有效识别出三维人脸模型的眉毛、眼睛、鼻子、嘴巴和脸颊等区域,这对三维人脸特征点的定位及其它三维人脸方面的研究都具有重要意义。本文提出的方法对三维人脸模型头部姿态、模型尺寸、模型分辨率具有较好的鲁棒性。和基于深度图的方法相比,本文提出的方法具有更好的泛化能力,是一种行之有效的特征提取方法。
然而,手动分割人脸区域的做法在一定程度上略显粗糙,特征选取速度亦仍需优化。同时,本文仅对三维模型上所有顶点所属区域进行标记,没有将标记后的结果结合三维分割算法进行区域分割优化。如何对相关算法加以改进,将是下一步需要解决的问题。
参考文献:
[1]SUN Y, WANG X, TANG X. Deep convolutional network cascade for facial point detection[J]. Computer Vision & Pattern Recognition,2013,9(4):3476-3483.
[2]CAO C, WENG Y, LIN S, et al. 3D shape regression for real-time facial animation[J]. Acm Transactions on Graphics, 2013, 32(4):96-96.
[3]CAO C, HOU Q, ZHOU K. Displaced dynamic expression regression for real-time facial tracking and animation[J]. Acm Transactions on Graphics, 2014, 33(4):1-10.
[4]SEEMAN E, NICKEL K, STIEFELHAGEN R. Head pose estimation using stereo vision for human-robot interaction[C].ICAFGR, 2004 Sixth IEEE International Conference on Automatic Face and Gesture Recognition. IEEE, 2004: 626-631.
[5]BREITENSTEIN M D, KUETTEL D, WEISE T, et al. Real-time face pose estimation from single range images[C]. Proc.IEEE put.Vis.Pattern Recognit, 2008:1-8.
[6]FANELLI G, GALL J, GOOL L V. Real time head pose estimation with random regression forests[C]. IEEE Conference on Computer Vision & Pattern Recognition, 2011:617-624.
[7]FANELLI G, WEISE T, GALL J, et al. Real time head pose estimation from consumer depth cameras[C].Pattern Recognition Dagm Symposium, Frankfurt/main, Germany, 2011:101-110.
[8]FANELLI G, DANTONE M, GALL J, et al. Random forests for real time 3D face analysis[J]. International Journal of Computer Vision, 2013, 101(3):437-458.
[9]PAPAZOV C, MARKS T K, JONES M. Real-time 3D head pose and facial landmark estimation from depth images using triangular surface patch features[C].IEEE Conference on Computer Vision and Pattern Recognition. 2015:4722-4730.
[10]SHAPIRA L, SHALOM S, SHAMIR A, et al. Contextual part analogies in 3D objects[J]. International Journal of Computer Vision, 2010, 89(2):309-326.
[11]SIDI O, KAICK O V, KLEIMAN Y, et al. Unsupervised co-segmentation of a set of shapes via descriptor-space spectral clustering[C].SIGGRAPH Asia Conference. 2011.
[12]KALOGERAKIS E, HERTZMANN A, SINGH K. Learning 3D mesh segmentation and labeling[J]. Acm Transactions on Graphics, 2010, 29(4):157-166.
[13]XIE Z, XU K, LIU L, et al. 3D shape segmentation and labeling via extreme learning machine[J]. Computer Graphics Forum, 2014, 33(5):85-95.
[14]GUO K, ZOU D, CHEN X. 3D mesh labeling via deep convolutional neural networks[J]. Acm Transactions on Graphics, 2015, 35(1):1-12.
[15]JOHNSON A E, HEBERT M. Using spin images for efficient object recognition in cluttered 3d scenes[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1999, 21(5):433-449.
[16]FROME A, HUBER D, KOLLURI R, et al. Recognizing objects in range data using regional point descriptors[J]. Lecture Notes in Computer Science, 2004.
[17]TOMBARI F, SALTI S, STEFANO L D. Unique signatures of histograms for local surface description[C].European Conference on Computer Vision Conference on Computer Vision. Springer-Verlag, 2010:356-369.
[18]ZAHARESCU A, BOYER E, VARANASI K, et al. Surface feature detection and description with applications to mesh matching[C]. IEEE Conference on Computer Vision & Pattern Recognition, 2009:373-380.
[19]ZAHARESCU A, BOYER E, HORAUD R. Keypoints and local descriptors of scalar functions on 2D manifolds[J]. International Journal of Computer Vision, 2012, 100(1):78-98.
[20]PAYSAN P, KNOTHE R, AMBERG B, et al. A 3D face model for pose and illumination invariant face recognition[C].IEEE International Conference on Advanced Video & Signal Based Surveillance. IEEE Computer Society, 2009:296-301.
[21]BREIMAN, LEO. Classification and regression trees[M].Classification and regression trees /. Chapman & Hall/CRC, 1984:17-23.
[22]MITCHELL. Machine learning[M]. McGraw-Hill, 2003.
关键词:视频联动;港航船闸;控制联动;越线报警
船闸工程项目由很多系统组成,主要包括有计算机监控系统、视频监视系统、越线报警系统、网络广播系统、供配电系统和船闸收费系统等。目前已建大部分系统都是分开独立管理,由于系统较多,分散会给运行管理带来不便、尤其对船闸安全运行带来极大不利,只有将各个子系统进行融合统一、联合工作才能提高工作效率、为船闸安全可靠运行提供了保障。
一、船闸视频与控制智能联动装置
随着监控技术的发展和船闸自身安全管理的需要,船闸每个闸首都安装了十几个乃至数十个监控摄像头,目前船闸通过多个宫格的方式将多个摄像头的画面显示在电脑或者大屏幕同一监视器上,供船闸运行调度人员监控船闸运行情况。然而,在船闸的实际运行过程中,船闸运行调度人员需要根据船闸运行的八个步骤,在某一时间段内重点关注部分宫格的视频画面,面对多角度多画面的监视器,工作人员很难在短时间内找到需要重点关注的画面且持续关注一段时间,频繁切换更是容易导致视觉疲劳。船闸集中控制模式下,操作人员既要按照船闸操作工艺流程开关闸门阀门,又要调用不同视频图像确认其操作安全性,两者之间频繁切换,十分繁琐,容易产生误操作,效率较低。目前大部分船闸使用的视频与控制联动系统采用的旧版方案,只能在现地机房现地进行查看,需要靠人工干预操作,且使用过程中存在卡顿现象,效果不好。针对上述船闸在船舶过闸靠泊方面主要存在的问题,迫切需要通过船闸视频与控制联动改造工程来解决。船闸视频与控制智能联动装置集控,通过采集航道交通控制系统的运行控制指令自动调用运行区域的相关摄像机视频监控信号,可使在集控中心使运行人员迅速观察到运行设备及运行现场的视频,以最快的速度了解现场的运行情况,及时确保通航系统的设备安全可靠,船舶顺利过闸。为保证网络安全性,将控制系统与视频系统在网络层面完全隔离,联动装置直接读取PLC的信号,不再与控制系统交换机连接。将视频系统与控制系统在网络上硬隔离。同时,为保证今后船闸控制系统/视频系统调整时,尽量减少视频与控制系统联动设备的调整工作量,要求联动装置配置文件,设置操作界面,直接设置IP等参数,操作更简单、易懂,维护更方便。
(一)智能联动装置主要功能
在船闸控制中心配置一套视频与控制智能联动装置,用于放闸运行人员对现场运行设备进行监控。通过将视频系统的数据和控制系统的数据进行实时联动,满足在船闸运行全过程中对不同的重点区域的重点查看的需要。其主要用来连接控制系统与视频系统,通过将控制系统中获取的关键运行数据,经过分析决策后提供给视频系统使用,从而使视频系统侧的软件发挥作用,起到了桥梁的作用。1.计算机监控系统对被监视设备进行操作时,视频监视系统摄像机能自动转向并显示画面,并能对重要部位设置实时监视功能,以判断设备运转是否正常、了解现场动态。系统主要能实现两点功能。一是在船闸运行的特定步骤筛选重要视频画面并放大显示,二是在船闸运行到下一个步骤时,重点画面能够自动进行切换。2.视频监视系统具有与自动报警联动功能,能依据计算机监控系统中重要设备的事故故障信号等有关报警信息,自动推出事故区域关联摄像机的全屏报警画面。
(二)智能联动装置实现方式
智能联动装置获取设备运行状态通过独立的装置处理器,能够通过网络modbus协议、opc协议等其他协议进行互相通信,共享船闸控制系统内监控系统内的操作数据,而不影响船闸的正常运行。通过分析总线数据包和预设的参数,处理器智能的识别当前操作进展的情况,并透过TCP/IP协议与监控终端通信,进行相应动作。视频与控制联动系统终端软件根据预先与船闸相关人员的沟通,确定船闸的监控重点和顺序。可以在收到联动设备发出的动作信号后,切换视频,控制监控区域放大显示等操作,避免了人工干预,提高监控效率。软件同时接收船闸上的多路监控视频流,压缩后以宫格的形式显示在界面右侧,操作人员同样可以方便的操作该软件,自主切换、放大任意一路监控视频,有效提高监控设备的使用效率。
(三)智能联动装置系统主要功能
船只在进闸过程中需要关注的要点画面一般由2-3个视频画面组成,需要对闸门附近船闸运行状态进行监视,且每个画面均以文字形式告知管理人员注意的内容,并且提示下一步船闸动作,闸室外船只全部进入完毕后,即船只全部进闸后,操作人员进行通过视频监视确认无误后,远程操作闸门,使闸门开始关闭,此时重点画面立刻切换成了新的需要关注的区域图像。智能联动装置系统主要功能包括:1.视频与控制智能联动软件是基于多任务、多平台、实时性好、开放性好的集成软件包。标准画面和用户组态画面均为汉化系统。2.显示功能:可根据需要自定义视频监控画面,包括监控画面的大小,监控画面的对象,视频监控的画面分割等,如根据现场开关闸门的控制信号或事故故障信号自动切换至预先设定好的切换画面,画面既可以为全屏显示,也可以为四分屏、五分屏等任意分屏设置画面且软件正常运行过程中CPU占用率不超过50%。画面自动推送与切换过程中响应速度不超过1秒。3.通讯功能:视频与控制智能联动软件内嵌了多家PLC产品的多种硬件驱动程序,可以与多家PLC产品进行通讯,读取PLC的相关信号。同时视频与控制智能联动软件也可与海康等品牌的摄像机进行通讯,调取现场的摄像机视频信号。4.安全功能:通过用户认证系统,可防止外来的非法用户接入,对内网用户进行统一的用户账户管理、行为管理的等一系列安全措施,保障网络安全可靠的运行;系统分别设定操作员和系统管理员的权限。在运行环境下,可屏蔽操作系统中所有热键,从而锁定系统自由进出。系统受电后自动恢复运行状态。操作员级别的用户只能对系统进行监视,而系统管理员可退出系统并对软件内的相关参数进行重新设定。5.自恢复功能:现场视频信号丢失再恢复后,监视画面上的视频信号可自动进行恢复,无需人为干预。
二、船闸越线报警系统
船闸作为重要的水运通航设施,保障其安全运行尤为重要。在闸室靠近闸门的位置附近应有一条安全警戒线。船只越过安全警戒线可能对船闸运行工况产生安全隐患,尤其离闸门越近、发生不安全事件可能性越大。在船闸实际运行过程中,存在以下3方面问题,即目前船闸安全警戒线大多仅仅依靠界限灯和标识线,船舶在运行中无法有效识别;船舶距离闸门过近,在水流波动较大时容易出现碰撞闸门的情况;船舶重载下行,在泄水时会出现搁浅闸台的情况。其中,为了避免泄水时因船舶在闸台违规停留导致船舶倾翻事故发生,需要在危险时间内对船舶的违规停留行为进行检测、防止船舶故意长时间停留。另一方面,由于船闸运行过程中,水位差变动大,且部分船舶外轮廓高度超限.极易造成船舶高度超限部位与船闸设施发生碰擦,既造成了船闸设施的损坏,也容易造成安全事故,因此项目同时考虑对船舶超高情况进行检测和报警、提前对船舶运行要求进行提醒。
(一)越线检测难点
1.当前主要越线检测还是人工巡视。人工巡视存在易疲劳,物理标识不易看清,精确度不高,效率低等缺点。2.而采用电气控制手段自动检测难点主要有:复杂天气影响:闸室环境是室外露天的非标准工况,受四季天气情况影响,如雨、雾、雪等因素干扰检测仪表仪器;随机干扰源多:如飞鸟、水面漂浮物、波浪等反射,其中飞鸟、漂浮物等具有随机、不重复的特点;水位实时变化:在调度过程中,船舶高度会随着水位变化而变化,检测部位要随水位变动而变动。
(二)船闸越线报警系统原理
为克服检测难点,设计采用激光和视频结合的检测手段检测船舶越线。激光检测通过二维激光扫描、接收,依据空间距离,对闸台上违停的船舶进行检测报警。视频检测通过视频分析技术,对划定区域内的船舶进行智能识别,并实时报警。两种检测方式特点为:激光检测精度高,抗干扰能力强,能应对各种复杂天气;视频检测正常情况下精度高,但易受天气影响。二者结合,可增加系统可靠性,准确判别船舶是否越线,为船闸管理人员提供操作依据和前提条件。将闸室区域分为正常区域、安全警戒线、缓冲区域与危险区域。其中,安全警戒线为缓冲区域前方设定的警戒线,利用激光扫描仪,实时检测船舶越线行为,为防撞系统提供智能预警功能;缓冲区域为危险区域前方设定的虚拟区域,为违规闯入船舶的管理提供缓冲时间;危险区域为闸门附近设定的虚拟区域,如闸台位置、闸门位置,在危险时间窗口内,该区域禁止船舶进入。采用“激光越线检测+视频辅助验证分析”的复合检测方式,完成对潜在船舶危险行为的智能预警。首先,通过激光扫描仪,对越过安全警戒线的船舶进行检测,为闸室防撞系统提供智能预警,充分保障闸室安全稳定运行。其次,将控制系统与防撞报警装置进行联动,对目标船舶进行重点监控。当激光扫描仪检测到有船舶越过警戒线,监控中心与闸室警戒灯将自动报警,并通过广播、显示屏信息等方式,提醒该船只立刻停船。同时,监控中心会向闸口值班员发出警戒信息,值班员利用缓冲区域提供的时间现场指挥该船只停船,并自动调用监控摄像机进行拍摄取证。基于红外功能的视频辅助分析与联动确认,利用基于卷积神经网络算法,对视频监控抓拍的船舶图片进行特征智能识别,为船闸防撞提供辅助预警功能。当闸室出现警情时,防撞预警系统与视频监控系统实施联动,监控中心能够自动将警情区域的监控画面切换至大屏主画面,以便进行最后的警情确认。对于异常状况,视频可以自动保存、自动播放。
三、总结
视频联动在港航船闸得到试点创新应用,船闸视频监视系统和计算机监控系统两个系统之间通过数据指令的交互,实现了闸门运行监视和闸门视频同时在大屏上监视、方便了操作人员监视、提高了系统运行安全性、可靠性。船闸越线报警系统将闸室区域分为正常区域、安全警戒线、缓冲区域与危险区域,闸室防撞系统提供智能预警,充分保障闸室安全稳定运行。将控制系统与防撞报警装置进行联动,对目标船舶进行重点监控。船闸越线报警系统为船闸管理人员提供操作依据和前提条件。
参考文献:
[1]彭湖.视频监控与消防的联动方法探究[J].城市建设理论研究(电子版)[山东工业技术,2020.
[2]张荣森.浅谈智能化视频联动微机五防系统方案[J].科技创新导报,2016.