I want to match the values in NMS Config component in yolov3 experiment spec file to deepstream pgie config but I’m not sure how to go about it.
For example, if I have:
nms_config {
confidence_threshold: 0.01
clustering_iou_threshold: 0.6
top_k: 200
}
In the pgie config file:
[property]
#Integer 0: OpenCV groupRectangles() 1: DBSCAN 2: Non Maximum Suppression 3: DBSCAN + NMS Hybrid 4:No clustering
cluster-mode=?
[class-attrs-all]
pre-cluster-threshold=0.01
post-cluster-threshold=?
nms-iou-threshold=0.6
topk=200
My questions:
- What is the role of
cluster-mode
? My understand is the clustering used by deepstream are to group nearby bboxes together before NMS is applied, is that correct? How do I setcluster-mode
value? I usually set cluster-mode=2 for yolov3, is that appropriate? - Is
nms-iou-threshold
the same asclustering_iou_threshold
? - Is
confidence_threshold
the same aspre-cluster-threshold
? - What is the different between role of
pre-cluster-threshold
andpost-cluster-threshold
, I know that one is before and the other is after clustering, but what does that mean? Does it meanpre-cluster-threshold
is used to remove bbox whose confidence is belowpre-cluster-threshold
before entering NMS post-process whilepost-cluster-threshold
is used to remove bbox that survive the NMS post-process but confidence is lower thanpost-cluster-threshold
?