Noblis / INVSC-janus

IARPA Janus Program API
Other
9 stars 16 forks source link

Proposed Phase 2 API changes #17

Closed jklontz closed 9 years ago

jklontz commented 9 years ago

The pull request contains the API changes proposed for phase 2. Here's the summary of changes:

The evaluation harness will be updated after the API changes are accepted.

jklontz commented 9 years ago

@bhklein @sklum please review before I send this out to the mailing list. @bklare FYI.

bhklein commented 9 years ago

looks good to me

sklum commented 9 years ago

:+1:

jklontz commented 9 years ago

@biometrics/isi @biometrics/sri @biometrics/str @biometrics/umd Please review, thanks!

bklare-zz commented 9 years ago

@jklontz One of the requirements we discussed was support for clustering. I think this is a simple interface: gallery (input), num clusters (input, optional), integer subject label assignment to each template (output).

Could you add this to this API? On Apr 15, 2015 11:47 AM, "Josh Klontz" notifications@github.com wrote:

The pull request contains the API changes proposed for phase 2. Here's the summary of changes:

-

janus_attributes_list refactored as janus_attributes: The new janus_attributes obviates the need for memory allocation on the implementation side, and thus obviates the need to introduce a function to deallocate the memory. It's also now easier for clients to retrieve the value of a specific attribute. The tradeoff is that the client must allocate memory to store all possible JANUS_NUM_ATTRIBUTES attributes, some of which may end up being unpopulated.

janus_detect introduced: This is now a prerequisite for janus_augment.

janus_track dropped: A change in the semantics of janus_augment obviated the need for this function.

JANUS_INVALID_ATTRIBUTE enum dropped: The change in semantics of janus_attributes obviated the need for this enum value.

JANUS_FRAME enum dropped: There isn't a clean way to propagate this information, and it doesn't seem to be needed anyway.

int parameters in janus_search changed to size_t.

  • Bumped version number to 0.4.0.
  • Removed iarpa_janus_aux.h placeholder header file.

The evaluation harness will be updated after the API changes are accepted.

You can view, comment on, or merge this pull request online at:

https://github.com/biometrics/janus/pull/17 Commit Summary

  • proposed phase 2 API changes

File Changes

Patch Links:

— Reply to this email directly or view it on GitHub https://github.com/biometrics/janus/pull/17.

agrawalmoti commented 9 years ago

I am guess we will have to solve the association problem for all the detects AND

Also associate one of the set of detections to the person of interest using imagery (already enrolled images of that person in the gallery).

Correct me if I am wrong…

Moti

From: Brendan K [mailto:notifications@github.com] Sent: Thursday, April 16, 2015 7:34 AM To: biometrics/janus Cc: agrawalmoti Subject: Re: [janus] Proposed Phase 2 API changes (#17)

@jklontz One of the requirements we discussed was support for clustering. I think this is a simple interface: gallery (input), num clusters (input, optional), integer subject label assignment to each template (output).

Could you add this to this API? On Apr 15, 2015 11:47 AM, "Josh Klontz" notifications@github.com wrote:

The pull request contains the API changes proposed for phase 2. Here's the summary of changes:

janus_attributes_list refactored as janus_attributes: The new janus_attributes obviates the need for memory allocation on the implementation side, and thus obviates the need to introduce a function to deallocate the memory. It's also now easier for clients to retrieve the value of a specific attribute. The tradeoff is that the client must allocate memory to store all possible JANUS_NUM_ATTRIBUTES attributes,

some of which may end up being unpopulated.

janus_detect introduced:

This is now a prerequisite for janus_augment.

janus_track dropped: A change in the semantics of janus_augment obviated the need for this

function.

JANUS_INVALID_ATTRIBUTE enum dropped: The change in semantics of janus_attributes obviated the need for this

enum value.

JANUS_FRAME enum dropped: There isn't a clean way to propagate this information, and it doesn't

seem to be needed anyway.

int parameters in janus_search changed to size_t.

  • Bumped version number to 0.4.0.
  • Removed iarpa_janus_aux.h placeholder header file.

The evaluation harness will be updated after the API changes are accepted.

You can view, comment on, or merge this pull request online at:

https://github.com/biometrics/janus/pull/17 Commit Summary

  • proposed phase 2 API changes

File Changes

Patch Links:

— Reply to this email directly or view it on GitHub https://github.com/biometrics/janus/pull/17.

— Reply to this email directly or view it on GitHub https://github.com/biometrics/janus/pull/17#issuecomment-93749716 .Image removed by sender.

jklontz commented 9 years ago

@agrawalmoti Good question. As you've observed, the output of _janusdetect is an array of _janusattributes, one for each detected face in the image, and the input to _janusaugment is a single _janusattributes. In the event that there are multiple detections in an image, an ambiguity arises as to which one ought to be added to the template. For the purpose of evaluating algorithms, the evaluation harness will resolve this ambiguity by comparing the ground truth against the reported detection bounding boxes to select the appropriate detection. Having said that, the BAA does mention that we may intentionally provide the incorrect face detection during template construction in order to measure your invariance to this source of error, so be aware of that possibility. In summary, we won't ask you to solve the general detection association problem, but you should have some invariance to being given incorrect associations.

I did forget to add a gallery clustering function, will do so. My understanding with respect to the BAA is that the implementation of this function is considered optional.

jklontz commented 9 years ago

I've pushed a few more changes based on initial feedback:

jklontz commented 9 years ago

Introduced janus_attribute::frame_rate to provide more information to janus_augment.