Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenCV:提高级联检测的速度_Opencv_Image Processing_Computer Vision_Cascade Classifier - Fatal编程技术网

OpenCV:提高级联检测的速度

OpenCV:提高级联检测的速度,opencv,image-processing,computer-vision,cascade-classifier,Opencv,Image Processing,Computer Vision,Cascade Classifier,我需要使用OpenCV级联实时检测人。目前我正在使用OpenCV附带的经过训练的级联文件,但稍后我将训练自己的LBP级联以获得更高的速度。我确实有个问题 加快级联检测的方法有哪些?例如,请看一看。它真的很快,使用Haar cascades和nice。我可以做什么来达到这个速度,特别是对于实时应用程序?有什么技巧和技巧吗? 这是一篇关于级联检测速度重要性的论文,我希望这会有所帮助 我不确定您在视频示例中所说的“速度”是什么意思,因为很难确定检测的“速度”是什么。在计算机视觉中,当我们谈论检测的“速

我需要使用OpenCV级联实时检测人。目前我正在使用OpenCV附带的经过训练的级联文件,但稍后我将训练自己的LBP级联以获得更高的速度。我确实有个问题

加快级联检测的方法有哪些?例如,请看一看。它真的很快,使用Haar cascades和nice。我可以做什么来达到这个速度,特别是对于实时应用程序?有什么技巧和技巧吗?

这是一篇关于级联检测速度重要性的论文,我希望这会有所帮助


我不确定您在视频示例中所说的“速度”是什么意思,因为很难确定检测的“速度”是什么。在计算机视觉中,当我们谈论检测的“速度”时,我们通常指的是单个或一组视频的每秒帧数(FPS)或算法的毫秒运行时间。如果算法获得的FPS与输入视频的FPS相同,则称为实时或1x处理速度。如果处理FPS大于输入FPS,则处理速度比实时快,如果处理速度小于实时,则处理速度比实时慢。我猜你说“速度”的意思是一样的

考虑到这一点,让我给你两种方法来加速检测。我真的建议阅读这两篇论文,这两篇论文在过去几年中确实为行人检测设置了标准:并且,它们都优化了在传统检测设置中执行多尺度检测的计算瓶颈。后者有公开的代码和代码。但这是需要改进的领域之一:规模大小

OpenCV中本机实现的方法基于Viola-Jones方法的一个扩展,该方法扩展了检测中使用的类Haar特征集。另一个需要考虑的改进区域称为开窗。传统的检测方法,包括OpenCV中本机实现的方法,要求在图像上按比例滑动窗口,通常从左上角到右下角按行滑动。解决这个问题的经典方法是执行优化的ESS。在此基础上构建了许多扩展,但这是一个很好的起点,可以了解目标检测的基础知识


当然,加快检测过程的一个非常明显的方法是并行化代码,例如多线程或GPU。有几种公开的GPU实现,例如使用基于支持向量机的检测器。

处理图像处理时的一个主要因素是输入图像的大小。考虑缩小图像。在你的例子中,汽车以已知的方向和合理可预测的速度行驶,因此在检测到汽车的地方,可以在下一帧中搜索该区域周围图像的感兴趣区域部分,以获得更快的检测速度。

如果您需要提高HAAR级联检测的速度,而不是我推荐使用的速度,那么它改进了HAAR和LBP级联分类器(它们使用SSE4.1、AVX2和NEON(ARM),因此其工作速度比原始OpenCV快2-3倍)。注意,它可以使用OpenCV中的标准HAAR和LBP cascade