/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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 face recognition, face gender \& age estimation, face quality, and document classification.
*
* 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
* - \ref tutorial
*/
/*!
* \page installation Installation
* \brief Guide to installing OpenBR
*
* \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_pre_built Pre-Built
* Following your operating system's best practices is recommended for installing the pre-built compressed archives.
*
* 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
* \brief Installation from source with Visual Studio.
*
* -# Download and install Visual Studio 2012 Express Edition for Windows Desktop
* -# If you need a program to mount ISO images then consider the free open source program WinCDEmu.
* -# You will have to register with Microsoft after installation, but it's free.
* -# Grab any available Visual Studio Updates.
* -# Download and install CMake 2.8.10.2
* -# During installation setup select "add CMake to PATH".
* -# Download and unarchive OpenCV 2.4.3
* -# If you need a program to unarchive tarballs then consider the free open source program 7-Zip.
* -# Copy the "OpenCV-2.4.3" folder to "C:\" and rename it "OpenCV-2.4.3-msvc2012".
* -# 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.3-msvc2012
* $ mkdir build
* $ cd build
* $ cmake -G "Visual Studio 11 Win64" -D WITH_FFMPEG=OFF ..
* \endcode
* -# Open "C:\OpenCV-2.4.3-msvc2012\build\OpenCV.sln"
* -# Under the "BUILD" menu, select "Build Solution".
* -# Switch from "Debug" to "Release" and repeat the above step.
* -# Download and install Qt 4.8.4
* -# 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:\Qt\4.8.4
* $ configure.exe -platform win32-msvc2012 -no-webkit
* $ nmake
* \endcode
* -# Select the Open Source Edition.
* -# Accept the license offer.
* -# configure.exe will take several minutes to finish.
* -# nmake will take several hours to finish.
* -# Create a GitHub account and follow their instructions for setting up Git.
* -# Launch "Git Bash" and clone OpenBR:
* \code
* $ cd /c
* $ git clone https://github.com/biometrics/openbr.git
* $ cd openbr
* $ git submodule init
* $ git submodule update
* \endcode
* -# Finally time to actually build OpenBR:
* -# 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:\openbr
* $ mkdir build-msvc2012
* $ cd build-msvc2012
* $ cmake -G "NMake Makefiles" -D OpenCV_DIR="C:/OpenCV-2.4.3-msvc2012/build" -D QT_QMAKE_EXECUTABLE="C:/Qt/4.8.4/bin/qmake" ..
* $ nmake
* \endcode
* -# To package OpenBR:
* -# 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:\openbr\build-msvc2012
* $ nmake package
* \endcode
*/
/*!
* \page windows_mingw Windows 7 - MingGW-w64 2.0 - x64
* \brief Installation from source with MinGW-w64.
*
* -# Download MinGW-w64 GCC 4.7.2 and unarchive.
* -# Use the free open source program 7-Zip to unarchive.
* -# Copy "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.3 and unarchive.
* -# If you need a program to unarchive tarballs then consider the free open source program 7-Zip.
* -# Copy the "OpenCV-2.4.3" folder to "C:\" and rename it "OpenCV-2.4.3-mingw64".
* -# Double-click "C:\mingw64\mingw64env.cmd" and enter:
* \code
* $ cd C:\OpenCV-2.4.3-mingw64
* $ mkdir build
* $ cd build
* $ cmake -G "MinGW Makefiles" -D WITH_FFMPEG=OFF -D CMAKE_BUILD_TYPE=Release ..
* $ mingw32-make
* \endcode
* -# Download Qt 4.8.4 and unzip.
* -# Copy "qt-everywhere-opensource-src-4.8.4" to "C:\".
* -# Double-click "C:\mingw64\mingw64env.cmd" and enter:
* \code
* $ cd C:\qt-everywhere-opensource-src-4.8.4
* $ configure.exe
* $ mingw32-make
* \endcode
* -# Select the Open Source Edition.
* -# Accept the license offer.
* -# configure.exe will take several minutes to finish.
* -# mingw32-make will take several hours to finish.
* -# Create a GitHub account and follow their instructions for setting up Git.
* -# Launch "Git Bash" and clone OpenBR:
* \code
* $ cd /c
* $ git clone https://github.com/biometrics/openbr.git
* $ cd openbr
* $ git submodule init
* $ git submodule update
* \endcode
* -# Finally time to build OpenBR:
* -# Double-click "C:\mingw64\mingw64env.cmd" and enter:
* \code
* $ cd C:\openbr
* $ mkdir build-mingw64
* $ cd build-mingw64
* $ cmake -G "MinGW Makefiles" -D CMAKE_RC_COMPILER="C:/mingw64/bin/windres.exe" -D OpenCV_DIR="C:\OpenCV-2.4.3-mingw64\build" -D QT_QMAKE_EXECUTABLE="C:\qt-everywhere-opensource-src-4.8.4\bin\qmake" ..
* $ mingw32-make
* \endcode
* -# To package OpenBR:
* -# Download NSIS 2.46 and install.
* -# Double-click "C:\mingw64\mingw64env.cmd" and enter:
* \code
* $ cd C:\openbr\build-mingw64
* $ mingw32-make package
* \endcode
*/
/*!
* \page osx_clang OS X Mountain Lion - Clang/LLVM 3.1 - x64
* \brief Installation from source with Clang.
*
* -# Download and install the latest "Xcode" and "Command Line Tools" from the Apple Developer Downloads page.
* -# Download CMake 2.8.10.2 and install:
* \code
* $ cd ~/Downloads
* $ tar -xf cmake-2.8.10.2.tar.gz
* $ cd cmake-2.8.10.2
* $ ./configure
* $ make
* $ sudo make install
* \endcode
* -# Download OpenCV 2.4.3 and install:
* \code
* $ cd ~/Downloads
* $ tar -xf OpenCV-2.4.3.tar.bz2
* $ cd OpenCV-2.4.3
* $ mkdir build
* $ cd build
* $ cmake ..
* $ make
* $ sudo make install
* \endcode
* -# Download Qt 4.8.4 and install.
* -# Create a GitHub account, follow their instructions for setting up Git, then clone:
* \code
* $ git clone https://github.com/biometrics/openbr.git
* $ cd openbr
* $ git submodule init
* $ git submodule update
* \endcode
* -# Finally time to build OpenBR:
* \code
* $ cd openbr
* $ mkdir build
* $ cd build
* $ cmake ..
* $ make
* \endcode
* -# To package OpenBR Download Auxilary Tools for Xcode, drag "PackageMaker" to "Applications", then package:
* \code
* $ cd openbr/build
* $ make package # PackageMaker may require sudo
* \endcode
*/
/*!
* \page linux_gcc Ubuntu 12.04 LTS - GCC 4.6.3 - x64
* \brief Installation from source with GCC.
*
* -# Install GCC 4.6.3:
* \code
* $ sudo apt-get update
* $ sudo apt-get install build-essential
* \endcode
* -# Install CMake 2.8.7:
* \code
* $ sudo apt-get install cmake
* \endcode
* -# Download OpenCV 2.4.3 and install:
* \code
* $ cd ~/Downloads
* $ tar -xf OpenCV-2.4.3.tar.bz2
* $ cd OpenCV-2.4.3
* $ mkdir build
* $ cd build
* $ cmake -D CMAKE_BUILD_TYPE=Release ..
* $ make
* $ sudo make install
* \endcode
* -# Install Qt 4.8.1:
* \code
* $ sudo apt-get install libqt4-dev
* \endcode
* -# Create a GitHub account, follow their instructions for setting up Git, then clone:
* \code
* $ git clone https://github.com/biometrics/openbr.git
* $ cd openbr
* $ git submodule init
* $ git submodule update
* \endcode
* -# Finally time to build OpenBR:
* \code
* $ cd openbr
* $ mkdir build
* $ cd build
* $ cmake ..
* $ make
* \endcode
* -# To package OpenBR:
* \code
* $ cd openbr/build
* $ make package
* \endcode
*/
/*!
* \page linux_icc Ubuntu 12.04 LTS - Intel C++ Studio XE 2013 - x64
* \brief Installation from source with ICC.
*
* -# Assuming you meet the eligibility requirements, Download Intel C++ Studio XE 2013 and install.
* -# Install CMake 2.8.7:
* \code
* $ sudo apt-get install cmake
* \endcode
* -# Download OpenCV 2.4.3 and install:
* \code
* $ cd ~/Downloads
* $ tar -xf OpenCV-2.4.3.tar.bz2
* $ cd OpenCV-2.4.3
* $ mkdir build
* $ cd build
* $ cmake -D CMAKE_BUILD_TYPE=Release ..
* $ make
* $ sudo make install
* \endcode
* -# Install Qt 4.8.1:
* \code
* $ sudo apt-get install libqt4-dev
* \endcode
* -# Create a GitHub account, follow their instructions for setting up Git, then clone:
* \code
* $ git clone https://github.com/biometrics/openbr.git
* $ cd openbr
* $ git submodule init
* $ git submodule update
* \endcode
* -# Finally time to build OpenBR:
* \code
* $ cd openbr
* $ mkdir build-icc
* $ cd build-icc
* $ cmake -DCMAKE_C_COMPILER=/opt/intel/bin/icc -DCMAKE_CXX_COMPILER=/opt/intel/bin/icpc ..
* $ make
* \endcode
* -# To package OpenBR:
* \code
* $ cd openbr/build-icc
* $ make package
* \endcode
*/
/*!
* \page tutorial Tutorial
* \brief An end-to-end example covering experimental setup, algorithm development, and performance evaluation on the MNIST Handwritten Digits Dataset.
*
* Under construction, please check back soon!
*/
/*!
* \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
*/