李林 编译自 pyimagesearch作者 Adrian Rosebrock量子位 报道 | 公众号 QbitAI
OpenCV是一个2000年发布的开源计算机视觉库,有进行物体识别、图像分割、人脸识别、动作识别等多种功能,可以在Linux、Windows、Android、Mac OS等操作系统上运行,以轻量级、高效著称,且提供多种语言接口。
而OpenCV最近一次版本更新,为我们带来了更好的深度学习支持,在OpenCV中使用预训练的深度学习模型变得非常容易。
pyimagesearch网站今天发布了一份用OpenCV+深度学习预训练模型做图像识别的教程,量子位编译整理如下:
最近,OpenCV 3.3刚刚正式发布,对深度学习(dnn模块)提供了更好的支持,dnn模块目前支持Caffe、TensorFlow、Torch、PyTorch等深度学习框架。
另外,新版本中使用预训练深度学习模型的API同时兼容C++和Python,让系列操作变得非常简便:
从硬盘加载模型;对输入图像进行预处理;将图像输入网络,获取输出的分类。
当然,我们不能、也不该用OpenCV训练深度学习模型,但这个新版本让我们能把用深度学习框架训练好了的模型拿来,高效地用在OpenCV之中。
这篇文章就展示了如何用ImageNet上预训练的深度学习模型来识别图像。
OpenCV 3.3中的深度学习
自OpenCV 3.1版以来,dnn模块一直是opencv_contrib库的一部分,在3.3版中,它被提到了主仓库中。