前言
Hello,大家好,这里是OAK中国,我是助手君。
在重工业装备不断发展的今天,安全问题已经成为了摆在第一位的问题。恶性安全事故将会造成产线暂停、重大赔偿、事故追责等严重后果。
我们将演示在树莓派上同时运行多个OAK-1-POE,每台OAK设备都会运行神经网络模型。通过这个小示例展现出OAK在重工业装备安全方面的强大作用。
应用场景
在许多情况下我们需要同时运行多个设备进行不同的神经网络推理或深度计算,例如:
可用置于叉车四周检测行人或障碍物,防止碰撞。同时置于叉车驾驶员前方,检测驾驶员是否安全驾驶。了解更多
如果使用普通的设备,对于树莓派这类小型主机的负载压力非常大,甚至是运行不起来。
而OAK则不同,它搭载了Intel Myriad X芯片,所有的神经网络推理、深度计算都在这款芯片中实现,从而摆脱主机性能限制。
并且OAK的种类繁多,可根据不同的需求自由组合使用。
硬件设备
- 四台OAK-1-POE
- 树莓派4
- 显示屏
- POE交换机(支持DHCP服务器)
注意事项:
- DepthAI 多设备支持目前是通过选择连接的 DepthAI 设备的设备 mx_id(序列号)来完成的。
- 需要POE交换机支持DHCP服务器,为树莓派和每台OAK分配一个IP地址。保证树莓派和所有OAK设备在同一个局域网内。
- 如果没有POE交换机,可以使用路由器。
- 如下图所示:就是一台支持DHCP服务器的POE交换机。和普通POE交换机最大的区别,就是不需要额外通过网线连接路由器了。
教程
安装依赖
- depthai (>=2.7.0.0)
- opencv-python
python3 -m pip install depthai>=2.7.0.0 opencv-python
代码实现
获取所有设备
device_infos = dai.Device.getAllAvailableDevices()
查看设备IP地址
device_info.getMxId()
创建设备
device = dai.Device(openvino_version, device_info, usb2_mode)
为每台设备开启管道
device.startPipeline(pipeline)
余下的步骤和运行一台OAK设备一样,只不过要循环遍历所有设备。
效果演示
运行mobilenet模型
运行yolo4模型
多模型同时运行
花了好几周,终于实现OAK多相机多设备并行神经网络推理识别
参考资料
https://docs.oakchina.cn/en/latest/
https://www.oakchina.cn/selection-guide/
OAK中国
| OpenCV AI Kit在中国区的官方代理商和技术服务商
| 追踪AI技术和产品新动态
戳「+关注」获取最新资讯↗↗