Unet车牌分割,矫正







向AI转型的程序员都关注了这个号👇👇👇python

人工智能大数据与深度学习  公众号:datayx程序员



1.车牌定位

首先贴一下图像分割的效果图:web


咱们能够经过图像分割算法对一张输入图片进行分割,分割后的图形实际上是对原图中的区域进行的分类标注,例如这里咱们能够将原图标注为2类,一类就是车牌区域,还有一类就是无关的背景区域。说到标注图形就不得不说labelme了,咱们能够在cmd界面经过命令 pip install labelme 进行labelme库的安装,安装结束在cmd界面输入labelme便可打开lablem软件的标注界面以下:面试





1. 点击OpenDir ,选择咱们准备好的车辆数据集(注意:必定要先把图片全都resize为训练时所需的大小,再进行标注。咱们知道图片数据的范围是0-255,背景为黑色0,车牌区域为255,咱们须要的是标注好的图片即img_mask中值只有{0,255}这2种,若是咱们不先resize,标注完再resize会致使一个大问题,就是数据的值并非二类,会出现{0,1,10,248,251,255}等相似的多值问题,我在以前就遇到这样的问题,不得已又从新标注了300多张图)算法

2. 点击左上角File—>将Save Automatically勾选上,点击Change Output Dir选择保存路径,我这里是在桌面D:/desktop/下新建了一个文件夹命名为labelme,在labelm文件夹中新建了一个json文件夹用于保存咱们标注的json数据,这里咱们Change Output Dir的保存路径就选它,还新建了一个data文件夹用于存放后续转换的图片数据,而待标注图片在pic文件中,存放的都是resize好的512×512的图片,命名格式最好像我这样json






3. 准备好上述一切就能够开始标注了,点击软件左侧的   这是画任意多边形的按钮,鼠标左键点击进行标注,最后双击鼠标左键会锁定标注区域,出现以下图界面,第一次标注需输入名称,后续标注就自动显示了,点击ok后标注的线条变为红色,同时json文件夹也会相应保存和pic名字对应的json文件:flask





4. 所有标注结束后,使用以下代码将json数据提取出来并保存到train_image和train_label文件夹中,u-net部分的数据集我一共标注了1200多张,最终效果很棒,达到了定位的效果。浏览器


标注好的u-net训练图片就准备好了,分别在train_image和train_label文件夹中,一并放在unet_datasets文件夹内,以下图所示:
微信




接下来是u-net模型搭建和训练,使用tensorflow的keras实现,贴一下我训练u-net用的代码:网络




代码 ,模型 获取方式

关注微信公众号 datayx  而后回复 unet 便可获取。

AI项目体验地址 https://loveai.tech



2.车牌矫正


训练u-net获得unet.h5

u-net分割和cv2矫正的代码


上述代码关键部分是要获取车牌四边形的四个顶点,一开始只使用cont中坐标到外接矩形四个端点的距离,发现对于倾斜度很高的车牌效果可能不佳,见下图,能够观察到,计算获得的4个黄色坐标中,左右有2个黄色点并不处在四边形的顶点位置,这样矫正效果大打折扣,同时也会影响后续的识别效果



发现上述问题后,我又想了个方法就是加入了上述的point_to_line_distance函数,即还计算坐标点到上下两条边的距离,并添加了权重,通过调整权重设置为0.975倍的点线距离,0.025点到端点距离时总体效果较佳,最终矫正效果以下图:



矫正效果大大改善后,识别率也将大大提升。

最终运行后上述代码后,提取的license文件夹中的车牌图以下:






阅读过本文的人还看了如下文章:


TensorFlow 2.0深度学习案例实战


基于40万表格数据集TableBank,用MaskRCNN作表格检测


《基于深度学习的天然语言处理》中/英PDF


Deep Learning 中文版第一版-周志华团队


【全套视频课】最全的目标检测算法系列讲解,通俗易懂!


《美团机器学习实践》_美团算法团队.pdf


《深度学习入门:基于Python的理论与实现》高清中文PDF+源码


特征提取与图像处理(第二版).pdf


python就业班学习视频,从入门到实战项目


2019最新《PyTorch天然语言处理》英、中文版PDF+源码


《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码


《深度学习之pytorch》pdf+附书源码


PyTorch深度学习快速实战入门《pytorch-handbook》


【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》


《Python数据分析与挖掘实战》PDF+完整源码


汽车行业完整知识图谱项目实战视频(全23课)


李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材


笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!


《神经网络与深度学习》最新2018版中英PDF+源码


将机器学习模型部署为REST API


FashionAI服装属性标签图像识别Top1-5方案分享


重要开源!CNN-RNN-CTC 实现手写汉字识别


yolo3 检测出图像中的不规则汉字


一样是机器学习算法工程师,你的面试为何过不了?


前海征信大数据算法:风险几率预测


【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类


VGG16迁移学习,实现医学图像识别分类工程项目


特征工程(一)


特征工程(二) :文本数据的展开、过滤和分块


特征工程(三):特征缩放,从词袋到 TF-IDF


特征工程(四): 类别特征


特征工程(五): PCA 降维


特征工程(六): 非线性特征提取和模型堆叠


特征工程(七):图像特征提取和深度学习


如何利用全新的决策树集成级联结构gcForest作特征工程并打分?


Machine Learning Yearning 中文翻译稿


蚂蚁金服2018秋招-算法工程师(共四面)经过


全球AI挑战-场景分类的比赛源码(多模型融合)


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


python+flask搭建CNN在线识别手写中文网站


中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程



不断更新资源

深度学习、机器学习、数据分析、python

 搜索公众号添加: datayx  



机大数据技术与机器学习工程

 搜索公众号添加: datanlp

长按图片,识别二维码



本文分享自微信公众号 - 机器学习AI算法工程(datayx)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索