点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

本文转自|AI算法与图像处理

在好莱坞的犯罪电影中,我们经常看到侦探们在电脑高手的帮助下进行破案,他们可以从模糊、低质量的图像中发现隐藏的信息。在技术上,电影中的黑魔法被称为(SISR)

在各种SISR应用中,汽车牌照的超分辨率以其巨大的潜力绝对是名列前茅的。例如,它可以用于执法,还可用于提高车牌识别和街道识别(地图服务)的准确性。

在本文中,将介绍在Python中实现的车牌图像增强。Jupyter notebook教程可以在此处(https://github.com/zzxvictor/License-super-resolution) 找到。

展示

在深入探讨模型体系结构和训练策略细节之前,向你展示一下模型的能力:

我们在逃逸事故案例中发现一个问题:车牌是在黑暗条件下由低质量摄像头拍摄的,而我们的模型不仅可以提高分辨率,还可以通过对图像进行去噪、调整亮度和对比度来增强车牌号的易读性。

系统架构

预处理

我们在本项目中使用的数据集为中国城市停车场数据集(https://github.com/detectRecog/CCPD) ,它包含了200k+个不同条件下的汽车图像,然而原始数据不能被直接使用,但是我们只需要车牌图像而不是街景和汽车,因此第一步是使用数据集提供的注释从图像中裁剪出车牌图像。

我们还过滤掉亮度和对比度差的图像,只保留好的部分作为标签。我们人工生成车牌图像数据(input,label),其中输入经过降采样和噪声、同时随机进行亮度和对比度的破坏,而标签不变。

模型详细信息

我们的模型受ESRGAN模型(https://arxiv.org/abs/1809.00219) 的启发。顾名思义,我们的模型是在对抗性的方式下进行训练的——生成器和鉴别器相互对抗。

生成器

我们的生成器是建立在两个最先进的模型之上的——在ESRGAN的RRDB网络和残差密集网络。生成器使用亚像素卷积(在tensorflow中称为tf.depth_to_space,在Pythorch中称为Pixel Shuffle)在低分辨率图像上进行8倍采样。基本上,亚像素卷积的作用是将一个大小为10 x 10 x 64的特征映射压缩到另一个深度较浅的较大特征映射(如果上采样率为8,则为80 x 80 x 1)。

鉴别器

鉴别器是一个简单的VGG风格的网络,输出0(假)或1(真),理想情况下,鉴别器应该能够区分重建图像和真实图像。

添加一个鉴别器比使用一个最小化均方误差的生成器得到的效果更好,后者倾向于创建与合法字母完全不同的过度平滑伪影。使用鉴别器约束输出空间有助于创建类似字母的重构。

损失函数与评估

车牌图像重建的一个问题在于均方误差或峰值信噪比等常用指标在描述高层特征方面并不特别擅长。例如,模糊重建可能比具有偏移亮度和高对比度的重建获得更高的PSNR。

因此,重点关注边缘和字母方向等高级特征是非常重要的。在SRGAN的论文中,研究者们发现了一个新的内容损失函数,该函数计算VGG网络的特征空间中的均方误差,它突出了原始图像的特征,而不是图像空间中的均方误差。他们将VGG损失定义为

我们的模型经过优化,以最小化VGG损失和MSE(称为内容损失)的混合:

内容丢失迫使模型在重建时注意边缘,以确保高层骨架与真实值相匹配。

结束

就这样!如你所见,重建车牌并不难!如果你对模型的详细实现感兴趣,请查看我们在Github上的存储库!

  • https://github.com/zzxvictor/License-super-resolution

原文链接:https://towardsdatascience.com/license-plate-image-enhancement-5a170475bec1

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

使用Python+OpenCV+GAN实现车牌图像增强相关推荐

  1. Python OpenCV Tesseract实现车牌的检测与识别

    python+opencv+TESSERT-OCR实现车牌的检测与识别_啥都不会的小王的博客-CSDN博客python+opencv+TESSERT-OCR实现车牌的检测与识别开学花了十天时间0基础搞 ...

  2. 【python ++ opencv + pytorch 】车牌提取、分割、识别

    话不多说,先看最后成果图(如果想要全部工程,文章最后我会把github链接放上): 可以看到最终的识别车牌号码是:苏G99999. 其实前年冬天偶然想着用c++来做一个小项目,然后就用 c++ ope ...

  3. 【python + opencv + pytorch】车牌提取、分割、识别 pro版

    老规矩,先看最后成果图(如果想要全部工程,文章最后我会把github链接放上) 1.分割车牌 2.分割字符 3.识别字符 最终识别的车牌号码是:浙F99999 整个车牌识别分五步: 1.一个分割车牌的 ...

  4. python ocr 识别车牌_python+opencv+TESSERT-OCR实现车牌的检测与识别

    python+opencv+TESSERT-OCR实现车牌的检测与识别 开学花了十天时间0基础搞出来的,分享给大家,如果有什么错误希望大家给我指正.python师从小甲鱼,opencv师从贾志刚,B站 ...

  5. 2021-01-07 python opencv实现车牌识别 颜色定位

    python opencv实现车牌识别 颜色定位 主要代码参考https://blog.csdn.net/wzh191920/article/details/79589506 GitHub:https ...

  6. c++ opencv 识别车牌_小强学Python+OpenCV之-1.0开篇

    写在前面: 有没有想过使用Python + OpenCV来实现人脸识别? 想想就有点小兴奋吧. 小强也是不久前才了解到可以使用Python + OpenCV进行图像处理.觉得有趣就想学习一下. 在这里 ...

  7. Python+Opencv简易车牌识别(二):形态学运算,HSV颜色空间筛选与图像分割

    注:这是依然一个简单的车牌识别demo 1.前言 在上一篇Python+Opencv简易车牌识别(一):基于HSV颜色空间的图像分割中,我们讲了如何仅基于颜色来进行简单粗暴的车牌分割.今天我们考虑对图 ...

  8. python基础教程:python+OpenCV实现车牌号码识别

    这篇文章主要介绍了python+OpenCV实现车牌号码识别,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 基于python+OpenCV的车牌号码识别,供大家参考,具 ...

  9. 基于python+OpenCV的车牌号码识别

    基于python+OpenCV的车牌号码识别 车牌识别行业已具备一定的市场规模,在电子警察.公路卡口.停车场.商业管理.汽修服务等领域已取得了部分应用.一个典型的车辆牌照识别系统一般包括以下4个部分: ...

最新文章

  1. python是个啥-初识python: 面向对象是个啥?
  2. HDU5692(线段树+dfs序)
  3. Linux性能相关工具
  4. mysql逻辑备份之mysqldump
  5. JS实现星星评分功能实例代码(两种方法)
  6. 《C++ Primer 第五版》(第4.11-4.12节)——static_cast,const_cast和reinterpret_cast类型转换, 运算符优先级表
  7. 计算机编码原理——不同数据类型存储中文编码
  8. jmeter 实际运行线程数达不到设定值_Jmeter技术知识-常用组件实战演示(2020年最新)...
  9. 程序员面试题100题第14题-圆圈中最后剩下的数字
  10. SSIS变量如何获取当前的系统时间(字符串格式年月日)
  11. 加密与解密(一) -- 壳、加壳
  12. 爱上一个自己讨厌的人
  13. 我买了一辆奥迪,然后……
  14. linux 打开相机工具cheese/guvcview
  15. WireGuard 全互联模式终极指南(上)!
  16. 电阻应变片式测力传感器弹性体设计要求
  17. 用小白鼠鉴别有毒药水问题
  18. 2020-11-02 很多人比起穷,更受不了慢慢变富
  19. 民航大学计算机复试题,中国民航大学考研复试
  20. SWF 编辑工具 闪客之锤

热门文章

  1. 为什么Rust连续4年获“最受喜爱编程语言”?
  2. 2021年逆天Java调优方案出来了!直接省掉一半成本,吹爆!!!
  3. Lombok!代码简洁神器还是代码“亚健康”元凶?
  4. 把我坑惨的一个update语句!
  5. Mybatis的工作原理,你了解过吗?
  6. 科大讯飞CV赛baseline:图像分类实践+0.55
  7. 如何团队协作,代码托管?Git使用教程:最详细、最浅显、一文读懂Git常用操作!...
  8. 逻辑斯蒂回归(Logistics Regression)
  9. 剑指offer_第1题_二维数组中的查找
  10. 单个Transformer完成信息检索,谷歌用可微搜索索引打败双编码器模型