/ai-codelab-devfest2020

Archive GDG DevFest 2020 AI Codelab sources

Primary LanguageC++

AI CodeLab 全程回顾

本篇文章是 DGD DevFest 2020 AI 分会场全程回顾,本仓库作为归档。

此次分会场包含一场 CodeLab,与两位嘉宾录制了视频进行分享

查看视频嘉宾分享:链接: https://pan.baidu.com/s/1Odx5lvl655brENLDqlBGbA 密码: hpjf

CodeLab 相关内容请继续往下。

codelab-intro

环境搭建

可以使用多种方式来搭建环境

详细步骤

采集数据

  1. 连接 sensor 板

    image-select-sensor-board

    image-select-serial-port

  2. 烧录程序

    打开 demo/ArduinoTensorFlowLiteTutorials/FruitToEmoji/sketches/object_color_capture 下的 object_color_capture.ino

    烧录遇到问题请查阅文末 FQA 一节

    image-upload-capture

  3. 开始采集数据

    打开 串口监视器,让 sensor 板对准备识别的物体,开始采集数据。

    image-custom-objects

    将 sensor 板带有传感器的一侧对准需要识别的物体,打开 工具->串口监视器

    image-serial-monitor

  4. 保存采集到的数据

    将采集到的数据拷贝到 <物体名称>.csv文件

    image-objects-csv-file

    image-objects-csv-content

训练模型

  1. 进入目录 demo

  2. 在当前目录下执行 jupyterlab . 点击 run 按钮执行所有代码

  3. image-jupyter-lab

    image-read-data

    image-train-model

    image-run-with-test-data

    image-header-file

  4. 经过上面步骤,最后将生成 model.h 的文件,这是识别物体的关键。

进行识别

进入路径 demo/ArduinoTensorFlowLiteTutorials/FruitToEmoji/sketches/object_color_classify

使用Arduino 打开文件 object_color_capture.ino, 依照上面 烧录程序 一节将程序烧录到板子上,接下来即可开始识别。

打开 工具 -> 串口显示器, 开始正常的识别示例:

image-object-classify

文中截图中识别内容与实际你选择识别的物体相关,无需对应

FQA

  1. 烧录程序设备断开或找不到设备,无法烧录进去怎么办?

    在点击 Upload 后,连按两下 sensor 板的 reset按钮,看到橙色指示灯进入呼吸灯模式,此时板子处于烧录准备状态。顺利烧录后橙色指示灯开始闪烁表示程序已经烧录并开始执行。

  2. 编译错误,寻到头文件失败怎么办?

    这里出现的原因很可能是 TFlite 版本问题,打开 工具 ->管理库 查看 TFlite版本

    image-arduino-lib1

    image-arduino-lib2

    按照上面截图安装 TensorFlowLite version 1.15版。precompiled和源码库都需要安装。因为arduino的invoke函会,会调用源码中的头文件内容。

  3. 只能按照教程中的识别苹果,香蕉,橘子么?

    不是,你可以准备自己想识别的物体,分别采集数据进行命名,接下来修改

    image-20201126193105098

    为你想要识别的物体即可。

贡献人员

对于本仓库作出贡献的人员,排名不分先后:

由于时间精力有限,内容难免有疏漏之处。欢迎大家通过提交 issue 或 pr 的方式对内容进行勘误,将会在贡献者里显示你的链接