/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright 2012 The MITRE Corporation *
* *
* Licensed under the Apache License, Version 2.0 (the "License"); *
* you may not use this file except in compliance with the License. *
* You may obtain a copy of the License at *
* *
* http://www.apache.org/licenses/LICENSE-2.0 *
* *
* Unless required by applicable law or agreed to in writing, software *
* distributed under the License is distributed on an "AS IS" BASIS, *
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
* See the License for the specific language governing permissions and *
* limitations under the License. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*!
* \mainpage
* \section overview Overview
* OpenBR \cite openbr is a toolkit for biometric recognition and evaluation.
* Supported use cases include training new recognition algorithms, interfacing with commercial systems, and measuring algorithm performance.
* Free algorithms are also available for specific modalities including \ref cpp_face_recognition, \ref cpp_age_estimation, and \ref cpp_gender_estimation.
*
* There are three modules users may interact with:
* - \ref cli - \copybrief cli
* - \ref c_sdk - \copybrief c_sdk
* - \ref cpp_plugin_sdk - \copybrief cpp_plugin_sdk
*
* \section get_started Get Started
* - \ref installation - \copybrief installation
*/
/*!
* \page installation Installation
* \brief A hacker's guide to building, editing, and running the project.
*
* \section installation_from_source From Source
* Installation from source is the recommended method for getting OpenBR on your machine.
* If you need a little help getting started, choose from the list of build instructions for free C++ compilers below:
* - \subpage windows_msvc
* - \subpage windows_mingw
* - \subpage osx_clang
* - \subpage linux_gcc
* - \subpage linux_icc
*
* \section installation_from_binary From Binary
* Pre-compiled releases are not currently provided, but they can be built from source using the instructions above.
* Generally you should follow your operating system's best practices for installing a binary package.
* However, for temporary evaluation, one simple configuration approach is:
*
* \par Linux
\verbatim
$ cd bin
$ export LD_LIBRARY_PATH=../lib:${LD_LIBRARY_PATH}
$ sudo ldconfig
$ sudo cp ../share/70-yubikey.rules /etc/udev/rules.d # Only needed if you were given a license dongle.
\endverbatim
* \par OS X
\verbatim
$ cd bin
$ export DYLD_LIBRARY_PATH=../lib:${DYLD_LIBRARY_PATH}
$ export DYLD_FRAMEWORK_PATH=../lib:${DYLD_FRAMEWORK_PATH}
\endverbatim
* \par Windows
* No configuration is necessary!
*
* \section installation_license_dongle License Dongle
* If you were given a USB License Dongle, then dongle must be in the computer in order to use the SDK.
* No configuration of the dongle is needed.
*
* \section installation_done Start Working
* To test for successful installation:
\verbatim
$ cd bin/
$ br -help
\endverbatim
*/
/*!
* \page windows_msvc Windows 7 - Visual Studio Express Edition 2012 - x64
* -# Download Visual Studio 2012 Express Edition for Windows Desktop and install.
* -# Consider the free open source program WinCDEmu if you need a program to mount ISO images.
* -# You will have to register with Microsoft after installation, but it's free.
* -# Grab any available Visual Studio Updates.
* -# Download CMake 2.8.10.2 and install.
* -# During installation setup select "add CMake to PATH".
* -# Download OpenCV 2.4.4.
* -# Consider the free open source program 7-Zip if you need a program to unarchive tarballs.
* -# Move the "OpenCV-2.4.4" folder to "C:\".
* -# Open "VS2012 x64 Cross Tools Command Prompt" (from the Start Menu, select "All Programs" -> "Microsoft Visual Studio 2012" -> "Visual Studio Tools" -> "VS2012 x64 Cross Tools Command Prompt") and enter:
* \code
* $ cd C:\OpenCV-2.4.4
* $ mkdir build-msvc2012
* $ cd build-msvc2012
* $ cmake -G "NMake Makefiles" -D BUILD_PERF_TESTS=OFF -D BUILD_TESTS=OFF -D WITH_FFMPEG=OFF -D CMAKE_BUILD_TYPE=Debug ..
* $ nmake
* $ nmake install
* $ cmake -D CMAKE_BUILD_TYPE=Release ..
* $ nmake
* $ nmake install
* $ nmake clean
* \endcode
* -# Download Qt 5.0.1 and unzip.
* -# Install Perl/Python/Ruby dependencies as explained in the "Windows" section of "README". Make sure they are added to "path" when given the option during installation.
* -# Download Direct X Software Developement Kit and install.
* -# From the VS2012 x64 Cross Tools Command Prompt:
* \code
* $ cd qt-everywhere-opensource-src-5.0.1
* $ configure -prefix C:\Qt\5.0.1\msvc2012 -opensource -confirm-license -nomake examples -nomake tests
* $ nmake
* $ nmake install
* $ cd ..
* $ rmdir /Q /S qt-everywhere-opensource-src-5.0.1
* \endcode
* -# nmake will take several hours to finish.
* -# Create a GitHub account and follow their instructions for setting up Git.
* -# Launch "Git Bash" from the Desktop and clone OpenBR:
* \code
* $ cd /c
* $ git clone https://github.com/biometrics/openbr.git
* $ cd openbr
* $ git submodule init
* $ git submodule update
* \endcode
* -# Build OpenBR!
* -# From the VS2012 x64 Cross Tools Command Prompt:
* \code
* $ cd C:\openbr
* $ mkdir build-msvc2012
* $ cd build-msvc2012
* $ cmake -G "CodeBlocks - NMake Makefiles" -D CMAKE_PREFIX_PATH="C:/OpenCV-2.4.4/build-msvc2012/install;C:/Qt/5.0.1/msvc2012" -D CMAKE_INSTALL_PREFIX="./install" -D BR_INSTALL_DEPENDENCIES=ON -D CMAKE_BUILD_TYPE=Release ..
* $ nmake
* $ nmake install
* \endcode
* -# Check out the "install" folder.
* -# Hack OpenBR!
* -# Download Qt Creator IDE and install.
* -# From the VS2012 x64 Cross Tools Command Prompt:
* \code
* $ C:\Qt\qtcreator-2.6.2\bin\qtcreator.exe
* \endcode
* -# From the Qt Creator "Tools" menu select "Options..."
* -# Under "Kits" select "Desktop (default)"
* -# For "Compiler:" select "Microsoft Visual C++ Compiler 11.0 (amd64)" and click "OK"
* -# From the Qt Creator "File" menu select "Open File or Project...".
* -# Select "C:\openbr\CMakeLists.txt" then "Open".
* -# Browse to your prexisting build directory "C:\openbr\build-msvc2012" then select "Next".
* -# Clear any text in the "arguments" box then select "Run CMake" then "Finish".
* -# You're all set! You can find more information on Qt Creator here if you need.
* -# Package OpenBR!
* -# Download NSIS 2.46 and install.
* -# From the VS2012 x64 Cross Tools Command Prompt:
* \code
* $ cd C:\openbr\build-msvc2012
* $ nmake package
* \endcode
*/
/*!
* \page windows_mingw Windows 7 - MinGW-w64 2.0 - x64
* -# Download MinGW-w64 GCC 4.7.2 and unarchive.
* -# Use the free open source program 7-Zip to unarchive.
* -# Move "x86_64-w64-mingw32-gcc-4.7.2-release-win64_rubenvb\mingw64" to "C:\".
* -# Download CMake 2.8.10.2 and install.
* -# During installation setup select "add CMake to PATH".
* -# Download OpenCV 2.4.4.
* -# Consider the free open source program 7-Zip if you need a program to unarchive tarballs.
* -# Move the "OpenCV-2.4.4" folder to "C:\".
* -# From the MinGW-w64 Command Prompt (double-click "C:\mingw64\mingw64env.cmd"):
* \code
* $ cd C:\OpenCV-2.4.4
* $ mkdir build-mingw64
* $ cd build-mingw64
* $ cmake -G "MinGW Makefiles" -D BUILD_PERF_TESTS=OFF -D BUILD_TESTS=OFF -D WITH_FFMPEG=OFF -D CMAKE_BUILD_TYPE=Debug ..
* $ mingw32-make
* $ mingw32-make install
* $ cmake -D CMAKE_BUILD_TYPE=Release
* $ mingw32-make
* $ mingw32-make install
* $ mingw32-make clean
* \endcode
* -# Download Qt 5.0.1 and unzip.
* -# Install Perl/Python/Ruby dependencies as explained in the "Windows" section of "README". Make sure they are added to "path" when given the option during installation.
* -# Download Direct X Software Developement Kit and install. You may also need to install the latest OpenGL drivers from your graphics card manufacturer.
* -# From the MinGW-w64 Command Prompt:
* \code
* $ cd qt-everywhere-opensource-src-5.0.1
* $ configure -prefix C:\Qt\5.0.1\mingw64 -opensource -confirm-license -nomake examples -nomake tests -opengl desktop
* $ mingw32-make
* $ mingw32-make install
* $ cd ..
* $ rmdir /Q /S qt-everywhere-opensource-src-5.0.1
* \endcode
* -# mingw32-make will take several hours to finish.
* -# Create a GitHub account and follow their instructions for setting up Git.
* -# Launch "Git Bash" from the Desktop and clone OpenBR:
* \code
* $ cd /c
* $ git clone https://github.com/biometrics/openbr.git
* $ cd openbr
* $ git submodule init
* $ git submodule update
* \endcode
* -# Build OpenBR!
* -# From the MinGW-w64 Command Prompt:
* \code
* $ cd C:\openbr
* $ mkdir build-mingw64
* $ cd build-mingw64
* $ cmake -G "CodeBlocks - MinGW Makefiles" -D CMAKE_RC_COMPILER="C:/mingw64/bin/windres.exe" -D CMAKE_PREFIX_PATH="C:/OpenCV-2.4.4/build-mingw64/install;C:/Qt/5.0.1/mingw64" -D CMAKE_INSTALL_PREFIX="./install" -D BR_INSTALL_DEPENDENCIES=ON -D CMAKE_BUILD_TYPE=Release ..
* $ mingw32-make
* $ mingw32-make install
* \endcode
* -# Check out the "install" folder.
* -# Hack OpenBR!
* -# Download Qt Creator IDE and install.
* -# From the MinGW-w64 Command Prompt:
* \code
* $ "C:\Qt\qtcreator-2.6.2\bin\qtcreator.exe"
* \endcode
* -# From the Qt Creator "Tools" menu select "Options..."
* -# Under "Kits" select "Desktop (default)"
* -# For "Compiler:" select "MinGW (x86 64bit)" and click "OK"
* -# From the Qt Creator "File" menu select "Open File or Project...".
* -# Select "C:\openbr\CMakeLists.txt" then "Open".
* -# Browse to your prexisting build directory "C:\openbr\build-mingw64" then select "Next".
* -# Clear any text in the "arguments" box then select "Run CMake" then "Finish".
* -# You're all set! You can find more information on Qt Creator here if you need.
* -# Package OpenBR!
* -# Download NSIS 2.46 and install.
* -# From the MinGW-w64 Command Prompt:
* \code
* $ cd C:\openbr\build-mingw64
* $ mingw32-make package
* \endcode
*/
/*!
* \page osx_clang OS X Mountain Lion - Clang/LLVM 3.1 - x64
* -# Download and install the latest "Xcode" and "Command Line Tools" from the Apple Developer Downloads page.
* -# Download CMake 2.8.10.2.
* \code
* $ cd ~/Downloads
* $ tar -xf cmake-2.8.10.2.tar.gz
* $ cd cmake-2.8.10.2
* $ ./configure
* $ make -j4
* $ sudo make install
* $ cd ..
* $ rm -r cmake-2.8.10.2
* \endcode
* -# Download OpenCV 2.4.4.
* \code
* $ cd ~/Downloads
* $ tar -xf OpenCV-2.4.4.tar.bz2
* $ cd OpenCV-2.4.4
* $ mkdir build
* $ cd build
* $ cmake -D BUILD_opencv_java=OFF -D BUILD_opencv_world=ON -D CMAKE_BUILD_TYPE=Release ..
* $ make -j4
* $ sudo make install
* $ cd ../..
* $ rm -r OpenCV-2.4.4
* \endcode
* -# Download Qt 5.0.1 and install.
* -# Create a GitHub account, follow their instructions for setting up Git.
* \code
* $ git clone https://github.com/biometrics/openbr.git
* $ cd openbr
* $ git submodule init
* $ git submodule update
* \endcode
* -# Build OpenBR!
* \code
* $ cd openbr
* $ mkdir build
* $ cd build
* $ cmake -D CMAKE_PREFIX_PATH=~/Qt5.0.1/5.0.1/clang_64 -D CMAKE_BUILD_TYPE=Release ..
* $ make -j4
* $ make install
* \endcode
* -# Hack OpenBR!
* -# Open Qt Creator IDE
* \code
* $ open ~/Qt5.0.1/Qt\ Creator.app
* \endcode
* -# From the Qt Creator "File" menu select "Open File or Project...".
* -# Select "~/openbr/CMakeLists.txt" then "Open".
* -# Browse to your prexisting build directory "~/openbr/build" then select "Continue".
* -# Select "Run CMake" then "Done".
* -# You're all set! You can find more information on Qt Creator here if you need.
* -# Package OpenBR!
* \code
* $ cd openbr/build
* $ make package
* \endcode
* -# Build OpenBR documentation!
* -# Download Doxygen 1.8.2 and install:
* \code
* $ cd ~/Downloads
* $ tar -xf doxygen-1.8.2.src.tar.gz
* $ cd doxygen-1.8.2
* $ ./configure
* $ make -j4
* $ sudo make install
* $ cd ..
* $ rm -r doxygen-1.8.2
* \endcode
* -# Modify build settings and recompile:
* \code
* $ cd openbr/build
* $ cmake -D BR_BUILD_DOCUMENTATION=ON ..
* $ make -j4
* $ open html/index.html
* \endcode
*/
/*!
* \page linux_gcc Ubuntu 12.04 LTS - GCC 4.6.3 - x64
* -# Install GCC 4.6.3.
* \code
* $ sudo apt-get update
* $ sudo apt-get install build-essential
* \endcode
* -# Download CMake 2.8.10.2.
* \code
* $ cd ~/Downloads
* $ tar -xf cmake-2.8.10.2.tar.gz
* $ cd cmake-2.8.10.2
* $ ./configure
* $ make -j4
* $ sudo make install
* $ cd ..
* $ rm -r cmake-2.8.10.2
* \endcode
* -# Download OpenCV 2.4.4.
* \code
* $ cd ~/Downloads
* $ tar -xf OpenCV-2.4.4.tar.bz2
* $ cd OpenCV-2.4.4
* $ mkdir build
* $ cd build
* $ cmake -D BUILD_opencv_java=OFF -D BUILD_opencv_world=ON -D CMAKE_BUILD_TYPE=Release ..
* $ make -j4
* $ sudo make install
* $ cd ../..
* $ rm -r OpenCV-2.4.4
* \endcode
* -# Download Qt 5.0.1.
* \code
* $ cd ~/Downloads
* $ chmod +x qt-linux-opensource-5.0.1-x86_64-offline.run
* $ ./qt-linux-opensource-5.0.1-x86_64-offline.run
* $ rm qt-linux-opensource-5.0.1-x86_64-offline.run
* \endcode
* -# Create a GitHub account, follow their instructions for setting up Git.
* \code
* $ git clone https://github.com/biometrics/openbr.git
* $ cd openbr
* $ git submodule init
* $ git submodule update
* \endcode
* -# Build OpenBR!
* \code
* $ cd openbr
* $ mkdir build
* $ cd build
* $ cmake -D CMAKE_PREFIX_PATH=~/Qt5.0.1/5.0.1/gcc_64 -D CMAKE_BUILD_TYPE=Release ..
* $ make -j4
* $ make install
* \endcode
* -# Hack OpenBR!
* -# Open Qt Creator IDE
* \code
* $ ~/Qt5.0.1/Tools/QtCreator/bin/qtcreator &
* \endcode
* -# From the Qt Creator "File" menu select "Open File or Project...".
* -# Select "~/openbr/CMakeLists.txt" then "Open".
* -# Browse to your prexisting build directory "~/openbr/build" then select "Next".
* -# Select "Run CMake" then "Finish".
* -# You're all set! You can find more information on Qt Creator here if you need.
* -# Package OpenBR!
* \code
* $ cd openbr/build
* $ make package
* \endcode
*/
/*!
* \page linux_icc Ubuntu 12.04 LTS - Intel C++ Studio XE 2013 - x64
* -# Assuming you meet the eligibility requirements, Download Intel C++ Studio XE 2013 and install.
* -# Download CMake 2.8.10.2.
* \code
* $ cd ~/Downloads
* $ tar -xf cmake-2.8.10.2.tar.gz
* $ cd cmake-2.8.10.2
* $ ./configure
* $ make -j4
* $ sudo make install
* $ cd ..
* $ rm -r cmake-2.8.10.2
* \endcode
* -# Download OpenCV 2.4.4.
* \code
* $ cd ~/Downloads
* $ tar -xf OpenCV-2.4.4.tar.bz2
* $ cd OpenCV-2.4.4
* $ mkdir build
* $ cd build
* $ cmake cmake -D BUILD_opencv_java=OFF -D BUILD_opencv_world=ON -D CMAKE_BUILD_TYPE=Release ..
* $ make -j4
* $ sudo make install
* $ cd ../..
* $ rm -r OpenCV-2.4.4
* \endcode
* -# Download Qt 5.0.1.
* \code
* $ cd ~/Downloads
* $ chmod +x qt-linux-opensource-5.0.1-x86_64-offline.run
* $ ./qt-linux-opensource-5.0.1-x86_64-offline.run
* $ rm qt-linux-opensource-5.0.1-x86_64-offline.run
* \endcode
* -# Create a GitHub account, follow their instructions for setting up Git.
* \code
* $ git clone https://github.com/biometrics/openbr.git
* $ cd openbr
* $ git submodule init
* $ git submodule update
* \endcode
* -# Build OpenBR!
* \code
* $ cd openbr
* $ mkdir build-icc
* $ cd build-icc
* $ cmake -D CMAKE_C_COMPILER=/opt/intel/bin/icc -D CMAKE_CXX_COMPILER=/opt/intel/bin/icpc -D CMAKE_PREFIX_PATH=~/Qt5.0.1/5.0.1/gcc_64 -D CMAKE_BUILD_TYPE=Release ..
* $ make -j4
* $ make install
* \endcode
* -# Hack OpenBR!
* -# Open Qt Creator IDE
* \code
* $ ~/Qt5.0.1/Tools/QtCreator/bin/qtcreator &
* \endcode
* -# From the Qt Creator "File" menu select "Open File or Project...".
* -# Select "~/openbr/CMakeLists.txt" then "Open".
* -# Browse to your prexisting build directory "~/openbr/build" then select "Next".
* -# Select "Run CMake" then "Finish".
* -# You're all set! You can find more information on Qt Creator here if you need.
* -# Package OpenBR!
* \code
* $ cd openbr/build
* $ make package
* \endcode
*/
/*!
* \page bee Biometric Evaluation Environment
* \brief The Biometric Evaluation Environment (BEE) is a NIST standard for evaluating biometric algorithms.
*
* OpenBR implements the following portions of the BEE specification:
*
* \section sigset Signature Set
* A signature set (or \em sigset) is a br::Gallery compliant \c XML file-list specified on page 9 of MBGC File Overview and implemented in xmlGallery.
* Sigsets are identified with a .xml extension.
*
* \section simmat Similarity Matrix
* A similarity matrix (or \em simmat) is a br::Output compliant binary score matrix specified on page 12 of MBGC File Overview and implemented in mtxOutput.
* Simmats are identified with a .mtx extension.
* \see br_eval
*
* \section mask Mask Matrix
* A mask matrix (or \em mask) is a binary matrix specified on page 14 of MBGC File Overview identifying the ground truth genuines and impostors of a corresponding \ref simmat.
* Masks are identified with a .mask extension.
* \see br_make_mask br_combine_masks
*/