3 machine-learning computer-vision cascade-classifier haar-classifier
当谈到级联分类器(使用haar like features)时,我总是会读到像AdaBoosting这样的方法用于选择"最佳"特征进行检测.但是,只有在有一些初始功能开始提升时,这才有效.
给定24x24像素图像,有162,336种可能的haar功能.我可能在这里错了,但我不认为像openCV这样的库最初会测试所有这些功能.
所以我的问题是如何选择初始功能或如何生成它们?有关最初功能数量的指南吗?
如果最初使用所有162,336个功能.它们是如何产生的?
从您的问题我能够理解您想知道什么是1,62,336个功能.
来自4个原始的中提琴琼斯特征(http://en.wikipedia.org/wiki/Viola%E2%80%93Jones_object_detection_framework)
我们可以通过改变4个原始特征的大小及其在24*24输入图像上的位置来生成1,62,336个特征.
例如,考虑具有彼此相邻的两个矩形的原始特征之一.让我们考虑每个矩形的大小是1个像素.最初如果在24*24图像的(0,0)上存在一个矩形,那么它被认为是一个特征,现在如果你将它水平移动一个像素(到(1,0))那么它被认为是第二个特征它的位置改为(1,0).通过这种方式,你可以将它水平移动到(22,0),产生23个特征.同样,如果沿垂直轴从(0,0)向上移动到(0,23),那么你可以生成24个特征.现在,如果您移动覆盖每个位置的图像(例如(1,1),(1,2).....(22,23)),那么您可以生成24*23 = 552个特征.
现在,如果我们考虑每个矩形的宽度是2个像素,高度是1个像素.最初如果在(0,0)上存在一个矩形并且如上所述沿水平轴移动到(20,0)那么我们可以具有21个特征,因为如果我们沿着垂直轴从(0, 0)到(0,23)我们可以有24个功能.因此,如果我们移动以覆盖图像上的每个位置,那么我们可以具有24*21 = 504个特征.
这样,如果我们将每个矩形的宽度增加一个像素,每次覆盖完整图像时保持每个矩形的高度为1个像素,那么它的宽度从1个像素变为24个像素,我们得不到.特征= 24*(23 + 21 + 19 ..... 3 + 1)
现在,如果我们考虑每个矩形的宽度是1像素,高度是2像素.最初如果在(0,0)上存在一个矩形并且沿着水平轴移动到(23,0)那么我们可以有23个特征,因为它的宽度是1个像素,因为如果我们沿着垂直轴移动它的高度是2个像素从(0,0)到(0,22)然后我们可以有23个功能.因此,如果我们移动以覆盖图像上的每个位置,那么我们可以具有23*23 = 529个特征.
类似地,如果我们将每个矩形的宽度增加一个像素,每次覆盖完整图像时保持每个矩形的高度为2个像素,那么它的宽度从1个像素变为24个像素,我们得不到.特征= 23*(23 + 21 + 19 ..... 3 + 1)
现在,如果我们在将每个矩形的宽度从1个像素改为24个像素之后将每个矩形的高度增加1个像素,直到每个矩形的高度变为24个像素,那么
没有.特征= 24*(23 + 21 + 19 ..... 3 + 1)+ 23*(23 + 21 + 19 ..... 3 + 1)+ 22*(23 + 21 + 19 ...... ..3 + 1)+ ................. + 2*(23 + 21 + 19 ..... 3 + 1)+ 1*(23 + 21 + 19 ..... 3 + 1)
= 43,200 features
Run Code Online (Sandbox Code Playgroud)
现在,如果我们考虑第二中提琴琼斯原始特征,其中有两个矩形,其中一个矩形在其他上方(即矩形垂直排列),因为这类似于第一中提琴的原始特征,它也将具有
没有.功能= 43,400
类似地,如果我们按照上述过程,从第3个原始中提琴琼斯特征,其具有沿水平方向排列的3个矩形,我们得到
没有.特征= 24*(22 + 19 + 16 + .... + 4 + 1)+ 23*(22 + 19 + 16 + .... + 4 + 1)+ 22*(22 + 19 + 16 + .... + 4 + 1)+ ................ + 2*(22 + 19 + 16 + .... + 4 + 1)+ 1*(22 + 19 + 16 + ... + 4 + 1)
=27,600
Run Code Online (Sandbox Code Playgroud)
现在,如果我们考虑具有垂直排列的3个矩形的另一个特征(即一个矩形在另一个上),那么我们得到
没有.功能= 27,600(因为它类似于第3原始中提琴琼斯功能)
最后,如果我们考虑第4个原始的中提琴琼斯特征,它有4个矩形,我们得到
no.of features = 23*(23 + 21 + 19 + ...... 3 + 1)+ 21*(23 + 21 + 19 + ...... 3 + 1)+ 19*(23+ 21 + 19 + ...... 3 + 1).................. + 3*(23 + 21 + 19 + ...... 3+ 1)+ 1*(23 + 21 + 19 + ...... 3 + 1)
= 20,736
Run Code Online (Sandbox Code Playgroud)
现在总结所有这些功能我们得到= 43,400 + 43,400 + 27,600 + 27,600 + 20,736
= 1,62,336 features
Run Code Online (Sandbox Code Playgroud)
因此,从大约1,62,336个特征中,Adaboost选择其中一些特征来形成强分类器.
归档时间: |
|
查看次数: |
2033 次 |
最近记录: |