Comments (4)
@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.
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.
Ok, sounds good to me. He who fixes this bug can have final say :)
from openbr.
Fixed in #55
from openbr.
Related Issues (20)
- __BEGIN__ is undefined HOT 1
- __END__ is undefined
- Problem in the tests ? HOT 1
- New to this project - about the installation
- Conflict between openbr and dlib
- Build system -- missing QT5 test and opengl v1.1.0 HOT 7
- Clustering usage? understanding rank order neighborhood construction
- OpenCV 4 HOT 4
- Build fails in with VS_2017 and Eigen HOT 1
- Failed to load stasm cascade in FaceRecognition Algorithm
- openbr not working on ubuntu 18.04 HOT 2
- 'br' is not recognized as an internal or external command in windows 10
- Get Fatal Error when try to run "Nmake intall" for building OpenBr HOT 1
- failed to build on windows HOT 1
- Fails to build with OpenCV 3.2.0
- Operating points for ROC curves HOT 4
- CMake Error at openbr/CMakeLists.txt:31 (add_library): Cannot find source file: /usr/local/include/http_parser.c
- how to compute 1:1 face compare accuracy in %
- Missing header file "opencv2/core/core_c.h"
- Fails to build on debian 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openbr.