生长式子空间的增量PCA非特定道路场景在线学习算法研究
2023-03-06瞿心昱
瞿心昱
(浙江交通职业技术学院轨道交通学院,浙江 杭州 311112)
目前,智慧交通系统中的交通视频监控系统安装铺设非常全面,且采集信息直观可靠,能够对路况进行全面准确的描述,因此交通视频监控系统也成为城市智慧交通系统中应用广泛、成熟的子系统,取得了较好的社会和经济效益。各研究机构和人员都进行了大量研究,研究内容集中在对交通道路场景中车辆、行人的检测以及道路场景多目标、多状态的交通事件理解。根据纹理[1]、颜色[2]、形状[3]、Haar-like[4]、HOG[5]等图像特征检测车辆和行人的方法大多基于先验知识,提取的特征往往具有确定性,环境、对象等变化容易导致检测失败,方法适应性和鲁棒性较差。本文提出一种基于生长式子空间增量PCA的非特定道路场景在线学习算法(GSIPCA),在线增量式地输入道路场景图像,将学习到的场景知识积累至可生长PCA子空间,不断拓展其识别能力,提高任务通用性和环境适应性。
1 生长式子空间增量PCA算法
1.1 增量PCA
根据学习架构,首先需要使用少量n个道路场景图像样本进行标准批量PCA,初始化子空间。定义变量:当前子空间U(n),道路场景图像样本均值xˉ(n),在当前子空间下的道路场景图像投影系数矩阵A(n),新输入道路场景图像样本x,重建x̂,重建误差r,投影a,生长后的子空间U(n+1),道路场景图像样本均值xˉ(n+1),投影系数矩阵A(n+1)。
当第n+1个道路图像场景样本x输入算法时,计算x在当前子空间U(n)上的投影:
根据投影和子空间计算该样本的重建:
计算重建误差:
计算重建误差r的欧氏范数‖ ‖r,进一步计算子空间新的基:
计算新子空间基下的投影系数矩阵:
新的道路图像样本均值:
1.2 子空间生长策略
按以上增量PCA算法,子空间在计算每一个样本的PCA后都增加一维,计算和存储开销会显著增加,增加子空间描述知识的冗余,需要对该子空间生长方式进一步优化。每一次子空间更新后,计算当前子空间已学习类别的类间平均距离和类内平均距离,得到样本重建误差的两个参考阈值。定义δ(n)inter为根据第n个样本更新的子空间计算得到的样本重建的类间平均距离阈值,δ(n)inner为根据第n个样本更新的子空间计算得到的样本重建的类内平均距离阈值,且两个阈值根据子空间的生长过程动态变化。在第n+1个道路场景图像样本输入算法时,计算该样本在当前子空间下的投影、重建和重建误差,根据δ(n)inter和δ(n)inner将样本分成3种情况,对3种情况分别进行不同的子空间生长方式。
子空间增维生长:当‖ ‖r>δ(n)inter时,该样本为陌生的新道路场景类别,通过以上增量PCA算法将该类别知识学习到子空间中,子空间维数增加一维,dimU(n+1)=dimU(n)+1。
子空间等维生长:当‖r‖<δ(innte)r且‖r‖>δ(innn)er时,该样本为子空间中已学习的道路场景类别,但该类别知识不丰富,该样本应作为类别知识的信息补充,因此仍旧对该样本进行增量PCA计算,更新子空间。在计算时,将新子空间中贡献最少的分量舍去,使学习必要信息时保持子空间维数,减少计算和存储开销,即dim(U(n+1))=dim(U(n))。同时,对该样本进行分类识别。
子空间不生长:当‖r‖<δ(innn)er时,该样本为已学习样本,且该样本信息对类别描述冗余,无须进行子空间更新和生长,直接进行分类识别。
设当前子空间中存储的知识样本为:
类别为:
对于新输入样本x,投影后,计算其与所有子空间内投影的距离,最小距离投影对应的类别为最终识别结果,即:
则a∈classs,即样本x∈classs,完成识别。
子空间生长策略如图1所示。
1.3 生长式子空间增量PCA算法流程
根据以上算法原理推导,生长式子空间增量PCA算法流程如图2所示。
图2 生长式子空间增量PCA算法流程
步骤一:当新的道路场景图像样本输入算法时(设已经过预处理),根据公式计算其在当前子空间上的投影、重建及重建误差。
步骤五:将步骤二计算的最小距离对应的类别作为识别结果输出。
步骤六:返回步骤一,算法进行下一个循环,接收新道路场景图像样本的输入。
2 实验结果与分析
实验针对提出的生长式子空间增量PCA算法(GSIPCA)进行道路场景的在线增量学习与识别。
选取标准增量PCA算法和文献[6]提出的PCA算法进行横向对比,分析3种增量PCA算法的识别正确率、学习时间、存储空间等指标,得出GSIPCA算法的优势和需要改进完善之处。
随着学习样本增加,IBDPCA算法识别正确率上升趋势最快,IPCA算法最慢,提出的GSIPCA算法居中,原因是IBDPCA提取了更多的道路场景图像特征。GSIPCA算法最高识别正确率为95.6%,IBDPCA算法为97.3%,IPCA算法为92.6%,提出的算法和IBDPCA算法均能达到较高的识别正确率。同类算法识别正确率对比如图4所示。
图4 同类算法识别正确率对比
随着学习样本的增加,三种算法的样本学习时间均呈上升趋势,GSIPCA算法的子空间生长策略很好地控制了子空间的急剧增加,减轻计算负担,对冗余信息的剔除进一步降低了计算量,学习过程中单样本学习时间控制在2 s以内,最大学习时间为1.69 s。同类算法学习时间对比如图5所示。
图5 同类算法学习时间对比
进一步对3种算法在学习过程中内存消耗情况进行对比分析。GSIPCA算法所采用的子空间生长策略很好地控制了子空间快速增长所消耗的大量内存,学习到第500个样本时内存消耗为72.68 MB,略优于IBDPCA算法。
同类算法内存消耗对比如表1所示。
表1 同类算法内存消耗对比 单位:MB
通过实验,验证了提出的生长式子空间增量PCA算法对于道路场景图像学习与识别的有效性,分析了其收敛性、识别正确率、学习时间和内存消耗等指标。结果表明,该算法实现了在线学习与识别道路场景,子空间生长策略有效地保证了算法学习进程的快速性,且大幅度降低了内存消耗。
3 结语
本文针对目前道路场景学习与识别算法任务特定,学习与识别过程分离,无法在学习过程中不断积累知识,发展其智能等问题,提出生长式子空间增量PCA算法,实现了道路场景图像的在线增量学习与识别,在学习过程中不断积累和拓展其智能,识别能力不断提高。结果验证了该算法的收敛性、高识别正确率、学习快速性和低内存消耗。该算法突破了传统的机器学习框架,对研究非特定任务人工智能有一定参考价值,对进一步探索知识自主发育的智能系统具有借鉴意义。