Coder Social home page Coder Social logo

Comments (4)

jklontz avatar jklontz commented on July 19, 2024

@lbestrowden mentioned this issue recently also. Here are my thoughts:

If we would like the option to be able to switch between initializing PittPatt to detect one face vs all faces at run time, then the PP5Context constructor can simply query Globals->enrollAll when deciding how to initialize the PittPatt context. This works because algorithms aren't created until they are first used, giving you the opportunity to specify command line settings before enrollment. Note: this is not the case for anything that subclasses from Initializer, which gets executed before any argument parsing.

As an alternative to changing the interface to allow generating multiple templates, consider storing a list of values in the metadata. Then generalize Expanded in meta.cpp to handle splitting all lists values instead of just points and rects. The crucial step here is that if after the list has been split, if the sublists are of length one then we should store their single element in the expanded template's metadata instead of a list of length one. I think this represents a simpler and more consistent solution for the current code base, though I'd be willing to have a discussion about whether or not we need better support for multi-template project().

Any takers on implementing this?

from openbr.

caotto avatar caotto commented on July 19, 2024

The overall change to support multi-template project has already been made,
the common use of enroll now passes a series of single template
templatelists through the algorithm (which inherently allows for a variable
number of templates as output). In that sense, just changing PP5Enroll to
implement project(templatelist) would be sufficient. There are some
transforms that haven't been updated (such as Cache), but I'd argue that
just implementing project(templatelist) is simple and consistent with the
current design (if not necessarily implementation) of the codebase.

On Fri, May 17, 2013 at 4:47 PM, jklontz [email protected] wrote:

@lbestrowden https://github.com/lbestrowden mentioned this issue
recently also. Here are my thoughts:

If we would like the option to be able to switch between initializing
PittPatt to detect one face vs all faces at run time, then the PP5Contextconstructor can simply query
Globals->enrollAll when deciding how to initialize the PittPatt context.
This works because algorithms aren't created until they are first used,
giving you the opportunity to specify command line settings before
enrollment. Note: this is not the case for anything that subclasses
from Initializer, which gets executed before any argument parsing.

As an alternative to changing the interface to allow generating multiple
templates, consider storing a list of values in the metadata. Then
generalize Expanded in meta.cpp to handle splitting all lists values
instead of just points and rects. The crucial step here is that if after
the list has been split, if the sublists are of length one then we should
store their single element in the expanded template's metadata instead of a
list of length one. I think this represents a simpler and more consistent
solution for the current code base, though I'd be willing to have a
discussion about whether or not we need better support for multi-template
project().

Any takers on implementing this?


Reply to this email directly or view it on GitHubhttps://github.com//issues/54#issuecomment-18085156
.

from openbr.

jklontz avatar jklontz commented on July 19, 2024

Ok, sounds good to me. He who fixes this bug can have final say :)

from openbr.

jklontz avatar jklontz commented on July 19, 2024

Fixed in #55

from openbr.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.