问题标签 [viola-jones]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 评估 haar 特征值的最快 Python 方法
嗨,我是 python 新手,使用 python 实现 Viola-Jones 人脸检测算法。虽然使用 Adaboost 进行 haar 特征选择,但我的代码在每一轮提升中选择一个 haar 特征需要很长时间(大约 18 小时)。不知何故,我发现评估 haar 特征所花费的时间是我的代码中最耗时的工作。我在下面展示python代码:
列表:积分图像列表
(x,y,h,w,f,p):位置 (x,y) 处的 Haar 特征。h 和 w 是 haar 特征中一个矩形的高度和宽度,这意味着两个矩形(|----|----|)的 haar 特征的总高度为 h,总宽度为 2*w。f 是 haar 特征类型,p 是奇偶校验。
上面的代码评估了两个 haar 特征类型两个矩形水平 haar 特征和两个矩形垂直 haar 特征。
有没有使用 python 评估 haar 特征的最快方法?任何改进上述代码的建议,以便我可以处理时间因素。在这里,我最关心的是时间因素。
谢谢!
matlab - MATLAB 中的实时人脸检测
我正在尝试使用 MATLAB 制作实时人脸检测器。我在 Mathworks 的页面上找到了示例代码,但它使用了示例视频。我遇到的问题是,即使在开始框架中有几张面孔,此代码也只能跟踪它选择的那个。我需要它一次跟踪多个面孔。是否可以通过不剧烈的更改此代码来实现。我在 MathWorks 的网页上找到了以下代码:
提前致谢!
adaboost - 如果在 Viola-jones 人脸检测方法中,每一轮 boosting 都选择相同的 Haar 特征怎么办?
我正在实施 Viola-Jones 人脸检测来检测人脸。在使用 Adaboost 进行训练时,boosting round 会选择相同的 haar 特征。例如,如果(x,y,w,h,f,p)
前三轮选择的 Haar-feature 是(0,0,4,2,1,0)
,(1,3,5,2,3,1)
那么(2,4,7,2,4,1)
对于剩下的一轮 boosting 它选择相同的 haar-feature,这样我选择的 Haar-feature 的列表就变成了,
[(0,0,4,2,1,0),(1,3,5,2,3,1),(2,4,7,2,4,1),(1,2,4,8,1,0),(1,2,4,8,1,0),(1,2,4,8,1,0),(1,2,4,8,1,0),(1,2,4,8,1,0)]
.
这里,
x,y = x_y coordinate, w = width of Haar-feature, h = height of Haar-feature, f = feature type, p = parity of Haar-feature.
我的问题:
1)如果每一轮boosting选择相同的Haar-feature,我应该选择下一个具有相对最小误差的Haar-feature。
谢谢!
algorithm - viola and jones 中的特征计算
在注意力级联部分,他们讨论了一个基本的 2 特征强分类器。在讨论这个弱分类器的计算时,他们需要
- 评估矩形特征(每个特征需要 6 到 9 个数组引用)。
- 计算每个特征的弱分类器(每个特征需要一个阈值操作)。
- 结合弱分类器(每个特征需要一个乘法,一个加法,最后是一个阈值)。
我的问题是我们在哪里需要乘法。我认为每个弱分类器函数 h(t) 的结果要么是 1 要么是 0。所以我们要么将 alpha 与 1 相乘,要么将 0 与决策相乘。
或者我可能没有完全得到算法
谢谢
c - 如何将二维数组保存到 C 中的文件中?
我是一名初学者 C 程序员,我目前正在开发一个使用 C 实现 viola jones 对象检测算法的项目。我想知道如何将二维数组中的数据存储到一个文件中由不同的程序文件(例如 main.c、header_file.h 等)移植和访问
先感谢您。
face-detection - 中提琴 - 琼斯 adaboost 方法
我已经阅读了有关 Viola-Jones 对象检测方法的论文,并且对一些事情感到困惑。
1 - 对于 Adaboost,每一轮是否意味着我们计算所有图像中的所有 160k 特征,然后找到误差最小的特征(据我所知,这是一个“弱分类器?如果我错了,请纠正我)。如果是,那么在可能需要几个月的大量图像上训练这是否需要很长时间?如果这是正确的,您还将运行多少轮。
2-如果上述观点是错误的,那么这是否意味着对于每个特征,我们使用一个特征评估所有非人脸和人脸图像,并将其与某个可接受的错误阈值进行比较,如果它低于这个可接受的阈值,那么我们将此特征作为弱分类器,然后在使用 160k 特征中的下一个特征之前更新权重。
我尝试理解此链接http://www.ece301.com/ml-doc/54-face-detect-matlab-1.html中的 MATLAB 代码,但不确定他实现 adaboost 的方式是否正确。
如果有一个链接可以简单明了地解释 Viola-Jones 使用的 adaboost,那也将是一个很大的帮助。
face-detection - viola jones 对象检测的阈值
我正在尝试执行 Viola 和 Jones 在他们关于快速对象检测的论文中所述的 Adaboost 训练。但是,我不明白如何获得阈值,这些阈值将对 160k 特征中的每一个特征中的人脸与非人脸进行分类。这是您手动设置的阈值吗?或者这是基于某种数学?
有人可以向我解释一下数学吗,非常感谢。
algorithm - 训练时间最短的人脸检测算法
想问一下是否有任何适合视频的人脸检测方案需要最少的训练时间,最好是几天而不是像 Viola-Jones 那样的几周。我读过 LBP,但它也需要大量的训练样本,但不确定需要多长时间。训练 LBP 是否与使用相似数量的训练集的 Viola-Jones 方法消耗的时间一样多?我将在 Linux 操作系统上运行的 raspberry pi 等微处理器上实现这一点。将希望在 C 上实现它以提高速度,因为我希望它能够检测 10fps - 20fps 视频流中的图像。
c - 使用纯C可以快速读取XML文件吗?
我正在使用纯 C 设计一个人脸检测系统。当 Viola-Jones 和 LBP 在 openCV 中很容易使用 C 中的训练算法时,我不想费心去编写训练算法。但是,我注意到在 openCV 中,训练数据存储在 XML 文件中。我计划在 TI 开发板上运行检测器,并在板上使用 DSP。该板正在运行一个 ubuntu 操作系统,因此它有一个文件系统,但我试图让检测器尽可能快地工作,我不希望访问训练数据影响我的检测器速度。那么继续处理 XML 文件是个好主意吗?或者有没有办法将这些文件转换为我认为更容易阅读的 CSV。
提前致谢
matlab - 在 Matlab 中使用计算机视觉工具箱(Viola Jones)进行人脸检测
我有一个关于人脸检测的最终项目。我决定使用 Matlab 和计算机视觉工具箱来完成这个项目,因为如您所知,这个工具箱使用 Viola Jones 算法进行对象检测。
我在下面编写了代码,但代码将人脸与非人脸对象匹配。
问题
如何更改代码以使其仅匹配面孔?