物体检测技术开发框架的应用
2021-06-16祝裕璞李梓邵国强张百顺
祝裕璞 李梓 邵国强 张百顺
(大庆师范学院 黑龙江省大庆市 163712)
物体检测技术,通常是指在一张图像中检测出物体出现的位置及对应的类别。
在计算机视觉众多的技术领域中,物体检测是一项非常基础的任务,图像分割、物体追踪、关键点检测等通常都要依赖于物体检测。此外,由于每张图像中物体的数量、大小及姿态各不相同,也就是非结构化的输出,这是与图像分类非常不同的一点,并且物体时常会有遮挡截断,物体检测技术也极富挑战性,从诞生以来始终是研究学者最为关注的焦点领域之一。工欲善其事,必先利其器。对于物体检测的学习,选择一个优秀的开发框架是一件十分重要的事情。下面对目前流行的几种开发框架进行介绍。
1 OpenCV
OpenCV(Open Source Computer Vision Library)即开放源代码计算机视觉库,目前它已经包含了2500 多个算法,主要算法涉及图像处理、计算机视觉和机器学习相关方法。应用领域覆盖了工业产品检测、医学成像、无人机飞行、无人驾驶、安防、 卫星地图与电子地图拼接、信息安全、用户界面、摄像机标定、立体视觉和机器人等。它可以运行在Linux、Windows、Android 和Mac OS 操作系统上,支持的高级语言包括:C、C++、Python、JS、Ruby、MATLAB 等。
OpenCV 主要特点:
(1)OpenCV使用了两步PR审核。当开发者提交pull request后,PR 首先需要通过OpenCV Buildbot 的自动测试,包括18 种测试配置。当PR 通过了自动测试后,OpenCV 核心团队的成员将会对PR进行审核,若通过则此PR 将会被集成进OpenCV 主版本中。
(2)OpenCV 实现不同平台加速的思想是:写一份代码,则可在不同操作系统平台上运行。对于CPU,OpenCV 使用了parallel_for() 和universal intrinsics API 来实现这个目标;……
