交通标志牌的检测与识别
转载请注明: http://blog.csdn.net/wchccy?viewmode=contents
Driver Assistance System已经成为学术研究的一大领域,作为智能交通的一部分,有大量研究人员投身其中,每年都会有大量的成果发表在IEEE trans on intelligent transportation system等顶级期刊,会议上。有些成熟技术甚至已走出学术界,应用于工业界,如福特公司的自动刹车系统,Google 的无人驾驶汽车,而 Mobileye 甚至已将其固化为车载芯片,并占有大部分的高档车市场份额。
近来跟随师兄也在探究此方面的发展,并努力实现自己的系统。
这里首先是对于交通路牌的识别:大部分交通路牌可以分为两部分:
red circular sign blue rectangular sign
由于其外形规则,图案单一,因此在这里我主要采用rule-based method,而非机器学习(当然,也是因为机器学习实验失败了)。由于要检测的物体局限于红色和蓝色,因此在这里我们利用其颜色信息,于Jack Greenhalgh and Majid Mirmehdi 的 Real-Time Detectionand Recognition of Road Traffic Signs IEEE TRANSACTIONSON INTELLIGENT TRANSPORTATION SYSTEMS, VOL. 13, NO. 4, DECEMBER 2012这篇paper,遍历所有像素点,成功将蓝色及红色区域变的比背景更亮。
在这之后,我利用hough circle transformation 以及 contour contourpolygonization,成功分割出相应区域,效果较好,但逐像素计算效率低下,对一张图的检测时间的70%都花在了像素处理上,所以准备最近看一看opencv的灰度转换源码,提升效率,争取达到实时性。
在这之后,好学的博主怎会就此终止,于是有了下面的识别部分,这也是博主第一次接触pattern recognition,虽然内容很简单……
首先将识别对象局限于红色圆形的限速标志,(指路牌的识别,博主是不敢想的,中文字符,分布不对则,想想就头痛)。于是博主开始了艰辛的旅程:首先想到的是最简单的模板匹配,但模板匹配要求template与target大小一致,思索良久,受当初看haar检测目标的源码启示,我将待检测图像以一定比例不断缩放,然后用template作为搜索框在待检测图像范围内进行移动匹配,根据归一化平方差公式计算得到最小的值即为匹配。
模板: (尺寸统一,这里采用双数,而非单个数字是因为单个数字虽然检测更准,但结果只能得到一个数字,暂时还未想到如何找到里面的两个数字);
下表左侧为测试图片,右侧为6个模板与图像的最小平方差:
由此表看出,检测结果较好,只有最后一幅图的检测错误。之后我仔细思索了错误原因,发现两点如下:
(1)待测图像经过压缩后长宽比失调,其标志牌高度大于宽度,因此检测出现错误,这并非方法的问题;
(2)“15”是一个奇特的标志,两数字之间的空白区域大小不一,如图:
因此,检测15的时候常有偏差,还真是不太清楚如何解决这个问题呀,也许只能把两种15都放入模板库中。
在成功识别出这些标示牌之后,一个新的问题出现了,就是红色圆形标志不仅包括限速标志,还有一些其他的诸如禁止通行,禁止鸣笛等标志,那么这些标志的出现超出了我们预期的简单环境,在此介绍一种博主自己想出来的方法:
1.我们观察上面表格里的实验数据,将每一组数据的方差值取均值得到六组均值分别为(10^6):
1.31 | 1.20 | 1.28 | 1.08 | 1.07 | 1.23 |
2.当将测试图片替换为非限速标志,其得到的数据如下:
3.如上表所示:三组的平方差均值分别为(10^6):
1.71 | 1.64 | 1.82 |
4.因此可见:限速标志牌与非限速标志牌的平方差均值在不同的两个结果集里,前者<1.4,后者>1.6,由此我们可以得到区分二者的阈值,i.e, 1.4<threshold<1.6。
到此我们对于交通标志牌的检测以及简单识别就告一段落了,在现有的少量待测数据面前,其结果不错,至于鲁棒性受角度及光照的影响还需要大量数据进行检测及改进。
PS:在此之前,我曾试着用sift以及surf进行识别,但大概是因为图案过于简单,导致极值点很少,而match的特征点更少,因而放弃。
转载请注明: http://blog.csdn.net/wchccy?viewmode=contents
交通标志牌的检测与识别相关推荐
- 交通标志的检测与识别
基于Faster RCNN和卷积神经网络的检测与识别的方法 正在投稿中,项目已开源在github: https://github.com/USTClj/Traffic_Sign_Recognition ...
- 地面标识检测与识别算法
地面标识检测与识别算法 输入输出接口 Input: (1)图像视频分辨率(整型int) (2)图像视频格式(RGB,YUV,MP4等) (3)摄像头标定参数(中心位置(x,y)和5个畸变 系数(2径向 ...
- TSR交通标志检测与识别
TSR交通标志检测与识别 说明: 传统图像处理算法的TSR集成在在ARM+DSP上运行,深度学习开发的TSR集成到FPGA上运行. 输入输出接口 Input: (1)图像视频分辨率(整型int) (2 ...
- 【camera】基于深度学习的车牌检测与识别系统实现(课程设计)
基于深度学习的车牌检测与识别系统实现(课程设计) 代码+数据集下载地址:下载地址 用python3+opencv3做的中国车牌识别,包括算法和客户端界面,只有2个文件,surface.py是界面代码, ...
- python目标检测与识别_Python 使用Opencv实现目标检测与识别的示例代码
在上章节讲述到图像特征检测与匹配 ,本章节是讲述目标检测与识别.后者是在前者的基础上进一步完善. 在本章中,我们使用HOG算法,HOG和SIFT.SURF同属一种类型的描述符.功能代码如下: impo ...
- 百度人脸检测与识别项目资源
百度人脸检测与识别项目资源 https://blog.csdn.net/PaddlePaddle/article/details/104386123?depth_1-utm_source=distri ...
- 腾讯AI Lab刷新人脸检测与识别两大测评国际记录,技术日调用超六亿
来源:腾讯AI实验室 概要:人脸检测是让机器找到图像视频中所有人脸并精准定位其位置信息,人脸识别是基于人脸图像自动辨识其身份,两者密切相关,前者是后者的前提和基础. 腾讯AI Lab在国际最大.最难的 ...
- 【每周CV论文】深度学习文本检测与识别入门必读文章
欢迎来到<每周CV论文推荐>.在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的. 文本检测和识别是计算机视觉的一个非常重要的应 ...
- 文字检测与识别资料整理
博主关注文字检测和识别,资料整理和论文解读都非常详细: https://www.cnblogs.com/lillylin/p/6893500.html#4033329 博主的阅读习惯,积累和输出输出: ...
最新文章
- 转载:使用Auto Layout中的VFL(Visual format language)--代码实现自动布局
- 2021互联网大厂中秋礼盒哪家强?!
- pytorch利用rnn通过sin预测cos 利用lstm预测手写数字
- paa 计算机语言,Paa Robertingeri
- 在JavaScript控制台中包含jQuery
- bzoj 1056 1862: [Zjoi2006]GameZ游戏排名系统(Treap+Hash)
- windows完全卸载MySql数据库
- SQL server2008 安装教程
- 【python】我用python抓取了19个一线城市三年的房价数据,并做了走势分析
- 音频转码-Mp3转AMR--转载请注明出处
- linux没有安装防火墙,Linux安装防火墙
- 国内DDOS防御的专业防火墙技术
- 75.【JavaWeb-03】
- React-router - 如何在url中带参数?在url中带参数的几种方法
- 什么是邮箱地址,电子邮箱地址大全 163vip邮箱都有哪些地址?
- 如何用控制台cmd打开你的c++程序
- [牛客网]万万没想到之抓捕孔连顺
- 解决更新pip后报错 Cannot open pip-script.py
- 快对作业超级计算机,快对作业2020
- 股票中的KD指标金叉和死叉
热门文章
- php读取加密sqlite,加密你的SQLite
- Uva 1151 Buy or Build 二进制枚举+最小生成树
- html5如何快速根据psd,微页h5制作工具怎么快速导入PSD源文件?
- Word2003分栏设置方法
- face_recognition移植至树莓派
- 微信小程序iphone7设备下跳转h5页面失败,h5页面显示白屏,加载报错,其他页面正常显示
- java的数组与Arrays类源码详解
- css定位-css新增选择器(内减,属性,伪类,2d变换,过渡)
- unity ECS简介
- SpringBoot结合Redis实现维护客户端登录状态