在这个指南中,将以FIRST Robotics Competition为示例,展示如何使用Luxonis OAK相机和Raspberry Pi4来开发和运行强大的计算机视觉模型。这些步骤同样适用于各种机器人平台和用途。
首先,需要准备以下物品:Raspberry Pi4、Luxonis OAK相机(例如OAK-D-Lite或OAK-D Pro)、以及用于设置Raspberry Pi的外设,如键盘和鼠标。确保Raspberry Pi安装了最新版本的Raspbian OS,并按照官方文档进行设置。此外,Raspberry Pi还需要有工作的互联网连接,以便稍后安装依赖项。
Roboflow提供了一个便捷的平台,用于标注训练数据、创建数据集和训练强大的机器学习模型。访问roboflow.com创建账户,将看到一个创建工作空间的选项——这是将存储和管理图像的地方。模型通过训练有标签的示例来学习检测感兴趣的对象。为了收集图像,可以拍摄现实世界中对象的照片,并将它们上传到Roboflow工作空间。例如,对于2022年FRC比赛,这可能是场地上不同位置的货物。
一个资源是RoboflowUniverse,这是一个不断增长的公共数据集和模型集合。例如,这里有一些其他的公共FIRST数据集。拍摄了一些照片并上传到了Roboflow:
在各种位置和光照条件下拍摄对象的照片有助于模型学习如何在各种情况下检测对象。
预处理和增强有助于计算机视觉模型变得更加健壮。在“生成”标签下,可以选择应用于数据的转换。以下是一些增强操作,可以帮助模型训练:
- 翻转:这有助于模型对主题方向不敏感。
- 灰度:这迫使模型在没有颜色输入的情况下学习分类。
- 噪声:添加噪声有助于模型对相机伪影更具弹性。
- 马赛克:将几个训练图像连接在一起,可以提高对小物体的准确性。
使用Roboflow增强,可以免费生成高达训练数据3倍大小的数据集。一旦数据集生成完毕,它将出现在“版本”标签下。在那里,可以一键训练一个机器人计算机视觉模型,将把它部署到Raspberry Pi和Luxonis OAK相机上。训练完模型后,可以可视化其结果。
为了让Raspberry Pi软件与Luxonis OAK相机交互,它需要其他软件或依赖项才能工作。可以通过在终端应用程序中运行以下命令将它们安装到Raspberry Pi上:
sudo apt-get update
sudo apt-get upgrade
python3 -m pip install roboflowoak==0.0.5 depthai opencv-python
Luxonis OAK相机还需要Raspberry Pi上的特定设置。为确保它已设置,请运行以下命令:
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666"' | sudo tee /etc/udev/rules.d/80-movidius.rules
sudo udevadm control --reload-rules && sudo udevadm trigger
创建了一个包含实用代码片段的Github仓库。通过运行以下命令克隆它:
git clone https://github.com/roboflow-ai/roboflow-api-snippets.git
cd Python/LuxonisOak
现在,打开克隆的仓库中的main.py文件,并编辑第10至12行以指定想要运行的模型和版本,以及API密钥。可以在模型的测试页面下点击“Luxonis OAK”标签找到它。鼓励尝试Roboflow提供的其他部署选项。
要运行检测,可以运行:
python3 ./main.py
在终端输出中,看到推理以大约每秒10帧的速度运行。