工业无损检测 _ 使用教程
组装硬件
将提供的设备进行组装,有相机组件
、机械臂组件
、传送带组件
。
其中,机械臂组件还需要与吸盘
、夹爪
组装。(如果是螺丝检测,则应该组装夹爪;如果是PCB检测,则应该组装吸盘)
传送带组件中,还有红外线检测
仪器。
项目文件
螺丝加工件处理
数据采集与标注
数据采集
本项目中,数据采集使用"MAIN_DH.py"文件,直接在终端内执行(执行命令前需要cd
至代码主路径下)
python3 MAIN_DH.py
执行命令后,会打开GUI窗口,如图所示:
其中具体功能详情如下:
- 打开相机
- 关闭相机
- 采集图像数据
- 连接机械臂
- 断开机械臂
- 机械臂回零
- 关闭真空发生器
- 显示机械臂现在的笛卡的坐标XYZR的值
- 控制机械臂XY方向运动
- 控制机械臂Z方向与R旋转
- 设置中转点将8现在的坐标值设置到中转点位
- 运动到中转点
- 设置抓取点将8现在的坐标值设置到抓取点位
- 运动到抓取点
- 设置机械臂抓取机械臂在XY方向的偏差
- 显示日志信息
- 选择放置物料的类别
- 开始零件分类
- 开始PCB分类
- 调用执行开始
- 保存设置的点位信息
- 调试完成后勾选记录比赛
- 根据17设置的类别设置对应类别的放置点
- 运动到17选择的点位
数据采集后,数据保存到主路径的上一级目录下的"save_image"文件夹下。
数据标注
此时,应该在项目主目录下新建一个文件夹,然后把"save_image"文件夹下的文件复制到新建的文件夹下。cd
进入这个文件夹后,在终端执行:
labelimg
会打开数据标注工具"labelimg",如下图所示:
- 打开标注照片的文件夹
- 设置标注完成保存位置(将采集的图片.jpg文件和打完标签的.txt文件保存在一个文件夹里)
- 打完标签完成后可以打开该文件里的classes.txt文件,若里面的东西只有本次打标签的名字,则正确。
- 格式选YOLO
- 可以在 Edit 里面选择"auto save"(自动保存)
注意事项:标注PCB缺陷数据集的时候必须标注一个名为PCB的类,为pcb抓取定位位置(没有这个类无法定位抓取)。需要将有问题的PCB板的问题处特别标定。
模型训练
在数据采集和训练完成后,我们需要训练数据,训练数据的python代码是项目主路径下的"train.py"文件。
但是在训练之前,我们需要调整训练参数,具体要调整的内容如下:
训练的模型配置文件和标签数据文件:
在train.py
的大概430行左右,有下述代码:parser.add_argument('--cfg', type=str, default='models/yolo5s_part.yaml', help='model.yaml path') parser.add_argument('--data', type=str, default=ROOT /'data/part.yaml', help='dataset.yaml path')
依次点击上述两个
yaml
文件,修改nc(标签个数)
与name(标签名称)
。训练的GPU与训练的轮数、一轮中每秒训练的图片张数:
在train.py
的大概440行左右,有下述代码:parser.add_argument('--epochs', type=int, default=1000, help='total training epochs') parser.add_argument('--batch-size', type=int, default=100, help='total batch size for all GPUs, -1 for autobatch')
修改第一行的轮数次数,修改第二行的一轮中每秒训练的图片张数(一般为
6 or 8
)。
在train.py
的大概450行左右,有下述代码:parser.add_argument('--device', default='0', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
修改需要使用的GPU索引,一般填
0
,即默认使用第一张显卡训练。
修改完训练参数后,我们开始训练模型。
我们使用终端执行下述命令打开它。
python3 train.py
然后等待训练的模型完成。会生成best.pt
与last.pt
文件,路径是在"/runs/train/xxx
"(这个路径在训练的python文件中可自定义)。
我们把这两个pt
文件复制到\my_weights\nut
路径下。
九点标注
运行项目主路径线下的"arm_机械臂手眼标定\MAIN_GUI_daheng.py"
文件,进行九点标注,实现九点标注是为了把机械臂与摄像头的点位匹配,已达到获取后续抓取的准确性。
开始测试
本项目中,数据测试使用"MAIN_DH.py"文件,直接在终端内执行(执行命令前需要cd
至代码主路径下)
python3 MAIN_DH.py
打开GUI页面后,开始测试。
PCB板加工件处理
数据采集与标注
同上文一致。
模型训练
同上文一致。
九点标注
上文标注后PCB板可不再标注,但是不能动 摄像头与机械臂的位置。
开始测试
同上文一致。
本文系作者 @chboy 原创发布在轩哥代码库站点。未经许可,禁止转载。
暂无评论数据