内容介绍
内容介绍
-
硬件介绍及实现的功能
UnitV2是M5Stack推出的一款高效率的AI识别模块, 可以用于
-
Ai识别功能开发
-
工业视觉识别分类
-
机器视觉学习
我们实现的功能是 通过图像识别,来甄别流水线的异常品,发现异常品记录统计。
为了模拟流水线的过程, 我们用两个杯子(一黑一白)来模拟流水线 正常品与异常品。
-
实现思路
2.1 采集数据
采集30+张各个角度的杯子的图片,独立或者一起,各个角度。
tip: 图片需要有差异 如相似度很高 后面会通不过。
2.2 标记数据
每张图片标记对应的label
2.3 训练输出模型
标记好的图片,训练。等待训练完成 生成model。
2.4 用模型进行分析统计
下载好model ,导入到后台,然后进行识别与统计。
过程如下图:
关键代码:
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
查看更多