/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 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 */