目标检测(Object Detection)原理与实现(五)

2023-10-27

基于Cascade分类器的目标检测

       从今天开始进入基于机器学习的目标检测,前几节虽然也接触了一些机器学习的方法,但它主要是做辅助工作,机器学习的方法和非机器学习的方法结合在一起使用,说到这想起来前几天看到一位博士师兄发的笑话,说的是百度实验室:

      Theory is when you know everthing but nothing works.

      Practice is when everything works but no one knows why.

      In our lab,theory and practice are  combined:nothing works and no one knows why.

         目前而言,甭管理论好坏吧,只要实用就行,实用的未必是好理论,就像深度学习那样,不说太远了,继续今天的话题,Cascade是Paul Viola发表在2001年的CVPR上,2002年Rainer Lienhart等人改进了Paul的方法,主要是改进了特征并且分析了不同的boosting算法对分类性能的影响和计算复杂度,OpenCV实现的Cascade的分类器也是Rainer的改进版本。所谓不同的boosting算法就是说不同的Adaboost弱分类器,比如Discrete, Real 和 Gentle Adaboost弱分类器,而Cascade(级联)分类器就是基于多个Adaboot弱分类器对不同的特征进行依次处理(分类)来完成对目标的检测,简单的说有多个Adaboost串起来,然后提取每个平滑窗(sliding window)上的不同特征,把这些特征依次放进不同的Adaboost弱分类器里判断,如果所有的弱分类器都判断正标签(1),则表示该该平滑窗内检测到目标,如(图一)所示。这样做的好处是不但通过多个弱分类器来形成一个强的级联分类器,而且可以减少运算量,比如当一个平滑窗第一个特征没有通过第一个分类器,那么就没有必要继续运算下去,直接拒绝掉当前平滑窗,转而处理下一个平滑窗,事实上作者的目的就是为了快速抛弃没有目标的平滑窗,从而达到快速检测目标。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

目标检测(Object Detection)原理与实现(五) 的相关文章

  • JUC学习系列九(同步点 Exchanger)

    可以在对中对元素进行配对和交换的线程的同步点 每个线程将条目上的某个方法呈现给 exchange 方法 与伙伴线程进行匹配 并且在返回时接收其伙伴的对象 Exchanger 可能被视为 SynchronousQueue 的双向形式 Exch
  • 查看 Python 已安装模块的方法

    目录 前言 1 方法列举 2 方法演示 2 1 方法一演示 2 2 方法二演示 2 3 方法三演示 总结 前言 提示 这里可以添加本文要记录的大概内容 本文介绍几种查看 Python 已安装模块 modules 的方法 1 方法列举 可通过

随机推荐

  • ImportError: No module named 'StringIO'

    python3中用HTMLTestRunner py报ImportError No module named StringIO 的解决方法 1 原因是官网的是python2语法写的 看官手动把官网的HTMLTestRunner py改成py
  • Otter入门简介

    前言 最近接了一个新的需求 需要在伦敦机房做一个数据同步方案 同步到北京 因为之前搭建过公网之间的同步 一是延迟比较大 另一个是因为同步经常会断 临时解决方案就是搭建一个多源复制 隔断时间全量一次数据到北京机房 但是这个传输时间也是个头疼的
  • 开源的作业调度框架 - Quartz.NET

    开源的作业调度框架 Quartz NET Quartz NET是一个开源的作业调度框架 是OpenSymphony 的 Quartz API的 NET移植 它用C 写成 可用于winform和asp net应用中 它提供了巨大的灵活性而不牺
  • 别再耍流氓了: 请别再用strcpy, 而用strncpy

    我们先来看看strcpy 下面的程序没有问题 include
  • 程序员为什么想进大厂,看看年终奖你们就知道了

    戳蓝字 CSDN云计算 关注我们哦 2018年的最后一个月 一年的辛苦不易除了放假就盼着年终奖了 一直以来被外行人称为 钱多话少 的程序员 到了年底也都能拿到不少的年终奖 毕竟都是996拼出来的 那么国内的互联网年终奖能拿到多少呢 年终奖只
  • [树莓派课设]基于树莓派的画板(opencv+mediapipe+stm32+摇杆)

    系统介绍 基于树莓派的画板通过opencv mediapipe进行手势识别控制做画 还可以通过摇杆完成做画 由于树莓派的gpio不支持ADC 所以stm32完成摇杆的ADC转换通过串口将据传输到树莓派 功能介绍 右手控制 右手食指做出一的形
  • oracle删除表空间提示不存在,因非常规操作导致删除表空间提示ORA-01561解决办法...

    今天测试手工通过bbed修改undo 中回滚段状态 从status 5修改为1 NEEDS RECOVERY 修改为 DELETE 然后尝试删除表空间 发现不能删除 删除表空间提示ORA 01561 SQL gt drop tablespa
  • SteamVR 提示GUI已过时报错的修改方法

    1 SteamVR 导入Unity后报错 Assets SteamVR Scripts SteamVR Stats cs 12 9 error CS0619 GUIText is obsolete GUIText has been remo
  • pinia 核心模块-----action

    目录 一 概念 二 actions使用 1 基本使用 2 页面中使用 3 actions里存调用异步方法 一 概念 前面我们提到的state和getters属性都主要是数据层面的 并没有具体的业务逻辑代码 它们两个就和我们组件代码中的dat
  • 静态路由的划分。。。。。

    先了解静态路由在做作业 静态路由的作业 一 静态路由是什么 二 作业 1 分析划分子网 2 将ip地址和环回地址先写入路由器 包括R5 3 全网可通 并且防环 先写到这里 加油 坚持写博客 坚持努力 我要假期悄悄努力 一 静态路由是什么 静
  • 五分钟,认清ERP和WMS!

    ERP WMS 傻傻分不清楚 两者区别到底在哪里 诚意奉上干货一篇 用心科普 ERP和WMS简介 ERP Enterprise Resource Planning 是指企业资源计划 ERP整合了企业管理理念 业务流程 基础数据 人力物力 计
  • 中国激光产业投资规模分析与十四五发展规划展望报告2021-2027年

    撰写单位 鸿晟信合研究院 报告目录 第1章 中国激光产业综述及发展环境分析1 1 激光产业发展综述 1 1 1 激光定义及特点 1 激光的定义 2 激光的特点 1 1 2 激光产业应用现状 1 在农业 林业和畜牧业中的应用 2 在文娱教育
  • 2.4.2 小型机状态

    最后更新2021 07 15 Power Disconnected 电源未接通状态 小型机刚刚在现场设置好 但并未连接电源电缆时的状态 当需要进行复杂 大型的硬件升级和更换 例如安装CEC IO Drawer等部件时 不同设备要求不同 更换
  • 十一、kotlin的协程 - 缓存、volatile、内存屏障和cas(四) --- 跑题篇

    本章写着写着就跑题了 又不舍得删除 新手看 协程的共享变量安全问题简单入门和 volatile 不保证原子性部分代码 其他可以不看 太乱 也没用 协程的共享变量安全问题简单入门 在使用 kotlin 的协程库中 我们会看到很多的 协程调度器
  • UVALive 6258 Non-boring sequences

    Problem icpcarchive ecs baylor edu index php option com onlinejudge Itemid 8 page show problem problem 4269 vjudge net c
  • 《代码之道》勘误表(2008.12.31更新)

    页码 行号 2009年1月第1版译文 建议的修正 备注 III 3 事物的本源以及行事之道 玄之又玄的背后终是一个个自圆其说的预言 这确是任何组织发展趋势的终结所在 关于世界应该是什么样子或者事情应该怎样去做的神话 最后证明都是一个个自圆其
  • c——顺序结构

    顺序结构 1 赋值语句 2 数据的输出 3 数据的输入 4 复合语句与空语句 4 1 复合语句 4 2 空语句 5 程序实例 1 赋值语句 在赋值表达式的后面加上 分号 就构成了赋值语句 2 数据的输出 字符原样输出 指定宽度输出 如果长度
  • java静态程序PPT_java中的static

    学习本文你到底要学到什么 1 static在java中到底代表什么 为何要用它 2 static在java中怎么用 3 static有那些特点和使用的 局限 1 static在java中到底代表什么 为何要用它 static 静态 指定位置
  • Linux下创建进程简介

    在博文https blog csdn net fengbingchun article details 108940548中简单介绍了Windows下通过函数CreateProcess创建进程的过程 这里简单介绍下Linux下通过fork函
  • 目标检测(Object Detection)原理与实现(五)

    基于Cascade分类器的目标检测 从今天开始进入基于机器学习的目标检测 前几节虽然也接触了一些机器学习的方法 但它主要是做辅助工作 机器学习的方法和非机器学习的方法结合在一起使用 说到这想起来前几天看到一位博士师兄发的笑话 说的是百度实验