基于UnitV2 AI Camera的流水线异常品识别系统
本系统使用m5stack推出的UnitV2摄像头的物体识别功能,对流水线上的色块进行检测。指定橙色色块为正常品,蓝色、黄色、绿色的色块为异常品。摄像头和PC机通过USB线连接,系统识别到色块后,屏幕会打印出识别到的色块信息。
标签
M5Stack
UnitV2
AI识别
摄像头
chinaking
更新2021-07-19
937

基于UnitV2 AI Camera的流水线异常品识别系统

一、摄像头简介

UnitV2是M5Stack公司推出的一款具有AI识别功能的摄像头。它体积小巧,功能强大。

FqZiE2LLHPXGUWpmqSCXs-tqgaQ2

硬件参数:

  • 处理器Sigmstar SSD202D Dual Cortex-A7 1.2Ghz
  • 128MB DDR3、512MB NAND Flash,支持SD卡
  • 1080P摄像头
  • 自带麦克风
  • 支持WiFi 2.4GHz
  • Grove接口(UART串口)
  • USB接口(10/100M USB LAN)

软件参数:

内嵌Linux操作系统,支持python编程

二、系统概述

本系统使用摄像头的物体识别功能,对流水线上的色块进行检测。指定橙色色块为正常品,蓝色、黄色、绿色的色块为异常品。摄像头和PC机通过USB线连接,系统识别到色块后,屏幕会打印出识别到的色块信息。

硬件:

UnitV2摄像头1个

被测模块 橙、黄、蓝、绿4种色块各1个

PC机1台

软件:

Visual Studio Code

SecureCRT

WinSCP

Python

三、具体实现

3.1 安装驱动

通过USB线连接摄像头和PC机,根据官方文档,安装windows系统摄像头驱动。安装好驱动后,建议重启电脑。

https://docs.m5stack.com/zh_CN/quick_start/unitv2/base_functions


3.2连接摄像头

通过电脑浏览器输入输入摄像头IP地址, 10.254.239.1或unitv2.py即可通过网络,测试摄像头的内置功能。

Fql8ruYgbIS3cz1Y8W0H-cyf_sNY

3.3创建数据集

点击网络客户端左上角的相机图标,拍摄一组数据集照片,一般应不少于30张。注意尽量在不同角度和姿态进行拍摄,便于后续训练。拍摄完成后,在图片上右键,依次导出。

FtxbwCionqWjD3n0WR2uGJyK5tMG

3.4训练数据模型

进入官方的v-training网站,对数据集进行训练。

http://v-training.m5stack.com/build/index.html

FtK8DEzFcOwKrqWvRL9Qdw0WMkKd

建立4个lable,分别是OrangeBlock、YellowBlock、BlueBlock、GreenBlock。并对每张图片的每个色块进行标定。

FkRV00ZDSlYMIxk5G3ZuEjG49A8a

标定完成后进行训练。

Fhc_Fu5n7sSBotsMGKzjs-ccCAck

FhBZ6RvYrqvtdQAhRjFxn-FrHBtu

训练完成后,下载训练模型。本次训练后的文件为

v2model_86b56963fc7c1e50.tar

3.5 测试识别效果

在摄像头的网络客户端,点击

Object Recongnition功能,添加训练后的模型文件,并运行,即可观察到识别效果。

FgST2DlL8LKekRkT_ZKLhVe_fVap

3.6访问文件系统及编程

为了更加灵活,不借助官方的网络客户端,也可以在linux系统下进行编程。

首先,修改直播提供的测试程序,将训练模型替换成自己的模型,并保存。

from json.decoder import JSONDecodeError
import subprocess
import json
import requests
import base64
import time

reconizer = subprocess.Popen(['/home/m5stack/payload/bin/object_recognition', '/home/m5stack/payload/uploads/models/v2model_86b56963fc7c1e50'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

img = b''

while 1:
    doc = json.loads(reconizer.stdout.readline().decode('utf-8'))
    print(doc)

然后,使用WinSCP软件,通过SFTP协议连接unitv2的linux系统,进行文件传递。将unitv2_program1.1文件夹传递到/home/m5stack/payload/uploads/program目录下。

FnfgQOn_Nh5BMc3TBz18vhuceZq6

最后,使用SecureCRT软件,通过ssh2连接unitv2的linux系统,进行命令行操作。

执行 cd /home/m5stack/payload/uploads/program/ unitv2_program1.1进入程序目录,

执行python3 run.py即可运行。

FhSO6rpHMZ5gRtgrWYQnDDd9UEg7

运行结果如下

FtXOHBhRqq_U_c5sxVfgtTOYQh6-

四、心得体会

  本人通过m5stack技术人员的直播课程,对AI摄像头的使用方法有了一定的了解,完成了简单的识别功能。因本人不熟悉pyton,所以没有在编程方面深入研究。后续计划在此基础上,研究通过arduino编程来读取摄像头的grove串口json数据,将摄像头作为传感器来进行应用。

 

 

 

 

 

 

 

 

附件下载
unitv2_program1.1.rar
v2model_86b56963fc7c1e50.tar
团队介绍
团队成员
chinaking
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号