我开发了一个使用 HOG 描述符测试对象检测的软件。
- 我使用窗口扫描方法来检测目标对象类的实例。
- 使用不同尺寸的扫描窗口对图像进行多次检查,以检测不同尺寸的物体(多尺度检测)。这样,每个对象可以被检测到多次。
每个对象的重叠检测(不同位置和大小的多个边界框)的存在需要一个程序将它们组合成一个包含与同一对象相关的所有检测的单个边界框。如何合并每个对象的多个检测?
我开发了一个使用 HOG 描述符测试对象检测的软件。
每个对象的重叠检测(不同位置和大小的多个边界框)的存在需要一个程序将它们组合成一个包含与同一对象相关的所有检测的单个边界框。如何合并每个对象的多个检测?
这可以使用OpenCV groupRectangles 函数来完成,该函数根据相似性参数对具有相似大小和位置的矩形进行聚类。虽然,我相信这个函数可能已经根据参数在HOG detectMultiScale 函数group_threshold
中使用:
void gpu::HOGDescriptor::detectMultiScale(
const GpuMat& img,
vector<Rect>& found_locations,
double hit_threshold=0,
Size win_stride=Size(),
Size padding=Size(),
double scale0=1.05,
int group_threshold=2
)
当然,您必须尝试调整相似性标准以满足您的需求。