Noblis / INVSC-janus

IARPA Janus Program API
Other
9 stars 16 forks source link

Change to janus_cluster signature #37

Closed JordanCheney closed 8 years ago

JordanCheney commented 8 years ago

Hello all,

This is related to issue #29 brought up by the ISI team. They made the excellent point that long, uncompressed streams of HD video occupy a significant amount of RAM (> 25GB in the worst case in CS3). I am making an assumption that we all have machines with enough RAM to handle creating templates even if they contain 2 or 3 videos of this size. For that reason I am not updating the janus_create_templates function at this time.

The high memory requirement poses a significant issue for clustering however. Specifically, the input of clustering is a collection of unlabeled media. If that collection has a significant number of videos the RAM requirements quickly become ridiculous. To mitigate this, I have update the janus_cluster function to take a collection of templates instead of raw media. The templates will be created from a single piece of media (image or video). Depending on the evaluation protocol bounding boxes may or may not be provided along with the media. This change also has the added advantage of removing an API function (there were 2 versions of janus_cluster previously) and reducing repeated computation, as detection and template creation can now be decoupled from clustering.

The code for this change can be seen in PR #36. Please respond with comments or concerns. Additionally, the first comment period was scheduled to close today. Because of this change and the recent issues raised by the UMD team I am going to extend that by a week to June 3rd.