点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
计算机视觉无处不在-从面部识别,制造,农业到自动驾驶汽车。今天,我们将通过动手实践进入现代计算机视觉世界,学习如何使用YOLO算法检测车牌。
来自Pexels的mali maeder的照片应用于定制的YOLO车牌检测模型
传统计算机视觉方法使用vision方法进行检测。但由于阈值和轮廓检测的局限性,其算法在部分图像上有效,但无法推广。通过本次学习,我们将拥有可以在任何天气情况下用于检测车牌的强大模型。
数据收集与准备
我们有一个可靠的数据库,其中包含数百张汽车图像,但是在网上共享它是不道德的。因此,小伙伴必须自己收集汽车图像。我们将使用如下照片进行演示和验证:
我们还应该收集各种光照条件下的车牌图像,并从不同角度拍摄图像。在完成数据收集之后,我们将使用一个名为LabelIMG的免费工具来完成这项工作。
cd labelImg-master
brew install qt
brew install libxml2
make qt5py3
python labelImg.py
从终端执行这些操作将打开此窗口:
图2-启动LabelIMG
接下来,单击左侧菜单上的“打开目录”图标。找到存储汽车图像的文件夹。它会自动打开第一个图像:
图像3 -用LabelIMG打开图像(作者提供的图像)
左侧面板中的标签会显示YOLO。接下来,按键盘上的W键以打开RectBox 工具。在车牌周围绘制一个矩形,输入标签,然后单击“确定”:
图4 -在板周围绘制矩形
按CTRL + S将板块坐标保存到文本文件。单个文件应如下所示:
图像5- LabelIMG生成的文本文件
该LabelIMG软件将保存的矩形框坐标文件对应于保存的每个图像。还将所有类的列表保存到名为classes.txt的文件中。我们打开它,其中可能列出了许多我们不感兴趣的内容。可以删除license-plate以外的所有内容。
图6-类列表
仍然存在一个问题。我们只有一个类(license-plate),但是坐标文件中的类索引为15,我们只需查看图片5并自行验证即可。
我们将使用Python加载每个坐标文件,以通过将类索引更改为1来解决此问题。这是代码段:
import glob
# Contains all .txt files except our listof c