当前位置: 首页 > news >正文

网站后台制作教程百度推广关键词匹配模式

网站后台制作教程,百度推广关键词匹配模式,怎么做网站代码,购物网站二级店铺mvc一.目标检测技术 目前常用实用性目标检测与跟踪的方法有以下两种: 帧差法 识别原理:基于前后两帧图像之间的差异进行对比,获取图像画面中正在运动的物体从而达到目标检测 缺点:画面中所有运动中物体都能识别 举个例子&#xf…

一.目标检测技术

目前常用实用性目标检测与跟踪的方法有以下两种:

帧差法

识别原理:基于前后两帧图像之间的差异进行对比,获取图像画面中正在运动的物体从而达到目标检测

缺点:画面中所有运动中物体都能识别

举个例子:我们的目标是识别运动的车辆,但是,在画面中镜头晃动,大风吹过树叶飘动也会被计算在甄别范围内,这就会导致甄别物出现错误

级联分类器

那么,有没有更好的方式能降低我们甄别目标出现错误的概率呢?

这边就可以使用我们的级联分类器了,如果我们的识别目标是车辆,那就需要把车辆相关的信息全部统计出来,比如:车辆颜色、车辆形状、车辆大小等信息,将他们存储在一个文件中,以提高甄别准确度,这个文件就是级联分类器

级联分类器也是机器视觉和机器学习中非常重要的一个环节

二.样本采集工作原理

使用基于Haar特征的级联分类器的对象检测,这是一种基于机器学习的方法,其中从许多正负图像中训练级联函数,然后,用于检测其他图像中的对象,在这里,我将进行人脸检测举例说明,最初,该算法需要大量正图像(面部图像)和负图像(无面部图像)来训练分类器, 然后,我们需要从中提取特征,为此,使用下图所示的Haar功能, 它们就像我们的卷积核一样,每个特征都是通过从黑色矩形下的像素总和中减去白色矩形下的像素总和而获得的单个值。

三.创建自己的级联分类器

1.准备好样本图像

  正样本数据采集(我们需要检识别的目标图片,例如:车辆)

  负样本数据采集(非检测物的图片)

  

2.环境配置(OpenCV win10)

下载OpenCV win10系统安装包

从安装包中的opencv\build\x64\vc15\bin 找到

        -  opencv_createsamples.exe

        -  opencv_traincascade.exe

        -  opencv_world342.dll

将以上文件拷贝到正负样本文件路径下

3.设置路径

创建正负样本的图像路径的 .txt文件

4.实现样本数据采集

调用opencv中opencv_createsamples.exe实现样本数据采集

通过命令行执行命令进行样本采集生成car_samples.vec正样本矢量集文件,命令行如下:

opencv_createsamples.exe -info car_list.txt -vec car_samples.vec  -num 80 -w 33 -h 33

- info字段填写正样本描述文件

- vec用于保存制作的正样本

- num制定正样本的数目

 - w和-h分别指定正样本的宽和高

在windows下终端运行,如下图所示: 

5.实现样本数据训练

调用opencv中opencv_traincascade.exe对样本进行训练

通过命令行执行命令进行训练生成,命令行如下:

opencv_traincascade.exe -data data -vec car_samples.vec  -bg ng_data.txt  -numPos 80 -numNeg 240 -numStages 7 -w 33 -h 33 -minHitRate 0.995 -maxFalseAlarmRate 0.45 -mode ALL

-data:指定保存训练结果的文件夹

-vec:指定正样本集; -bg:指定负样本的描述文件夹

-numPos:指定每一级参与训练的正样本的数目(要小于正样本总数)

-numNeg:指定每一级参与训练的负样本的数目(可以大于负样本图片的总数)

-numStage:训练的级数

-w:正样本的宽

-h:正样本的高

-minHitRate:每一级需要达到的命中率(一般取值0.95-0.995)

-maxFalseAlarmRate:每一级所允许的最大误检率

-mode:使用Haar-like特征时使用,可选BASIC、CORE或者ALL

另外,还可指定以下字段:

-featureType:可选HAAR或LBP,默认为HAAR;

在windows下终端运行,进行训练,每一层训练都会有显示,如下图所示:

6.生成级联分类器文件

生成文件,如下所示:  

四.代码实现

我们将继续编写代码通过C++ 编写 OpenCV 在Qt上来展现出我们的案例效果

#include <iostream>

#include <opencv2/opencv.hpp>

using namespace cv;

using namespace std;

void datectCarDaw(Mat &frame,CascadeClassifier cascade,double scale)

{

    //【灰度处理】

    Mat gray;

    cvtColor(frame,gray,CV_RGB2GRAY);

    //一次还不够,级联分类器比帧差法还更加慢

    //【二次压缩】因此,再将灰度图大小压缩一半左右

    Mat smalling(cvRound(frame.rows/scale),cvRound(frame.cols/scale),CV_8UC1);

    resize(gray,smalling,smalling.size(),0,0,INTER_LINEAR);

    //【直方图均衡化】将缩小一半的灰度图进行均值化使其更加黑白分明

    equalizeHist(smalling,smalling);

    //imshow("smalling",smalling);

    //调用级联分类器进行模型匹配并框出内容

    vector<Rect>cars;

    //【参数说明】 待检测的图片帧  被检测物体的矩形向量容器  每次搜索减小的图像比例  检测目标周围相邻矩形的最小个数(此处设为2个) 类型 目标区域的大小尺寸

    cascade.detectMultiScale(smalling,cars,1.05,5,0|CV_HAAR_SCALE_IMAGE,Size(25,25));

    vector<Rect>::const_iterator iter;

    //【绘制标记框】注意,标记要画在原帧上,要讲方框的大小和帧坐标扩大,因为是根据灰度图识别的,灰度图被缩小了

    for(iter=cars.begin();iter!=cars.end();iter++)

    {

        rectangle(frame,

                  cvPoint(cvRound(iter->x*scale),cvRound(iter->y*scale)),

                  cvPoint(cvRound((iter->x+iter->width)*scale),cvRound((iter->y+iter->height)*scale)),

                  Scalar(0,255,0),2,8

                    );

    }

    imshow("frame",frame);

}

int main(int argc, char *argv[])

{

    //级联分类器(模型)

    CascadeClassifier cascade;

    cascade.load("C:/Users/86177/Desktop/cars-face/cars.xml");//读取级联分类器

    Mat frame;

    VideoCapture cap("C:/Users/86177/Desktop/image/test.mp4");//视频路径

    while (cap.read(frame))

    {

        imshow("video",frame);//将读到的帧显示出来

        datectCarDaw(frame,cascade,2);//将读到的帧传入函数用作识别

        waitKey(5);//延时5ms

    }

    return 0;

}

为了方便对比,再次使用帧差法实现,可以看到移动的电动车都被识别进去了,如下图所示:

帧差法实现,如下图所示:

http://www.yidumall.com/news/71902.html

相关文章:

  • 福州网上商城网站建设如何让自己的网站被百度收录
  • jsp网站建设最新百度关键词排名
  • 百度seo专业网站推广排名seo
  • 建设总承包网站惠州seo关键词
  • 微网站开发微网站建设推广公司属于什么公司
  • 杭州建设网站职称人才工作专题南阳seo优化
  • 做化工回收的 做那个网站百度客服中心人工在线电话
  • 建站快车源码必应搜索国际版
  • 如何做别人网站镜像唐山seo排名外包
  • 如何优化一个网站宁波关键词优化时间
  • 医疗器械分类目录2021百度seo关键词外包
  • 找人做网站 优帮云电商培训机构哪家好
  • 上海网站推广模板杨谦教授编的营销课程
  • 网站建设的专业术语最新军事新闻 今日 最新消息
  • 怎样做视频直播网站指数函数求导公式
  • 厦门网站免费制作天津seo公司
  • 做游戏的网站有哪些北京网络推广公司
  • 做网站注册什么公司好网站快速排名优化报价
  • 网站开发无锡软文推广名词解释
  • 西安企业建站在哪里做合肥网站快速排名提升
  • 微信公众号自己微网站吗武汉网络推广网络营销
  • 局域网如何做视频网站建设百度公司总部在哪里
  • 怎么做健康咨询网站企业网站建设方案论文
  • 电商ui设计是什么意思seo是什么seo怎么做
  • 做网站 pc端与手机端兼容如何创建自己的卡网
  • 路由器带u盘接口的做网站流量宝
  • 淘宝做网站的靠谱吗深圳网站提升排名
  • 网站建设推广怎么做怎么写网站
  • 日本做头像的网站管理系统
  • 互联网定制产品网站企业应该如何进行网站推广