小编Ahm*_*kin的帖子

选择正确的分类算法.线性还是非线性?

我发现这个问题有点棘手.也许有人知道回答这个问题的方法.想象一下,你有一个你不知道它是什么的数据集(训练数据).为了推断分类算法对这些数据进行分类,您会看到哪些训练数据的特征?我们可以说是否应该使用非线性或线性分类算法吗?

顺便说一句,我正在使用WEKA来分析数据.

有什么建议?谢谢.

classification weka

12
推荐指数
2
解决办法
6553
查看次数

定向梯度直方图

我一直在阅读关于对象(人类)检测的HOG描述符的理论.但我对实现有一些疑问,这可能听起来像一个微不足道的细节.

关于包含块的窗口; 如果窗口在每个步骤中窗口重叠的像素逐个移动,如下图所示:在此输入图像描述

或者应该移动窗口而不会导致任何重叠,如下所示: 在此输入图像描述

到目前为止,我看到的插图使用了第二种方法.但是,考虑到检测窗口的大小为64x128,很可能通过在图像上滑动窗口,不能覆盖整个图像.如果图像大小为64x255,则最后127个像素将不检查对象.所以,第一种方法似乎更合理,但是,更多的时间和CPU消耗.

有任何想法吗?先感谢您.

编辑:我试着坚持Dalal和Triggs的原始论文.可以在此处找到一篇实现该算法并使用第二种方法的论文:http://www.cs.bilkent.edu.tr/~cansin/projects/cs554-vision/pedestrian-detection/pedestrian-detection-paper.pdf

image-processing object-detection computer-vision

12
推荐指数
1
解决办法
4727
查看次数

Ada条目和语句使用时间

我是Ada编程语言的新手,我正在进行并发编程,但我遇到了一个实现的问题.这可能是一个非常虚拟的问题.代码是:

type status is array(1..6) of boolean; --boolean values for each track
track_available :status:=(others=>true); --true if track is available
protected track_handler is

entry track_req(n:in track_part_type); --n is track number
entry track_rel(n:in track_part_type); --n is track number

end track_handler;


protected body track_handler is
--implement entries
entry track_req(n: in track_part_type) when track_available(n) is --here where the error occurs
    begin
        req(n);
    end track_req;

entry track_rel(n: in track_part_type) when track_available(n) is
    begin
        rel(n);
    end track_rel;
end track_handler;

    procedure req(nr : track_part_type) is
    begin
        --null; …
Run Code Online (Sandbox Code Playgroud)

ada

8
推荐指数
1
解决办法
2288
查看次数

直方图箱的HOG三线性插值

我正在研究定向梯度直方图(HOG)特征,我正在尝试实现Dalal博士论文中描述的直方图箱的三线性插值.他解释了如下引用的插值过程:

编辑:粗略地说,HOG功能是从64x128像素窗口中提取的,该窗口被分成块.每个块由2x2个单元组成,单元为8x8像素区域.提取从计算图像的一阶导数开始,然后计算每个像素的方向和大小.计算每个8×8像素单元的块内的取向直方图,其中像素基于像素的取向对具有幅度值的直方图作出贡献,并且在取向和位置两者中在相邻的箱中心之间插值.直方图包含9个区间代表0-180度,步幅为20度.可以在此处看到该算法的总体描述:http://4.bp.blogspot.com/_7NBDeKCsVHg/TKBbldI8GmI/AAAAAAAAAG0/G-OXUz1ouPQ/s1600/a1.bmp

我们首先描述一维空间中的线性插值,然后将其扩展为3-D.设h是具有bin间距离(带宽)b的直方图.h(x)表示以x为中心的bin的直方图的值.假设我们想要将点x处的权重w插入直方图中.令x1和x2是点x的两个最近的相邻区间,使得x1≤x<x2.线性插值将权重w分配到两个最近邻居,如下所示 线性插值

设三维点的x = [x,y,z]是要插值的权重.设x1和x2是包含x的直方图立方体的两个角矢量,其中每个分量x1≤x<x2.假设沿x,y和z轴的直方图的带宽由b = [bx,by,bz]给出.三线插值将权重w分配到8个周围的bin中心,如下所示: 三线插值公式

.

我们计算单元格的直方图,每个像素对其直方图的幅度值做出贡献.我从配方中理解的是,x和y表示检测窗口中细胞的位置,z是bin编号.在64x128检测窗口中,有8x16个单元格和9个方向区域,因此我们的直方图表示为h(8,16,9).如果以上陈述是正确的,do(x1,y1)和(x2,y2)分别代表前一个和字母单元格?z1和z2是指前一个和字母方向的箱子吗?带宽b = [bx,by,bz]怎么样?

如果有人能澄清这些问题,我将非常感激.

谢谢.

image-processing computer-vision

8
推荐指数
1
解决办法
7813
查看次数

如何在SIFT中使用DoG金字塔

我是图像处理和模式识别的新手.我正在尝试实现SIFT算法,我可以创建DoG金字塔并识别每个八度音程中的局部最大值或最小值.我不明白的是如何在每个八度音程中使用这些局部最大/最小值.我如何结合这些要点?

我的问题可能听起来很微不足道.我读过Lowe的论文,但是在他建造DoG金字塔后他无法理解他的所作所为.任何帮助表示赞赏.

谢谢

pattern-recognition image-processing sift

6
推荐指数
1
解决办法
4510
查看次数

n-gram句子相似度与余弦相似度测量

我一直致力于一个关于句子相似性的项目.我知道它已被多次询问,但我只是想知道我的问题是否可以通过我使用的方法来实现,或者我应该改变我对问题的处理方法.粗略地说,该系统应该分割文章的所有句子,并在其他文章中找到相似的句子.

我使用余弦相似性与tf-idf权重,这就是我做的方式.

1-首先,我将所有文章分成句子,然后我为每个句子生成三元组并对它们进行排序(我应该吗?).

2-我计算三元组的tf-idf权重并为所有句子创建向量.

3-我计算原始句子和要比较的句子的点积和大小.然后计算余弦相似度.

但是,系统无法正常工作.在这里,我脑子里有一些问题.

据我所知,关于tf-idf权重,我猜它们对于找到类似的"文档"更有用.由于我正在处理句子,我通过改变tf和idf定义公式的一些变量来修改算法(而不是文档我试图提出基于句子的定义).

tf =句子中三元组的出现次数/句子中所有三元组的数量

idf =所有文章中所有句子的数量/ trigram出现的句子数

你认为对这个问题使用这样的定义是否可以?

另一个是我在计算余弦相似度时多次提到归一化.我猜这很重要,因为三卦矢量可能不是相同的大小(在我的情况下它们很少).如果三元组向量的大小为x而另一个是x + 1,那么我将第一个向量视为x + 1的大小,最后一个值为0.这是归一化的意思吗?如果没有,我该如何进行规范化?

除此之外,如果我选择了错误的算法还有什么可以用于这样的问题(最好用n-gram方法)?

先感谢您.

trigonometry similarity n-gram

5
推荐指数
1
解决办法
6736
查看次数

多尺度定向梯度直方图(均值漂移?)

我正在研究HOG描述符,除了检测窗口的融合之外,我已经完成了大部分工作.

到目前为止我所做的是; 我建立了图像的尺度空间金字塔,并且对于每个尺度上的每个图像,我移动检测窗口(64x128)并检测人类.在每个图像中,一个人被多个窗口检测到.

所以问题是如何将所有这些窗口(假设一个人)融合到一个窗口中.Dalal建议人们应该使用强大的mod检测算法,例如均值漂移.但是,我有多个尺度......为了做到这一点,我应该首先估计在较低级别的尺度空间中找到的检测窗口的真实位置吗?

任何帮助表示赞赏.提前致谢.

image-processing object-detection computer-vision

5
推荐指数
1
解决办法
1242
查看次数

在C#中继承并使用覆盖函数Y()调用base.X()

我需要了解C#中的继承性.我有一个如下所示的课程:

Class BaseClass
{
    public void X()
    {
        //Some code here
        Y();
    }

    public void Y()
    {
        //Some code here
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想创建另一个派生自BaseClass的类(ChildClass).问题是我想以某种方式覆盖ChildClass中的Y()函数,并且当调用base.X()函数时,我希望X()函数在ChildClass中使用重写的Y()函数.

有人建议我在覆盖时使用'delegate'关键字作为Y函数.但是,我不太确定这会起作用.

这可能吗?有什么建议?

c# inheritance

4
推荐指数
1
解决办法
339
查看次数

C++ fork()和execv()问题

我是C++上的新手,并在Linux上开发一个简单的程序,该程序应该调用同一目录中的另一个程序并获取被调用程序的输出,而不显示调用程序上调用程序的输出.这是我正在处理的代码片段:

    pid_t pid;
    cout<<"General sentance:"<<endl<<sentence<<endl;
    cout<<"==============================="<<endl;
    //int i=system("./Satzoo");
    if(pid=fork()<0)
        cout<<"Process could not be created..."<<endl;
    else
    {
        cout<<pid<<endl;
        execv("./Satzoo",NULL);
    }
    cout<<"General sentance:"<<endl<<sentence<<endl;
    cout<<"==============================="<<endl;
Run Code Online (Sandbox Code Playgroud)

我遇到的一个问题是我能够在控制台上打印前两行,但我不能打印最后两行.我认为当我调用Satzoo程序时程序停止工作.另一件事是这个代码调用Satzoo程序两次,我不知道为什么?我可以在屏幕上看到输出两次.另一方面,如果我使用system()而不是execv(),那么Satzoo只能使用一次.

我还没想出如何在我的程序中读取Satzoo的输出.

任何帮助表示赞赏.

谢谢

c++ linux fork execv

3
推荐指数
1
解决办法
1万
查看次数

关于C++指针

我刚刚开始练习c ++而且我一度陷入困境.我有一个Node类,类有一个像这样的构造函数:

class Node
{
    public:
          Node(std::string,Node *,int,int,int,int);
    private:
          std::string state;
          Node* parent_node;
          int total_cost;
          int path_cost;
          int heuristic_cost;
          int depth;  
}

Node::Node(std::string state,Node *parent_node,int path_cost,int heuristic_cost,int total_cost,int depth)
{
    this->state=state;
    this->parent_node=parent_node;
    this->path_cost=path_cost;
    this->heuristic_cost=heuristic_cost;
    this->total_cost=total_cost;
    this->depth=depth;
}
Run Code Online (Sandbox Code Playgroud)

到目前为止一切正常,但我无法使用NULL parent_node创建Node对象.我试过这个:

Node *n = new Node("state name",NULL,0,15,20,1);
Run Code Online (Sandbox Code Playgroud)

我也尝试创建一个新对象并将其指定为parent_node,但也没有成功.

Node *temp = new Node();
Node *n = new Node("state name",temp,0,15,20,1);
Run Code Online (Sandbox Code Playgroud)

我做错了指针,但我不知道我错过了什么.我收到一个编译错误,说没有匹配的函数调用.

提前致谢

c++ pointers

0
推荐指数
1
解决办法
223
查看次数