[![](https://zhuanlan.zhihu.com/p/27546796)](javascript:void\(0\))
![ZhiHu logo](../images/body-e1fa91dbdb48b8055184.png)
[](https://www.zhihu.com)
[关注](https://www.zhihu.com/signin?next=%2Ffollow)[推荐](https://www.zhihu.com/signin?next=%2F)[热榜](https://www.zhihu.com/signin?next=%2Fhot)[专栏](https://www.zhihu.com/signin?next=%2Fcolumn-square)[圈子](https://www.zhihu.com/signin?next=%2Fring-feeds)[AI WorksBeta ](https://www.zhihu.com/project-square)[故事](https://www.zhihu.com/fiore/h5/vip-web)
​
[直答](https://zhida.zhihu.com/)
切换模式
登录/注册
视觉目标检测和识别之过去，现在及可能
首发于[碧空的算法之旅](https://www.zhihu.com/column/bikong2)
切换模式
![视觉目标检测和识别之过去，现在及可能](../images/000.img)
# 视觉目标检测和识别之过去，现在及可能
[![碧空的算法之旅](../images/035.jpg)](https://www.zhihu.com/people/li-xi-hua-93)
[碧空的算法之旅](https://www.zhihu.com/people/li-xi-hua-93)
IT工程师
[收录于 · 碧空的算法之旅](https://www.zhihu.com/column/bikong2)
377 人赞同了该文章
计算机视觉中目标检测、跟踪、识别是最基本的几个task，尤其又以检测最为重要和基础。同时基本上所有的检测任务都需要在给出物体的bounding box之后，给出物体的类别（也就是给识别物体），所以文章中不区分检测和识别任务。笔者从事[计算机视觉](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=2&q=%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLorqHnrpfmnLrop4bop4kiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjIsInpkX3Rva2VuIjpudWxsfQ.vBwQSwezoWrFyfhGZHQF3cL_zG1k3uUeSeE6-Pcdhdw&zhida_source=entity)中目标检测相关的工作还比较多，将自己看到的，学到的，以及相关的一些理解总结如下。帮助自己进行梳理，也希望对后来者有帮助。大致将目前学术及和工业界出现的目标检测算法分成3类：
1. 传统的目标检测算法：Cascade + Harr / [SVM](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=SVM&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJTVk0iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.7M9dmxZWc8FDm5Tx2AH8p4omdtP5Mox-76p9fq07Fhw&zhida_source=entity) + [HOG](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=HOG&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJIT0ciLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.qOhdqUmt5_pAyOfiPxInHrOgGi6hMd9YhNK1nDHwmq0&zhida_source=entity) / [DPM](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=DPM&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJEUE0iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.COor4h3K99iyQQPYluxiU72vnBXFVMC7OxLELleVCts&zhida_source=entity) 以及上述的诸多改进、优化；
2. 候选窗+深度学习分类：通过提取候选区域，并对相应区域进行以深度学习方法为主的分类的方案，如：RCNN / Fast-RCNN / Faster-RCNN / [SPP-net](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=SPP-net&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJTUFAtbmV0IiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MzIwNTg5NCwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.SA59d6ntU6j8j6OQgRxAa_nAPcHhkSzjy_vpD8f-R48&zhida_source=entity) / [R-FCN](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=R-FCN&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJSLUZDTiIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjMyMDU4OTQsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.pzKBvwTj46t62HH_m5DkPDXP50ZpykCC4kav9I6R2fo&zhida_source=entity) 等系列方法；
3. 基于深度学习的回归方法：[YOLO](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=YOLO&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJZT0xPIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MzIwNTg5NCwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.CimK61ZYgoLMFwhnV5kznJjKDxLX34X0UfVyWEUYg-w&zhida_source=entity) / [SSD](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=SSD&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJTU0QiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.eRvtHPVo642RGUv6zV-p-9S8U-b62G9yVS4miprqnfU&zhida_source=entity) / DenseBox 等方法；以及最近出现的结合RNN算法的[RRC](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=RRC&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJSUkMiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.Hoc6luYLBa-FcOgdp25wuFBfNXBg4baqOzqdYZb7N7g&zhida_source=entity) detection；结合DPM的[Deformable CNN](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=Deformable+CNN&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJEZWZvcm1hYmxlIENOTiIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjMyMDU4OTQsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.W6QXct8jTmagZchoMqQt0Fs6E0woqCLA-cz8r-3_MaE&zhida_source=entity)等
对于检测的目标，早期工业界关注的主要是人脸，人，车这些对监控、交通等领域非常重要的目标，到现在为止，计算机需要更全面的理解场景，检测的类别扩展到了生活的方方面面。
文章会针对上述的方法进行简单的介绍，以及表达一些笔者认为这种演进趋势背后的原因。总结起来，实际上所有的方法都可以概括成：**[候选窗口](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=%E5%80%99%E9%80%89%E7%AA%97%E5%8F%A3&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLlgJnpgInnqpflj6MiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.AcskYCSVCPctl6TP39LqGbs7VTqyXALh43YfXLS0a4E&zhida_source=entity) + 分类or回归**；逻辑上滑窗也是提取候选窗口的一种方式。
基于深度学习的方案的计算效率和进度大致对比如下：
![](../images/004.png)
_注：以上数据摘自论文_
下面对上面的3类目标检测的算法进行说明：
**传统的[目标检测算法](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=3&q=%E7%9B%AE%E6%A0%87%E6%A3%80%E6%B5%8B%E7%AE%97%E6%B3%95&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLnm67moIfmo4DmtYvnrpfms5UiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjMsInpkX3Rva2VuIjpudWxsfQ.7AJNNdyDawumiML-g34DlpyYtOARtJZqh7eDUhWjvc4&zhida_source=entity)：**
传统的做目标检测的算法基本流程如下：
1. 使用不同尺度的[滑动窗口](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=%E6%BB%91%E5%8A%A8%E7%AA%97%E5%8F%A3&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLmu5Hliqjnqpflj6MiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.Ad8Vz0ws1sewt125RJPZe_lkikg0P_slaOBys4cW5oc&zhida_source=entity)选定图像的某一区域为候选区域；
2. 从对应的候选区域提取如Harr HOG LBP LTP等一类或者多类特征；
3. 使用[Adaboost](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=Adaboost&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJBZGFib29zdCIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjMyMDU4OTQsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.rVPJ1blDcxBQ7-CatcjKXfS3vonOJHlhOXRwITm0gmM&zhida_source=entity) SVM 等[分类算法](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=%E5%88%86%E7%B1%BB%E7%AE%97%E6%B3%95&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLliIbnsbvnrpfms5UiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.FYV9sC6by-KUXEQOFHRfcEMBo9Tj3_7eF768f82c3HE&zhida_source=entity)对对应的候选区域进行分类，判断是否属于待检测的目标。
2001年viola的cascade+harr进行[人脸检测](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=%E4%BA%BA%E8%84%B8%E6%A3%80%E6%B5%8B&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLkurrohLjmo4DmtYsiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.ME8tsUg9hsq7GZCCaIelHWwfXeT6Cret0W9uKZZzCjs&zhida_source=entity)的方案取得了很好的正面人脸的检测效果；其实这之前通过普通的颜色特征，形状特征也可以处理一些基本的目标检测问题，并且这类方法至今在[工业检测](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=%E5%B7%A5%E4%B8%9A%E6%A3%80%E6%B5%8B&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLlt6XkuJrmo4DmtYsiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.QUAjr19Zp94CT7q69a_N9CRFmYVWPIvpvJnF73e5xEc&zhida_source=entity)的场景仍然在使用；下面我们对viola的cascade+harr人脸检测的方案进行详细的介绍，并为后续的方法埋下伏笔。
假设我们现在已经获取了一个[图像区域](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=%E5%9B%BE%E5%83%8F%E5%8C%BA%E5%9F%9F&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLlm77lg4_ljLrln58iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.uG2rM8HrJHwZqu5mj5_b_81Hw1BxMw5f-Yx-6sXzGhY&zhida_source=entity)，我们要判断这个区域是不是人脸，应该怎么做呢？那我们首先从这个区域提取特征，然后将特征送给分类器进行分类。特征呢？在[viola](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=3&q=viola&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJ2aW9sYSIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjMyMDU4OTQsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MywiemRfdG9rZW4iOm51bGx9.GGot8EopGixlnM5Y6SnQ1fisnA9j6eidMi6g0oughxA&zhida_source=entity)的方案中主要使用的是harr特征，描述两个图像block之间的明暗对比；而分类器呢，最好是又快又好，viola提出的方法是Adaboost，通过弱[分类器](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=3&q=%E5%88%86%E7%B1%BB%E5%99%A8&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLliIbnsbvlmagiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjMsInpkX3Rva2VuIjpudWxsfQ.BXYXhptrLkIwlMs4NDX-yTG76KT71WGF69hmYVlEwSE&zhida_source=entity)的组合和[级联](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=%E7%BA%A7%E8%81%94&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLnuqfogZQiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.l3_C2MHDEqvG8UWdEIiX8ZGxS896s1TdYixf7Rcq_pk&zhida_source=entity)完成分类任务；假如一个640*480大小的图片，滑窗时每次移动3个像素的话，总体上也有10w量级的滑窗，再加上由于目标尺寸的变化，需要对图片进行缩放或者扩大，总体滑窗的数量又会上升，因此对分类器的效率要求非常高。所以级联的cascade方法很好的解决了这个问题，在初期使用很少的计算量过滤掉大部分的候选窗口，对于越难进行分类的样本就计算更多的特征来进行判断，直到所有的候选窗口的分类完毕。后续会针对检测的结果进行[重叠窗口](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=%E9%87%8D%E5%8F%A0%E7%AA%97%E5%8F%A3&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLph43lj6Dnqpflj6MiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.28ZIkrarBSuBNpQZ5h1Yh8U7JXcMYJcE3ZqqQ44O5JI&zhida_source=entity)以及不同尺度图像上窗口的融合。
viola最早提出来的harr特征主要是水平方向和竖直方向，后续又出现了非常多的变化；adaboost方法在后续也出现了非常多的变种，这里将harr特征的变化以及adaboost的变种进行一个罗列：
![](../images/005.png)
基本上可以看到，以上harr的变种都是改变明暗对比的计算方法。还有一些改进：如将harr特征进行组合的joint harr feature，如利用[pixel](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=pixel&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJwaXhlbCIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjMyMDU4OTQsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.CScqFMv4YSfAObgNcD7yj-mntLa8QBq_EbxgO_Ss0PM&zhida_source=entity)明暗对比进行组合的joint pixel harr feature；基本逻辑就是获得更为全面的特征描述能力，以及提高计算速度。
这对adaboost也有非常多的改进，以及training方法的改进也很多，这里对adaboost的改进进行罗列，感兴趣的朋友可以查看：
[vector](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=vector&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJ2ZWN0b3IiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.KLWfxetkecKpHLDKC1-Hjxn85TsGkaUGmIe-72v9V5A&zhida_source=entity) boosting
output code to boost multiclass learning
multiple instance boosting（MIL等）
multi-class boosting
floatboost learning
multi-class adaboost
textonboost
等等
改进非常多，不过基本逻辑依旧是提升模型的表达能力；traning的改进在此不做罗列，总结起来基本上是：难分负样本的处理，trainning效率等。
  

使用SVM+HOG的方法进行[行人检测](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=%E8%A1%8C%E4%BA%BA%E6%A3%80%E6%B5%8B&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLooYzkurrmo4DmtYsiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.Y9lBjeORk0xeXOMTPRYUJR4-6SE7YnNmuISgfCQEXIA&zhida_source=entity)方法和上述方案基本一致，不过针对行人检测的场景，harr通过区域的明暗对比计算的特征显然不能够太好的描述；而[HOG特征](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=HOG%E7%89%B9%E5%BE%81&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJIT0fnibnlvoEiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.4Yx7OHdV426QD0_or0ao72DDfLnQvafSkZLX14clOK4&zhida_source=entity)本身含有一定的位置特性，正好可以描述人体如头部，四肢等不同的部位。方法的流程如下：
![](../images/006.png)
HOG特征能够很好的描述人体的轮廓特性，大致可以有个直观的感受参考这个图：
![](../images/007.png)
但上面的方案有个问题，实际上人的正面和侧面从视觉轮廓上来看，差异非常大；比如车辆也一样，从正面看，主要是挡风玻璃和前脸部分，从侧面看则是车门和轮廓部分；所以出现了后来非常出名的dpm算法。dpm算法的思想如下：
1. 物体都是由不同的part组成的，由于各种[variations](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=variations&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJ2YXJpYXRpb25zIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MzIwNTg5NCwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.d4KVdBuv4pKCVI4f4rrvfYrIP0PRulKIlYA3_wY9_60&zhida_source=entity)导致物体整体的视觉效果不一样，但是有些part的变化实际上不大，因此可以训练针对不同part的检测模块；
2. 一个物体，不同的part之间实际上是存在天然的[拓扑结构](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=%E6%8B%93%E6%89%91%E7%BB%93%E6%9E%84&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLmi5PmiZHnu5PmnoQiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.SyrNFS24gMR22EVwZaPg4P6MmN6Ao_yYzurDAfMl55s&zhida_source=entity)的关系，比如人体头大部分情况都位于躯干的上面，车大部分情况轮子的部分都在地面上等等。也就是说这些不同的part之间的距离和位置关系符合一个标准的分布，某种位置关系非常多，而有些位置关系存在但很少，有些则根本不存在；
3. 有了各个部件，有了位置关系，就可以将不同的位置关系对目标物体的贡献看待成一个[权重](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=%E6%9D%83%E9%87%8D&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLmnYPph40iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.9xxIp__jSbPoXJnVzykyVBMjVOK1fiKjioKW6KPhelY&zhida_source=entity)，最后由权重求和得到是否是需要检测的目标。
整体流程参考：
![](../images/008.png)
root filter 和 n个part filter进行最终的[加权](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=%E5%8A%A0%E6%9D%83&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLliqDmnYMiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.SdJaZ2lK3P4NdA9My23f-0dleYF712EO-Lk2crdZ2y0&zhida_source=entity)，得到检测目标。
dpm算法本身的进步roadmap可以参考这个：
![](../images/009.png)
传统的目标检测方法介绍到这里，而实际上后续的基于深度学习的目标检测方案多多少少参考了前面的工作，以及在深度学习目标检测的框架中也在结合以上方法中的思想，后面一一介绍。  
  

**候选窗+深度学习分类的目标检测方案：**
滑窗有一个问题，就是产生的候选窗口数量巨大，所以有各种region proposal的方案出来，最根本的需求就是在减少可能窗口的miss的情况下找到更少的候选窗口；从这个角度讲，金字塔+滑动窗口的方案实际上是一个100%召回的方案。
使用深度学习方法进行分类能够更好的提取特征，以及模型能够具备更强大的描述能力；所以基本上对深度学习的使用也慢慢的从当成特征提取进步到特征提取与分类、回归等问题结合起来的end-to-end的方式。
先介绍[rgbd](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=rgbd&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJyZ2JkIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MzIwNTg5NCwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.t3ZqyY5w-lZPl1RDa98315un9Jxg2_o9I-Vi0us_E3c&zhida_source=entity)大神的系列工作rcnn -> fast rcnn -> [faster rcnn](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=faster+rcnn&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJmYXN0ZXIgcmNubiIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjMyMDU4OTQsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.LCCBLFshH1iayC7D7DjngrRSqlxWMEsjSSSEurlSfZk&zhida_source=entity)；以上工作非常有连续性，建议读者读原论文研读。这个链接有一些说明：
[RCNN, Fast-RCNN, Faster-RCNN的一些事](https://link.zhihu.com/?target=http%3A//closure11.com/rcnn-fast-rcnn-faster-rcnn%25E7%259A%2584%25E4%25B8%2580%25E4%25BA%259B%25E4%25BA%258B/)  

rcnn目标检测的基本流程如下：
![](../images/010.png)
通过[selective](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=selective&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJzZWxlY3RpdmUiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.ExCS95KAv-5pAZafhSaFtgrx7K7BQ9H7Oazpr9cPh7k&zhida_source=entity) search的方式从图片中提取可能的目标的候选窗口，将窗口[warp](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=warp&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJ3YXJwIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MzIwNTg5NCwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.1AKarUweK-jpddlGbsYIqZXPv7EmbjkxNUJjJF8h16k&zhida_source=entity)到同一个尺寸，通过[卷积网络](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=%E5%8D%B7%E7%A7%AF%E7%BD%91%E7%BB%9C&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLljbfnp6_nvZHnu5wiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.7CK0PP5wEspSr1zW4s9tMQ9baU8lHxDdrIXepKfy2rE&zhida_source=entity)从warp之后的候选窗口提取特征，将特征送给分类器进行分类，最后在加上bounding box [regression](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=regression&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJyZWdyZXNzaW9uIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MzIwNTg5NCwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.1Vs_WMV_L8g0q4XX0sf_BFVisPdansEOd6wG60raQXU&zhida_source=entity)等操作得到更准确的目标位置。
以上方案有几个问题：1. selective search方式提取候选窗口非常耗时，同时会miss掉一些窗口；2. 从warp之后的候选窗口提取dnn特征的时候，重叠部分的卷积操作重复计算了；3. 提取特征之后再丢给SVM进行分类，逻辑上每一步都是分开训练，不利于[全局最优](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=%E5%85%A8%E5%B1%80%E6%9C%80%E4%BC%98&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLlhajlsYDmnIDkvJgiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.MPYuw0GmBjYPCLwyHl6518fhwyjn2o4QQygl-_HIE5Q&zhida_source=entity)。
rgbd大神在fast rcnn中提出了ROI pooling层来解决重复的卷积计算的问题，框架如下：
![](../images/011.png)
ROI pooling层逻辑上可以理解成，对于一个任意尺寸的box，都可以通过将这个box分成4*4，8*8等同样数量的网格，然后每个网格通过max, mean等操作计算相应的特征，就可以将不同尺寸的box转化成相同[维度](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=%E7%BB%B4%E5%BA%A6&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLnu7TluqYiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.JxfYTw6oS7YPCcFufzkkT30mwlA5wi19dHT5MZQBrA0&zhida_source=entity)的特征。
还不够，是否可以简化掉最费时的selective search 提取候选窗口呢？显然可以。rgbd大神在faster rcnn中引入region proposal network替代selective search，同时引入anchor box应对目标形状的变化问题。
![](../images/012.png)
在结合end-to-end的training，faster rcnn基本做到的实时。
SPP-net的主要思想是去掉原始图像上的crop/warp操作，通过在卷积特征层上的空间金字塔池化来达成；二者的差异可以参考这个图：
![](../images/013.png)
Spatial [pyramid](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=pyramid&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJweXJhbWlkIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MzIwNTg5NCwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.-ir_MqdMUid95LaC3mZRVF0nNdI6P7D2qFUkSREQSEk&zhida_source=entity) pooling的示意图如下，是一个非常重要的将尺寸不一致的图像pooling到相同的特征纬度的方法：
![](../images/014.png)
R-FCN方案也使用region proposal network提取候选窗口，同时使用和[RPN](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=RPN&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJSUE4iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.hknXuUXtKKlZ16rCcU-HBPo6ukpPVbiHb7FUzXl9Sx4&zhida_source=entity)同享的特征进行分类和回归，流程如下，请读者参考论文详情：
![](../images/015.png)
以上方案可以看到明显的进步，并且每一个进步都有重要的背后的逻辑。几个值得关注的点重申如下：
ROI pooling 操作
Anchor box机制
RPN[特征共享](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=%E7%89%B9%E5%BE%81%E5%85%B1%E4%BA%AB&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLnibnlvoHlhbHkuqsiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.41h5H0qqi2rhU01XylTDJKA_xOmMRKJARteY6TUg2TQ&zhida_source=entity)
卷积层的[空间金字塔](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=2&q=%E7%A9%BA%E9%97%B4%E9%87%91%E5%AD%97%E5%A1%94&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLnqbrpl7Tph5HlrZfloZQiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjIsInpkX3Rva2VuIjpudWxsfQ.2Xei2fDdUjYa2rsugC5-wyc53ahwiC5TipOTN0cmT6I&zhida_source=entity)
等等
  
  

**基于深度学习[end-to-end](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=3&q=end-to-end&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJlbmQtdG8tZW5kIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MzIwNTg5NCwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjozLCJ6ZF90b2tlbiI6bnVsbH0.aB8F8goefusywLn9yZ2MZT13xoSJXSSm4v3EhneqHmA&zhida_source=entity)的回归方法用于目标检测：**
YOLO可以认为是这类方法的开篇之作，速度很快，详细介绍如下。有人说yolo的方案去除了候选窗口或者滑窗的思想，但实际上并没有，只是yolo使用对输出的图像进行网格划分来提取候选窗口而已。
![](../images/016.png)
YOLO方案的输入是比如448*448的图片，输入是一个7*7的网格，每个网格的信息包含：1. 存在某个类别的物体的概率，比如有20类目标需要检测，那就是20类+1类（backgroud）；2. 对应物体的bounding box参数，使用4个数字描述；3. 对应目标的概率。
这个问题就被format成一个[回归问题](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=%E5%9B%9E%E5%BD%92%E9%97%AE%E9%A2%98&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLlm57lvZLpl67popgiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.GD49B2zGAXf9hw3WZdZmE6-LAIdwlQGbUwc3GJnBrOg&zhida_source=entity)，448*448*3作为输入；7*7*（b*5+c）作为回归的参数，然后进行end-to-end的学习。
  

显然，YOLO的方案有几个问题：1. 针对小目标的检测效果会不太好，因为7*7的网格的划分可能太粗糙了；2. 经过多层卷积和pooling的操作，图像的边缘特征可能丢失较多了，而回归bounding box参数的只使用了高层的[卷积层](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=2&q=%E5%8D%B7%E7%A7%AF%E5%B1%82&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLljbfnp6_lsYIiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjIsInpkX3Rva2VuIjpudWxsfQ.O6A20uaE8Vv5BiZV5rkILTVsLy09LtLs-tt_rEG3TJQ&zhida_source=entity)特征，会导致bounding box不准确；3. 当两个目标同时落入7*7的某一个网格中的时候，对应位置只能检测到一个物体。
SSD方案则是faster rcnn和yolo的结合，使用了yolo end-to-end训练的思想，同时有结合了anchor box，不同层的卷积特征的组合等方案。SSD的整体流程如下：
![](../images/017.png)
SSD网络和[YOLO网络](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=YOLO%E7%BD%91%E7%BB%9C&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJZT0xP572R57ucIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MzIwNTg5NCwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.2KrKF2yKvoMdRl1EK2Uh6-P0q5TqnQ4N27uVgISHyhI&zhida_source=entity)的差异如下：
![](../images/018.png)
anchor机制的引入，以及多个卷积层特征的组合能够帮助SSD获得更为准确的对目标bounding box的估计。
KITTI上top 20的目标检测方案及精度大致如下：
![](../images/019.png)
对排名第7的RRC 方案做一个描述，之所以介绍这个方法，是因为他在hard上的得分超过了其他方案非常多，并且在moderate easy上的结果也和最好的结果差异不大，而笔者也认为这个方案背后的思想值得学习。
RRC实际上是把RNN的一些思想融入到了目标检测当中：
![](../images/020.png)
网络结构比较复杂，做如下几个说明：
1. 我们在做[bounding box](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=7&q=bounding+box&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJib3VuZGluZyBib3giLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjcsInpkX3Rva2VuIjpudWxsfQ.n7sPWgnS-RTUsFxnS7eVfW8GquGbWvi1uVUY-COpJKA&zhida_source=entity)回归的时候，一定是需要一些有用的底层的边缘信息的，但并不是所有的底层信息都有用，那这些信息可以通过一定的方式传递的后面的决策层；
2. 利用当前层进行预测的时候，实际上和他的上一层和下一层的信息是有关的。
详细请参考RRC detection论文。
Deformable CNN方法：是一种把DPM和CNN结合起来的思想。我们一起思考一下，卷积核一般情况下都是一个固定的尺寸或者是性状，比如3*3，5*5；但实际上在我们进行目标检测的时候，我们的目标的性状是千差万别的。比如人的手掌，实际上就是一个长方形或者有一定弧形的区域。那么如果我们可以通过某种方式将卷积核变成或者说是训练成可能的目标的部件的性状，那么他计算出来的特征就越合理。
所以我们是否可以在学习卷积核的时候，也引入一些可学习的卷积核的形状参数呢？答案是肯定的，这个就是deformable cnn卷积：
![](../images/021.png)
通过对[卷积核](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=5&q=%E5%8D%B7%E7%A7%AF%E6%A0%B8&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLljbfnp6_moLgiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjUsInpkX3Rva2VuIjpudWxsfQ.ZFnKL82a86RE2UkvfAUcYSPhY_VW5DUQFaWytz2waK0&zhida_source=entity)引入offsets来实现。
通过一个直观的感受来看看学习到的deformable cnn核是什么样子？
![](../images/022.png)
可以看到，学习到的deformable cnn核会遵循目标的轮廓进行分布；我们可以想见，或许学习到的对人脸特别敏感的核应该是一个椭圆形的等等。
感受一些deformable cnn的效果：
![](../images/body-89d0f240db35bb4daff8.png)
逻辑上：deformable cnn的效果可以通过多个标准的卷积核组合得到，就相当于椭圆可以通过很多个矩形来近似一样；这种组合似乎有一些inception v3 v4里面的组合的味道；不过我个人认为这种人造的组合可能上限会比通过参数学习的组合低，笔者认为deformable cnn的方案还是非常值得期待的。  
  

**总结、可能：**
基本上对于过去和现在的方法总结得差不多了，似乎该展望未来。不过笔者对于未来的判断一般都没有准确过，所以不敢使用未来这个字眼。但是对于目标检测的一些思考和可能也有一些自己的判断。
基于深度学习方法的几个可能的方向：
1. 想办法从原始图像、低层的feature map层，以及高层的语义层获取更多的信息，从而得到对目标bounding box的更准确的估计；
2. 对bounding box的估计可以结合图片的一些[coarse-to-fine](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=coarse-to-fine&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJjb2Fyc2UtdG8tZmluZSIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjMyMDU4OTQsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.IPl0qQqNUKQC_uZuMHr3DyZHDU60vALJw6vczcSiiuo&zhida_source=entity)的分割信息；
3. bounding box的估计可能需要更多的局部的content的信息，需要想办法引入；
4. [目标检测数据集](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=1&q=%E7%9B%AE%E6%A0%87%E6%A3%80%E6%B5%8B%E6%95%B0%E6%8D%AE%E9%9B%86&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiLnm67moIfmo4DmtYvmlbDmja7pm4YiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjozMjA1ODk0LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.PQZUfL5B_QzFp_mpH5xWC3NjnMt2rjjwEmYWY0Samj8&zhida_source=entity)的标注难度非常大，如何把其他如classfication领域学习到的知识用于检测当中，甚至是将classification的数据和检测数据集做co-training（如YOLO9000）的方式，至少可以从数据层面获得更多的信息；
5. 更好的启发式的学习方式，人在识别物体的时候，第一次可能只是知道这是一个单独的物体，也知道bounding box，但是不知道类别；当人类通过其他渠道学习到类别的时候，下一次就能够识别了；目标检测也是如此，我们不可能标注所有的物体的类别，但是如何将这种快速学习的机制引入，也是一个问题；
6. RRC，deformable cnn中卷积和其他的很好的图片的操作、机器学习的思想的结合未来也有很大的空间；
7. 语意信息和分割的结合，可能能够为目标检测提供更多的有用的信息；
8. 场景信息也会为目标检测提供更多信息；比如天空不会出现汽车等等。
  

笔者自己一直喜欢非常简单的框架，比如cascade+harr，比如[yolo](https://zhida.zhihu.com/search?content_id=3205894&content_type=Article&match_order=5&q=yolo&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkzNjMsInEiOiJ5b2xvIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MzIwNTg5NCwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjo1LCJ6ZF90b2tlbiI6bnVsbH0.qsxsKsCcbv2UDmRCWAcnXDidfrwpHr9kQIuRAuwmlAI&zhida_source=entity)；这种简单的框架对工程上的实现以及后续的优化提供了最多的可能性；也信奉一个道理，在工业界应该是**simple is beautiful**
到这里基本上已经写完了，检测和识别这些基本的task的进步才能够让计算机更好的理解世界，共勉！
编辑于 2017-06-26 14:40
[目标检测](https://www.zhihu.com/topic/19596960)
[深度学习（Deep Learning）](https://www.zhihu.com/topic/19813032)
​赞同 377​​17 条评论​1076 ​33 
​分享
​申请转载​
​
![](../images/body-7e064b35ba4350074989.jpeg)
未登录用户
  

17 条评论
默认
最新
[![ChenJ](../images/023.jpg)](https://www.zhihu.com/people/e3d1fe4283d3f68b2da5612f953a2196)
[ChenJ](https://www.zhihu.com/people/e3d1fe4283d3f68b2da5612f953a2196)
期待作者更新啊～～～～
2018-06-28
​回复​1
[![知乎用户60w8nE](../images/031.jpg)](https://www.zhihu.com/people/32407ab8e79f000a8c13a0c1847079d7)
[知乎用户60w8nE](https://www.zhihu.com/people/32407ab8e79f000a8c13a0c1847079d7)
请问一下，目标检测和目标跟踪您认为哪个更难一些呢？
2018-01-11
​回复​1
展开其他 1 条回复​
[![qq123](../images/025.jpg)](https://www.zhihu.com/people/b0621b68fe2b67ee57851192059fb097)
[qq123](https://www.zhihu.com/people/b0621b68fe2b67ee57851192059fb097)
赞，yolo流派和rcnn流派个人认为都是在固定窗口内回归，只不过将问题简化了（回归的都是offset），所以得以成功。
2017-06-25
​回复​1
[![碧空的算法之旅](../images/026.jpg)](https://www.zhihu.com/people/1cb1c5cefff6e55de8105b346ba2bff2)
[碧空的算法之旅](https://www.zhihu.com/people/1cb1c5cefff6e55de8105b346ba2bff2)
作者
恩，这种简化因为dnn网络的强大的学习能力而变成现实
2017-06-25
​回复​喜欢
展开其他 1 条回复​
[![Fantasy](../images/027.jpg)](https://www.zhihu.com/people/280e5a04ac8058d3c0c16367eff2245a)
[Fantasy](https://www.zhihu.com/people/280e5a04ac8058d3c0c16367eff2245a)
需要积累 沉淀
对全新领域的憧憬
2018-07-16
​回复​喜欢
[![Jinlong Xu](../images/028.jpg)](https://www.zhihu.com/people/49cc0f9a8e051387f4f675562f6fa7ac)
[Jinlong Xu](https://www.zhihu.com/people/49cc0f9a8e051387f4f675562f6fa7ac)
要是加上参考文献，简直帅呆了
2018-01-10
​回复​喜欢
[![一日三省](../images/029.jpg)](https://www.zhihu.com/people/134e68c65ecf31cfef752c765b18b2e3)
[一日三省](https://www.zhihu.com/people/134e68c65ecf31cfef752c765b18b2e3)
![](../images/body-4891d6a1477d0a5ff6ee.jpg)
faster rcnn 不是何凯明大神弄出来的吗？
2017-11-16
​回复​喜欢
[![头头](../images/031.jpg)](https://www.zhihu.com/people/50bd22e0871e4dc6af16aa27e6a42fad)
[头头](https://www.zhihu.com/people/50bd22e0871e4dc6af16aa27e6a42fad)
您觉得目标追踪还有什么改进方向呢
2017-08-12
​回复​喜欢
[![一条大鱼向东游](../images/031.jpg)](https://www.zhihu.com/people/76cbf0e89bde2bdc57179c5ae2c4db49)
[一条大鱼向东游](https://www.zhihu.com/people/76cbf0e89bde2bdc57179c5ae2c4db49)
![](../images/body-7d2c94d1d2f7b6b0ac4b.jpg)
赞，先收藏了，后面慢慢研读
2017-06-26
​回复​喜欢
[![Zh.ai](../images/032.jpg)](https://www.zhihu.com/people/eaf619c737251fa53cb67cd4c5577c93)
[Zh.ai](https://www.zhihu.com/people/eaf619c737251fa53cb67cd4c5577c93)
总结很好，有一点请教下，dpm和def CNN的def好像不是很一样，
2017-06-25
​回复​喜欢
[![碧空的算法之旅](../images/033.jpg)](https://www.zhihu.com/people/1cb1c5cefff6e55de8105b346ba2bff2)
[碧空的算法之旅](https://www.zhihu.com/people/1cb1c5cefff6e55de8105b346ba2bff2)
作者
是的，不一样的，我只是觉得思想有些一致，就是去拟合物体本身的形状拓扑属性
2017-06-25
​回复​喜欢
[![刘远](../images/034.jpg)](https://www.zhihu.com/people/10eda914b00557d0ab43f93d259ee0e4)
[刘远](https://www.zhihu.com/people/10eda914b00557d0ab43f93d259ee0e4)
总结的真好！
2017-06-25
​回复​喜欢
点击查看全部评论
![](../images/body-7e064b35ba4350074989.jpeg)
未登录用户
  

关于作者
[![碧空的算法之旅](../images/035.jpg)](https://www.zhihu.com/people/li-xi-hua-93)
[碧空的算法之旅](https://www.zhihu.com/people/li-xi-hua-93)
IT工程师
[ 回答 **23** ](https://www.zhihu.com/people/li-xi-hua-93/answers)[ 文章 **10** ](https://www.zhihu.com/people/li-xi-hua-93/posts)[ 关注者 **10,093** ](https://www.zhihu.com/people/li-xi-hua-93/followers)
​关注他​发私信
大家都在搜
换一换
[江歌妈妈发长文尘埃终将落定704 万](https://www.zhihu.com/search?q=%E6%B1%9F%E6%AD%8C%E5%A6%88%E5%A6%88%E5%8F%91%E9%95%BF%E6%96%87%E5%B0%98%E5%9F%83%E7%BB%88%E5%B0%86%E8%90%BD%E5%AE%9A&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=e66e154c-4244-4969-8127-a9f554bb7543)热
[中国男足 0-5 巴勒斯坦562 万](https://www.zhihu.com/search?q=%E4%B8%AD%E5%9B%BD%E7%94%B7%E8%B6%B3+0-5+%E5%B7%B4%E5%8B%92%E6%96%AF%E5%9D%A6&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=e66e154c-4244-4969-8127-a9f554bb7543)热
[原央视主持人阿丘回应被通报419 万](https://www.zhihu.com/search?q=%E5%8E%9F%E5%A4%AE%E8%A7%86%E4%B8%BB%E6%8C%81%E4%BA%BA%E9%98%BF%E4%B8%98%E5%9B%9E%E5%BA%94%E8%A2%AB%E9%80%9A%E6%8A%A5&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=e66e154c-4244-4969-8127-a9f554bb7543)热
[华为与赛力斯达成新五年合作409 万](https://www.zhihu.com/search?q=%E5%8D%8E%E4%B8%BA%E4%B8%8E%E8%B5%9B%E5%8A%9B%E6%96%AF%E8%BE%BE%E6%88%90%E6%96%B0%E4%BA%94%E5%B9%B4%E5%90%88%E4%BD%9C&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=e66e154c-4244-4969-8127-a9f554bb7543)热
[迪拜航空确认航班发生事故398 万](https://www.zhihu.com/search?q=%E8%BF%AA%E6%8B%9C%E8%88%AA%E7%A9%BA%E7%A1%AE%E8%AE%A4%E8%88%AA%E7%8F%AD%E5%8F%91%E7%94%9F%E4%BA%8B%E6%95%85&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=e66e154c-4244-4969-8127-a9f554bb7543)热
[东航回应网传空姐跪地道歉326 万](https://www.zhihu.com/search?q=%E4%B8%9C%E8%88%AA%E5%9B%9E%E5%BA%94%E7%BD%91%E4%BC%A0%E7%A9%BA%E5%A7%90%E8%B7%AA%E5%9C%B0%E9%81%93%E6%AD%89&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=e66e154c-4244-4969-8127-a9f554bb7543)
[王楚钦：不知道为什么就是感觉累320 万](https://www.zhihu.com/search?q=%E7%8E%8B%E6%A5%9A%E9%92%A6%EF%BC%9A%E4%B8%8D%E7%9F%A5%E9%81%93%E4%B8%BA%E4%BB%80%E4%B9%88%E5%B0%B1%E6%98%AF%E6%84%9F%E8%A7%89%E7%B4%AF&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=e66e154c-4244-4969-8127-a9f554bb7543)热
[江苏高考作文《衬衫的价格为 9 磅 15 便士》爆火268 万](https://www.zhihu.com/search?q=%E6%B1%9F%E8%8B%8F%E9%AB%98%E8%80%83%E4%BD%9C%E6%96%87%E3%80%8A%E8%A1%AC%E8%A1%AB%E7%9A%84%E4%BB%B7%E6%A0%BC%E4%B8%BA+9+%E7%A3%85+15+%E4%BE%BF%E5%A3%AB%E3%80%8B%E7%88%86%E7%81%AB&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=e66e154c-4244-4969-8127-a9f554bb7543)
[女装网店开始用防拆带了265 万](https://www.zhihu.com/search?q=%E5%A5%B3%E8%A3%85%E7%BD%91%E5%BA%97%E5%BC%80%E5%A7%8B%E7%94%A8%E9%98%B2%E6%8B%86%E5%B8%A6%E4%BA%86&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=e66e154c-4244-4969-8127-a9f554bb7543)
[孕妇骑车别车被司机踹翻257 万](https://www.zhihu.com/search?q=%E5%AD%95%E5%A6%87%E9%AA%91%E8%BD%A6%E5%88%AB%E8%BD%A6%E8%A2%AB%E5%8F%B8%E6%9C%BA%E8%B8%B9%E7%BF%BB&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=e66e154c-4244-4969-8127-a9f554bb7543)
### 推荐阅读
# [从何恺明的演讲出发：视觉目标检测的三十年历史 不久前，NeurIPS 2025 顺利举办，作为人工智能学术界的顶级殿堂，这里汇聚了前沿思想与卓越创意。在众多演讲与学术成果中，一项殊荣格外引人注目——由任少卿、何恺明、Ross Girshick 与孙… Chaspark茶思屋 ](https://zhuanlan.zhihu.com/p/1986367316292829671)# [视觉目标检测的经典方法及最新趋势 视觉目标检测的方法主要是基于图像特征+机器学习方法的模式，从2000年以来的里程碑（高于5000次引用）方法如下： 2000年：HaarLike Feature + SVM: Example-Based Object Detection in Imag… aIRBUS ](https://zhuanlan.zhihu.com/p/81649430)[ ![一文读懂多模态检索增强（cv-rag）的研究现状---视觉检索增强生成与理解：综述与展望](../images/037.jpg)一文读懂多模态检索增强（cv-rag）的研究现状---视觉检索增强生成与理解：综述与展望 小崔说AI发表于RAG应用 ](https://zhuanlan.zhihu.com/p/38752221399)# [视觉目标检测与跟踪-综述 研究意义：通过运用机器学习与模式识别中的相关知识，是计算机能够自动、准确地检测目标，实现鲁棒、快速的目标提取和检测显得极为重要；长时间复杂动态背景中的鲁棒跟踪即是关键问题，也是… WwPpCc ](https://zhuanlan.zhihu.com/p/34650883) 

_想来知乎工作？请发送邮件到 jobs@zhihu.com_
打开知乎App
在「我的页」右上角打开扫一扫
![](../images/body-0f9788d006ab0f4da762.png)
其他扫码方式：微信
下载知乎App
无障碍模式
验证码登录
密码登录
[开通机构号](https://zhuanlan.zhihu.com/org/signup)
中国 +86
获取短信验证码
忘记密码
登录/注册
其他方式登录
未注册手机验证后自动登录，注册即代表同意[《知乎协议》](https://www.zhihu.com/term/zhihu-terms)[《隐私保护指引》](https://www.zhihu.com/term/privacy)
扫码下载知乎 App
关闭二维码
