pascal教程(pascal教材)
教程:使用TensorFlow对象检测界面标记数据集。
在仅包含60幅图像的小数据集上训练后,赛车被检测到。
在构建用于机器学习对象检测和识别模型的数据集时,为数据集中的所有图像生成注释是非常耗时的。这些注释对于训练和测试模型是必要的,并且它们必须是准确的。因此,数据集中的所有图像都需要人工监督。然而,这并不意味着机器学习模型无法提供帮助。
因为,检查和纠正大多数带有正确注释的图像通常比所有注释都由人完成要节省时间。在处理包含成千上万张图像的数据集时,即使每张图像节省几秒钟,最终也能节省几个小时的工作时间。
本文的目的是证明小数据集和“开箱即用”模型可以为不需要高精度的目标识别和检测任务提供良好的结果。
以图像中的汽车检测为例,本文将通过以下步骤进行指导:
标记小数据集中的图像。从这个数据集中训练一个简单的模型。这个简单的模型用于预测新数据集图像的注释。
和代码,请访问下面链接。本文假设您已经安装了TensorFlow对象检测应用编程接口。
标注图像
图像标注采用PASCAL VOC文件格式。这是图像网使用的XML文件格式。LabelImg程序可用于生成和修改这种格式的标签。
示例库中的数据目录显示了由该方法生成的注释(如下链接)。这个标签的映射文件需要手动创建,因为它不是由LabelImg生成的。
训练模型
TensorFlow目标检测界面提供了关于调整和利用现有模型的定制数据集的详细文档。
培训模式的基本流程是:
将PASCAL VOC原始数据集翻译成TFRecord文件。示例库提供了一个可用于执行此操作的Python脚本。创建对象检测管道。该项目提供了如何执行此操作的官方文档,代码库中有一个示例。存储库中的示例基于ssd_mobilenet_v1_coco检查点,需要从官方文档下载更多检查点。培训模式。可以在本地做,也可以在谷歌云平台上做。本文获得的结果被迭代约10,000次。将最后一个检查点导出到推理图。
这个过程的最终结果将是一个名为freeze _ impact _ graph . Pb的文件.它可以用来预测标记模型。
预测标注
您可以使用pascal- vocwriter库以PASCAL VOC文件格式生成注释。它有一个非常易于使用的界面,下面的代码显示了一个向图像添加“猫”标签的示例:
3 Writer=Writer(" path/to/img . jpg ",800,400)
4 writer.addObject("cat ",100,100,200,200)
5 writer.save("path/to/img.xml ")
示例库中的annotation . py文件利用这个库来调整官方文档中的推理示例,从而创建PASCAL VOC注释文件,而不是图像可视化。
生成注释的阈值可以根据数据集和运算符的需要进行优化。适当的阈值应该在错误率和失败率之间找到平衡。如果操作员删除错误标签比删除缺失标签更容易,则应使用较低的阈值。
以下是
在本例中,两个标签正确,一个丢失。在最远的车内,建议标记的可能性稍微降低。
这些图像需要很长时间才能手动标记。该模型为减少大部分工作量做出了很大贡献。对于一些模糊的车,它也在尝试去识别,但是这些模糊的车也是人类难以识别的。
两辆车都被认出来了,但是红色的边框太宽了。