M5Stack UnitV2 识别统计流水线异常品
本期是通过M5Stack UnitV2,强大的图像识别功能, 结合AI训练平台,来 识别统计流水线异常品
标签
嵌入式系统
M5Stack
安先生
更新2021-07-19
804
  1. 硬件介绍及实现的功能
UnitV2是M5Stack推出的一款高效率的AI识别模块, 可以用于
  • Ai识别功能开发

  • 工业视觉识别分类

  • 机器视觉学习

我们实现的功能是 通过图像识别,来甄别流水线的异常品,发现异常品记录统计。
为了模拟流水线的过程, 我们用两个杯子(一黑一白)来模拟流水线 正常品与异常品。
FgM16nNpswL6SlywieU9mZQ66dxa
  1. 实现思路 
2.1 采集数据
采集30+张各个角度的杯子的图片,独立或者一起,各个角度。
tip: 图片需要有差异 如相似度很高 后面会通不过。
 
2.2 标记数据
上传到官方训练平台: http://v-training.m5stack.com/build/index.html
每张图片标记对应的label
 
2.3 训练输出模型
标记好的图片,训练。等待训练完成 生成model。
 
2.4 用模型进行分析统计
下载好model ,导入到后台,然后进行识别与统计。
 
过程如下图:
FgM16nNpswL6SlywieU9mZQ66dxaFnNBC2SwmSPIDeznWiym3tWSr0vzFvNUc1XUxMxen0dronogfZi3WaC9
 
关键代码:
def parsing(s):
    global white_cup_num,black_cup_num
    try:
        obj = json.loads(s)
        print(obj)

        if obj["obj"][0]["type"] == "white":
            white_cup_num += 1
            print("white_cup_num:"+str(white_cup_num))
            pc_display.refresh()

        elif obj["obj"][0]["type"] == "black":
            black_cup_num += 1
            print("black_cup_num:"+str(black_cup_num))
            pc_display.refresh()

    except Exception as e:
        print(e)


def read_remote(url):
    bytes = b''

    with urllib.request.urlopen(url, data=b'') as f:
        while True:
            bytes += f.read(100)
            str = bytes.decode('utf-8')
            strobj = str.split('|')
            if len(strobj) > 1:
                for i in range(len(strobj)-1):
                    parsing(strobj[i])
            try:
                json.loads(strobj[-1])
                parsing(strobj[-1])
                bytes = b''
            except:
                bytes = strobj[-1].encode('utf-8')
 
遇到最大的问题:
1, 图片相似度太多 系统不给通过
2, python 抓取数据 花了不少时间
3, 设备的稳定性一般,时间比较长会卡顿。
 
未来计划:
未来考虑尝试长时间观察小动物,抓取更多数据 来分析更多有意思的东西。
(本来准备做小动物这题,可是小动物不太听话...)
感想:
感谢主办方, 活动太精彩,一个接着一个,有趣又有意思。
附件下载
demo.py
源代码
团队介绍
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号