263 lines
8.6 KiB
Markdown
263 lines
8.6 KiB
Markdown
自动滴定控制平台速查清单
|
||
===
|
||
|
||
这是一份面向最终用户的自动滴定控制平台操作速查表,帮助您零代码基础快速完成“采集-训练-滴定-分析”的完整实验闭环。
|
||
|
||
快速入门
|
||
---
|
||
|
||
### 启动软件
|
||
|
||
双击运行目录下的启动程序(如 `run_ui.bat`),软件会自动在浏览器中打开操作界面。
|
||
软件左侧为**导航栏**,用于切换页面;右侧为**主操作区**。
|
||
|
||
### 核心工作流
|
||
<!--rehype:wrap-class=col-span-2-->
|
||
|
||
- **第一步:数据采集** -> 组装并控制泵和相机,收集滴定过程中不同颜色/状态的照片。
|
||
- **第二步:人工整理** -> 将照片按状态分别放入不同名称的文件夹中。
|
||
- **第三步:模型训练** -> 调整“学习计划”,让 AI 认识这些颜色/状态。
|
||
- **第四步:自动滴定** -> 设置“终点规则”,让 AI 接管设备自动完成滴定并停止。
|
||
- **第五步:滴定回放** -> 事后查看历史视频和数据曲线。
|
||
|
||
第一步:数据采集
|
||
---
|
||
<!--rehype:body-class=cols-3-->
|
||
|
||
### 1. 硬件准备
|
||
|
||
| 检查项 | 状态说明 |
|
||
| ---- | ---- |
|
||
| `注射泵` | 确保电源开启,用 USB 数据线连接电脑。 |
|
||
| `摄像头` | 确保对准滴定瓶,且环境光线充足、稳定。 |
|
||
<!--rehype:className=show-header-->
|
||
|
||
*注意:如果未连接硬件,软件会自动隐藏“数据采集”和“自动滴定”菜单。*
|
||
### 2. 采集图像
|
||
<!--rehype:wrap-class=col-span-2-->
|
||
|
||
- 点击左侧导航栏进入 **【数据采集】** 页面
|
||
- **设置参数**:输入注射泵的`推注速度`和`体积`,以及相机的`抓拍间隔`。
|
||
- **启动**:点击【滴液】按钮。泵开始推进设定的体积,相机自动连续拍照。
|
||
- **结束**:完成后点击【关闭相机】。**注意不是【停止】**
|
||
- **查看**:点击【打开目录】即可查看刚刚拍摄的照片。(也许窗口被最小化了)
|
||
- **重置**:点击【更换目录】将不同批次滴定过程分开。
|
||
<!--rehype:className=style-timeline-->
|
||
|
||
|
||
### 如果右侧没有显示目标摄像头
|
||
|
||
- 拖动`采集参数配置`处`摄像头编号`
|
||
- 点击`启动相机`和`关闭相机`,观察右侧预览。
|
||
<!--rehype:className=style-timeline-->
|
||
|
||
### 如果设置错了想停止
|
||
<!--rehype:className=style-arrow-->
|
||
|
||
- 点击【停止】,这不会关闭摄像头
|
||
<!--rehype:className=style-timeline-->
|
||
|
||
### 如果软件意外退出了,注射泵里还有溶液
|
||
|
||
- 点击【重置体积目录】
|
||
- 输入注射泵读数
|
||
<!--rehype:className=style-timeline-->
|
||
|
||
|
||
第二步:人工整理数据
|
||
---
|
||
<!--rehype:body-class=cols-1-->
|
||
|
||
AI 需要您亲自告诉它什么是“起点”,什么是“终点”。这是最重要的一步!
|
||
|
||
### 整理数据
|
||
- 打开您电脑上的项目文件夹,找到与启动程序在同一个文件夹内的 `data/` 目录。(如果不存在则创建)
|
||
- 在里面创建几个文件夹,用滴定状态命名(建议用英文,例如:`red` 代表红色起点,`blue` 代表蓝色终点)。
|
||
*注意:请直接在 `data/` 下创建文件夹,千万不要在 `clear` 或 `pink` 等分类文件夹里再创建子文件夹。*
|
||
- 打开刚才采集保存在 `Input/` 下的照片,根据实际颜色挑出来,分别复制放入您刚建好的对应状态文件夹中。
|
||
*提示:每个文件夹里的照片数量尽量差不多,不要有的放了几千张,有的只有几张,这样 AI 会“偏科”。*
|
||
<!--rehype:className=style-timeline-->
|
||
|
||
第三步:AI 模型训练
|
||
---
|
||
<!--rehype:body-class=cols-2-->
|
||
|
||
准备好照片后,点击进入 **【模型训练】** 页面,告诉 AI 怎么学习。这些参数就像是给 AI 安排的“课程表”。
|
||
|
||
### 基础训练参数
|
||
|
||
| 参数名称 | 白话解释 |
|
||
| ---- | ---- |
|
||
| **模型文件名** | 模型名。如果输入以前用过的名字,AI 会在原来基础上继续学。 |
|
||
| **训练轮数** | 数字越大(比如 100)学得越细,但耗时越长。 |
|
||
| **数据批大小** | 同时看几张照片。显卡好可以填大点(如 128),普通电脑填小点(如 32),填太大电脑容易卡死。**<red>一定小于总照片数的四分之一</red>** |
|
||
| **学习率** | AI 纠正错误的步伐大小。太大容易“学偏”,太小学得慢,保持默认就好。 |
|
||
| **日志/保存间隔** | 每学多少次就在屏幕上打印一下成绩,或者把模型保存一下。 |
|
||
<!--rehype:className=show-header-->
|
||
|
||
### 高级训练参数
|
||
|
||
| 参数名称 | 白话解释 |
|
||
| ---- | ---- |
|
||
| **验证集比例** | 建议留 20% (0.2),如果数据集很小可以适度降低。 |
|
||
| **随机种子** | 一个魔法数字。只要这个数字不变,每次训练抽取的考试题都是同一批。 |
|
||
| **特征/隐藏层维度** | 决定 AI 大脑的复杂程度。一般不用改,除非你觉得 AI 实在学不会太复杂的图片。 |
|
||
| **加载到显卡** | 将训练集加载到显存。如果有独显,请勾选。 |
|
||
| **工作线程数** | CPU 越好数字可以越大,如果报错就改回 0。 |
|
||
<!--rehype:className=show-header-->
|
||
|
||
### loss值长期卡在0.6~0.7
|
||
|
||
loss值长期卡在0.6~0.7代表着模型完全没能学习到任何信息
|
||
|
||
- 检查图片分类是否有误。
|
||
|
||
### 最小训练参数
|
||
|
||
您至少需要填写以下内容
|
||
- 训练集路径
|
||
- 模型名称
|
||
|
||
### 是不是训练越久越好
|
||
|
||
不是,在loss显著降低后再训练10轮左右就可以停止了。
|
||
|
||
### 训练的时挺好,实际完全离谱
|
||
|
||
这种情况被称为【过拟合】。可能由于以下原因
|
||
|
||
- 训练轮数过多
|
||
- 训练数据过少
|
||
- 训练数据偏置(一个类别很多,另一个很少)
|
||
- 单纯运气不好,修改种子再试试
|
||
|
||
### loss值反复严重波动
|
||
|
||
训练不稳定。
|
||
|
||
- 如loss已经显著降低,停止训练
|
||
- 降低`学习率`
|
||
- 降低`数据批大小`
|
||
- 训练数据过少
|
||
|
||
|
||
第四步:全自动滴定
|
||
---
|
||
<!--rehype:body-class=cols-2-->
|
||
|
||
点击进入 **【自动滴定】** 页面。
|
||
|
||
### 推注控制参数 (左侧)
|
||
|
||
控制注射泵怎么滴液的参数:
|
||
|
||
| 参数名称 | 白话解释 |
|
||
| ---- | ---- |
|
||
| **滴定速度** | 注射泵推进的快慢,单位是 mL/min。越快滴得越猛。 |
|
||
| **单次时间** | 每次让泵推进几秒钟。 |
|
||
| **滑窗时长** | 告诉 AI:“你不要看一眼就下结论,往前倒带回忆过去 X 秒的画面一起综合判断”。可以防止短时间变色褪色导致误判。 |
|
||
| **保存图像** | 勾选后,不仅会让 AI 看,还会把每一滴过程的照片都存下来。 |
|
||
<!--rehype:className=show-header-->
|
||
|
||
### 终点判定参数 (右侧)
|
||
|
||
控制 AI 如何判断“滴定结束”的参数:
|
||
|
||
| 参数名称 | 白话解释 |
|
||
| ---- | ---- |
|
||
| **稳定判定时长** | 当 AI 认为到了终点时,必须持续盯着看 X 秒,确认颜色不再退回去,才真正叫停。 |
|
||
| **终点判定比例** | 在上面的“滑窗时长”内,如果超过这个比例(比如 60%)的画面都被认作是终点颜色,AI 才会进入判定倒计时。 |
|
||
| **滴液-检测间隔** | 滴进一滴液体后,等几秒钟再让 AI 去看画面。主要是给液体搅匀、反应变色的时间。 |
|
||
| **初始累计体积** | 设为注射器上的读数。 |
|
||
<!--rehype:className=show-header-->
|
||
|
||
## 自动滴定异常检查单
|
||
|
||
依次执行,如不满足则查下一条。
|
||
|
||
### 未能开始
|
||
|
||
**当 <red>运行程序后完全没变色就停止了</red> 查**
|
||
|
||
|1|2|
|
||
|-|-|
|
||
|当前帧|未显示溶液|
|
||
|
||
修改`摄像头编号`
|
||
|
||
|1|2|
|
||
|-|-|
|
||
|最近预测结果|终点类别|
|
||
|训练时loss |< 0.1|
|
||
|
||
查[过拟合](#训练的时挺好实际完全离谱)
|
||
|
||
|1|2|
|
||
|-|-|
|
||
|如第2条不满足||
|
||
|
||
模型不好,重新训练。
|
||
|
||
|1|2|
|
||
|-|-|
|
||
|如第1条不满足,且||
|
||
|
||
|现象|可能原因|
|
||
|-|-|
|
||
|当前状态|wait|
|
||
|
||
【终点类别】设错了
|
||
|
||
|
||
### 误判严重
|
||
如果滴液入水瞬间变色后就停下了。
|
||
- 加大【滑窗时长】(如 10 秒)
|
||
- 加大【稳定判定时长】(如 5 秒)
|
||
- 提高【终点判定比例】(如 80%)
|
||
|
||
### 严重过量
|
||
**当 <red>如果溶液显著过量,但程序没能停下</red> 查**
|
||
|
||
|1|2|
|
||
|-|-|
|
||
|`单批体积`|大于1mL|
|
||
|
||
减小`单次时间`或`速度`
|
||
|
||
|1|2|
|
||
|-|-|
|
||
|`最近预测结果`|非终点类别|
|
||
|`近期分类结果分布`|非终点主导|
|
||
|
||
模型不好
|
||
|
||
|1|2|
|
||
|-|-|
|
||
|第二条不满足|
|
||
|最近预测结果|反复改变|
|
||
|
||
模型不好
|
||
|
||
|
||
第五步:结果回放与分析
|
||
---
|
||
<!--rehype:body-class=cols-2-->
|
||
|
||
### 滴定回放
|
||
- 选择您刚做完的实验
|
||
- 您将会看到滴定过程每一秒AI的状态和决策。
|
||
|
||
### 曲线分析
|
||
|
||
软件会自动为您画出一张图。横坐标是“体积”,纵坐标是“颜色状态的概率”。
|
||
|
||
|
||
## END
|
||
|
||
<!--rehype:wrap-style=text-align:center;-->
|
||
<img
|
||
src="https://flt6.top/today"
|
||
alt="封面图"
|
||
width="600"
|
||
/>
|