如何使用TensorFlow创建智能秤,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
使用TensorFlow从比例图片中自动读取体重并随时间绘制图表。将学习TensorFlow对象检测API的基础知识,并能够将其应用于此图像分析项目和其他图像分析项目。
使用TensorFlow从分析图片中自动检测到的重量(由于有更多数据点,线条在右侧更加锯齿状)
这篇文章有意保持简短,以便可以快速获得良好的概述,同时提供包含更多详细信息的其他材料的链接。
获取您的比例图像
首先,与任何机器学习项目一样,数据是关键。每当踩到秤时,拍下它的照片,体重就会清晰显示出来。为获得最佳效果,请在不同的照明条件下拍摄照片,并可能在房屋的不同区域拍照。100张照片应该作为一个相当不错的训练集。
如果你的照片备份到谷歌的照片,那么你就可以使用脚本,下载它们。
https://github.com/xiaowen/weightcheck/blob/master/scale/dlphotos.py
标记图像
接下来,使用labelImg等工具标记图像。他们的docker镜像很容易设置和使用一些简单的命令。在整个比例尺周围添加了一个名为“scale”的标签,另一个在圆形显示屏周围添加了一个名为“read”的标签。labelImg将为每个图像创建一个XML文件,如下所示。
带有在刻度周围绘制的边界框以及显示器周围的刻度图像
训练神经网络以检测您的规模
获得数据后,就可以训练神经网络来检测图像中的比例。在高级别,步骤如下:
1.安装 TensorFlow对象检测API
2.安装gcloud用于将作业提交到Google Cloud Machine Learning(ML)引擎的命令行工具。
3.创建 Google云平台存储分区。训练数据将存储在此处。
4.上传预先训练的模型以启动您的训练。TensorFlow为model zoo提供了一些常见的模型。ssd_mobilenet_v1_coco是一种流行的选择,可以在简单模型的速度和精度之间取得良好的平衡。
5.准备自定义输入数据并将其上载到云存储。
6.捆绑由ML引擎运行的TensorFlow对象检测源代码。
7.更新对象检测配置文件。可以用最少的改变重新使用我的。
8.将训练作业提交给ML引擎。请注意,ML引擎需要几分钟才能启动作业。
9.当训练作业运行时,它会每十分钟将其状态写入存储桶。可以使用TensorBoard监视它并查找曲线的收敛。如果在单个GPU上运行,此作业可能需要几个小时才能收敛。
10.当模型经过充分训练后,请下载并导出。
11.使用导出的模型执行一些推断。可以使用TensorFlow 的演示Jupyter笔记本查看结果。
TensorBoard截图; 左:损失曲线收敛; right:推断输出与手工注释的边界框并排显示
训练神经网络来读取显示
既然已经训练了一个神经网络来检测您的体重,那么下一步就是训练一个从体重秤中读取体重。
幸运的是,这个过程几乎与已经完成的过程相同。在高级别,步骤如下:
1.使用经过训练的刻度模型自动裁剪显示图像。可以尝试脚本来执行此任务。
2.标记这些图像中的每个数字以教导神经网络识别它们。为每个数字(0-9)和'%'使用了标签。传递给对象检测代码的标签映射在这里。
3.使用与上面相同的步骤训练神经网络识别数字。由于训练数据的差异,请使用略微修改的对象检测配置文件和标签映射。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。