基于发育神经网络交通车辆识别

X层充当视网膜,视觉感知输入和发送信号到内部大脑Y. motor层Z可以用作输入和输出。 当环境监督Z,Z是网络的输入。 否则,Z给出一个输出矢量来驱动作用于真实世界的效应器。 Z是用作新兴概念的中心(例如目标,地点,动作,事件和类型),抽象(许多形式映射到一个等价状态)和推理(作为目标依赖的紧急状态行动)。 在我们的实验中,出现了五类概念在外部监督指导,Z的位置背景中车辆类型,前景对象的位置,感受野全局局部信息,车辆动作,车辆事件。

手动样本制作

在本实验中,我们采用交通路口车辆视频作为训练样本,前期使用matlab写了一个使用GUI界面及键盘鼠标事件的程序,用以对视频提取图像和手动标记信息。标记程序流程如下:

  1. 读取视频,单帧单帧读取。

  2. 图片转为灰度图,尺寸统一为114*78.

  3. 单帧显示到GUi界面。

  4. 鼠标点击目标车辆的位置,鼠标左右中键代表不同的局部关注感受野。

  5. 键盘输入标记车辆类型,动作,视觉,全局局部等信息。

  6. 结束当前帧标记,调至下一帧,继续标记。

                            标记过程展示
    
图片1.png

以mat数据格式存储的单帧图像作为DN网络x层输入,其输入像素为114 * 78,即x层大小为114*78。手动标记目标对应的where, what, action, event, scale等5个信息,作为DN网络的Z层输入,标记信息全部以0和1的形式保存在mat文件中。

Y层的信息如下:

Y layer 1: 336 neurons receptive field size 34x18

layer 2: 192 neurons receptive field size 70x18

layer 3: 294 neurons receptive field size 34x26

即网络注意力为局部状态时,有3种大小的感受野,对应大小不同的关注目标。

Z层信息:

Z where : 822 //局部感受野的数量

What  : car bus truck                     //目标车辆的类型

Action:  start  duration end              //车辆的状态

Event :   no one two                      //车辆进入路口事件

Scale : location global                  //注意力的关注点

最终我们得到三份标记样本集:training_data作为训练样本,总共800个数据。resubstitution测试样本,数量为200,x层输入与训练样本一致,z(motor)层只提供前两幅样本信息,其余为空,经DN网络预测后得到测试结果, 与 performance_motor对比可获得识别率,performance_motor里是和训练样本z层同样的五类标记信息数据,即输入图片的正确label信息。disjoin全新的标记样本数据,作为新图片输入预测测试。

网络构建

(1)创建网络框架

交通视频单帧图像的像素大小是 114×78 ,因此X层(输入层)的节点数也是 114×78,因为网络直接将图片像素作为输入。Y 层神的经元个数可以调节,由上文我们设定为822个神经元,每个神经元对应输入图像的各个局部感受野。z层神经元代表目标信息。本实验使用java版本的DN网络框架,先使用matlab制作训练样本,以mat文件格式作为输入。网络初始信息如下图:

(2)初始化网络

初始化突触权值和神经元年龄。 X 层和Y层的连接权值:

(1)突触权重随机初始化:将 X 到 Y 的bottom-up权值赋值为0到1之间的随机数

(2)图片初始化:从交通路口车辆视频中,标记了200帧图像作为训练样本,构成800幅图的初始化列表,对每张图像进行归一化处理,归一化后的像素值赋给X到Y的权值;z层

和Y层的神经元年龄全部初始化为0;

(3)图库

早期手动标记制作了800个训练样本,放入网络中进行训练,训练结束后网络权值不再更新。

有200个测试样本进行训练。

实验过程

(1)训练

手动标记选取的800幅图片集直接作为输入层输入,通过LCA算法计算得到Y层能量值r最大的神经元,然后激活它,与此Y层神经元相对应连接的Z层神经元也被激活,该神经元是网络的指定推理对象。再根据此前的赫布学习权值更新公式,更新突触权重向量,权值在更新后神经元的年龄加一,与Z层的某个对应神经元进行连接。建立连接之后,Z层的突触权重亦进行更新,神经元年龄加1。

详细计算过程:

①将标记集中的一副图片归一化后赋给输入X层,以整体像素值作为X层输入。标记集为mat文件,其中的目标各类信息赋给输入Z层,在训练过程中,Z层对Y层有输入,作为监督,可以使学习收敛加快。网络处于外界监督状态。

②根据响应向量r计算公式,求得Y层所有神经元的能量值。

③根据Top-k,k为1,激活Y层能量最大的那个神经元,将激活神经元响应值置为1,其它神经元置零0。

④根据赫布学习权重更新公式,更新Y层被激活神经元与Z,X层的连接权值,且被激活的神经元年龄g值加一。

⑤下一幅训练图片像素数据进入网络,按照以上步骤进行训练,直至训练结束。训练完成后权重将不再更新,其中保存了网络学习到的经验。

(2)测试

在测试阶段中,DN网络处于冻结状态,即各个层之间的连接权值和神经元年龄不再改变,

自动样本标记

使用成熟的Yolov2自动批量获取位置信息。

你可能感兴趣的:(基于发育神经网络交通车辆识别)