随着计算机视觉技术的发展,车牌识别技术在交通管理和安全领域扮演着越来越重要的角色。从识别违反交通法规的车辆到确定停车场中非法停放的车辆,车牌识别技术的应用范围日益广泛。Roboflow提供了一个免费的车牌检测API,该API包含在Universe中,这是一个拥有超过110,000个数据集和11,000个预训练模型的计算机视觉项目库。本指南将展示如何使用Roboflow的车牌检测API来识别图像或视频中车牌出现的位置区域。
使用车牌检测API
要使用Roboflow的车牌检测API,需要有一个Roboflow账户。可以通过在网站上注册来创建一个账户。一旦拥有账户,将得到一个API密钥,可以使用它来访问车牌模型以及Roboflow Universe上所有其他公开可用的模型。
在本指南中,将使用“车牌识别计算机视觉项目”模型,该模型在10126张车牌图像上进行了训练。此模型聚合了来自六个不同车牌数据集的图像。当与提供的测试集进行基准测试时,此模型实现了99.0%的mAP得分和97.1%的准确率。
要开始使用模型,请转到Universe上的模型页面,然后点击侧边栏中的“模型”链接。这将带进入一个交互式小部件,通过它可以测试模型并评估它是否满足用例。这个交互式小部件允许在图像和视频上运行推理,这些图像和视频可以是:
- 上传到Web浏览器的;
- 通过提供的URL访问的;
- 在页面的“测试集中的样本”部分显示的,这是四个测试集中的图像,用于对模型进行基准测试。
还可以使用浏览器的摄像头在浏览器中运行推理。
编程使用API
一旦确定API满足需求,就可以开始以编程方式使用它。滚动到标有“在本地和托管图像上进行推理”的部分。运行“pip install roboflow”命令以安装Python包,然后将提供的Python代码片段复制到一个新文件中。提供的代码片段将包含API密钥。以下是一个代码片段的示例:
from roboflow import Roboflow
rf = Roboflow(api_key="YOUR_API_KEY")
project = rf.workspace().project("license-plate-recognition-rxg4e")
model = project.version(4).model
# 在本地图像上进行推理
print(model.predict("your_image.jpg", confidence=40, overlap=30).json())
将“your_image.jpg”文件名替换为要运行推理的文件名。确保从Universe复制代码片段,因为它将包含API密钥。同时,删除保存预测到文件的行中的注释:
model.predict("your_image.jpg", confidence=40, overlap=30).save("prediction.jpg")
此行将在图像上运行推理,然后将结果保存到名为“prediction.jpg”的文件中。这行将使能够可视化预测,而不必担心手动绘制Roboflow API返回的坐标。
模型部署到生产环境
有了可用的模型,一个重要的问题是:如何将模型部署到生产环境中并运行推理?这是一个很好的问题。可以以多种方式部署车牌检测模型。
提供了SDK,用于将模型部署到:
- Luxonis OAK:带有摄像头的边缘推理设备。适合需要高FPS推理的项目。
- Raspberry Pi:小型微型计算机,体积小,适合边缘推理。
- iOS:如果想在一个应用程序中运行模型。
- 使用roboflow.js在Web上:如果想通过摄像头控制模型。
- NVIDIA Jetson:由NVIDIA构建的边缘计算设备。有多个版本的Jetson可供选择,提供不同的性能水平。
- Docker:Roboflow提供了一个可以通过Docker部署的推理服务器。提供CPU和GPU选项。此容器适合在从Raspberry Pi到Jetson的各种设备上运行。
也可以通过Python使用托管API来部署模型。如果计划对图像和/或视频进行后处理(即记录视频流并在稍后保存到文件中以运行推理),这是一个特别好的选择。
可以在Roboflow Deploy页面和推理文档中了解更多关于可用部署选项的信息。
推理后的下一步
现在知道车牌在图像中的位置,可以使用这些信息来执行额外的操作。一个常见的用例是通过包含车牌的区域运行光学字符识别(OCR),允许以编程方式检索车牌上出现的文本。
为此,需要:
使用模型输出,结合OCR,可以:
- 准确记录违反交通规则的车辆的车牌(例如超速、闯红灯),以便将事件详情转发给交通官员进行审查。
- 通过监控道路的摄像头(例如安装在交通灯顶部的摄像头)识别被盗车辆。
- 记录在停车场未支付许可费用就停放的车辆。
还有许多其他用例可以使用车牌检测API进行探索。在模板库中收集了十几个指南,展示了计算机视觉模型的常见模式。鼓励探索该库,以找到可能对项目有用的实用工具(例如裁剪感兴趣区域,将推理结果保存到Google表格)。
在本指南中,展示了如何使用Roboflow的车牌检测模型来识别图像中所有车牌的坐标。该模型可以在Universe浏览器中运行进行测试,然后部署到从Raspberry Pi到Luxonis OAK相机的各种设备上。
在设计应用程序并考虑部署时,可以在模型上构建逻辑,以在做出预测后执行额外的操作。