本博客使用的图像是188*120的大津法二值化图像。摄像头安装高度为25cm(离地),前瞻长度约1m。

本文简单讲解一下斑马线和车库的识别方案。相比霍尔元件识别,用摄像头识别斑马线具有前瞻长和稳定性更好的优势,可以给停车入库留出更充足的时间。

斑马线的图像特征

在编写程序时,以下各行条件是层层递进进行判定的,一旦有一个条件判定不满足就退出此次判定。

预识别条件:

  1. 某一横行内,黑白交界点的个数很多,多于某一个阈值;
  2. 在具有较多黑白交界点的行内,这些黑白交界点大致均匀分布。

符合以上两点条件的行,称为斑马线特征行。

决定识别条件:

视野内有很多斑马线特征行。

因为斑马线比较简单,但是画起来挺难的,示意图在这里就就不放了。车库的安装位置在斑马线旁边,识别到了斑马线就等于识别到了车库。车库左右的判定只需要加入一个左右侧边线丢线判定即可,丢线多的一侧即为车库所在侧。

识别程序编写思路

斑马线的特征其实是很明显的,误判率也相对较低,使用这个识别思路可以很快很准地认出斑马线来,而且几乎不存在误判,毕竟赛道上除了斑马线之外也没有那么多的黑白交界段。

  1. 需要提前设置的一些阈值

    • 判定横向上单像素行斑马线特征黑白跳变阈值,由于边线的存在,此值必须大于2
    • 具有斑马线特征像素行数阈值,只有一帧图像中有斑马线特征的行数大于此阈值才认为认到了斑马线,调节此值可以调节斑马线判定前瞻
    • 斑马线横向均匀黑白段数目判定最小值/最大值,只有判定到地均匀黑白交界线段数量在这两个值的范围内才算该行为斑马线特征行,设置这个值是为了避免在赛道的其他地方误判
    • 斑马线均匀检测黑白交界点容差阈值,此值指定了同一行像素内横向上的黑、白线段宽度之间最大的差值,在此差值内认为是均匀的黑白交界线段
  2. 思路

    (1)扫描单行像素,预判断斑马线:寻找该行像素中的黑白跳变点,记录黑白交界点的个数和它们的横坐标,用于后续判定;

    (2)逐行判定当黑白跳变在某一行中是否大于一定次数,若是则预判定该行具有斑马线特征,进入均匀性判断;

    (3)判断横向上该行的均匀黑白交界段数是否在指定范围内,若是则判定该行具有斑马线特征,行特征计数器+1;

    (4)若斑马线特征行数计数器大于设定阈值,则判定该帧存在斑马线。

补线程序编写思路

其实斑马线和车库段我并没有进行严格意义上的补线,因为这次的省赛赛道,在出了三岔到斑马线的那个弯道内,车模是斜着面对斑马线的,斑马线对循迹的影响很难消除,速度较快的时候,即使在其他地方都很稳定,在这一段内车身的抖动也是非常严重的。在省赛赛道图出来之前,我就完成了斑马线的识别程序编写,当时我们是把斑马线放在长直道上的,我使用的是在识别到斑马线后,对其进行图像上的抹除的方法,尽管抹除得并不是很彻底,但还是可以很大程度上降低斑马线对正常循迹造成的影响,而且在车库不进行补线的情况下,依旧可以实现循迹,我也就没写车库补线了。在改成省赛赛道后,由于今年线上赛道的弯曲实在是太多了,车子几乎一直处于打弯的状态,虽然我的这套斑马线识别程序依旧可以正常识别斑马线,但是由于是斜对着斑马线的,斑马线在图像中几乎不可干净地抹除,在过斑马线和车库的时候,车子抖动得非常厉害。因为当时我还差环岛没写(环岛状态又多又难,按照传统的找尖思路确实难做,我当时一直受制于传统思路去找尖,即使上了电磁+图像的判定,依旧会出现速度快了认不到环岛的情况),但是车基本上可以勉强通过斑马线区域,进度又比较赶,这个问题我也一直留着没有处理(它在剧烈抖动的情况下依旧可以完成循迹,这一点让我很惊讶)。这也是我程序的一个缺陷吧。但是说到补线程序编写思路,其实正常情况下应该是对车库部分进行处理的,下面说一下我的思路。这个过程分两步:

  1. 斑马线的抹除

    斑马线的抹除其实很简单,只需要在二值化图像上,在之前认斑马线的那些特征行中,把从第一个黑白交界点开始,到该行最后一个黑白交界点为止的像素均置为白色即可。这种方法可能抹除得并不是那么彻底,但是我实测在大多数情况下抹除效果不错,而且不会像直接就是抹一个大白方块上去那样,车子但凡偏了就会抹到正常的赛道边界上去,导致循迹异常。

  2. 车库补线

(1)传统补线法:车库在图像中其实就类似于半边十字,可以直接套用十字找上下L角点的方式找到L角点,然后直接连接上下角点即可完成补线,在视野内仅剩上L角点时采用最小二乘法补线即可。

(2)单边循线法:参照三岔的单边巡线方式,在检测到斑马线后自动切换为单边循线,在检测不到斑马线后切换回正常巡线即可。

【第十七届智能车】智能车图像处理(5)-元素识别(斑马线、车库)相关推荐

  1. 第十七届全国大学生智能车竞赛智能视觉组总结

    文章目录 前言 一.本次比赛任务分工 二.OpenArt部分任务 1.地图识别 2.图像识别 1)模型训练 2)图像处理 3)通讯 总结 前言 我参加了第十七届全国大学生智能汽车竞赛智能视觉组的比赛. ...

  2. 第十七届全国大学智能车竞赛:第二波芯片申请向你袭来

    §01 STC单片机 致第十七届全国大学生智能汽车竞赛参赛师生:   第十七届 全国智能车大赛,STC很荣幸再次成为大赛赞助商之一,为了更好的服务于每一位参赛师生,STC现开放多个大赛服务通道,我们会 ...

  3. 第十七届全国大学生智能车竞赛智能视觉组培训第一弹

    简 介: 第十七届全国大学生智能车竞赛竞速比赛中,由NXP赞助的智能视觉组的比赛细则已经公布的.为了帮助同学们能够更好地制作比赛作品,在在此过程中得到更好地锻炼,NXP公司近期举行智能视觉组培训.欢迎 ...

  4. 第十七届全国大学智能车竞赛STC芯片申请方法

      致第十七届全国大学生智能汽车竞赛参赛师生: 第十七届 全国智能车大赛 ,STC很荣幸再次成为大赛赞助商之一,为了更好的服务于每一位参赛师生,STC现开放多个大赛服务通道,我们会有专人负责信息登记. ...

  5. 第十七届全国大学生智能车竞赛开始啦

      第十七 全国大学生智能车竞赛 经过两个多月的筹备,现在正式开始啦!   在这个过程中,竞赛组委会仔细总结了往届比赛中的经验与不足,特别是专门调研了刚刚过去的第十六届同学对于比赛的意见和建议.经过 ...

  6. 与太原工业学院商讨第十七届全国大学生智能车华北赛区承办事宜

    简 介: 确定第十七届全国大学生智能车竞赛华北赛区承办学校. 关键词: 智能车竞赛,华北赛区 §01 提议与商讨 一.公众号提议 卓大大,那个我们学校可以承办华北区赛吗?我们学校是太原工业学院.卓大大 ...

  7. 第十七届全国大学生智能车竞赛 华南赛区竞赛(线上)事宜通知

    第十七届全国大学生智能车竞赛 华南赛区竞赛(线上)事宜通知   为顺利完成第十七届全国大学生智能汽车竞赛华南赛区的组织和竞赛工作,按秘书处要求通知如下: 一.报名   参赛队伍在竞赛官方网站统一报名, ...

  8. 第十七届全国大学生智能车竞赛山东赛区比赛成绩

    §01 本科组成绩 一.电磁四轮 序号 组别 赛题类别 学校 队伍名称 成绩 1 本科组 四轮电磁组 山东大学(威海) 山魂九队 15.523 2 本科组 电磁四轮组 青岛工学院 壬寅虎一队 17.1 ...

  9. 第十七届全国大学生智能车竞赛全国总决赛参赛队伍

    根据 第十七届全国大学智能汽车竞赛全国总决赛名单 ,其中 268 支队伍参加 在8月20 - 22 日 在南京信息工程大学举办的线下总决赛,154 支队伍参加 线上总决赛 . 具体名单如下: §01 ...

  10. 第十七届全国大学生智能车竞赛线上比赛赛道设计

    简 介: 本文给出了第十七届全国大学生智能车竞赛线上比赛赛道部署草案.正式文档将会在竞赛网站进行公布. 关键词: 线上比赛,赛道设计,第十七届 #mermaid-svg-O2kO7tZ5dSyEz65 ...

最新文章

  1. 从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史
  2. 13、GridView案例
  3. 添加RichEdit控件导致MFC对话框程序无法执行的解决方法
  4. Android各种报错问题汇总
  5. java bean 验证_Java Bean验证基础
  6. 对象复制的7种方法,还是Spring的最好用!
  7. ios 获取固件版本_觉得iOS测试版本BUG太多?系统降级试一试?
  8. 随想录(内核模块的测试方法)
  9. iReal Pro 2020 for Mac(模拟乐队音乐陪练工具)
  10. 常用于页面交互的JavaScript的一些技巧分析
  11. centos7使用kubeadm部署高可用k8s集群
  12. U盘中的SanDiskSecureAccess可以删除么?删除后影响U盘的使用么?
  13. 新书推荐——Windows Server系统配置与管理项目化教程(Windows Server2016微课版)
  14. linux版本搜狗,搜狗输入法linux版下载
  15. 计算机信息处理技术的易混淆知识点,【考试经验】计算机等级考试二级VisualFoxPro笔试易混淆的知识点...
  16. 如何在腾讯云学生服务器搭建个人网站——配置web开发环境详细步骤
  17. 孤独星球android app,《孤独星球》终于出了全套免费的旅行指南APP!
  18. 什么是资本运营的核心?
  19. 电子凸轮应用追剪算法详细图解(附PLC完整源代码)
  20. java 修改表格颜色代码_workBook设置单元格颜色方法

热门文章

  1. windows系统下vc调用v8脚本引擎执行javascript初探
  2. 封装网络请求 - iOS网络篇
  3. gatsby 安装失败
  4. 跳跃的小怪兽 Splay
  5. ELK beat 配置说明
  6. SSM项目实战-新闻发布系统
  7. 杨顾算法 matlab,杨兴——MATLAB/Simulink让高深的知识变得生动
  8. 判断手机是iso还是android
  9. Proteus仿真及应用——51单片机系列
  10. ping命令——网卡选择