基于PaddleOCR史上最全车牌号识别实现(三)

 前言

        基于PaddleOCR史上最全车牌号识别实现(一)

        基于PaddleOCR史上最全车牌号识别实现(二)

        前两篇文章讲了检测模型和识别模型的实现,这一篇文章姗姗来迟,将讲解下两个模型的串联应用和PaddleOCR的源码精简,下面我们来看看如何实现,文章最后有全源码下载。

车牌号识别源码分析

1、添加预测代码

新建deploy目录,加入预测py文件

核心代码如下:

    def predict(self, image=None, path="", **kwargs):
        if image is not None:
            predicted_data = image
        elif path != "":
            predicted_data = self.read_image(path)
        else:
            raise TypeError("The input data is inconsistent with expectations.")

        dt_boxes, rec_res, _ = self.text_sys(predicted_data)
        dt_num = len(dt_boxes)

        if dt_num > 0:
            rec_res_final = dict()
            text, score = rec_res[0]
            rec_res_final.update({
                'bank_card_number': text,
                'score': float(score),
                'location': dt_boxes[0].astype(np.int32).tolist()
            })

            return rec_res_final
        else:
            return ""
2、模型存放位置

det为检测模型,rec为识别模型

3、参数说明

目前的识别模型是在PP-OCRv2的基础上训练出来的,如何是v3或v4训练的,需要将这里的re_image_shape改成“3,48,320”

4、预测

ocr_license_plate.py文件中添加main方法:

if __name__ == '__main__':
    args = {
        "use_gpu": False,
        "enable_mkldnn": True
    }
    ocr_license_plate = OCRLicensePlate(args=args)
    print(ocr_license_plate.predict(None, "1.jpg"))

python .\deploy\ocr_license_plate.py

结果:

[2023/12/13 19:28:37] ppocr DEBUG: dt_boxes num : 1, elapsed : 0.9797043800354004
[2023/12/13 19:28:37] ppocr DEBUG: rec_res num  : 1, elapsed : 0.09100174903869629
{'bank_card_number': '蒙H0070警', 'score': 0.9834597706794739, 'location': [[219, 354], [371, 358], [370, 411], [218, 407]]}
5、命令行检测模型预测

python tools/infer/predict_det.py --det_algorithm="DB" --det_model_dir="./inference/det/" --image_dir="1.jpg" --use_gpu=False --det_db_unclip_ratio=2.0

保存图片到inference_results目录下:

完毕

        以上就是车牌号识别的整个流程,精简后可直观的进行部署,这里只是做了第一步精简,在infer中和后处理中,还有部分代码可以进一步精简。

精简后源码下载:

基于PaddleOCR车牌号识别源码

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SupPlate车牌识别系统软件----经得起考验的车牌识别。 带视频跟踪车辆功能,可用于十字路口和路段上卡口违法抓拍. 可检测闯红灯,压实线,压双黄,变道行驶,禁左、直、右转,逆行,违法停车. 有着非常强大的功能。 厦门宸天电子科技有限公司 网站 : http://www.dragonskytech.com 可下载识别演示和sdk开发包。 SupPlate集视频检测卡口,闯红灯电子警察,逆行检测为一体,抓拍率天候约90%,有效率大于80%。 可很好识别高清照片,对于图像质量差的高清图片,可较好识别。 SupPlate车牌识别是在厦门宸天电子科技有限公司图像处理研发团队经过几年不断精心设计和努力开发的产品。 可识别各种大陆的车牌,包括蓝牌和黑牌,黄牌和白牌,其中黑牌可识别港、澳车牌;黄牌可以识别单排黄色车牌,大型车后车牌和摩托车牌;白牌可以识别包括警车,武警车牌和军车。还可识别香港、澳门地区的车牌,南非和印度尼西亚的车牌识别也有实际应用。 宸天SupPlate车牌识别有以下几大特点: (1):对图像质量要求不敏感:即使图片中车牌处于背光、泛白的情况下(术语对比度低) ,或者车牌字符出现断裂、遮挡、有污渍、模糊、掉漆等等情况,本车牌识别都可较好的识别出来; (2):对图像大小格式要求不严格:可以识别任意大小的图片,在默认参数下车牌字符高度在7~45的范围内,均可识别,对施工要求不是很高; (3): 识别速度快:在P4 2.0 ,512M 机器下768*288图片识别时间不超过50毫秒,如果针对移动实时的可小于30毫秒。 (4):集卡口,闯红灯,逆行,压双黄,移动电子警察等功能为一体,性价比国内最高。 (5):可识别高清晰图片,最大可以获取4个车牌号码。识别500万象素的图像,不超过300毫秒. 特别说明的是:本系统在768*288的图片下识别率极强(对任意质量的图片基本保持在98%以上),识别准确率较高(天候约90%),其他大小的图片均可较好的识别。 非常优秀的功能:视频检测和车牌识别一体的识别控件(OCX形式),集成1394与DV连接的移动电子警察功能,录像识别功能.还把摄像机的闯红灯电子警察,路段式卡口和逆行检测融合为一体,在抓拍违法车辆和经过车辆后进行车牌识别,并给出车辆图片(2张景,1张特写),车辆信息(车型,车速,经过时间等),违法信息(正常,闯红灯,逆行,超速等)和车牌信息(车牌号码,车牌颜色,车牌在图像位置信息等)。卡口最多可支持2方向8车道,闯红灯最大可支持4方向,16个车道,替代线圈检测,省去破路面,埋线圈,线圈检测器和系统状态监控器的费用,为用户节约很大一部分的成本。本控件视频检测天抓拍率大于95%,车牌识别率超过98%,识别准确率约90%,已在国内大量实际应用。 技术服务 QQ :506268930 欢迎加为好友,方便联系. http://www.dragonskytech.com 电话:0592-5622436 5616833
基于PaddleOCR车牌识别模型是一种使用PaddlePaddle深度学习框架开发的算法模型,用于识别图像中的车牌号码。该模型经过训练,能够识别各种位置和角度的车牌,并将其转化为文本形式的车牌号码。 这个模型是基于深度卷积神经网络(CNN)和循环神经网络(RNN)等技术进行构建的。首先,通过卷积层提取图像中的特征,并利用长短时记忆网络(LSTM)等循环神经网络模型对这些特征进行序列建模。接下来,使用CTC(Connectionist Temporal Classification)算法对序列进行解码,以得到最终的车牌号码结果。 这种模型设计能够在不同条件下的车牌图片上进行高效的识别PaddleOCR车牌识别模型具有较高的准确性和鲁棒性。由于其采用了深度学习算法,并且基于大规模的车牌数据集进行训练,使得模型能够学习到丰富的车牌号特征,并能够在复杂的背景、光照和扭曲变换等情况下进行准确的识别。 此外,PaddleOCR车牌识别模型还具有一定的可扩展性和灵活性。它可以根据具体需求进行模型的优化和定制化,适应不同场景下的车牌识别应用。模型可以在不同的硬件平台上运行,包括服务器和移动设备,可以满足各种实时性要求。同时,PaddleOCR车牌识别模型还可以与其他图像处理和车牌识别系统结合,实现更为复杂的应用场景。 总之,基于PaddleOCR车牌识别模型是一种经过训练的深度学习模型,具有高准确性、鲁棒性和可扩展性,能够有效地实现车牌号码的识别任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

番茄小能手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值