kwiver icon indicating copy to clipboard operation
kwiver copied to clipboard

Add a vital algo for object descriptor computation

Open predicative opened this issue 5 years ago • 1 comments

#691 has added two processes that compute descriptors on detected objects, resnet_descriptors and alexnet_descriptors, as well as one closely related process, resnet_augmentation. This suggests defining a vital algo that abstracts the common nature of some of the computation performed.

A possible signature is:

descriptor_set_sptr compute_descriptors(image_container_sptr const& image, detected_object_set_sptr const& detections)

resnet_descriptors and alexnet_descriptors could then be replaced with two respective arrows and a compute_object_descriptors process that wraps the algo. Internally, resnet_augmentation performs a similar computation that matches the type, but it can produce multiple descriptors per input detection.

@mattdawkins, I recall there perhaps being a more detailed proposal that you were involved in. If so, feel free to expand on that.

predicative avatar Sep 11 '20 15:09 predicative

Descriptors are something that's hard to encapsulate in a single API due to a variety of different descriptor types so my recommendation was for a few types on the "KWIVER Descriptor Generator" email thread from a year or so ago that I forwarded to you. They're also semi-related to classifiers.

For one they don't need to be around detections, could just be around an entire image or computed in batch on chips so might make sense to have 2-3 apis at a minimum, one base vital that just takes in a single image or vector/set of images (no detection) then another like what you have for computing around detections

mattdawkins avatar Sep 14 '20 14:09 mattdawkins