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

本文主要是介绍视觉无人机高速公路违章检测的研究——阶段思考与计划2018.12.25-2019.1.1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上周的思路: https://blog.csdn.net/u010712012/article/details/85082271

上周的flag:
1.车道线怎么单独给检测出来,能不能通过阈值处理/ROI选取,把其他非车道线的部分给滤除。因为高速公路车道线基本都是白线,所以用阈值可能管用,或者彩色空间也可以试试。看看专门检测车道线的论文,只剩下背景和车道线的,相当于车道线分割提取出来的论文,是这周到的重点。12.19-12.25

2.车辆检测,这个用YOLO可以把车辆分类出来还能有一个bbx,怎么在一张图片中单独检测出有车,这个恰好是目前深度学习的优势,或者有HOG_SVM检测车辆,这个就是需要得到车辆的特征,机器学习算法无非就是我们人为给是车辆的标上正,不是的标负的标签,然后用大量数据去训练,最后计算机才知道一张图片当中是不是车。这个也努力弄出来12.19-12.25

1.车道线检测成果

1.1颜色空间尝试
车辆违章压线和变道的前提就是车道线检测,利用阈值分割的手动阈值与OTSU算法得到黑白二值阈值分割图,这里取的200,黑色的车被滤除了,白色的车道线和白色的车辆都能被滤出来,但是能不能用其他的颜色空间来研究?最终对车道线检测有帮助?
在这里插入图片描述
HSV空间的解释:https://blog.csdn.net/u010712012/article/details/85240100

这里的饱和度Saturation,值越大,颜色越纯,V亮度越大,图像越白。
在这里插入图片描述
HLS和HSV不一样,所以可以看到图片的状态不一样。HSB 中的 S 控制纯色中混入白色的量,值越大,白色越少,颜色越纯;HSB 中的 B 控制纯色中混入黑色的量,值越大,黑色越少,明度越高;HSL 中的 S 和黑白没有关系,饱和度不控制颜色中混入黑白的多寡;HSL 中的 L 控制纯色中的混入的黑白两种颜色。
在这里插入图片描述
暂时还没有单独把HSV/HLS通道单独提取出来,后面可以看看三通道怎么提取,看能否提高效果。逻辑就是:分开来增强或者处理,再融合得到更好的结果。

以下是经过RGB三通道split之后的图,可以看到B通道的图对比度很高,车道那块区域感觉会很容易被区分出来。

在这里插入图片描述
再进行阈值分割后:这张图阈值是145
在这里插入图片描述
我们看到B通道和R通道的背景会没那么多干扰,于是就将这两个通道给合并融合,如下:
在这里插入图片描述
如果是将融合的双通道图片经过高斯模糊,再取相同阈值145
在这里插入图片描述
可以看到背景基本没有噪点了,这可能也是为什么图像预处理都需要有降采样,平滑的操作。

再对高斯平滑去躁的图像进行边缘检测,得到如下图。
在这里插入图片描述
再对边缘检测的结果进行形态学的闭操作(先膨胀后腐蚀),把线与线之间的间隔或者断续的地方进行填充补全。
在这里插入图片描述
因为是借鉴了一些论文的思路,把边缘检测形态学填充的结果和双通道阈值分割的结果进行融合:
在这里插入图片描述
最后当然还是我们的Hough变换监测和直线了。https://blog.csdn.net/u010712012/article/details/84780943
这次进行了多车道线检测
在这里插入图片描述
再加在原图上:
在这里插入图片描述
非常好的实现了实线的车道线检测。这里很多参数需要调整才行,因为github挂了,后续把代码放在github上面供大家参考。

https://github.com/zengdiqing1994/Highway_violation_detection/blob/master/carlane_detection/carlane_channels.ipynb

https://github.com/zengdiqing1994/Highway_violation_detection/blob/master/carlane_detection/carlane_detect.ipynb
欢迎star!

2.车辆检测结果

用的YOLO_v1,这是详解:https://blog.csdn.net/u010712012/article/details/85116365

我用的是网上的检测代码,别人已经通过训练得到了初始模型和权重,我拿来自己测试,可怜的是置信度低的可怕,而且小物体基本识别不出来。

原因一是模型yolov1本身的缺陷,二是数据集我无法知道质量和数量。

所以后面需要自己拿无人机去航拍并且标注,得到自己的数据集去训练和检测。
在这里插入图片描述

思考与计划2018.12.25-2019.1.1:

这个课题最终应当是作为项目来实现,并能够写出论文。算法项目就必然有方法方案的对比优化,并用抽象的数学模型去解决现实的问题。

因为需要检测出车辆是否压线,那么有两种思路:

1.如果是在有偏航角的二值图像中,怎么判断哪些是实线,哪些是虚线?有篇论文中设置峰值阈值peak_threshold来表示图像空间的车道线。设置 T m a x T_{max} Tmax表示检测实车道线,当检测出的直线长度大于阈值,就认为该直线是实车道线,否则小于阈值就不是。用变量 T m i n T_{min} Tmin来表示检测虚车道线的阈值,当检测到的直线大于该值,就是,否则就不是。这里其实我不太明白,那介于中间的是什么?

或者我们只显示感兴趣区域的实线部分,虚线部分我们不做处理,如果是深色车辆压在线上,投影部分实线必然会有断续,实线断续前一部分判断是否大于实线阈值,大于的话再判断与他斜率一致的断续上面的那一根实线,如果也大于实线阈值,就说明仿佛是实线了!看车辆检测模块的情况是否在那里有车。如果是亮色白色车辆压线,二值图就有在线那里有一块白色区域,那么就在检测车辆的那一部分如果检测到车(YOLO算法框定车),那么两张图进行计算机图像匹配,就能判定是车辆压线。

2.用Hough变换检测出的车道线(彩色图原图),与YOLO检测出的矩形框进行线与矩形的相交数学判定,进而判断是否压线。

这两种判断压线算法可以算作论文一小部分对比。

以上情况在无人机有俯仰视角时和垂直拍摄时是有区别的,垂直情况会更好判断,所有这里论文也可以进行算法情况对比。

计划
2018.12.25-2019.1.1:
1.把yolov2,yolov3原理搞懂,并用coco数据集/voc数据集实现(ubuntu)。28,29,30
2.拍摄自己的航拍车辆数据集,调研标注方法。29
3.车辆压线算法模型调研。图像处理方法,数学方法,与上述步骤衔接。30,31,1

这篇关于视觉无人机高速公路违章检测的研究——阶段思考与计划2018.12.25-2019.1.1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/995923

相关文章

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

内卷时代无人机培训机构如何做大做强

在当今社会,随着科技的飞速发展,“内卷”一词频繁被提及,反映了各行业竞争日益激烈的现象。对于无人机培训行业而言,如何在这样的时代背景下脱颖而出,实现做大做强的目标,成为每个培训机构必须深思的问题。以下是从八个关键方面提出的策略,旨在帮助无人机培训机构在内卷时代中稳步前行。 1. 精准定位市场需求 深入研究市场:通过市场调研,了解无人机行业的最新趋势、政策导向及未来发展方向。 明确目标

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

生信圆桌x生信分析平台:助力生物信息学研究的综合工具

介绍 少走弯路,高效分析;了解生信云,访问 【生信圆桌x生信专用云服务器】 : www.tebteb.cc 生物信息学的迅速发展催生了众多生信分析平台,这些平台通过集成各种生物信息学工具和算法,极大地简化了数据处理和分析流程,使研究人员能够更高效地从海量生物数据中提取有价值的信息。这些平台通常具备友好的用户界面和强大的计算能力,支持不同类型的生物数据分析,如基因组、转录组、蛋白质组等。