Giter Club home page Giter Club logo

frvt's Introduction

Cloning the repository

We recommend developers clone the entire repository and run validation from within the folder that corresponds to the evaluation of interest. The ./common directory contains files that are shared across all validation packages.

The 11 directory is for the FRTE 1:1 (one-to-one) evaluation.

The 1N directory is for the FRTE and IREX 1:N evaluations.

The quality directory is for the FATE automated quality assessment evaluation.

The morph directory is for the FATE automated facial morph detection evaluation.

The twins-demonstration directory is for the FRTE demonstration track: distinguishing twins.

The age-estimation directory is for the FATE age-estimation evaluation.

The five directory is for the FRTE face in video evaluation.

frvt's People

Contributors

dfischer049 avatar dzabraev avatar elisonsherton avatar gwquinn avatar kayee-nist avatar mlngan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

frvt's Issues

Two submissions before the four months

Hello,

This is not really an issue, it is more a doubt. I believe last year it was possible to submit two versions of algorithms, and then every submission would need to wait for four months until a new one is done. I did it in the past company, so I'm sure about this.

Is this rule currently valid?

Thanks for the clarification.

Best,
Miguel

PYTHONPATH, PYTHONHOME

Hello. I want to participate in FRVT(1v1 and 1vN). My SDK uses Python interpreter and has Python code. In order to use Python my SDK must have runtime access to Python dependencies: a lot of *.py, *.so and other files. And before using Python it is needed to initialize PYTHONPATH and other paths.

My question: is it allowed to place several *.py and *.so files into config directory?

Error authenticate the Nist key

I am confusing at email my public key to Nist, Don't really understand here. What is it and how do I know my public key is sent to Nist successfully?

image

Testing Limits

I've got that submission has to use 1 CPU thread. What are the other limits: inference time, RAM usage, etc?...

confusing about fork()

sorry for bothering you again @mlngan .
My face_detection model does not execute in the child process (no bug, no return anything) and the parent process is suspended( "wait" function in parent process is still waiting for return status from the child ). Please help.

Can I load the models in the constructor?

Hello,

When I execute run_validate.sh, it does not seem to be calling the initialize function. I don't see the messages I print nor a change of the values of the variables. Would it be a problem if I loaded the model files within the constructor?

Thread Count

i am using mxnet to develop my algorithm to submit in FRVT11, while validating it shows warning of thread count more than 2.
Can anyone tell me how to solve it?
Is it ok to submit as it is warning and not the error?

validation script doesn't link dependency libraries

Even if I place my 3rd party dependencies (*.so) under ./lib, the compile_and_link.sh script (invoked while running run_validate_11.sh) only takes the implementation library and I get a lot of undefined references. Am I missing something? Please help.

Method to convert python model to c++

Hi Nist's participants, I have successfully submitted my solutions to Nist for several months. NCNN is the way to convert the python model to c++, but it quite slow for the inference. I find that some teams submitted a larger model ( Resnet 50 or Resnet 100,...), May I ask for the best method to port the python model to inference in c++?

Time assessment for template creation

Is it possible to have a brief description about the procedure used to assess the time required to create a template?
More specifically, I'm interested in understanding the batch size (namely, how many images are tested before calling initialize function again).

Thank you.

[WARNING] Thread count

[WARNING] We've detected that your software may be threading or using other multiprocessing
techniques during template creation.  The number of threads detected was ... and it should be 2.
Per the API document, implementations must run single-threaded.  In the test environment, there
is no advantage to threading, because NIST will distribute workload across multiple blades and
multiple processes.  We highly recommend that you fix this issue prior to submission.

I currently get this warning because my application seems to spawn extra threads. If I use ps aux | grep validate11 instead of top -H -b -n1 | grep validate11, I get only 2 active processes.

From the documentation it is not completely clear if this is an actual problem and must be fixed before submitting or it simply states that it won't give me any advantage during the real test procedure (therefore it's not mandatory to get fixed).

Any extra clarification would be very appreciated.

library path

Please explicitly set LD_LIBRARY_PATH in run_testdriver.sh so that it can be used with 3rd libraries without modification or question.

Or is it safe to use -rpath=$ORIGIN ?

Range of similarity

Hello,

According to the document, the similarity value is a similarity score resulting from comparison of the templates, on the range [0,
1000000].

We use cosine similarity to calculate the similarity score, the value is on the range [0,1].
Do we need to normalize that value from [0,1] to [0, 1000000]?

Thanks,

how can i set a threshold for frvt_11?

matchTemplates(...)
just get a similarity score,i don`t know how can i set a condition for verification to judgment both of them were same people or not

Fork return fail

Hi,

For some reason our current compilers fail to join at forked processes at validate11.cpp with return statement. It appears that using exit instead works. Any idea if this is an indication of some problem on our side or can this change be done safely?

Ie:

switch(fork()) {
		case 0: /* Child */
			if (action == Action::CreateTemplate)
				return createTemplate(
						implPtr,
						inputFile,
						outputDir + "/" + outputFileStem + ".log." + to_string(i),
						templatesDir,
						role);
			else if (action == Action::Match)
				return match(
						implPtr,
						inputFile,
						templatesDir,
                                                outputDir + "/" + outputFileStem + ".log." + to_string(i));

to

switch(fork()) {
		case 0: /* Child */
			if (action == Action::CreateTemplate)
				exit( createTemplate(
						implPtr,
						inputFile,
						outputDir + "/" + outputFileStem + ".log." + to_string(i),
						templatesDir,
						role));
			else if (action == Action::Match)
				exit( match(
						implPtr,
						inputFile,
						templatesDir,
						outputDir + "/" + outputFileStem + ".log." + to_string(i)));

Gcc version

Can I update the compiler version to gcc 5 ?
can I switch validate11 builds to C++ 14 ?

GPU is not supported?

There is no support on GPU now, does it mean that you only accept the algorithms in CPU?
by the way, what is the CPU model, especially, does it support AVX2? thank you. @mlngan

A limitation of the library on a thread of execution

We use mxnet to implement machine learning.
We have made sure that mxnet does not generate a large number of threads for calculations.

However, we are showing a warning from the verification script :

[WARNING] We've detected that your software may be threading or using other multiprocessing techniques during template creation.  The number of threads detected was 3 and it should be 2.  Per the API document, implementations must run single-threaded.  In the test environment, there is no advantage to threading, because NIST will distribute workload across multiple blades and multiple processes.  We highly recommend that you fix this issue prior to submission.

How critical is this warning ?

cannot build source

Hi,

I try to build source at frvt/11"
mkdir build
cd build
cmake ..
make

This is error:
Scanning dependencies of target validate11
[ 33%] Building CXX object src/testdriver/CMakeFiles/validate11.dir/home/Code/NIST/frvt/common/src/util/util.cpp.o
[ 66%] Building CXX object src/testdriver/CMakeFiles/validate11.dir/validate11.cpp.o
[100%] Linking CXX executable ../../../bin/validate11
CMakeFiles/validate11.dir/validate11.cpp.o: In function main': validate11.cpp:(.text.startup+0x14): undefined reference to FRVT::FRVT_STRUCTS_MAJOR_VERSION'
validate11.cpp:(.text.startup+0x38): undefined reference to FRVT::FRVT_STRUCTS_MINOR_VERSION' validate11.cpp:(.text.startup+0x46): undefined reference to FRVT_11::API_MAJOR_VERSION'
validate11.cpp:(.text.startup+0x57): undefined reference to FRVT_11::API_MINOR_VERSION' validate11.cpp:(.text.startup+0x2bb): undefined reference to FRVT::FRVT_STRUCTS_MINOR_VERSION'
validate11.cpp:(.text.startup+0x393): undefined reference to FRVT_11::API_MINOR_VERSION' validate11.cpp:(.text.startup+0x512): undefined reference to FRVT_11::Interface::getImplementation()'
collect2: error: ld returned 1 exit status
src/testdriver/CMakeFiles/validate11.dir/build.make:120: recipe for target '../bin/validate11' failed
make[2]: *** [../bin/validate11] Error 1
CMakeFiles/Makefile2:85: recipe for target 'src/testdriver/CMakeFiles/validate11.dir/all' failed
make[1]: *** [src/testdriver/CMakeFiles/validate11.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

Please help me
Thanks

1:n validation package not completely updated

The frvt1N.h has been updated for the function finalizeEnrollment, but validation(/validation/src/testdriver/validate1N.cpp) wasn't updated, could you help to check and update the validation for 1:n phase3? Thanks.

Compiler version

Can I use g++ version greater than 4.8.5? Some libraries do not work with this version of compiler. libtorch works well with g++ 4.9.2 from devtoolset-3-gcc-c++ but breaks when using 4.8.5. pytorch/pytorch#14981

Twice call to distructor ~NullImplFRVT11()

The NIST API calls ~NullImplFRVT11() two times after each call to "bin/validate11 createTemplate -x enroll -c $configDir -o $outputDir -h $outputStem -i $inputFile -t $numForks -j $templatesDir retEnroll=$?" Both the destructors use different process ids. This does not allow my program to release memory. I expect only one call to ~NullImplFRVT11(). Whats the problem and how to restrict processes to only one?

ISO image link is down.

Hello,

Could you please update the Centos' iso link please? The current one is not working.

Cheers,
ML

Do I need to prove my status while submitting?

We are going to participate in FRVT. Application form says that developers are eligible to participate. Should we somehow prove that we are developers and algorithm is ours?
Thank you.

Threshold to make the decision in FRVT 1:N package

In Table 10 on page 13 of FRVT 1:N API document, we are asked to return a decision (true/false) whether there is a mate within the enrollment database for a query along with the candidate IDs and similarity score. What threshold should be used to make this decision in the identifyTemplate function?

On the 1:N leader board page, it is told that "threshold is set to limit to the False Positive Identification Rate (FPIR) to 0.003" and also that "The threshold is set for each algorithm and each column separately". So, we are assuming NIST would be setting the thresholds to get the final results.

So, we are confused on which threshold to use to make the decision in identifyTemplate function. Any help with this will be much appreciated.

Thanks in advance.

How to convert the read images to openCV ?

Hello,
I'm trying to set the received images in the same format they are if I read them with cv::imread ( is with that format that I train my models). Unfortunately, I'm unable to get correct images, when I save them, they make no sense. The code I'm trying with inside the 'createTemplate' function is the following:

int depth = faces[0].depth;
int width = faces[0].width;
int height = faces[0].height;
int channel = depth/3;

uchar* img_data = faces[0].data.get();

cv::frame = cv::Mat(height, width, CV_8UC3, img_data, channel*width);

compilation warning

In frvt11.h, the lack of a default label in the method

inline std::ostream& operator<<(std::ostream &s, const ReturnCode &rc)

causes a compiler warning when it is called:

c++ -std=c++11 -mavx -Wall -O2 -c trivial.cc -o libtrivial.so
c++ -std=c++11 -mavx -Wall -O2 client.cc -L. -ltrivial -o client
In file included from client.cc:2:0:
frvt11.h: In function โ€˜std::ostream& FRVT::operator<<(std::ostream&, const FRVT::ReturnCode&)โ€™:
frvt11.h:163:1: warning: control reaches end of non-void function [-Wreturn-type]

how to link variable declared in initialize to use in createTemplate

hello, I am interested in Nist and will submit for validation soon. Now I got in a trouble, please help.
I defined and loaded a model-param from Initialize, but I am confusing at how to call the model in createTemplate.
Please give some advice or Am I misunderstanding somewhere? Much appreciated any help.
-- Nhat

free(): invalid pointer after trying to load torch model

Hello,
After I was trying to load a torch model, and it failed, I get every time I execute run-validate_11.sh an invalid pointer error. The error persists even when I set the code as it originally was and build it again. For info, I'm building the null implementation.

You can find below the message of the error:

Running 1:1 validation

Checking for hard-coded config directory free(): invalid pointer
PID 142393 exited due to signal 6
free(): invalid pointer
scripts/run_testdriver.sh line 68: 142392 Aborted

Script for FRVT 1:1 testing of multiface input

Hi,
According to your documentations, a person can be represented by multiple images (and these images will be represented as a single std::vector . However your in your test scripts for FRVT 1:1, you only run test for one single enroll image - one verification image. Is there any way so we can test multiple enroll image - one/multiple verification image ?

Pb with quality when no face is detected

The code below write template stats to log

/* Write template stats to log */
        logStream << id << " "
                << imagePath << " "
                << templ.size() << " "
                << static_cast<std::underlying_type<ReturnCode>::type>(ret.code) << " "
                << (eyes.size() > 0 ? eyes[0].isLeftAssigned : false) << " "
                << (eyes.size() > 0 ? eyes[0].isRightAssigned : false) << " "
                << (eyes.size() > 0 ? eyes[0].xleft : 0) << " "
                << (eyes.size() > 0 ? eyes[0].yleft : 0) << " "
                << (eyes.size() > 0 ? eyes[0].xright : 0) << " "
                << (eyes.size() > 0 ? eyes[0].yright : 0) << " "
                << quality[0]
                << endl;

But when no face is detected, size of vector of quality is 0, so quality[0] will crash

Install required packages for runtime

Is it possible to install dependent packages for runtime and list these packages in ./config directory?
For example, I am implementing with OpenCV and OpenCV requires these packages installed for runtime:

  • libjpeg-turbo-devel
  • libtiff-devel
  • libdc1394-devel
  • eigen3-devel
    and etc.

Incorrect path

When the script is running, an empty path is passed.
The system centos 7.6 did not repeat itself.

echo -n "Checking for hard-coded config directory "
tempConfigDir=$(pwd)/otherConfig
chmod 775 $configDir; mv $configDir $tempConfigDir; chmod 550 $tempConfigDir
bin/validate11 createTemplate -x enroll -c $tempConfigDir -o $outputDir -h $outputStem -i $inputFile -t $numForks -j $templatesDir
retEnroll=$?

@mlngan

Template type

Hello @mlngan ,
I am going to participate to the challenge, but I am confusing for a problem:
About the template type, could I change the uint8_t in const std::vector<uint8_t> &verifTemplate and all related variables? The reason is my algorithm's output is in real numbers, this type cannot store the real numbers. Or I must modify my algorithm?
Thank you!!

Can I build a static shared library in linux debian and run it in CentOS ?

Hello, I am trying to build -static shared library in ubuntu 18.04 so that it is able to run in CentOs but I got some "undefined reference to" errors when compiling "compile_and_run.sh". Does anyone try this solution? any comment is appreciated, thank you.
Scanning dependencies of target validate11
[ 33%] Building CXX object src/testdriver/CMakeFiles/validate11.dir/home/cybercore/workspace/frvt/common/src/util/util.cpp.o
[ 66%] Building CXX object src/testdriver/CMakeFiles/validate11.dir/validate11.cpp.o
[100%] Linking CXX executable ../../../bin/validate11
../../../lib/libfrvt_11_cybercore_001.so: undefined reference to std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(char const*) const' ../../../lib/libfrvt_11_cybercore_001.so: undefined reference to std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long)'
../../../lib/libfrvt_11_cybercore_001.so: undefined reference to __cxa_throw_bad_array_new_length' ../../../lib/libfrvt_11_cybercore_001.so: undefined reference to operator delete(void*, unsigned long)'

Waiting for 1:1 results..

Its been more than 10 days and we haven't received results for 1:1 can you please give some clarity as you have moved to a different OS and we would have to migrate for submitting 1:N submission. Very confused. Please update.

All faces need to be detected before submission?

hi @mlngan sorry for interrupt you again.
When I run the run_validate_11.sh, it seems that all the faces need to be detected before generate the submission package, the problem is: some of the face images are actually white/black blank or too small for detection or 90 angles which is also difficult for detection, I return the "FacedetectionError" but it seems unless we detect all the face images otherwise will not generate the submission package, please correct me if I am wrong. thank you

Adding python.h library

While compiling code using g++, one needs to specify the library as -lpython3.6m. When I was trying to build a submission package, I got errors of undefined reference to python header files, a solution to it is to add -lpython3.6m option. Where shall I make changes to solve this issue? I want to submit our code for FVT 1:1.

No more devtoolset-3(gcc 4.9.2) found on centos 7

So it turned out that the devtoolset-3(gcc 4.9.2) is no longer in the official centos 7 repositories.
Can I send a code compiled using a gcc 7?

yum search devtoolset
 ---> Running in 6f625dc44969
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: mirror.awanti.com
 * centos-sclo-rh: mirror.awanti.com
 * centos-sclo-sclo: mirror.docker.ru
 * extras: mirror.awanti.com
 * updates: mirror.awanti.com
=========================== N/S matched: devtoolset ============================
devtoolset-7.x86_64 : Package that installs devtoolset-7
devtoolset-7-runtime.x86_64 : Package that handles devtoolset-7 Software
                            : Collection.
devtoolset-8.x86_64 : Package that installs devtoolset-8
devtoolset-8-runtime.x86_64 : Package that handles devtoolset-8 Software
                            : Collection.
devtoolset-9.x86_64 : Package that installs devtoolset-9
devtoolset-9-runtime.x86_64 : Package that handles devtoolset-9 Software
                            : Collection.
devtoolset-7-all.x86_64 : Package shipping all available toolsets.
devtoolset-7-binutils.x86_64 : A GNU collection of binary utilities
devtoolset-7-binutils-devel.x86_64 : BFD and opcodes static and dynamic
                                   : libraries and header files
devtoolset-7-build.x86_64 : Package shipping basic build configuration
devtoolset-7-dockerfiles.x86_64 : Package shipping Dockerfiles for Developer
                                : Toolset
devtoolset-7-dwz.x86_64 : DWARF optimization and duplicate removal tool
devtoolset-7-dyninst.x86_64 : An API for Run-time Code Generation
devtoolset-7-dyninst-devel.x86_64 : Header files for the compiling programs with
                                  : Dyninst
devtoolset-7-dyninst-doc.x86_64 : Documentation for using the Dyninst API
devtoolset-7-dyninst-static.x86_64 : Static libraries for the compiling programs
                                   : with Dyninst
devtoolset-7-dyninst-testsuite.x86_64 : Programs for testing Dyninst
devtoolset-7-elfutils.x86_64 : A collection of utilities and DSOs to handle ELF
                             : files and DWARF data
devtoolset-7-elfutils-devel.x86_64 : Development libraries to handle compiled
                                   : objects
devtoolset-7-elfutils-libelf.x86_64 : Library to read and write ELF files
devtoolset-7-elfutils-libelf-devel.x86_64 : Development support for libelf
devtoolset-7-elfutils-libs.x86_64 : Libraries to handle compiled objects
devtoolset-7-gcc.x86_64 : GCC version 7
devtoolset-7-gcc-c++.x86_64 : C++ support for GCC version 7
devtoolset-7-gcc-gdb-plugin.x86_64 : GCC 7 plugin for GDB
devtoolset-7-gcc-gfortran.x86_64 : Fortran support for GCC 7
devtoolset-7-gcc-plugin-devel.x86_64 : Support for compiling GCC plugins
devtoolset-7-gdb.x86_64 : A GNU source-level debugger for C, C++, Fortran, Go
                        : and other languages
devtoolset-7-gdb-doc.noarch : Documentation for GDB (the GNU source-level
                            : debugger)
devtoolset-7-gdb-gdbserver.x86_64 : A standalone server for GDB (the GNU
                                  : source-level debugger)
devtoolset-7-go.x86_64 : Package shipping the Go toolset
devtoolset-7-libasan-devel.x86_64 : The Address Sanitizer static library
devtoolset-7-libatomic-devel.x86_64 : The GNU Atomic static library
devtoolset-7-libcilkrts-devel.x86_64 : The Cilk+ static runtime library
devtoolset-7-libgccjit.x86_64 : Library for embedding GCC inside programs and
                              : libraries
devtoolset-7-libgccjit-devel.x86_64 : Support for embedding GCC inside programs
                                    : and libraries
devtoolset-7-libgccjit-docs.x86_64 : Documentation for embedding GCC inside
                                   : programs and libraries
devtoolset-7-libitm-devel.x86_64 : The GNU Transactional Memory support
devtoolset-7-liblsan-devel.x86_64 : The Leak Sanitizer static library
devtoolset-7-libmpx-devel.x86_64 : The Memory Protection Extensions static
                                 : libraries
devtoolset-7-libquadmath-devel.x86_64 : GCC 7 __float128 support
devtoolset-7-libstdc++-devel.x86_64 : Header files and libraries for C++
                                    : development
devtoolset-7-libstdc++-docs.x86_64 : Documentation for the GNU standard C++
                                   : library
devtoolset-7-libtsan-devel.x86_64 : The Thread Sanitizer static library
devtoolset-7-libubsan-devel.x86_64 : The Undefined Behavior Sanitizer static
                                   : library
devtoolset-7-llvm.x86_64 : Package shipping the LLVM toolset
devtoolset-7-ltrace.x86_64 : Tracks runtime library calls from dynamically
                           : linked executables
devtoolset-7-make.x86_64 : A GNU tool which simplifies the build process for
                         : users
devtoolset-7-memstomp.x86_64 : Warns of memory argument overlaps to various
                             : functions
devtoolset-7-oprofile.x86_64 : System wide profiler
devtoolset-7-oprofile-devel.x86_64 : Header files and libraries for developing
                                   : apps which will use oprofile
devtoolset-7-oprofile-jit.x86_64 : Libraries required for profiling Java and
                                 : other JITed code
devtoolset-7-perftools.x86_64 : Package shipping performance tools
devtoolset-7-rust.x86_64 : Package shipping the Rust toolset
devtoolset-7-strace.x86_64 : Tracks and displays system calls associated with a
                           : running process
devtoolset-7-systemtap.x86_64 : Programmable system-wide instrumentation system
devtoolset-7-systemtap-client.x86_64 : Programmable system-wide instrumentation
                                     : system - client
devtoolset-7-systemtap-devel.x86_64 : Programmable system-wide instrumentation
                                    : system - development headers, tools
devtoolset-7-systemtap-initscript.x86_64 : Systemtap Initscripts
devtoolset-7-systemtap-runtime.x86_64 : Programmable system-wide instrumentation
                                      : system - runtime
devtoolset-7-systemtap-sdt-devel.x86_64 : Static probe support tools
devtoolset-7-systemtap-server.x86_64 : Instrumentation System Server
devtoolset-7-systemtap-testsuite.x86_64 : Instrumentation System Testsuite
devtoolset-7-toolchain.x86_64 : Package shipping basic toolchain applications
devtoolset-7-valgrind.x86_64 : Tool for finding memory management bugs in
                             : programs
devtoolset-7-valgrind-devel.x86_64 : Development files for valgrind
devtoolset-8-binutils.x86_64 : A GNU collection of binary utilities
devtoolset-8-binutils-devel.x86_64 : BFD and opcodes static and dynamic
                                   : libraries and header files
devtoolset-8-build.x86_64 : Package shipping basic build configuration
devtoolset-8-dockerfiles.x86_64 : Package shipping Dockerfiles for Developer
                                : Toolset
devtoolset-8-dwz.x86_64 : DWARF optimization and duplicate removal tool
devtoolset-8-dyninst.x86_64 : An API for Run-time Code Generation
devtoolset-8-dyninst-devel.x86_64 : Header files for the compiling programs with
                                  : Dyninst
devtoolset-8-dyninst-doc.x86_64 : Documentation for using the Dyninst API
devtoolset-8-dyninst-static.x86_64 : Static libraries for the compiling programs
                                   : with Dyninst
devtoolset-8-dyninst-testsuite.x86_64 : Programs for testing Dyninst
devtoolset-8-elfutils.x86_64 : A collection of utilities and DSOs to handle ELF
                             : files and DWARF data
devtoolset-8-elfutils-devel.x86_64 : Development libraries to handle compiled
                                   : objects
devtoolset-8-elfutils-libelf.x86_64 : Library to read and write ELF files
devtoolset-8-elfutils-libelf-devel.x86_64 : Development support for libelf
devtoolset-8-elfutils-libs.x86_64 : Libraries to handle compiled objects
devtoolset-8-gcc.x86_64 : GCC version 8
devtoolset-8-gcc-c++.x86_64 : C++ support for GCC version 8
devtoolset-8-gcc-gdb-plugin.x86_64 : GCC 8 plugin for GDB
devtoolset-8-gcc-gfortran.x86_64 : Fortran support for GCC 8
devtoolset-8-gcc-plugin-devel.x86_64 : Support for compiling GCC plugins
devtoolset-8-gdb.x86_64 : A GNU source-level debugger for C, C++, Fortran, Go
                        : and other languages
devtoolset-8-gdb-doc.noarch : Documentation for GDB (the GNU source-level
                            : debugger)
devtoolset-8-gdb-gdbserver.x86_64 : A standalone server for GDB (the GNU
                                  : source-level debugger)
devtoolset-8-libasan-devel.x86_64 : The Address Sanitizer static library
devtoolset-8-libatomic-devel.x86_64 : The GNU Atomic static library
devtoolset-8-libgccjit.x86_64 : Library for embedding GCC inside programs and
                              : libraries
devtoolset-8-libgccjit-devel.x86_64 : Support for embedding GCC inside programs
                                    : and libraries
devtoolset-8-libgccjit-docs.x86_64 : Documentation for embedding GCC inside
                                   : programs and libraries
devtoolset-8-libitm-devel.x86_64 : The GNU Transactional Memory support
devtoolset-8-liblsan-devel.x86_64 : The Leak Sanitizer static library
devtoolset-8-libquadmath-devel.x86_64 : GCC 8 __float128 support
devtoolset-8-libstdc++-devel.x86_64 : Header files and libraries for C++
                                    : development
devtoolset-8-libstdc++-docs.x86_64 : Documentation for the GNU standard C++
                                   : library
devtoolset-8-libtsan-devel.x86_64 : The Thread Sanitizer static library
devtoolset-8-libubsan-devel.x86_64 : The Undefined Behavior Sanitizer static
                                   : library
devtoolset-8-ltrace.x86_64 : Tracks runtime library calls from dynamically
                           : linked executables
devtoolset-8-make.x86_64 : A GNU tool which simplifies the build process for
                         : users
devtoolset-8-memstomp.x86_64 : Warns of memory argument overlaps to various
                             : functions
devtoolset-8-oprofile.x86_64 : System wide profiler
devtoolset-8-oprofile-devel.x86_64 : Header files and libraries for developing
                                   : apps which will use oprofile
devtoolset-8-oprofile-jit.x86_64 : Libraries required for profiling Java and
                                 : other JITed code
devtoolset-8-perftools.x86_64 : Package shipping performance tools
devtoolset-8-strace.x86_64 : Tracks and displays system calls associated with a
                           : running process
devtoolset-8-systemtap.x86_64 : Programmable system-wide instrumentation system
devtoolset-8-systemtap-client.x86_64 : Programmable system-wide instrumentation
                                     : system - client
devtoolset-8-systemtap-devel.x86_64 : Programmable system-wide instrumentation
                                    : system - development headers, tools
devtoolset-8-systemtap-initscript.x86_64 : Systemtap Initscripts
devtoolset-8-systemtap-runtime.x86_64 : Programmable system-wide instrumentation
                                      : system - runtime
devtoolset-8-systemtap-sdt-devel.x86_64 : Static probe support tools
devtoolset-8-systemtap-server.x86_64 : Instrumentation System Server
devtoolset-8-systemtap-testsuite.x86_64 : Instrumentation System Testsuite
devtoolset-8-toolchain.x86_64 : Package shipping basic toolchain applications
devtoolset-8-valgrind.x86_64 : Tool for finding memory management bugs in
                             : programs
devtoolset-8-valgrind-devel.x86_64 : Development files for valgrind aware
                                   : programs
devtoolset-9-annobin.x86_64 : Binary annotation plugin for GCC
devtoolset-9-annobin-annocheck.x86_64 : A tool for checking the security
                                      : hardening status of binaries
devtoolset-9-binutils.x86_64 : A GNU collection of binary utilities
devtoolset-9-binutils-devel.x86_64 : BFD and opcodes static and dynamic
                                   : libraries and header files
devtoolset-9-build.x86_64 : Package shipping basic build configuration
devtoolset-9-dwz.x86_64 : DWARF optimization and duplicate removal tool
devtoolset-9-dyninst.x86_64 : An API for Run-time Code Generation
devtoolset-9-dyninst-devel.x86_64 : Header files for compiling programs with
                                  : Dyninst
devtoolset-9-dyninst-doc.x86_64 : Documentation for using the Dyninst API
devtoolset-9-dyninst-static.x86_64 : Static libraries for the compiling programs
                                   : with Dyninst
devtoolset-9-dyninst-testsuite.x86_64 : Programs for testing Dyninst
devtoolset-9-elfutils.x86_64 : A collection of utilities and DSOs to handle ELF
                             : files and DWARF data
devtoolset-9-elfutils-devel.x86_64 : Development libraries to handle compiled
                                   : objects
devtoolset-9-elfutils-libelf.x86_64 : Library to read and write ELF files
devtoolset-9-elfutils-libelf-devel.x86_64 : Development support for libelf
devtoolset-9-elfutils-libs.x86_64 : Libraries to handle compiled objects
devtoolset-9-gcc.x86_64 : GCC version 9
devtoolset-9-gcc-c++.x86_64 : C++ support for GCC  version 9
devtoolset-9-gcc-gdb-plugin.x86_64 : GCC 9 plugin for GDB
devtoolset-9-gcc-gfortran.x86_64 : Fortran support for GCC 9
devtoolset-9-gcc-plugin-devel.x86_64 : Support for compiling GCC plugins
devtoolset-9-gdb.x86_64 : A GNU source-level debugger for C, C++, Fortran, Go
                        : and other languages
devtoolset-9-gdb-doc.noarch : Documentation for GDB (the GNU source-level
                            : debugger)
devtoolset-9-gdb-gdbserver.x86_64 : A standalone server for GDB (the GNU
                                  : source-level debugger)
devtoolset-9-libasan-devel.x86_64 : The Address Sanitizer static library
devtoolset-9-libatomic-devel.x86_64 : The GNU Atomic static library
devtoolset-9-libgccjit.x86_64 : Library for embedding GCC inside programs and
                              : libraries
devtoolset-9-libgccjit-devel.x86_64 : Support for embedding GCC inside programs
                                    : and libraries
devtoolset-9-libgccjit-docs.x86_64 : Documentation for embedding GCC inside
                                   : programs and libraries
devtoolset-9-libitm-devel.x86_64 : The GNU Transactional Memory support
devtoolset-9-liblsan-devel.x86_64 : The Leak Sanitizer static library
devtoolset-9-libquadmath-devel.x86_64 : GCC 9 __float128 support
devtoolset-9-libstdc++-devel.x86_64 : Header files and libraries for C++
                                    : development
devtoolset-9-libstdc++-docs.x86_64 : Documentation for the GNU standard C++
                                   : library
devtoolset-9-libtsan-devel.x86_64 : The Thread Sanitizer static library
devtoolset-9-libubsan-devel.x86_64 : The Undefined Behavior Sanitizer static
                                   : library
devtoolset-9-ltrace.x86_64 : Tracks runtime library calls from dynamically
                           : linked executables
devtoolset-9-make.x86_64 : A GNU tool which simplifies the build process for
                         : users
devtoolset-9-memstomp.x86_64 : Warns of memory argument overlaps to various
                             : functions
devtoolset-9-oprofile.x86_64 : System wide profiler
devtoolset-9-oprofile-devel.x86_64 : Header files and libraries for developing
                                   : apps which will use oprofile
devtoolset-9-oprofile-jit.x86_64 : Libraries required for profiling Java and
                                 : other JITed code
devtoolset-9-perftools.x86_64 : Package shipping performance tools
devtoolset-9-strace.x86_64 : Tracks and displays system calls associated with a
                           : running process
devtoolset-9-systemtap.x86_64 : Programmable system-wide instrumentation system
devtoolset-9-systemtap-client.x86_64 : Programmable system-wide instrumentation
                                     : system - client
devtoolset-9-systemtap-devel.x86_64 : Programmable system-wide instrumentation
                                    : system - development headers, tools
devtoolset-9-systemtap-initscript.x86_64 : Systemtap Initscripts
devtoolset-9-systemtap-runtime.x86_64 : Programmable system-wide instrumentation
                                      : system - runtime
devtoolset-9-systemtap-sdt-devel.x86_64 : Static probe support tools
devtoolset-9-systemtap-server.x86_64 : Instrumentation System Server
devtoolset-9-systemtap-testsuite.x86_64 : Instrumentation System Testsuite
devtoolset-9-toolchain.x86_64 : Package shipping basic toolchain applications
devtoolset-9-valgrind.x86_64 : Tool for finding memory management bugs in
                             : programs
devtoolset-9-valgrind-devel.x86_64 : Development files for valgrind aware
                                   : programs

What does std::vector<float> fv mean?

In your example code in nullImplFRVT11::createTemplate:

std::vector fv = {1.0, 2.0, 8.88, 765.88989};
const uint8_t* bytes = reinterpret_cast<const uint8_t*>(fv.data());
int dataSize = sizeof(float) * fv.size();
templ.resize(dataSize);
memcpy(templ.data(), bytes, dataSize);

It seems that fv represent the face feature array right? however there are multi faces(const Multiface &faces), I just wonder why only one feature array here, however for the eye coordinates, it does:
for (unsigned int i=0; i<faces.size(); i++) {
eyeCoordinates.push_back(EyePair(true, true, i, i, i+1, i+1));
}

from the parameter, it seems multi-face with only single feature array(std::vector<uint8_t> &templ), which I am really confusing, could you kindly help me? thank you

Code in Python

In order to submit to NIST FRVT, do we need to transfer our code from Python and TensorFlow to C++? Is it possible to call and execute the Python code from within the NIST FRVT C++ API?

threshold to classify as the same person

We are preparing a validation package for FRVT11. Log files with similarity score (range from 0.00 to 1.00) are successfully generated. May we know which threshold FRVT will use to determine a pair of template is from the same person or different.
Or we just need document it clearly in submission email?

Much appreciated any help,

-Bill

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.