视觉无人机高速公路违章检测的研究——阶段思考与计划2019.2.17-2019.2.23

https://blog.****.net/u010712012/article/details/86566960
之前提到我们要检测车道线不能实现智能化的问题,后来想了想,这何止是不智能化,连工程都算不上,因为我用的是检测出来的一根直线和bbox进行判断,就算是hough函数中的参数每次都要自己调整到检测出一根直线,也和实际的不符,因为现实的车道线都是有一定宽度的,而且交通部门应该是固定的一个宽度。

所以,是否能够把检测到的车道直线左右扩充成车道带,然后再和bbox进行IOU计算,设定一个IOU阈值,这里需要用多张图片试验,得到一个比较适合的阈值,这是第一个条件,在满足第一个条件的前提下,再判断连续几帧bbox和车道带是否都超过了第一个条件的阈值,那么我们把这个几帧的图片的帧数当做第二个条件的阈值。通过这两个条件联合判断,判断压线。

下面是判断压线的旧的方法,一味用数学的方法比如说之前的想法:这样真的不好工程产品化。
视觉无人机高速公路违章检测的研究——阶段思考与计划2019.2.17-2019.2.23
在现在的车道线检测中,图像分割虽然可以做到像素级别的分割,但是需要的算力和数据是巨大的,所以就我这个课题,无法使用图像分割来检测车道线。深度学习在计算机视觉领域能解决的大部分是宏观角度的问题,如分类,检测,分割出物体,生成图片,图片理解。但是在例如车道线检测和像素级别理解的层次,对硬件和数据要求还是很可怕的。所以,若无必要,勿增实体。

之前想通过loss function来得到一组最优的hough参数,实际上,还是需要根据不同的场景图片来调整,没有解决根本问题。

之前python通过一个dictionary来存当前帧图片当中的车道线直线的像素坐标值(y:x),如果有好几帧的话,那么对于内存来讲是压力很大的,所以这里可以用一个滑动窗口的数据结构来动态分配字典数据,用两个索引,来存储前后好几帧的车道线像素的坐标,即下一帧的车道线的像素坐标可以更好地存在字典当中。

我们并不需要一开始就把车道线扩充成带状,而是到计算IOU之前那一步,把车道直线左右扩充后再进行计算,这样节省了存储车道线像素的空间,也说得过去。

我们知道扩充车道线的像素坐标,又知道bbox的坐标,那么计算IOU应该不难。

若有好几辆车压在线上,有几个bbox,就循环几次寻找IOU,还可以标定车辆的号码,1号车是否压线,2号车没有压线等等。。。

所以这几天的任务:
1.车辆检测yolov2,yolov3原理彻底弄透,看看能不能把mobileNet加上去,或者tiny版本,因为后期可以要放在tx2上。注意框架:tf

2.车道线检测,调研改进的Hough变换算法,就是和其有关的解决方案。FCN图像分割是识别车道区域的,这个需要大量的数据,先放着,作为备用方案。只有检测出具有图片泛化性的车道线或者车道,才能进行后续的判压线,判变道,判占应急车道等违章行为。

3.判压线模型,因为微观的东西深度学习还无法做到理解,所以还是需要人为设计一个数学模型去解决。就用上述思想,把车道线检测结果(若是像素级别的车道线),就左右+1或者加上一个经验值,成为车道带,再让车辆的bbox和其做IOU,大于阈值1,再判断后面连续几帧,都符合大于这个阈值1的话,设定这个帧数为阈值2,这两个条件联合起来判断压线。