python+openCV利用cascade分类器训练实现实时视频车辆检测与车牌检测(一)

         研究生期间要做一个用行车记录仪抓拍车辆压线违章的项目,车辆检测算法是其中的一个组成部分,我选择的实现方式是用opencv来实现,废话不多说,先从动机开始说。

先上效果视频:点击打开链接


截图:(红框里是识别到的车牌)

python+openCV利用cascade分类器训练实现实时视频车辆检测与车牌检测(一)_第1张图片

python+openCV利用cascade分类器训练实现实时视频车辆检测与车牌检测(一)_第2张图片

python+openCV利用cascade分类器训练实现实时视频车辆检测与车牌检测(一)_第3张图片

python+openCV利用cascade分类器训练实现实时视频车辆检测与车牌检测(一)_第4张图片

python+openCV利用cascade分类器训练实现实时视频车辆检测与车牌检测(一)_第5张图片

       Part1:车辆检测

       Q&A:

       1.为什么处理视频选择的是检测而不是检测与追踪相结合?

     这个问题主要原因是多目标的追踪算法真的不好应用再复杂场景下,应对单一场景的单一目标追踪还可以,但路况千差万别,场景十分复杂,如果用追踪很容易出现跟丢、跟错的情况,而且在检测模式与追踪模式之间切换是个巨大的逻辑坑。于是,思路就变为提高检测的准确度,识别率,但又要考虑速度。

          2.对这种情况什么识别算法最合适?

    如果仅仅考虑准确度与识别率,首先要考虑的是SVM与神经网络,但是这两个的问题就在于特征向量维数高或权值矩阵太大导致的速度不够快,对于瞬息万变的路况,跳5-10帧检测完全是不能接受的,于是就考虑用基于HOG特征的级联分类器(OpenCV自带的ADABOOST训练方法)。

        

         训练方法:OpenCV官方文档,点击打开链接

        训练正样本:点击打开链接

     负样本就不贴了,千万注意负样本里不能有车,带车的一部分都不行!!

     训练结果(XML文件):点击打开链接

      


下一部分写车道线检测与车辆违章的判定,未完待续。

         

你可能感兴趣的:(OpenCV,目标检测,机器学习)