模拟旋钮人眼监控

ChangeCode
转载
发布时间: 2025-06-10 15:41:54 | 阅读数 0收藏数 0评论数 0
封面
使用 Machine Learning 训练人工眼以监控音频控制台中的模拟旋钮位置

准备工作:

材料:

材料名称
数量
备注
Raspberry Pi 3 B 型
1
/
Raspberry Pi 摄像头模块
1
/
DFRobot LED 开关
1
/
Behringer 控制台
1
/
1

起因

一个小型录音室有一个模拟 Behringer 控制台,用于不同类型的作品。有时,长时间的录音是在错误的位置使用旋钮(高峰值、错误的均衡等)进行的,从而导致浪费时间、精力,并最终浪费金钱。

如果有一个全职观察眼睛的控制台旋钮该有多好?读取模拟表盘和面板仍然复杂且具有侵入性吗?

机器学习似乎是识别一组控制台图片中的模式的正确工具。可以通过以下方式训练模型:

所有这些照片都是用不正确的旋钮位置拍摄的 所有这些其他照片都是用正确的旋钮位置拍摄的

然后我们可以问“这张新图片的旋钮位置不正确的可能性有多大?90%?在这种情况下,请中止录制。

2

电路

使用色带连接 Raspberry Pi cam(色带字母指向 Raspberry USB 端口)将标准按钮连接到 GND 和 GPIO15。如果您使用的是带灯的 DfRobot 按钮,请将红色电缆也连接到 + Raspberry Pi 5v 引脚。

3

3D 打印

3D 打印部件

URL
3D 打印部件.url
170B
4

Raspberry Pi 设置

在没有桌面的情况下安装最新的 Raspberry Pi OS。然后运行以下命令:

sudo apt-get install python3-pip
sudo apt install git
pip install picamera
sudo apt install python3-opencv
sudo apt-get install libatlas-base-dev libportaudio0 libportaudio2 libportaudiocpp0 portaudio19-dev
git clone https://github.com/edgeimpulse/linux-sdk-python
sudo python3 -m pip install edge_impulse_linux -i https://pypi.python.org/simple
sudo python3 -m pip install numpy
sudo python3 -m pip install pyaudio
5

模型训练

我将使用主混音旋钮。如果此旋钮太低或太高,则认为录音被浪费,因此应中止。

要开始训练,需要大量带有低位和高位旋钮变化的图片。对于与模拟读数相关的其他机器学习项目,获得一张图像,然后进行数字处理以添加例如在不同位置的针。我决定采用一种不同的方法:使用带有暂停来移动旋钮的图像采集脚本。为什么?这也是对图像进行数字处理的一种努力,如果您使用旋钮而不是仪表,则旋钮高度会产生不同的阴影,从而使数字操作更加复杂。

6

拍摄照片集

将相机放在光线充足的旋钮上 10 厘米处。将旋钮放在 min 部分。然后运行:

法典

sudo python3 acquisition.py

当屏幕上出现“move”消息时,将旋钮移动到另一个不安全的位置。

重复该过程以获取至少 40 张图片。然后重复以获得最大位置的 40 张图片

7

Edge Impulse 数据采集

将所有最小图像上传到 Edge Impulse。转到 Label Queue。在旋钮上放置一个正方形。在后续图像中,方块将被自动放置,但可能需要进行小幅调整。对 max 图片执行相同的操作。

8

Edge Impulse 训练

现在创建 Impulse。图像数据。96X96,最短轴。Color Depth RGB(颜色深度 RGB)。生成特征。对象检测。

转到 Edge Impulse Dashboard,选择 Show Linux deploy options

转到部署,选择 Linux ARM,下载 EIM 文件,使用 FTP 上传到 Raspberry Pi。

Edge Impulse Linux Python 部署

将 .eim 文件权限更改为 744


代码设置

# button Gpio pin
buttonPin=15
# confidence limit 90%
detectionLimit=0.90
# eim file name
model = "rpi3cam-linux-armv7-v7.eim"


9

系统使用

运行 Linux 的 Raspberry Pi 将通过 USB 接收控制台音频并录制 .wav 文件。同时,连接的摄像头将拍摄照片,这些照片将被发送以针对机器学习模型进行推理。如果检测到旋钮位于错误的位置,录音将自动停止。

Raspberry、Behringer 和 ML Eye 准备就绪

使用 USB 数据线将 Behringer 连接到 Raspberry。执行

10

控制台输出

sudo python record1.py

控制台输出将记录到 .wav 文件中。如果你按下眼睛按钮,每当主混音旋钮置于不安全的位置时,录音就会被打断。您可以从控制台监控所有活动。

11

最后说明

这是机器学习的一个示例,它可以在不侵入性的情况下将模拟设备与数字世界连接起来。大型工业旋钮、刻度盘、仪表和面板甚至比这个小控制台旋钮更容易阅读,因此可能性是无限的。您可以读取和存储值,可以发送警报,还可以使用模拟旋钮和拨盘来操作和触发复杂的脚本。

对于这个概念证明,使用了一个旋钮,但 Edge Impulse FOMO 算法提供了 X、Y 坐标,因此您也可以用一张图片读取多个旋钮。

12

电路

Raspberry Pi、cammera 和按钮连接

ML 模拟旋钮读数

适用于 Raspberry Pi 的采集和推理 Python 脚本

URL
MLAnalogKnobReading-main.zip.url
185B
阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载