训练 Tensorflow 识别特定图像
Training Tensorflow to recognize a specific image
我想训练一个 tensorflow 模型来识别一个非常具体的家用电器。我熟悉使用 Tensorflow 做各种事情,但我不确定构建数据集的最佳方式。
我最初的想法是从多个角度为自己提供 100-200 张设备图像,然后从 google 搜索不正确的其他设备的 1000 张左右图像。有没有比我计划解决它更好的方法?
我同意从物体的侧面看识别效果更好,因为它包含更多特征,但希望能够从正面角度获得高水平的准确度。
您可以使用 imagenet 下载整套图像,因为它为您提供特定图像数据集的集合作为 url,因此您只需编写访问 url 的代码并将图像下载到特定目录。
现在是训练图像的下一步。
我有imagenet下载图片的代码,要的话可以分享
要解决这个问题,您应该利用迁移学习。简而言之,迁移学习利用已经训练或预训练的分类器并在输出层上工作,通常称为瓶颈以保留模型以识别您的自定义图像。这可以节省您从头开始构建/训练图像识别分类器的时间和精力。
Google Inception V3 模型是一个有用的起点。使用此模型,在工程和培训时间方面投入了大量精力,以创建最先进的图像分类器。该模型是在 2012 年的 ImageNet 数据集上训练的。
这个优秀的教程TensorFlow for Poets将指导您完成对预训练的 Inception V3 模型进行迁移学习的过程,并让模型识别您的自定义图像。
一开始图像集的大小还不错,但是,根据训练机器学习算法的经验法则,更多的数据通常会带来更高的准确性和更好的泛化能力。这是考虑到与偏差方差权衡有关的其他问题得到尊重。
在我看来,你不需要对反例进行任何训练。我突然想到,建议您使用 "positive" 示例数据集进行训练,然后设置准确度阈值。例如,如果无法以大于 60% 的准确度识别图像,则将其分类为 "not a home appliance"。然后,您可以使用负面示例数据集和正面示例测试集来检查算法的运行情况。请记住为超参数调整保留一个验证集。
我想训练一个 tensorflow 模型来识别一个非常具体的家用电器。我熟悉使用 Tensorflow 做各种事情,但我不确定构建数据集的最佳方式。
我最初的想法是从多个角度为自己提供 100-200 张设备图像,然后从 google 搜索不正确的其他设备的 1000 张左右图像。有没有比我计划解决它更好的方法?
我同意从物体的侧面看识别效果更好,因为它包含更多特征,但希望能够从正面角度获得高水平的准确度。
您可以使用 imagenet 下载整套图像,因为它为您提供特定图像数据集的集合作为 url,因此您只需编写访问 url 的代码并将图像下载到特定目录。
现在是训练图像的下一步。 我有imagenet下载图片的代码,要的话可以分享
要解决这个问题,您应该利用迁移学习。简而言之,迁移学习利用已经训练或预训练的分类器并在输出层上工作,通常称为瓶颈以保留模型以识别您的自定义图像。这可以节省您从头开始构建/训练图像识别分类器的时间和精力。
Google Inception V3 模型是一个有用的起点。使用此模型,在工程和培训时间方面投入了大量精力,以创建最先进的图像分类器。该模型是在 2012 年的 ImageNet 数据集上训练的。
这个优秀的教程TensorFlow for Poets将指导您完成对预训练的 Inception V3 模型进行迁移学习的过程,并让模型识别您的自定义图像。
一开始图像集的大小还不错,但是,根据训练机器学习算法的经验法则,更多的数据通常会带来更高的准确性和更好的泛化能力。这是考虑到与偏差方差权衡有关的其他问题得到尊重。
在我看来,你不需要对反例进行任何训练。我突然想到,建议您使用 "positive" 示例数据集进行训练,然后设置准确度阈值。例如,如果无法以大于 60% 的准确度识别图像,则将其分类为 "not a home appliance"。然后,您可以使用负面示例数据集和正面示例测试集来检查算法的运行情况。请记住为超参数调整保留一个验证集。