[Kwiver-users] Detected object set sorted by confidence

Matt Brown matt.brown at kitware.com
Tue Mar 12 16:17:43 EDT 2019


I notice that the documentation for *detected_object_set* says "detections
are ordered on their basic confidence value."
<https://github.com/Kitware/kwiver/blob/master/vital/types/detected_object_set.h#L61>
I'm not quite sure what is meant by "basic confidence value" or the full
implications for cases where a detection has a confidence for multiple
classes.

An example where this becomes a problem is my current debugging of a
non-maximum suppression filter, which tries to identify overlapping
detections and only take the highest-confidence one. The current non-max
filter assumes the detections in *detected_object_set* are sorted by
confidence, and as it loops over the set, if there is bounding box overlap,
the detection earlier in the set wins. The problem is, the *detected_object_set
*will at most be sorted on one class's confidence, and I believe there are
several examples already where other algorithms add or merge sets without
enforcing that they remain sorted. In fact, the add function
<https://github.com/Kitware/kwiver/blob/master/vital/types/detected_object_set.cxx#L121>
for *detected_object_set* itself just appends to the end of the vector.

My suggestion is that we remove the specification that *detected_object_set*
is sorted by confidence. This makes sense, at least nominally, since a set
implies an unordered group (versus a list, tuple, vector, etc.). Otherwise,
I think we'd need a way to ask *detected_object_set* if it is sorted on a
particular class,

Best,
Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://public.kitware.com/pipermail/kwiver-users/attachments/20190312/8143b1fd/attachment.html>


More information about the Kwiver-users mailing list