精华内容
下载资源
问答
  • 采用文献资料法、调查法对高校体育现行课程设置和教学模式的现状进行调查与分析,对...被试对 SCL - 90 各个维度的评价因子分≧ 2和因子分≧ 3评价的人数也显著降低,其与全国常模检出率的比较相对于实验前有明显的改善。
  • 结果,三种方法均检出沙门氏菌阳性16份,检出率同为1.97%.其中病死鸡、饲料和肛拭子中检出率分别为11.29%、3.03%和1.02%.16株禽源沙门氏菌中有7种血清型,其中12株沙门氏菌ERIC -PCR分型相似性均小于90%...
  • 目的:了解广州暨南大学代谢综合征患病情况。方法:利用年度体检机会,对高校人群进行一般情况及病史问卷调查及全面体检(项目包括身高、体重、...在该组代谢综合征人群中,高体重指数检出率为最高,其次为高血压、高血糖
  • NOSS对易识别、独立责任“程序差错-文件”检出率(25%)显著高于自愿报告(2.81%)和强制报告(0%),证实了NOSS信息客观性,但NOSS对低频度、高危害类差错的检出率显著偏低,说明小样本NOSS信息存在波动性。
  • 结果显示:城市男生超重检出率非常显著地高于农村男生,而真正肥胖的检出率却呈现出农村高于城市现象;女生超重检出率没有发现城乡差异,肥胖检出率农村依旧高于城市;宁波市中小学生中男生超重检出率显著高于女生(P&...
  • 对是否含有油墨两种样品中的检出率及砷含量进行比较检出率差异有统计学意义,而含量差异无统计学意义。结论:本次所检测散装食品包装纸卫生状况还是比较,但其砷的检出率高,说明仍存在一些问题,卫生监督...
  • 目的:回顾性比较仅采用B型检查US引导肺活检诊断准确性和并发症发生,以及使用实时US和计算机断层扫描(CT)创建融合图像诊断准确性和并发症发生。 资料和方法:2013年9月至2016年9月,在50例患者...
  • 研究同一养殖池塘内青、红刺参(Apostichopus ...在检出的10种主要脂肪酸中,青刺参体壁中 MUFA-16:1(十六碳烯酸)和SFA-20:0(二十碳酸)含量显著高于红刺参(P),AA(二十碳四烯酸)含量显著低于红刺参(P<0.05
  • 方法:选取我院2010年8月至2012年8月174例临床诊断为疑似血吸虫病患者,分别对其胃镜和结肠镜下行常规内镜检查结果进行回顾性分析,观察内镜下胃肠道黏膜黄斑的检出率.结果:胃镜下检出黏膜黄斑率与结肠镜下检出...
  • JaCoCo Java Code Coverage Library ...原理:通过使用org.eclipse.jgit比较新旧分支代码差分,取得变更行信息,生成报告时高亮线上变更行信息,未检出变更行不做处理。从而达到,增量显示代码覆盖率的
  • 而我还是喜欢自己写,所以想了几个方案实现了一下,实现都比较简单而且准确都得到了保证。 比赛结束,最终因为性别检测出现了错误,与冠军失之交臂(其实冠军用百度是SDK),我方案好在是自己写,学生...

    上一段时间参加了某个比赛,其中有一环节需要用多人脸检测;由于其他队伍好多采用的商用SDK,竞争激烈,又不能误检更不能漏检测,而且保证框的数量只能和人脸数量对应,不能一个人脸上有多个框。
    而我还是喜欢自己写,所以想出了几个方案实现了一下,实现都比较简单而且准确率都得到了保证。
    比赛结束,最终因为性别检测出现了错误,与冠军失之交臂,我的方案好在是自己写的,顺便把源码也给大家

    因为是在嵌入式上应用的,所以代码是用 C++实现

    1.预读

    为了方便后面大家理解,我在这里把我的思路县说一下,顺便把一些参数必要的部分说一下。

    1.1思路

    基础是使用的是Haar级联分类器,但是直接使用Haar级联分类器,单纯的调参都不能达到很好的效果。
    所以是先用低阈值的人脸检测初步筛选出人脸框(因为是低阈值所以框总是比),然后在初筛的人脸框部分再进行人眼睛检测,只有同时存在人眼的部分才会做成人脸输出。

    1.2Haar级联分类器使用心得

    Haar级联分类器速度快,容易调用,是很好的工具。基础的使用教程,我放在这里
    opencv 官网object模块使用例子
    https://docs.opencv.org/master/db/d28/tutorial_cascade_classifier.html

    其中创建检测器的参数在这里说明一下,
    cv::CascadeClassifier::detectMultiScale ( InputArray image,
    std::vector< Rect >
    double scaleFactor = 1.1,
    int minNeighbors = 3,
    int flags = 0,
    Size minSize = Size(),
    Size maxSize = Size()
    )
    第一个参数是图像矩阵,即输入一个Mat即可;
    第二个参数是输出口,输出一个 Rect型的容器,一个Rect存放的是四个整型值(x,y,w,h)xy为矩形框左上角的像素坐标,wh分别代表着矩形框的宽和高;
    第三个参数是每次搜索框缩小的比例,看一下官网例子前的算法解析就知道,级联分类器是从大框开始搜索,大框搜索完一遍,再用小一级的框集进行重新搜索。而这个两级之间的大小比例就是这个参数。
    第四个参数是重复确定框,比如默认是3,一块人脸只有被重复扫描到3次是人脸才会放在输出里面,可以想到,当数值增大的时候,判断的要求就会变高,误检率会变低,但漏检率会随之升高;当数值更小比如2时,会向相反变化。经过我的测试,单纯靠改变这个参数,无法达到自己的期望
    第五个参数如果是使用opencv3可以忽略,没有区别,默认0就可以。
    第六个参数和第七个参数是一个道理,也就是之前说的第三个参数里面大小框的关系。第三个参数是两个级别框的比例,而最后这两个参数是最大框和最小框的设定。如果在使用的过程中,确定不会出现大脸或者特别小的脸,可以通过设置这两个参数加快检测速度。

    1.3去掉重叠度高的人脸框

    考虑到嵌入式计算能力,我们为了达到实时的效果所以要把数值计算尽量变成逻辑运算。
    从最简单的情况推理,假设有两个框(x1,y1,w1,h1) ,(x2,y2,w2,h2)如果要保证完全不重叠,则有以下关系:(在纸上画一下就看得出来)
    x1+w1<x2
    y1+h1<y2

    但是当我们要求允许部分重叠时候,就可以添加一个参数:
    重叠度 thr ,thr取值为0~1;
    x1+(w1 x thr)<x2
    y1+(h1 x thr)<y2

    2.代码实现(封装成类,可以直接调用)

    头文件.h

    //
    // Created by peilin on 2019/10/2.
    //
    
    #ifndef OPERATOR_CASCADE_CLASSIFER_H
    #define OPERATOR_CASCADE_CLASSIFER_H
    
    #include <opencv2/core.hpp>
    #include <opencv2/imgproc.hpp>
    #include <opencv2/objdetect.hpp>
    #include <opencv2/highgui.hpp>
    #include <iostream>
    using namespace cv;
    using namespace std;
    
    class cascade_classifer {
    public:
    
        cascade_classifer();
        ~cascade_classifer();
        vector<Rect> faces(Mat frame);
        vector<Rect> eyes(Mat frame);
    
    private:
        CascadeClassifier face_cascade; \\初始化一个人脸检测器
        CascadeClassifier eyes_cascade; \\初始化一个人眼检测器
        String FACE_MODEL_PATH; \\人脸模型文件地址
        String EYES_MODEL_PATH; \\人眼模型地址
        int FACE_MINS;  \\调整参数,即人脸检测器的第四个参数,这里单独拿出来是为了方便修改
        float FACE_OVERLAP_RATE;  \\人脸的重叠度,即1.3中的那个阈值thr
        bool isOverlap(Rect rct1, Rect rct2);  \\判断两个框是否重叠,bool型函数
    };
    
    #endif //OPERATOR_CASCADE_CLASSIFER_H
    

    ~~~~~~~~~~~~~~~分割线~~~~~~~~~~~~~~~~~~~~

    类的主函数.cpp

    //
    // Created by peilin on 2019/10/2.
    //
    
    #include "cascade_classifer.h"
    
    cascade_classifer::cascade_classifer()
    {
        FACE_MODEL_PATH = "face_model_path"; \\存放脸模型的参数
        EYES_MODEL_PATH = "eyes_model_path"; \\存放人眼模型的地址
        FACE_OVERLAP_RATE = 0.8;
        FACE_MINS = 2;
        face_cascade.load(FACE_MODEL_PATH);
        eyes_cascade.load(EYES_MODEL_PATH);
    }
    cascade_classifer::~cascade_classifer()
    {
    }
    
    vector<Rect> cascade_classifer::faces(Mat frame) {
        //init and preproce
        cascade_classifer cascade;
        size_t num_faces, repeat, repeat_final;
        Mat frame_gray;
        vector<Rect> faces_init, eyes, faces, faces_final;
    
        if (frame.empty())
            cout << "No image in frame!" << endl;
        cvtColor(frame, frame_gray, COLOR_BGR2GRAY);
    
        //detect
        face_cascade.detectMultiScale(frame_gray, faces_init, 1.1, FACE_MINS,0);
    	\\faces_init用来存放初筛的人脸框
        if(faces_init.size()==0)
            return faces_init; \\如果是初筛也没有框,则直接返回空
        else
        {
            faces.push_back(faces_init[0]);
            for(repeat=1;repeat<faces_init.size();repeat++)
            {
                for(repeat_final=0;repeat_final<faces.size();repeat_final++)
                {
                \\判断是否有重叠框,去掉重叠度高框
                    if(cascade.isOverlap(faces_init[repeat], faces[repeat_final])) 
                        break;
                }
                if(repeat_final==faces.size())
                    faces.push_back(faces_init[repeat]);
                else continue;
            }
        }
            
        for(num_faces=0;num_faces<faces.size();num_faces++)
        {
            eyes=cascade.eyes(frame_gray(faces[num_faces]));
            if(eyes.size())
            {
                faces_final.push_back(faces[num_faces]);
                rectangle(frame, cvPoint(faces[num_faces].x, faces[num_faces].y),
                          cvPoint(faces[num_faces].x + faces[num_faces].width,
                                  faces[num_faces].y + faces[num_faces].height),
                          Scalar(255, 0, 0),2);
            }
        }
        return faces_final;
    }
    
    vector<Rect> cascade_classifer::eyes(Mat frame)
    {
        vector<Rect> eyes_data;
        eyes_cascade.detectMultiScale(frame, eyes_data);
        return eyes_data;
    }
    
    bool cascade_classifer::isOverlap(Rect rc1,Rect rc2)
    {
        if ((rc1.x + rc1.width*FACE_OVERLAP_RATE)  > rc2.x &&
            (rc2.x + rc2.width*FACE_OVERLAP_RATE)  > rc1.x &&
            (rc1.y + rc1.height*FACE_OVERLAP_RATE) > rc2.y &&
            (rc2.y + rc2.height*FACE_OVERLAP_RATE) > rc1.y
            )
            return true;
        else
            return false;
    }
    

    这个方法非常适用于像素足够情况下的情况(也就是没有特别小尺寸的人脸)
    下次更新一个用模板匹配的方法检测,能够进一步检测到小的人脸

    展开全文
  • 探讨高血压对中老年眼底动脉硬化影响,为开展点预防...高血压者眼底动脉硬化检出率分别为61.86%和54.79%,显著地高于高血糖、高甘油三脂、高总胆固醇者检出者眼底动脉硬化检出率(P<0.01),也显著地高于血
  • 调查和比较研究云南省6-18岁佤族、汉族男女青少年身高、体重和营养状况。...佤族女儿童青少年肥胖者除 了青春期发育结束时与汉族女儿童青少年肥胖者检出率相似。其它阶段远远低于汉族女儿童青少年。
  • 以建立PCR检测方法及瑞氏、姬姆萨、叮陡橙染色法为基础对20例犬附红细胞体病例进行检测,比较四种方法的检出率。结果表明:建立PCR检测方法的检出率略高于叮陡橙染色,明显高于瑞氏、姬姆萨染色,进而证明建立PCR...
  • 以机器视觉检测系统为主,搭配ccd相机、镜头、传动机构、五金配件等,实施口罩流水线生产不良品在线检测,可针对口罩外观不良因素,鼻夹、耳绳、海绵条实施全检,自动踢不良品,过检率可达99.998

    200来字,3分钟不到,也许就能帮到您!
    出口口罩需要针对外观进行检测,外贸生产商都知道。不同的客户对口罩表面、鼻梁条、耳绳、海绵体的要求也是不一的。
    在这里插入图片描述

    传统自动化升级到智能自动化,AI的功劳,虽说还处于起步阶段,但势不可挡!作为AI的“眼睛”,视觉系统在工业上应用比较广泛,毕竟仅仅在国内就已经有21年的发展历史了。
    以机器视觉检测系统为主,搭配ccd相机、镜头、传动机构、五金配件等,实施口罩流水线生产不良品在线检测,可针对口罩外观不良因素,鼻夹、耳绳、海绵条实施全检,自动踢出不良品,过检率可达99.998%,速度100片/分以上。
    在这里插入图片描述

    展开全文
  • 然后,剔除特征金子塔网络中对特征图P5进行不合理3×3卷积,缺齿检出率指标相应得到提升.最后,为了对候选区域网络进行有效训练,根据设计样本标注方案中小范围波动标注尺寸,设置合适anchors大小以及宽...
  • 毕设中涉及到使用the Figure of Merit(FOM)来测评音频word spotting结果,但HTK...对于语音关键词检出任务中FOM,具体可以看NIST定义,是对word spotting结果上界估计(upper-bound estimate),计算每个小...

    毕设中涉及到使用the Figure of Merit(FOM)来测评音频word spotting的结果,但HTKbook对这个功能的叙述比较少,网上的内容也不多,所以看了下源码,基本上知道如何操作了,在这里记录下~

    一、FOM理解

    对于语音关键词检出任务中的FOM,具体可以看NIST的定义,是对word spotting结果的上界估计(upper-bound estimate),计算每个小时出现1~10个错误警报FA(false alarm)的正确检出(true hits)平均,公式如下:

    Ρi代表在发生第¡次false alarm之前检测到的FA百分比,N为大于10T-0.5的第一个整数,a=10T-N用来保证每小时出现10次FA.

    二、如何使用HTK工具中HResults工具来测评word spotting的FOM

    HTKBook中只给出了HResults工具用来评价语音识别结果的方法为:

    HResults [options] hmmList recFiles ...

    虽然实质上测评FOM和语音识别结果都是将测试抄本(test transcription)和参考抄本(reference transcription)进行比对,但在命令执行上还是不太一样的。

    翻开HRsult.c文件我们发现在word spot recording模式下将测试抄本和参考抄本比对的方法如下:

     1 void MatchSpotFiles(void)
     2 {
     3    int i,j,nr,nt;
     4    Label t,*l;
     5    HTime t1,t2;
     6 
     7    test=GetLabelList(ans,1);
     8    NormaliseName(test,tlev);
     9    if (test->head->succ == test->tail) {
    10       HError(-3330,"MatchSpotFile: Test Output File %s is Empty",recfn);
    11       return;
    12    }
    13    
    14    /* increment total duration - note that this assumes that the
    15       end of the last ref label or test label whichever is greater,
    16       marks the end of the file */
    17    t1 = t2 = 0.0;
    18    if (ref->tail->pred!=ref->head)
    19       t1=ref->tail->pred->end;
    20    if (test->tail->pred!=test->head)
    21       t2=test->tail->pred->end;
    22 
    23    if (t1<0.0 || t2<0.0) {
    24       HError(-3333,"MatchSpotFiles: Final times missing from label files");
    25       return;
    26    }
    27 
    28    totalDur += (t1>t2)?t1:t2;
    29 
    30    /* increment key occ counts */
    31    nr=CountAuxLabs(ref,rlev);
    32    for (i=1; i<=nr;  i++) {
    33       l = GetAuxLabN(ref,i,rlev);
    34       j=Index((rlev==0)?l->labid:l->auxLab[rlev]);
    35       if (j!=0) ++keyOccs[j];
    36    }
    37    /* record key spots */
    38    nt=CountAuxLabs(test,tlev);
    39    for (i=1; i<=nt;  i++) {
    40       l = GetAuxLabN(test,i,tlev);
    41       t = *l;
    42       t.end = AuxLabEndTime(l,tlev);
    43       AddSpot(l->labid,IsHit(&t),l->score);
    44    }
    45 }

    MatchSpotFiles方法从参考抄本中依次检测LabelList中每个Label关键词,从而累加对应的keyOccs[j]数组,也就是keyword真实出现的次数;同时从测试抄本中检测各个Label所含的关键词,同时累加关键词被检出的次数,并将每次关键词的出现记录在spotRec的列表中。有了关键词真实出现的次数和被检测的记录,就可以按照FOM的定义计算各个关键词的FOM值,这里不多说,具体可以看HResults中的CalcKeyFOM和CalcGlobal方法。

    但是到这里我们还是不知道命令行下的具体命令和如何组织测试抄本和参看抄本,通过查看HResults.c中的main函数我们知道先读入的是options选项和测试抄本的.mlf文件,之后有如下方法:

       Initialise(GetStrArg());

    再看看Initialise的定义:

     1 void Initialise(char * listfn)
     2 {
     3    CreateHeap(&tempHeap, "tempHeap", MSTAK, 1, 1.0, 8000, 40000);
     4    
     5    nulClass = GetLabId(nulName,TRUE);
     6    ReadHMMList(listfn);
     7    if (stripContexts) LTriStrip(TRUE);
     8    if (outPStats)
     9       InitConMat();
    10    if (wSpot)
    11       InitSpotLists();
    12    if (fullResults && !wSpot && !nistFormat)
    13       PrintBar(0,htkWidth,'-',"Sentence Scores");
    14    if (!nistFormat && spkrMask!=NULL) htkWidth += 11;
    15 }

    在做语音识别测评的时候需要由ReadHMMList方法读入HMMList,但在keyword spotting任务下却不是这样,所以这里应该替换为关键词的list。源代码的分析就是这样,接下来实践一下:

    在命令行下输入:

    HResults.exe -w -I test.mlf wlist ref.mlf

    得到测评结果:

    当然这是我自己手工整理的测试和参考抄本,索引得到的数据略假。。。这里只是给大家一个展示~

    以上只是我个人看过源码之后的一点见解,错误的地方很多,希望能在今后进一步深入!

    转载于:https://www.cnblogs.com/vaccum/archive/2012/04/11/2443120.html

    展开全文
  • 城市学生视力不良检出率为71.2%,乡村学生为68.6%,可见城市学生视力不良检出率高于乡村学生,并存在统计学意义(P<0.05);但这种城乡差异和2005年学生体质调研中得到数据相比较,呈现弱化趋势;视力不良...
  • 结果:58例患者中,经胶囊内镜检查出病因为小肠病变有30例,诊出率为51.7%,与肠、胃镜检查的检出率比较差异甚大(X2=69.72,P<0.01),具有统计学意义,检出病变为1种有26例,占86.7%,≥2种有4例,占...
  • 该方法以周期性chirp声刺激入耳获得ASSR,比较了 40 Hz和90 Hz下chirp音与click音所获得ASSR在头皮分布、幅度差异,并计算基于改进Rayleigh检测ASSR检出率。结果表明:相同声压级下,chirp声比click能够诱发...
  • 针对不同场景下静态图像中单目标...实验结果表明,该方法对任意场景下单目标检出率和检测准确性良好,结合目标凸属性最优化判定方式具有检出速度快,且不受机器学习中样本数据影响特点,具有很好普遍适应性。
  • 光源在系统中起到照明的作用,是影响棉结检出率的重要因素。为满足棉结在线检测系统宽幅面、高速和高分辨率的检测要求,需要对光源系统进行优化设计。通过实验可以获知棉网上的棉结对何种波长范围的光具有最大的反射率...
  • 通过可疑节点与邻居节点的历史数据比较,判断节点是否故障是传感器故障检测的有效方法之一。该方法的关键点在于可疑节点的判断...通过仿真验证,该算法能够在降低故障诊断次数和数据拥塞率的前提下,提高故障检出率
  • 提出了一种基于多级联不对称增强和遗传算法...用遗传算法训练选取局部最佳弱分类器,实现用较少弱分类器达到高检出率。仿真实验结果表明,该算法可以有效避免过拟合和特征冗余现象,获得较高检测速度和精度。
  • 方法:随机采集96 752份从业人员肛拭子标本分别进行实时荧光定量PCR方法和培养法检测沙门氏菌和志贺氏菌,比较两种方法对两种肠道菌的检出率.结果:96 752份标本中,实时荧光定量PCR方法共检测出91份标本沙门氏菌...
  • 采用故障检出率作为监控性能指标,详细分析了不同控制策略对基于主元分析(PCA)和基于数据相异度两种具有代表性多变量统计监控方法影响。对TE过程20种故障仿真结果表明,控制策略对监控方法性能影响十分明显,...
  •  各种电子时间引信产品均配备有专用测试仪器完成性能测试,但过去采用传统仪器测试模式随着电子时间引信技术发展,暴露出了效率低、精度差和检出率低等问题,而且各种型号电子时间引信测试设备之间不具备...
  • 这项工作是针对具有纳米Kong结构(NPS)量子点量子级联检测器(QD-QCD)进行。 NPS通过使用阳极氧化铝作为掩模...NPS QD-QCD样品的检出率均为〜8×107 cm Hz1 / 2 / W。与不使用NPSQD-QCD相比,性能提高了1.2倍。
  • 目标检测:SSD和DSSD算法对比分析

    千次阅读 2018-04-22 09:23:02
    1:SSDSSD算法提出解决了fasterRCNN中只能在一层特征map上预测目标问题,SSD可以在不同特征map上来预测不同目标大小,更加具有针对性,提升了目标的检出率,做了很多数据增强,提升也比较大;缺点也比较...

    1:SSD

    SSD算法的提出解决了fasterRCNN中只能在一层特征map上预测目标的问题,SSD可以在不同的特征map上来预测不同的目标大小,更加具有针对性,提升了目标的检出率,做了很多的数据增强,提升也比较大;缺点也比较明显,不同的anchors设置比较的麻烦,


    2:DSSD

    论文的核心思想,也就是如何利用中间层的上下文信息。方法就是把红色层做反卷积操作,使其和上一级蓝色层尺度相同,再把二者融合在一起,得到的新的红色层用来做预测。如此反复,仍然形成多尺度检测框架。在图中越往后的红色层分辨率越高,而且包含的上下文信息越丰富,综合在一起,使得检测精度得以提升;其二就是提出了自己的预测模块结果表明,增加残差预测模块后,高分辨率图片的检测精度比原始SSD提升明显。

    这里写图片描述

    反卷积模块:

    其一,在每个卷积层后添加批归一化层;其二,使用基于学习的反卷积层而不是简单地双线性上采样;其三,作者测试了不同的结合方式,元素求和(element-wise sum)与元素点积(element-wise product)方式,实验证明点积计算能得到更好的精度。

    这里写图片描述

    展开全文
  • 蜜罐技术在僵尸网络(botnet)防御和检测中扮演着重要角色。攻击者可能会利用已有基于蜜罐防御技术...理论分析表明,该检测方法能够有效地弥补蜜罐防御技术漏洞,提高了蜜罐先知型半分布式P2P botnet的检出率

空空如也

空空如也

1 2 3 4 5
收藏数 90
精华内容 36
关键字:

检出率的比较