使向量机图像分类器适应增量支持向量机的成像条件:
在汽车检测中的应用
摘要:在图像分类问题中,成像条件的变化,例如灯光、摄像机位置等会严重影响支持向量机(SVM)分类器的表现。例如,支持向量机使用白天获取的图像在用于分类时会表现不佳比起夜间拍摄的照片。在本文中,我们研究了在不同的成像条件下增量学习如何有效地利用支持向量机对同一图像进行分类。一种自适应支持向量机的两阶段算法分类器被开发并应用于当成像条件发生变化的汽车检测问题,如摄像机位置和白天和晚上获取的汽车图像的分类。通过重新训练提高了分类支持向量机性能。
1.介绍
支持向量机(SVM)的有效训练通常需要大量的训练资源训练数据集。然而,为支持向量机学习收集数据集需要更长的时间需要更多的资源。一旦训练好,SVM分类器就不容易应用到从不同条件下获得的新数据集,尽管属于同一主题。为了例如,在图像分类问题中,成像条件的变化,例如照明、摄像机位置等都会对分类产生强烈影响经过训练的支持向量机的性能使得这些分类器的部署更加具有挑战性的。例如,考虑从安装在作为智能交通系统(ITS)组成部分的公路或道路。问题是在摄像机视野内的子区域中检测汽车的存在。到解决这个问题,你可以开始从一个给定的相机收集图像,提取从这些图像中训练数据集,并为检测问题训练支持向量机。经过训练后,支持向量机能够很好地处理从中获得的图像摄像机。然而,当与其他摄像机拍摄的图像一起使用时,经过训练的由于成像条件的不同,分类器的性能可能很差。这个同样的道理,支持向量机也可以使用白天获取的图像进行训练,然后应用对夜间拍摄的图像进行分类。解决这个问题的一个办法是为每个相机或图像训练支持向量机条件。但这可能非常昂贵,需要大量资源,而且需要更长的时间。因此,理想的解决方案是能够使用现有的大型集合训练数据集以初步训练支持向量机并使其适应新的使用最少数量的附加训练集的条件。这涉及到将从初始训练中学习到的知识转移到新的环境中。这个问题与转移学习的主题有关(例如[1-3])。紧密地与此相关的是戴和同事的工作[3]。他们提出了一个新的转移学习框架允许用户使用有限数量的新标记数据以及大量的旧数据构建高质量的分类模型新数据的数量不足以单独训练模型。吴和迪特瑞[4] 还建议使用辅助数据源这些数据源可以很丰富,但是低质量,提高支持向量机的精度。使用未标记的数据改进Raina等人[5]也提出了监督学习任务的绩效。在本文中,我们研究了使用增量支持向量机[6-7]来改进不同成像条件下同一类图像的分类。我们假设存在一个来自可作为初始训练样本的单摄像机。两种训练方法基于增量支持向量机进行初始训练。一个是标准增量法,以下简称。其他的无约束训练一是,这对公认的支持施加了一些限制约束训练学习过程中的向量。培训后,SVM通过仅使用少量的新图像。这是转移学习阶段。使用的算法将详细说明在下一节。在我们的实验中,我们使用了从照相机捕捉到的图像驻扎在日本的主要公路和高速公路上。包含汽车或提取背景(道路)及其方向梯度直方图(HOG)[3]计算的。然后利用HOG特征作为支持向量机学习的训练向量。
2.材料和方法
在本节中,我们首先简要讨论了标准增量支持向量机接近(无约束训练)。约束训练方法在讨论下一小节和最后的增量再训练。
2.1电话堆栈
增量支持向量机[6-7]学习通过一次训练解决优化问题一次向量,而不是使用所有训练向量的批处理模式马上。已经提出了几种方法,但这些方法大多只提供近似解[9-10]。2001年,增量支持向量机的精确解是由Cauwenberghs和Poggio提出(CP)[6]。在CP算法中,Kuhn-所有先前看到的训练向量上的Tucker(KT)条件在“绝热”向解集添加新向量。
看这个,让f(x)=∑αi yiK(xi,x)+b代表最佳分离i=1函数与训练向量席和相应的标签Y=±1。KT条件可以被写成(详见[1])
当C是正则化参数时,αi是展开系数,并且b偏移量。上述方程有效地将训练向量分为三个组,即边缘支持向量(gi=0)、错误支持向量(gi<0)和非支持向量(gi>0)。
在CP算法中,一个新的训练向量通过首先将其α值设置为0,然后使用公式(1)计算其g值。如果是的话大于0,则新的训练向量是非支持向量,不再是处理是必要的。如果不是,则训练向量是错误向量或支持向量向量及其α值为0的初始假设无效。α值是递归地调整到其最终值,同时保留KT所有现有向量上的条件。在这个论文中,使用原CP算法进行训练被称为无约束与约束训练相比的训练,将在下面讨论。我们也使用此算法的内部实现,使用C支持增量支持向量机学习。
2.3增量再训练
在约束训练中,只有来自初始训练集X的样本在训练。目标集Z的样本不包括在培训过程中。在增量再训练,训练的支持向量机使用这个有限数量的样品。见图22.2。基本思想是SVM已经使用数据集进行了训练通过无约束或约束训练方法。经过初步训练,将数据集Z中的样本增量合并到训练后的支持向量机中以适应到新的数据集。这是转移学习阶段。最终的结果是支持向量机在一类特征向量分类中的应用由目标数据集Z表示.
图2:在增量再训练的基础上,采用无约束或约束的方法对初始训练集进行训练,然后利用增量支持向量机对目标集进行再训练
2.2约束训练
假设我们有一个初始训练集,标记为X={(x1,y1),(x2,y2),K,(xn,yn)}其中n很大。在我们的问题中,训练向量席代表HOG特征来自于来自给定相机的图像,而标签y可以我“有车”(1)或“无车”(0)。同样,让Z={(z1,y1),(z2,y2),K,(zm,ym)}表示另一个数据集来自另一个摄像机和m<<n。我们定义了约束训练从X中选择适当的支持向量集,使以数据集Z为测试集的支持向量机分类性能。应该注意的是X的支持向量不一定给出Z的最优分类将显示在结果中。但是,可能存在X的一个子集可导致Z的最佳分类的向量。找到此子集的目的是约束训练。
图1:基于增量支持向量机的约束训练:1)从训练集X.2)使用增量方法更新现有的支持向量机。3) 测试更新支持向量机使用目标数据集Z.4)如果分类精度提高,保持支持向量(SV);否则,丢弃它。5) 重复(1)直到处理所有训练向量。
有几种方法可以实现约束训练。一个例子是从X中随机抽取子集,使用这些子集训练SVM,然后选择给出了Z的最大分类精度的子集增量支持向量机并采用图1所示的算法。算法从非约束情况开始,除了附加约束如下所示。在添加每个新的训练向量时,使用执行目标数据集(上面符号中的Z)。新计算的支持率如果向量增加了分类,则它包含在运行解集中进化支持向量机的准确性;否则,支持向量会降低分类精度被丢弃。该算法确保只支持向量提高目标集分类精度的支持向量机。这有效地重新调整了X的分离函数,以给出一个最优的从Z分离样品,不使用后者的任何样品。最后一盘支持向量是X的期望子集。
2.3增量再训练
在约束训练中,只有来自初始训练集X的样本在训练。目标集Z的样本不包括在培训过程中。在增量再训练,训练的支持向量机使用这个有限数量的样品。见图2。基本思想是SVM已经使用数据集进行了训练通过无约束或约束训练方法。经过初步训练,将数据集Z中的样本增量合并到训练后的支持向量机中以适应到新的数据集。这是转移学习阶段。最终的结果是支持向量机在一类特征向量分类中的应用由目标数据集Z表示:
图2:在增量再训练的基础上,采用无约束或约束的方法对初始训练集进行训练,然后利用增量支持向量机对目标集进行再训练
3.结论
在日本主要公路沿线的五个不同地点安装了五台摄像机用来捕捉过往车辆的图像。对于每个相机图像,16 x 16 sub-包含汽车和没有汽车的图像被提取出来。这些选定的图像使用具有4个像素重叠的8 x 8重叠块转换为HOG特征总共9个街区。每个区块的梯度方向分为8个有效地将每个16×16图像转换为72维特征向量。由此形成五组数据集,并标记如下:379LCR(58453特征向量),382LR(56405特征向量),383LR(50058特征向量)、122LR(12762个特征向量)和384LCR(61214个特征向量)。379LCR、382LR和383LR的图像是在白天拍摄的,而从122LR和384LCR在夜间获得。然后将每个数据集分成10个子集。对于每个子集,先训练一个支持向量机,然后使用另一个进行测试子集。最优支持向量机核(从线性、多项式、RBF和(乙状核)和相关的核参数是用一个十字来选择的参数空间网格搜索验证方法。每个子集可以有不同的最优核和核参数。在我们的第一个实验中,我们研究了支持向量机的分类性能使用无约束方法训练。组内分类使用属于对同一组进行评估。例如,使用了一个使用379LCR_0训练的支持向量机分类379LCR_n,其中n=1,…,9。我们还测试了跨组分类使用从一个组中训练的SVM对数据进行分类的性能另一组。
不同支持向量机的分类性能384LCR如表1所示。第一列表示用于训练支持向量机,其余列显示分类精度。第二次列是组内分类的结果,而列3到6是跨组分类的结果。对于组内分类,分类准确率显著高于99%。同样的表现可以说对于未显示的其他数据集。另一方面,跨组的表现分类因用作测试集的数据集而异。对于某些数据集性能可以高达99%(例如,表1,第6列),而对于其他人,则可以低于70%(如表1第4列)。基于384LCR的支持向量机是较差的分类器对于382LR或383LR(两个日间数据集),但在对379LCR(日间数据集)或122LR(夜间数据集)进行
分类。
表1:384LCR子集训练支持向量机的分类精度
图3:约束(红色图)和非约束(绿色图)期间的分类精度随着合并样本数量的增加而进行的培训。在两个面板中,使用了382LR_0作为目标/测试集,而379LCR_0(左)和379LCR_6(右)作为训练集
在下一个实验中,我们研究了是否有可能改善交叉使用约束训练的组分类精度。我们还比较了十字约束法与无约束法的精度增量学习中的组分类。结果如图33所示。为了无约束训练,目标集的分类精度随支持向量的数量增加。这显示在两个面板的绿色图中。因为约束训练只考虑可以增加目标集的分类精度,以红色显示的图总是在增加。有趣的是,使用约束训练的分类精度超过了即使在这个简单的条件下也是无约束的。通过对学习过程中,进化支持向量机作为目标集分类器的性能得到了很大的改善。
表2:约束训练支持向量机的分类精度379LCR作为训练集,382LR U 0作为目标集
表3:增量再训练的分类准确率(%)结果。379LCR的子集被用作训练集,384lr0被用作目标集
表2显示了带约束的训练支持向量机的分类性能。可以观察到两种影响。正如预期的那样,跨组分类的准确性一般情况下,考虑的所有数据集都会增加。对目标来说尤其如此数据集,在本例中是382LR,精度提高了10%左右(第3栏)。另一方面,集团内部也可以观察分类精度(第2栏)。但这是意料之中的由于约束训练是为了优化目标集的分类而设计的,这可能不会导致原始训练集的最优解。接下来我们使用增量再训练来包含有限数量的目标将数据集放入训练过程中,并评估产生的SVM。使用无约束和约束方法进行初始对训练进行了调查。结果汇总在表333中。这里,子集379LCR作为初始训练集,得到的svm是递增的使用384LR_0重新训练。通过增量再训练,分类精度目标数据集(384LCR)跳到99%以上,这是一个显著的改进与跨组分类性能相比。此外,对于无约束初始训练,初始训练数据集的分类精度(379LCR)仍然很高。评估提高在再培训期间,我们对每个人进行了分类测试随着支持向量机的发展,新增加了支持向量。我们随机地把订单洗牌了额外的训练向量被纳入到训练过程中,并将分类结果的平均值。典型图如图4所示。左边面板显示了最初使用379LCR_0,然后使用382LR_0递增地重新训练。另一方面,384LCR_0用于右面板的重新培训。两个面板都显示初始训练的约束方法(蓝图)使训练后的支持向量机适应与使用初始训练的无约束方法。在这两种情况下,只有少数为了使支持向量机适应新的数据集,需要目标向量。
4.讨论
支持向量机是最初训练的数据集的鲁棒分类器。对获取初始数据集的某些条件的更改可以显著影响分类器的性能。目前正在考虑的案件是从安装在主要道路上的摄像头中检测图像中的汽车。从结果表明,不同地点的照明条件不同显著影响仅使用数据集训练的支持向量机的分类性能从一个位置(见表1)。这在部署这些分类器。为每个位置训练一个支持向量机可以缓解这种情况小型部署的限制。但对于大规模应用,这可能是非常成本高昂,需要大量资源,而且耗时较长,因此,不切实际。在本文中,我们展示了一种克服这一问题的实用方法限制。该方法要求数据集的初始集合,可能来自提供单摄像头。对于新的部署,少量的可以拍摄图像,然后使用该图像使现有分类器适应新的通过转移学习的成像条件。因为该方法基于增量支持向量机,也可以做在线学习。一般的想法是从一开始集合,可以选择一个子集来优化使用约束训练的新数据集。然后,生成的支持向量机可以递增使用附加(目标)数据集重新训练以进一步改进其分类表演。
表2中的结果显示了约束方法提取初始训练集的子集可以最大化目标设定。虽然初始数据集的分类精度降低了,但是是无关紧要的,因为最终目标是改进新的用于部署的数据集。然后,提取的子集可以与增量再训练目标集进一步提高目标分类能力设置如表33所示。这样做的好处是能够更快地适应新数据集的支持向量机。另一方面,对初始值使用无约束方法训练不仅提高了目标集的分类,而且还保留了初始数据集的准确性(见表33)。如果我们不想失去初始训练集的分类精度,例如当-训练支持向量机以适应白天和晚上的图像。在这两种情况下要实现改进,只需要几百个额外的数据集很容易得到。因此,所涉费用和所需资源尽量少。在这里使用增量支持向量机是非常关键的。使用增量支持向量机训练向量可以添加到学习过程中,而无需从头开始再训练。考虑到训练是分类中计算最密集的任务问题是,增量式支持向量机可以显著节省训练时间。它也使我们能够评估新添加的向量对分类的贡献进化支持向量机的性能。
作为一个应用程序,我们能够约束根据其贡献可以包含在解决方案集中的支持向量对分类的准确性。这反过来又允许我们只选择有助于优化目标集的初始训练数据集。而且,培训过程本身包括选拔过程。再加上一个增量再训练,目标数据集可以很容易地合并到最终的支持向量机。最后,我们展示了非约束/约束的组合使用支持向量机图像分类器的初始训练和增量再训练在成像条件下。当应用于汽车检测问题时,意义重大通过验证方法。重新训练所需的少量附加数据集使方法经济实用,适用于大型部署,如智能交通系统,由于附加成本和所需资源都是最小的。
参考文献
[1] Thrun, S., and Mitchell, T.M.: Learning one more thing. Proceedings of the 14th International Joint Conference on Artificial Intelligence (1995).
[2] Caruana, R.: Multitask learning. MachineLearning 28(1), 41–75 (1997)
[3] Dai, W., Yang, Q., Xue, G-R., and Yu, Y.:Boosting for Transfer Learning. Proceedings of the 24th International Conference on Machine Learning (2007)
[4] Wu, P., and Dietterich, T.: Improving SVM Accuracy by Training on Auxiliary Data Sources. Proceedings of the 21st International Conference on Machine Learning (2004)
[5] Raina, R., Battle, A., Lee, H., Packer, B., and Ng, A.: Self-taught Learning: Transfer Learning from Unlabeled Data. Proceedings of the 24th International Conference on Machine Learning (2007)
[6] Cauwenberghs, G. and Poggio, T.: Incremental and Decremental Support Vector Machine Learning. In: Leen, T.K., Dietterich, T.G., and Tresp, V. (eds) Advances in Neural Information Processing Systems, vol. 13, pp. 409-415. MIT Press (2001)
[7] Laskov, P., Gehl, C., Kruger, S., and Muller, K.R.: Incremental Support Vector Learning: Analysis, Implementation and Application. Journal of Machine Learning Research 7, 19091936 (2006)
[8] Dalal, N. and Triggs, B.: Histograms of Oriented Gradients for Human Detection. Conference on Computer Vision and Pattern Recognition (2005)
[9] Ralaivola, L. and d Alche Buc, F.: Incremental support vector machine learning: A local approach. LNCS 2130, 322-329 (2001)
[10] Kivinen, J., Smola, A. J. and Williamson, R. C.: Online learning with kernels. In: Diettrich, T.G, Becker, S., and Ghahramani, Z. (eds.) Advances In Neural Information Processing Systems (NIPS01). pp. 785-792 (2001)