该存储库为识别指针式仪表,见下图
输出结果为归一化后的指针与刻度之间的相对位置。
理论上可已处理多指针多表盘的针表,只需要将不同的指针与刻度分配至不同的通道中即可。
**所有代码和模型都在积极开发中,如有更改或删除,恕不另行通知。**使用风险自负。
- 语义分割模型,在不同通道上分割出表盘和指针
- 环形的表盘展开为矩形图像
- 二维图像转换为一维数组
- 对刻度数组用均值滤波
- 定位指针相对刻度的位置
- 输出相对位置
语义分割模型采用的是U2Net
安装了所有依赖项的Python 3.8或更高版本,包括torch>=1.7
。要安装运行:
Meter可以在以下任何经过验证的最新环境中运行(已预安装所有依赖项,包括CUDA / CUDNN,Python和PyTorch):
- 带有免费GPU的Google Colab和Kaggle笔记本:
- Google Cloud深度学习VM。请参阅GCP快速入门指南
- Amazon深度学习AMI。请参阅AWS快速入门指南
- Docker映像。请参阅《Docker快速入门指南》
运行以下命令以在Data文件夹下的数据集上重现结果。在一台GTX2080TI上。使用--batch-size
为您的GPU允许的最大容量(为11 GB设备显示的批量大小)。
$ python train.py
运行read_meter.py可以计算data/文件下的val图片,输出的指针数值为归一化后的数值。
链接: https://pan.baidu.com/s/1wTPo1wJXrNyEFSu8RrD8Xw 密码: t0p4
将文件放置于weight下