biometrics/openbr — pull request #275 by jklontz (2014-11-13 14:37:48+00:00)
Title: Ut refactor

@bklare @imaus10 The PR implements the following changes I propose for the `br_universal_template` format:

1. Removal of the `unsigned char templateID[16]` field. The TemplateID is redundant information, as the template can be uniquely identified given either a) the feature vector itself, or b) the combination of ImageID, AlgorithmID, X, Y, Width, and Height (aka the template “metadata”).

2. Addition of a `uint32_t label` field. The purpose of this field is to associate ground truth information with the template. Use cases include a) manually annotated ground truth in an operational environment, and b) training statistical learning algorithms outside of OpenBR (in Matlab, Likely, etc.), where the `br_universal_template` provides a convenient cross-framework feature vector representation. I had originally intended to make this a `double` but ran into trouble with struct packing, technical details available if interested.

3. Change the syntax and semantics of `br_universal_template::size` to `br_universal_template::fvSize`. This is to make it a little easier to iterate over the feature vector, as the feature vector size is now explicitly available. The tradeoff is that the total size of br_universal_template::data must be calculated by adding `urlSize + fvSize`.