理论教育 验证OpenCL版本人脸检测算法的正确性

验证OpenCL版本人脸检测算法的正确性

时间:2023-06-23 理论教育 版权反馈
【摘要】:本书选取OpenCV2.4库中实现的Viola-Jones人脸检测算法作为进行GPU移植和优化的基准CPU程序,OpenCL程序的各方面参数与该基准程序保持一致。因此,本书的正确性验证只和该CPU串行代码的运行结果进行比较。图7-10显示了本书实现的OpenCL版本对3幅不同图像的检测结果。从中可以看出,本书实现的OpenCL版本在人脸检测数目上与CPU串行版本完全一致,这就证明了人脸检测算法OpenCL版本实现的正确性。

验证OpenCL版本人脸检测算法的正确性

本书选取OpenCV2.4库中实现的Viola-Jones人脸检测算法作为进行GPU移植和优化的基准CPU程序,OpenCL程序的各方面参数与该基准程序保持一致。同时,检测模型也直接使用OpenCV2.4自带的检测模型。因此,本书的正确性验证只和该CPU串行代码的运行结果进行比较。值得注意的是,通过改进算法及检测模型来提高检测的准确率并不是本书关注的内容,本书主要关注相同算法实现在GPU计算平台上的性能提升。

图7-10显示了本书实现的OpenCL版本对3幅不同图像的检测结果。从中我们可以看出:并不是所有的人脸都被检测出来。这主要是因为这些未检测出的人脸并不是标准正面像。同时也可以发现许多没有人脸的区域也被检测为人脸,如图像3。这是因为这些区域在一定程度上与人脸相似。从以上分析可以看出,OpenCL版本并没有达到100%的人脸检测精确度。但通过和OpenCV库中的CPU串行版本的运行结果相比较,我们发现人脸检测精度没有实现100%与串行算法实现及检测模型有关,而与OpenCL实现无关。

表7-3显示了CPU串行版本和本书实现的OpenCL版本针对不同图片的人脸检测数目。从中可以看出,本书实现的OpenCL版本在人脸检测数目上与CPU串行版本完全一致,这就证明了人脸检测算法OpenCL版本实现的正确性。而人脸检测的准确率可通过改进算法实现或者使用更精确的检测模型来提高,但这并不是本书关注的内容。(www.daowen.com)

7-3 CPU版本与OpenCL版本人脸检测数目 (单位:个)

978-7-111-56928-2-Chapter07-39.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈