如何在 Raspberry PI3 上实时 运行 openCV 算法
How to run openCV algorithms in real-time on Raspberry PI3
我正在开发一个 Raspberry PI,一个带有 Raspbian Jessie 的嵌入式 linux 平台,其中已经安装了 Python 2.7,我有 OpenCV 算法,必须运行 实时并且必须在同一图像上应用多个 HAAR 级联分类器。有什么方法可以减少这些操作的时间吗?例如多线程?
我也听说过 GPU 计算,但我不知道从哪里开始。
感谢您的帮助。
OpenCv with OpenCL 用于并行处理对您有用,因为 raspberry pi 3 是四核。我认为这些主板附带的 GPU 不够强大。你可以试试高通的DSP到计算机视觉和神经网络。 Nvidia 的 Tegra GPU 是另一种选择。
如果您还没有这样做,您应该考虑以下几点:
将图像大小减小到每个分类器识别目标对象所需的最小大小。如果不同的对象需要不同的分辨率,您甚至可以使用一组不同大小的原始图像副本。
为每个分类器确定搜索区域,从而减少搜索区域。例如,如果您正在搜索人脸特征点,则可以在 运行 人脸检测器之后定义左眼、右眼、鼻子和嘴巴的搜索区域,并找到包含人脸的矩形。
我不太确定优化是否会有很大帮助,因为 OpenCv 已经做了一些硬件优化。
我正在开发一个 Raspberry PI,一个带有 Raspbian Jessie 的嵌入式 linux 平台,其中已经安装了 Python 2.7,我有 OpenCV 算法,必须运行 实时并且必须在同一图像上应用多个 HAAR 级联分类器。有什么方法可以减少这些操作的时间吗?例如多线程?
我也听说过 GPU 计算,但我不知道从哪里开始。
感谢您的帮助。
OpenCv with OpenCL 用于并行处理对您有用,因为 raspberry pi 3 是四核。我认为这些主板附带的 GPU 不够强大。你可以试试高通的DSP到计算机视觉和神经网络。 Nvidia 的 Tegra GPU 是另一种选择。
如果您还没有这样做,您应该考虑以下几点:
将图像大小减小到每个分类器识别目标对象所需的最小大小。如果不同的对象需要不同的分辨率,您甚至可以使用一组不同大小的原始图像副本。
为每个分类器确定搜索区域,从而减少搜索区域。例如,如果您正在搜索人脸特征点,则可以在 运行 人脸检测器之后定义左眼、右眼、鼻子和嘴巴的搜索区域,并找到包含人脸的矩形。
我不太确定优化是否会有很大帮助,因为 OpenCv 已经做了一些硬件优化。