精华内容
下载资源
问答
  • 行人检测代码

    2019-04-28 12:17:38
    自己训练SVM分类器进行HOG行人检测,环境VS2013+OpenCV
  • matlab行人检测代码

    2018-07-10 10:07:38
    基于matlab,使用互检方法制作的简单的行人检测代码
  • HOG 行人检测代码

    热门讨论 2012-06-12 20:44:59
    HOG 行人检测代码 代码不错可以运行,是基于SVM的,在matlab平台上
  • 网上有很多行人检测资源,环境VS2013+OpenCV,,,图像中行人检测,此外,在基础上 添加了视频中行人检测代码,提取HOG特征,SVM分类器进行行人检测
  • opencv行人检测代码

    千次阅读 2017-01-13 22:26:16
    opencv行人检测代码
    #include <cv.h>
    
    #include <cxcore.h>
    #include <highgui.h>

    #include <cmath>
    #include <vector>
    #include <iostream>
    using namespace std;

    static const int winHeight = 600;
    static const int winWidth = 800;


    static CvPoint mousePosition = cvPoint(winWidth >> 1, winHeight >> 1);

    //mouse event callback
    static void mouseEvent(int event, int x, int y, int flags, void *param)
    {
        if (event == CV_EVENT_MOUSEMOVE) {
            mousePosition = cvPoint(x, y);
        }
    }

    int main(void)
    {
        //1.kalman filter setup
        const int stateNum = 4;
        const int measureNum = 2;
        CvKalman* kalman = cvCreateKalman(stateNum, measureNum, 0);//state(x,y,detaX,detaY)
        CvMat* process_noise = cvCreateMat(stateNum, 1, CV_32FC1);
        CvMat* measurement = cvCreateMat(measureNum, 1, CV_32FC1);//measurement(x,y)
        CvRNG rng = cvRNG(-1);
        float A[stateNum][stateNum] = {//transition matrix
            1, 0, 1, 0,
            0, 1, 0, 1,
            0, 0, 1, 0,
            0, 0, 0, 1
        };

        memcpy(kalman->transition_matrix->data.fl, A, sizeof(A));
        cvSetIdentity(kalman->measurement_matrix, cvRealScalar(1));
        cvSetIdentity(kalman->process_noise_cov, cvRealScalar(1e-5));
        cvSetIdentity(kalman->measurement_noise_cov, cvRealScalar(1e-1));
        cvSetIdentity(kalman->error_cov_post, cvRealScalar(1));
        //initialize post state of kalman filter at random
        cvRandArr(&rng, kalman->state_post, CV_RAND_UNI, cvRealScalar(0), cvRealScalar(winHeight>winWidth ? winWidth : winHeight));

        CvFont font;
        cvInitFont(&font, CV_FONT_HERSHEY_SCRIPT_COMPLEX, 1, 1);

        cvNamedWindow("kalman");
        cvSetMouseCallback("kalman", mouseEvent);
        IplImage* img = cvCreateImage(cvSize(winWidth, winHeight), 8, 3);
        while (1){
            //2.kalman prediction
            const CvMat* prediction = cvKalmanPredict(kalman, 0);
            CvPoint predict_pt = cvPoint((int)prediction->data.fl[0], (int)prediction->data.fl[1]);

            //3.update measurement
            measurement->data.fl[0] = (float)mousePosition.x;
            measurement->data.fl[1] = (float)mousePosition.y;

            //4.update
            cvKalmanCorrect(kalman, measurement);

            //draw
            cvSet(img, cvScalar(255, 255, 255, 0));
            cvCircle(img, predict_pt, 5, CV_RGB(0, 255, 0), 3);//predicted point with green
            cvCircle(img, mousePosition, 5, CV_RGB(255, 0, 0), 3);//current position with red
            char buf[256];
            sprintf_s(buf, 256, "predicted position:(%3d,%3d)", predict_pt.x, predict_pt.y);
            cvPutText(img, buf, cvPoint(10, 30), &font, CV_RGB(0, 0, 0));
            sprintf_s(buf, 256, "current position :(%3d,%3d)", mousePosition.x, mousePosition.y);
            cvPutText(img, buf, cvPoint(10, 60), &font, CV_RGB(0, 0, 0));

            cvShowImage("kalman", img);
            int key = cvWaitKey(1000);
            if (key == 27){//esc   
                break;
            }
        }

        cvReleaseImage(&img);
        cvReleaseKalman(&kalman);
        return 0;
    }

    展开全文
  • 基于haar+adaboost的行人检测代码

    热门讨论 2015-02-05 12:09:49
    基于haar+adaboost的行人检测代码代码运行效率高,行人检测率高。
  • 基于HOG和LBP的行人检测代码,分别采用HOG和LBP提取行人特征
  • FastDPM行人检测代码

    2016-11-03 22:35:49
    vs2013的DPM检测进行目标检测代码,更换模型可以进行不同类别的目标检测
  • 包含opencv自带的行人检测代码 cpp和.h文件,代码使用的opencv版本为2413,其他版本皆可,配置方面就不多说了,百度私聊皆可。文件中2_1.jpg为效果较好的检测结果,其他图片看情况,赚个小积分,欢迎各位捧场。
  • 100fps行人检测代码

    2014-06-21 14:56:55
    这个程序代码是根据2012年的一篇论文《Pedestrian detection at 100 frames per second》实现的,可以在CPU或GPU上运行,检测性能比常规的HOG提高很多。
  • 排名第2的目标检测算法:基于加州理工学院2009年行人检测的文章:Integral Channel Features(积分通道特征)
  • 行人检测代码和数据库

    千次阅读 2016-05-13 12:27:20
    , Dalal于2005年提出了基于HOG特征的行人检测方法,行人检测领域中的经典文章之一。HOG特征目前也被用在其他的目标检测与识别、图像检索和跟踪等领域中。 2.  Real-time Pedestrian Detection . Jianxin ...


    原地址:http://blog.csdn.net/alada007/article/details/8088868



    一、论文

    综述类的文章

    [1]P.Dollar, C. Wojek,B. Schiele, et al. Pedestrian detection: an evaluation of the state of the art [J].IEEE Transactions on PatternAnalysis andMachine Intelligence, 2012, 34(4): 743-761.

    [2]M. Enzweiler, and D.Gavrila. Monocular pedestrian detection: survey and experiments [J]. IEEE Transactions on Pattern Analysis andMachine Intelligence, 2009, 31(12): 2179-2195.

    [3]D. Geronimo, A. M.Lopez and A. D. Sappa, et al. Survey of pedestrian detection for advanced driverassistance systems [J]. IEEE Transactionson Pattern Analysis and Machine Intelligence, 2010, 32(7): 1239-1258.

    [4]苏松志, 李绍滋, 陈淑媛等. 行人检测技术综述[J]. 电子学报, 2012, 40(4): 814-820.

    [5]贾慧星, 章毓晋.车辆辅助驾驶系统中基于计算机视觉的行人检测研究综述[J], 自动化学报, 2007, 33(1): 84-90.

    [6] 许言午, 曹先彬,乔红. 行人检测系统研究新进展及关键技术展望[J], 电子学报, 2008, 36(5): 368-376.

    [7] 杜友田; 陈峰;徐文立; 李永彬;基于视觉的人的运动识别综述, 电子学报, 2007. 35(1): 84-90.

    [8]朱文佳. 基于机器学习的行人检测关键技术研究[D]. 第一章硕士学位论文, 上海交通大学. 2008. 指导教师: 戚飞虎.

    二、Source Code

    1.INRIA Object detection and Localization Toolkit, Dalal于2005年提出了基于HOG特征的行人检测方法,行人检测领域中的经典文章之一。HOG特征目前也被用在其他的目标检测与识别、图像检索和跟踪等领域中。

    2. Real-time Pedestrian Detection. Jianxin Wu实现的快速行人检测方法。

    3. Hough Transfom for Pedestrian Detection. Olga Barinova, CVPR 2010 Paper: On detection of multiple object instances using Hough Transforms

    4. HIKSVM, HOG+LBP+HIKSVM, 行人检测的经典方法.

    5. GroundHOG, GPU-based Object Detection with Geometric Constraints, In: ICVS, 2011.  CUDA版本的HOG+SVM,  video.

    6.  100FPS_PDS, Pedestrian detection at 100 frames per second, R. Benenson.  CVPR, 2012. 实时的(⊙o⊙)哦。 Real-time!!!

    7. POM: Probabilistic Occupancy Map.  Multiple camera pedestrian detection.

    三、DataSets

    MIT数据库

        该数据库为较早公开的行人数据库,共924张行人图片(ppm格式,宽高为64x128),肩到脚的距离约80象素。该数据库只含正面和背面两个视角,无负样本,未区分训练集和测试集。Dalal等采用“HOG+SVM”,在该数据库上的检测准确率接近100%。

    INRIA数据库

        该数据库是目前使用最多的静态行人检测数据库,提供原始图片及相应的标注文件。训练集有正样本614张(包含2416个行人),负样本1218张;测试集有正样本288张(包含1126个行人),负样本453张。图片中人体大部分为站立姿势且高度大于100个象素,部分标注可能不正确。图片主要来源于GRAZ-01、个人照片及google,因此图片的清晰度较高。在XP操作系统下部分训练或者测试图片无法看清楚,但可用OpenCV正常读取和显示。

    Daimler行人数据库

        该数据库采用车载摄像机获取,分为检测和分类两个数据集。检测数据集的训练样本集有正样本大小为18x36和48x96的图片各15560(3915x4)张,行人的最小高度为72个象素;负样本6744张(大小为640x480或360x288)。测试集为一段27分钟左右的视频(分辨率为640x480),共21790张图片,包含56492个行人。分类数据库有三个训练集和两个测试集,每个数据集有4800张行人图片,5000张非行人图片,大小均为18x36,另外还有3个辅助的非行人图片集,各1200张图片。

    Caltech行人数据库

        该数据库是目前规模较大的行人数据库,采用车载摄像头拍摄,约10个小时左右,视频的分辨率为640x480,30帧/秒。标注了约250,000帧(约137分钟),350000个矩形框,2300个行人,另外还对矩形框之间的时间对应关系及其遮挡的情况进行标注。数据集分为set00~set10,其中set00~set05为训练集,set06~set10为测试集(标注信息尚未公开)。性能评估方法有以下三种:(1)用外部数据进行训练,在set06~set10进行测试;(2)6-fold交叉验证,选择其中的5个做训练,另外一个做测试,调整参数,最后给出训练集上的性能;(3)用set00~set05训练,set06~set10做测试。由于测试集的标注信息没有公开,需要提交给Pitor Dollar。结果提交方法为每30帧做一个测试,将结果保存在txt文档中(文件的命名方式为I00029.txt I00059.txt ……),每个txt文件中的每行表示检测到一个行人,格式为“[left, top,width, height, score]”。如果没有检测到任何行人,则txt文档为空。该数据库还提供了相应的Matlab工具包,包括视频标注信息的读取、画ROC(Receiver Operatingcharacteristic Curve)曲线图和非极大值抑制等工具。

    TUD行人数据库

        TUD行人数据库为评估运动信息在行人检测中的作用,提供图像对以便计算光流信息。训练集的正样本为1092对图像(图片大小为720x576,包含1776个行人);负样本为192对非行人图像(手持摄像机85对,车载摄像机107对);另外还提供26对车载摄像机拍摄的图像(包含183个行人)作为附加训练集。测试集有508对图像(图像对的时间间隔为1秒,分辨率为640x480),共有1326个行人。Andriluka等也构建了一个数据库用于验证他们提出的检测与跟踪相结合的行人检测技术。该数据集的训练集提供了行人的矩形框信息、分割掩膜及其各部位(脚、小腿、大腿、躯干和头部)的大小和位置信息。测试集为250张图片(包含311个完全可见的行人)用于测试检测器的性能,2个视频序列(TUD-Campus和TUD-Crossing)用于评估跟踪器的性能。

    NICTA行人数据库

        该数据库是目前规模较大的静态图像行人数据库,25551张含单人的图片,5207张高分辨率非行人图片,数据库中已分好训练集和测试集,方便不同分类器的比较。Overett等用“RealBoost+Haar”评估训练样本的平移、旋转和宽高比等各种因素对分类性能的影响:(1)行人高度至少要大于40个象素;(2)在低分辨率下,对于Haar特征来说,增加样本宽度的性能好于增加样本高度的性能;(3)训练图片的大小要大于行人的实际大小,即背景信息有助于提高性能;(4)对训练样本进行平移提高检测性能,旋转对性能的提高影响不大。以上的结论对于构建行人数据库具有很好的指导意义。

    ETH行人数据库

         Ess等构建了基于双目视觉的行人数据库用于多人的行人检测与跟踪研究。该数据库采用一对车载的AVT Marlins F033C摄像头进行拍摄,分辨率为640x480,帧率13-14fps,给出标定信息和行人标注信息,深度信息采用置信度传播方法获取。

    CVC行人数据库

        该数据库目前包含三个数据集(CVC-01、CVC-02和CVC-Virtual),主要用于车辆辅助驾驶中的行人检测研究。CVC-01[Geronimo,2007]有1000个行人样本,6175个非行人样本(来自于图片中公路区域中的非行人图片,不像有的行人数据库非行人样本为天空、沙滩和树木等自然图像)。CVC-02包含三个子数据集(CVC-02-CG、CVC-02-Classification和CVC-02-System),分别针对行人检测的三个不同任务:感兴趣区域的产生、分类和系统性能评估。图像的采集采用Bumblebee2立体彩色视觉系统,分辨率640x480,焦距6mm,对距离摄像头0~50m的行人进行标注,最小的行人图片为12x24。CVC-02-CG主要针对候选区域的产生,有100张彩色图像,包含深度和3D点信息;CVC-02-Classification主要针对行人分类,训练集有1016张正样本,7650张负样本,测试集分为基于切割窗口的分类(570张行人,7500张非行人)和整张图片的检测(250张包含行人的图片,共587个行人);CVC-02-System主要用于系统的性能评估,包含15个视频序列(4364帧),7983个行人。CVC-Virtual是通过Half-Life 2图像引擎产生的虚拟行人数据集,共包含1678虚拟行人,2048个非行人图片用于测试。

    USC行人数据库

        该数据库包含三组数据集(USC-A、USC-B和USC-C),以XML格式提供标注信息。USC-A[Wu, 2005]的图片来自于网络,共205张图片,313个站立的行人,行人间不存在相互遮挡,拍摄角度为正面或者背面;USC-B的图片主要来自于CAVIAR视频库,包括各种视角的行人,行人之间有的相互遮挡,共54张图片,271个行人;USC-C有100张图片来自网络的图片,232个行人(多角度),行人之间无相互遮挡。 

    四、其他

    相关资料资料
    1. Edgar Seemann维护的行人检测网站,比较全,包括publications, code, datasets等。
    2. Pedestrian detection: state of the art. A video talk byPitor Dollar. Pitor Dollar做了很多关于行人检测方法的研究,他们研究小组的Caltech Pedestrian Dataset也很出名。

    展开全文
  • 行人检测C++代码

    2016-12-10 14:28:49
    行人检测C++代码
  • 行人检测c++代码

    2011-12-08 19:38:59
    ICRA的行人检测c++代码,linux下测试成功
  • 行人检测Opencv代码.txt

    2019-05-27 20:12:33
    行人检测Opencv代码,通过HOG进行特征提取,SVM分类器分类。
  • 资源为行人检测完整跑通代码,主要采用hog+svm进行实现,文件中包含各个代码的各个目录以及cmakelist等编译文件,训练图片较大以去除,训练图片下载及代码说明可参见博客:...
  • 积分通道特征行人检测代码

    热门讨论 2014-04-10 19:50:35
    Matlab代码,使用HOF+CSS+adaboost做行人检测。包含完整的训练和测试源码。非常先进的行人检测算法代码。 主要相关的文章: Integral channel features The Fastest Pedestrian Detector in the West Fast Feature ...
  • 行人检测c++源代码

    2010-04-27 11:29:43
    毕业设计 模式识别 毕业论文 行人检测 c++源代码
  • 可用于行人检测代码测试的原,包括7个文件。
  • 方向梯度直方图的全部代码,广泛应用于行人检测行人检测
  • 行人检测方法代码汇总

    千次阅读 2016-07-22 15:38:59
    2012年PAMI登的行人检测的综述性文章: pedestrian detection an evaluation of the state of the art  作者:Piotr Dollar 文中对比了很多最新的行人检测的算法。这篇论文简称为PAMI2012 pedest

    序号

    文章简介

    论文        

    出处

    0

    2012年PAMI登的行人检测的综述性文章:

    pedestrian detection an evaluation of the state of the art

     作者:Piotr Dollar

    文中对比了很多最新的行人检测的算法。这篇论文简称为PAMI2012

    pedestrian detection an evaluation of the state of the art

     

    1

    PAMI2012综述文章中,排名第一的算法:

    New Features and Insights for Pedestrian Detection

    文中使用改进的HOG,即HOF和CSS(color self similarity)特征,使用HIK SVM分类器。

     本文的作者是德国人:Stefen Walk。目前Stefan Walk在苏黎世联邦理工大学任教。

    New features and insights for pedestrian detection

     

    https://www.d2.mpi-inf.mpg.de/CVPR10Pedestrians

     

    2

    PAMI2012综述文章中,排名第2的算法:

    加州理工学院2009年行人检测的文章:Integral Channel Features(积分通道特征)

    这篇文章与2012年PAMI综述文章是同一作者。

    作者:Piotr Dollar

     

    Integral channel features

     

     

     

    http://www.vision.caltech.edu/Image_Datasets/CaltechPedestrians/

    各种行人检测的库和演示代码

    Matlab代码中包含完整的训练和测试的算法源码。压缩包里面的代码包含了作者几乎所有论文中讲到的算法,其中,作者最新的PAMI2014论文的代码也包含在这个压缩包里面。

    3

    PAMI2012综述文章中,排名第3的算法

    The Fastest Pedestrian Detector in the West

    这篇文章与2012年PAMI综述文章是同一作者。

    作者:Piotr Dollar

    The Fastest Pedestrian Detector in the West

    文章作者的主页:

    http://vision.ucsd.edu/~pdollar/research.html

    文章中算的matlab代码下载页面:

    http://vision.ucsd.edu/~pdollar/toolbox/doc/index.html

    4

     

    作者Piotr Dollar于2009年写的行人检测的文章

    Pedestrian Detection A Benchmark .

     

    5

    CVPR2008:

    A Discriminatively Trained, Multiscale, Deformable Part Model

     

    PAMI2010:

    Object Detection with Discriminatively Trained Part Based Models

     

    CVPR2010:

    Cascade Object Detection with Deformable Part Models

     

    以上三篇文章,都是作者研究DPM算法做目标检测的文章,有源代码可以下载。在PAMI2012综述文章中,没有提及这个算法,不知道什么原因。

    A Discriminatively Trained, Multiscale, Deformable Part Model

     

    Object Detection with Discriminatively Trained Part Based Models

     

    Cascade Object Detection with Deformable Part Models

     

    作者的个人主页:

    http://cs.brown.edu/~pff/papers/

    6

    IJCV2014年的文章,利用DPM模型,检测粘连情况很严重的行人,效果很好。

    Detection and Tracking of Occluded People

    目前找不到该论文相关的源码。

    7

    ICCV2013:

    简 称UDN算法,从文中描述的检测效果来看,该方法是所有方法中最好的,并且,效果远超过其他方法。经过对论文和该算法源码的研究,该算法是与作者另外一篇 论文的方法 ,另外的论文算法做图片扫描,得到矩形框,然后用该方法对矩形框进行进一步确认,以及降低误警率和漏警率。另外的论文是:Multi-Stage Contextual Deep Learning for Pedestrian Detection

     

    说得难听一点,这篇文章对行人检测没有多大的贡献。仅仅是用深度学习的CNN做candidate window的确认。而主要的行人检测的算法还是HOG+CSS+adaboost

    Joint Deep Learning for Pedestrian Detection

     

    Multi-Stage Contextual Deep Learning for Pedestrian Detection

     

     

    香港中文大学,Joint Deep Learning for Pedestrian Detection,行人检测论文的相关资源:

    http://www.ee.cuhk.edu.hk/~wlouyang/projects/ouyangWiccv13Joint/index.html

    8

    ECCV2010年的论文:

    Multiresolution models for object detection

    文中描述的算法效果相当好,但是,作者没有公布源码。不知道论文中的效果是否属实。

    Multiresolution models for object detection

    Multires算法检测行人,作者的个人主页:

    http://www.ics.uci.edu/~iypark/

    作者未公布源代码,也没有公布demo

    9

    ICCV2009年的论文,检测效果与Piotr Dollar的效果可以匹敌。作者只公布了测试软件,并没有公布源码。

    文中采用HOG+LBP特征,这种特征,与Centrist特征类似,能够描述人体全局轮廓,都具有较好的检测效果。

    An HOG-LBP Human Detector with Partial Occlusion Handling

     

    http://www.xiaoyumu.com/

    http://vision.ece.missouri.edu/~wxy/index.html

    http://web.missouri.edu/~hantx/

     

    10

    使用Centrist特征,Centrist是LBP特征的改进。作者将Centrist特征与HOG、LBP特征做了比较,证明Centtrist特征在描述行人方面,具有很好的效果。

    作者是华人,在南阳理工读的博士。个人理解,Centrist特征没有多大的创新,与LBP并没有太大的差异。作者自己也在文中表示,算法的效果没有HOG和LBP好,仅仅是算法的速度较快。

    Real-Time Human Detection Using Contour Cues

     

    源码中只有测试源码,没有训练分类器的代码。

    http://www.c2i.ntu.edu.sg/jianxin/projects/C4/C4.htm

     




    总体上来说,这些最新的文章中,最好的有三个方面的方法:

    1)改进的HOG+改进的SVM。也就是PAMI2012中排名第一的论文中的方法。可惜找不到源码。

    2) HOF+CSS+adaboost.。也就是PAMI2012中排名第二的方法。能找到matlab源码。

    3) HOG+LBP+SVM方法。也就是上表中序号为9的论文中的方法。没有源码。

    4) DPM。也就是上表中序号5、6中的方法,有源码。

    1
    展开全文
  • VS2008+opencv实现行人检测代码程序.rar
  • 利用python+ yolo 数据集完成的行人检测与跟踪
  • matlab滑动条码行人检测器 用于行人检测系统的MatLab代码的当前实现。 该系统使用带有HOG特征分类器的滑动窗口方法。 要使用此代码,将需要导入MatLab的计算机视觉系统工具箱以及统计和机器学习工具箱。
  • 基于svm+hog实现的菜品检测,有行人检测演变过来,并且根据颜色直方图做了后续的分类器
  • (3)名为“Pedestriandetection_MATLAB”的文件夹中使用MATLAB 2016b实现的ACF行人检测跟踪 算法的脚本文件,“pedScaleTable”为脚本中引用的先决条件文件。 (4)名为“projecttext.m”的文件夹中是用MATLAB...
  • 视频行人检测源码

    2018-09-19 10:08:04
    自己训练的分类器导入进行视频行人检测 代码亲测可行,算法需要再完善 提高实时性
  • 具体而言,该项目将引人入胜且有意义的现实世界问题“行人检测”作为测试用例。 使用当前最先进的行人检测器作为基准,我利用两种方法来提高检测精度。 使用DCT(离散余弦变换)将10个HOG+LUV通道扩展为20个通道; ...
  • 最近在做自己课题相关的小项目,行人检测与行人重识别进行结合进行场景图片进行特定行人的检索由于也比较着急,先利用现有的模型搭建了简单的demo,简单效果展示如下,速度大概在20FPS: 先是给定需要检索的行人: ...

    0 前言

    最近在做自己课题相关的小项目,行人检测与行人重识别进行结合进行场景图片进行特定行人的检索由于也比较着急,先利用现有的模型搭建了简单的demo,简单效果展示如下,速度大概在20FPS:

    先是给定需要检索的行人:

    在监控场景图片进行检索该行人:

    还有视频的demo展示:

    利用下面一张其他摄像头拍摄的特定行人图片在视频中进行搜人:

    https://www.bilibili.com/video/av69353188/

    由视频效果可以看到对于遮挡等情况效果还是非常好的,自己也试过单目标跟踪多目标跟踪,直接用效果都是比较差的。

    1 行人检测部分

    行人检测先是尝试使用之前的RFSong进行尝试,发现在这种监控场景下效果非常不好,可能是VOC数据集太小了,难以实现很好的泛化。因为这种监控场景在VOC数据集很少有类似的,因此使得训练的网络泛化很差,在监控场景以及一些密集行人场景都不太理想。为了实现更好的效果,需要在COCO等包含大量行人的数据集进行训练,这样网络才能“认识”这种场景下的行人。

    这种监控场景目标往往也都是中小型的,因此感觉YOLO应该还是蛮合适的,而且YOLO也有提供COCO权重,我就直接先用YOLO来做了。行人检测YOLO代码主要采用下面这个:

    https://github.com/ultralytics/yolov3​github.com

    自己对YOLO416 COCO权重在监控场景和行人密集情况都做了测试,效果也都还是不错的,因此先直接用,后面尝试进行一些改进,例如进行剪枝以及类似RFSong的设计尝试。

    2 行人重识别

    行人重识别部分是利用Bag of Tricks and A Strong ReID Baseline的开源代码基础上做的,我也非常喜欢这个工作,感觉还是很有帮助的,并且仅仅利用全局特征,没有那么多花哨的设计:

    https://link.zhihu.com/?target=https%3A//github.com/michuanhaohao/reid-strong-baseline

    https://zhuanlan.zhihu.com/p/61831669

    由于需要在实际监控场景进行一些简单演示,并且自己也实在懒得去标注,所有比较关注的是跨域的性能,也就是泛化要很好才行。

    论文中也有关于跨域(cross-domain)的一些实验,发现去掉随机擦除(REA)操作跨域性能会好很多。

    因此为了实现更好的泛化性能,使得可以直接演示:

    1. 训练的时候去掉随机擦除操作,因为随机擦除可能引导网络学习更多背景相关信息了
    2. 多个数据集联合训练,这里我将Market1501数据集、CUHK03数据集和MSMT17数据集进行了联合训练,然后在没有进行训练的DukeMTMC数据集进行测试,看看跨域性能如何。
    3. 使用跨域比较好的IBN-Net,具体介绍可以看看下面这个,在跨域效果确实有一些提高

    量子位:汤晓鸥为CNN搓了一颗大力丸​zhuanlan.zhihu.com

    自己在上述联合数据集进行训练,然后在没有训过的Duke数据集进行跨域测试,然后对各个trick进行了消融实验对比:

     

    在DukeMTMC数据集的测试集进行测试的效果rank1达到了71.9,mAP也有56.2,,说明跨域效果应该还是OK的,做个小展示应该问题不大。

    3 行人检测 + 重识别

    代码主要就是去掉了两个代码的训练部分,只保留推理相关的代码。query文件夹是存放待查询图片,命名格式与market1501保持一致,具体介绍可以看看下面这篇文章:

    Person Re-identification数据集描述——Market-1501​blog.fangchengjin.cn

    data/samples文件夹下就是需要进行检索的图片,检索完成后,保存在output文件夹。

    需要注意的是,行人检测与行人重识别如何更好的进行结合。reid使得行人检测可以存在多一些的误检,要求recall比较高,因为一些背景可以通过reid进行相似度比较从而排除掉。但是如过置信度阈值设的太低,会有很多的proposal要进入reid模型,降低模型的速度。因此,需要进行合理的设置,这里我就设置了conf-thres=0.1,nms-thres=0.4。

    4 下一步方向

    这个还只是个小demo,因此还是需要后面做很多改进工作。

    1. 行人检测部分利用RFSong在COCO+VOC联合训练的权重进行检测,参考下面文章:。

    https://zhuanlan.zhihu.com/p/47196727

    https://zhuanlan.zhihu.com/p/36734511

    2. 检测与跟踪的结合

    SYUI:工程实践中,目标检测为何要加目标追踪?​zhuanlan.zhihu.com

    3. 对行人重识别模型进行剪枝、蒸馏,加快推理速度

    总结

    还是欢迎各位大佬交流指正,代码和权重文件先传到群文件了,后面稍微整理下放到github。

    希望大家多多加群,一起交流进步,云深不知处-目标检测 763679865

    代码链接:

    https://github.com/songwsx/person_search_demo

     

    加群交流: 云深不知处-目标检测 763679865

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,035
精华内容 4,014
关键字:

行人检测代码