机器 | 检测方法 | 选项 | 分辨率 | 时间 |
---|---|---|---|---|
i7-8550u | Haar detector | 640*480 | 300ms~700ms | |
-O3 | 320*240 | 100ms~200ms | ||
libfacedetection | 640*480 | 500ms~600ms | ||
320*240 | 100ms~200ms | |||
-O3 | 320*240 | 10ms~40ms |
Haar检测子不具备旋转不变性,检测精度不高(实验中出现把插座口识别成人脸的情况),在低分辨率下难以识别出目标且速度较慢。
libfacedetection具有一定的旋转不变性,精度较高,在低分辨率下也运行良好,速度快,在-O3优化下可以满足实时性的要求。
编号 | 方法 | 优点 | 缺点 |
---|---|---|---|
1 | opencv,canny找轮廓,配合霍夫线变换拟合直线 | 简单 | 结果对参数敏感,难以确定一组普适的参数来应付大部分场景 |
2 | opencv,先使用距离变换函数把图片分为目标区域和背景区域,配合分水岭算法对图片进行分割,再对分割后的图像拟合线条 | 复杂,结果同样对参数敏感。同时,这是基于像素值对图片进行分割,分割结果不一定符合实际.在极端情况下(大纯色块)表现甚至不如方法1. | |
3 | 使用方法1寻找直线,若找不到,则缩小图片,继续法1。最多循环3次 | 简单,可以一定程度上消除局部纹路的干扰 | 同法1 |