(七)OpenCV深度神经网络(DNN)模块_02_使用SSD模型实现(实时)对象检测、GOTURN模型实现对象跟踪

本文介绍了OpenCV中的深度神经网络(DNN)模块,重点讲解如何使用SSD模型进行实时对象检测,包括模型下载、预测过程和多尺度特征预测原理。同时,还探讨了GOTURN模型在对象跟踪上的应用,实现高达100FPS的跟踪速度,提供相关模型和数据集的下载链接。
摘要由CSDN通过智能技术生成

SSD模型:
下载:https://github.com/weiliu89/caffe/tree/ssd#models
Fast-R-CNN模型基础上延伸(在特征图上采用卷积核来预测)
刚开始的层使用图像分类模型中的层,称为base network,在此基础上,添加一些辅助结构:

  1. Mult-scale feature map for detection
    在base network后,添加一些卷积层,这些层的大小逐渐减小,可以进行多尺度预测。
  2. Convolutional predictors for detection
    每一个新添加的层,可以使用一系列的卷积核进行预测。
    对于一个大小为mn、p通道的特征层,使用33的卷积核进行预测,在某个位置上预测出一个值,该值可以是某一类别的得分,也可以是相对于default bounding boxes的偏移量,并且在图像的每个位置都将产生一个值。
  3. Default boxes and aspect ratio
    在特征图的每个位置预测K个box。
    对于每个box,预测C个类别得分,以及相对于default bounding box的4个偏移值,这样需要(C+4)k个预测器,在mn的特征图上将产生(C+4)km*n个预测值。

基于PASCAL VOC数据集实现200个分类对象检测

  1. 二进制模型
    VGG_ILSVRC2016_SSD_300x300_iter_440000.caffemodel / MobileNetSSD_deploy.caffemodel
  2. 网络描述
    ILSVRC2016/SSD_300x300/deploy.prototxt / MobileNetSSD_deploy.prototxt
  3. 分类信息
    ILSVRC2016/SSD_300x300/labelmap_det.txt / classNames(20个分类标签)

GOTURN模型可以实现视频对象跟踪(100FPS)
GOTURN(Generic Object Tracking Using Regression Networks)
下载地址https://github.com/opencv/opencv_extra/tree/c4219d5eb3105ed8e634278fad312a1a8d2c182d/testdata/tracking

#include <opencv2/opencv.hpp>
#include <opencv2/dnn.hpp>
#include <iostream>

using namespace cv;
using namespace cv::dnn;
using namespace std;
//参照https://blog.csdn.net/Haiqiang1995/article/details/89948101

//标签文件//分类信息
const char* classNames[] = {
    "background",
"aeroplane", "bicycle", "bird", "boat",
"bottle", "bus", "car", "cat", "chair",
"cow", "diningtable", "dog", "horse",
"motorbike", "person", "pottedplant",
"sheep", "sofa", "train", "tvmonitor" };

//String Label_Text = "labelmap_det.txt";
String Model_Caffe = 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值