openbr open source biometric recognition
play

OpenBR Open Source Biometric Recognition and Beyond Josh Klontz - PowerPoint PPT Presentation

OpenBR Open Source Biometric Recognition and Beyond Josh Klontz www.openbiometrics.org February 17, 2013 J. Klontz OpenBR February 17, 2013 1 / 18 Why Open Source? J. Klontz OpenBR February 17, 2013 2 / 18 Why Open Source?


  1. OpenBR – Open Source Biometric Recognition and Beyond Josh Klontz www.openbiometrics.org February 17, 2013 J. Klontz OpenBR February 17, 2013 1 / 18

  2. Why Open Source? J. Klontz OpenBR February 17, 2013 2 / 18

  3. Why Open Source? Reproducible Research Support a common set of file formats and tools for algorithm design, development, and evaluation. J. Klontz OpenBR February 17, 2013 2 / 18

  4. Why Open Source? Reproducible Research Support a common set of file formats and tools for algorithm design, development, and evaluation. Decrease Time to Market Provide a well-engineered and consistent framework for deploying new algorithms. J. Klontz OpenBR February 17, 2013 2 / 18

  5. Why Open Source? Reproducible Research Support a common set of file formats and tools for algorithm design, development, and evaluation. Decrease Time to Market Provide a well-engineered and consistent framework for deploying new algorithms. Reduce Duplication Supply state-of-the-art baseline components for algorithm design. J. Klontz OpenBR February 17, 2013 2 / 18

  6. Why Open Source? Reproducible Research Support a common set of file formats and tools for algorithm design, development, and evaluation. Decrease Time to Market Provide a well-engineered and consistent framework for deploying new algorithms. Reduce Duplication Supply state-of-the-art baseline components for algorithm design. Improve Collaboration Help foster a community where collaboration takes place at the source code level. J. Klontz OpenBR February 17, 2013 2 / 18

  7. What’s in it? Off-the-shelf algorithms Age Estimation Face Recognition Commercial Wrappers Gender Classification J. Klontz OpenBR February 17, 2013 3 / 18

  8. What’s in it? Off-the-shelf algorithms Age Estimation Face Recognition Commercial Wrappers Gender Classification Tools for algorithm evaluation Standardized set of file formats Automatic plot generation Command line interface supporting common biometrics tasks J. Klontz OpenBR February 17, 2013 3 / 18

  9. What’s in it? Off-the-shelf algorithms Age Estimation Face Recognition Commercial Wrappers Gender Classification Tools for algorithm evaluation Standardized set of file formats Automatic plot generation Command line interface supporting common biometrics tasks Software framework for algorithm development C++ plugin API for implementing new algorithms Grammar for image processing Automatic testing, packaging and deployment J. Klontz OpenBR February 17, 2013 3 / 18

  10. Software Architecture Qt Cross-platform application and UI framework OpenCV Image processing library Eigen Linear algebra library CMake Cross-platform build system J. Klontz OpenBR February 17, 2013 4 / 18

  11. Software Architecture Qt br Cross-platform application Command line application for and UI framework running algorithms and evaluating results. OpenCV Image processing library C API High-level interface for other Eigen programming languages. Linear algebra library C++ Plugin API CMake Core interface for using and developing algorithms. Cross-platform build system J. Klontz OpenBR February 17, 2013 4 / 18

  12. Supported Platforms Now J. Klontz OpenBR February 17, 2013 5 / 18

  13. Supported Platforms Soon Now J. Klontz OpenBR February 17, 2013 5 / 18

  14. Supported Platforms Soon Now Future J. Klontz OpenBR February 17, 2013 5 / 18

  15. Algorithm Evaluation 0.001 0.010 0.75 COTS OpenBR 80% Frequency / Algorithm True Accept Rate True Accept Rate 0.50 Algorithm Ground Truth COTS Genuine OpenBR Impostor 60% 0.25 0 250 500 750 −1 0 1 2 3 Score 0.786 0.618 0.858 0.76 0.00 40% COTS OpenBR COTS OpenBR 0.001 0.100 False Accept Rate Algorithm / False Accept Rate Figure: OpenBR vs COTS face recognition on MEDS mugshot database. J. Klontz OpenBR February 17, 2013 6 / 18

  16. Algorithm Evaluation 0.001 0.010 0.75 COTS OpenBR 80% Frequency / Algorithm True Accept Rate True Accept Rate 0.50 Algorithm Ground Truth COTS Genuine OpenBR Impostor 60% 0.25 0 250 500 750 −1 0 1 2 3 Score 0.786 0.618 0.858 0.76 0.00 40% COTS OpenBR COTS OpenBR 0.001 0.100 False Accept Rate Algorithm / False Accept Rate Figure: OpenBR vs COTS face recognition on MEDS mugshot database. OpenBR COTS-A COTS-B COTS-C COTS-D TAR @ FAR = 0.01 0.77 0.93 0.96 0.86 0.80 Template Size (kB) 0.75 2.8 5.0 36 74 Enrollment Speed 10 N/A N/A 1.3 1.2 Comparison Speed 3,800,000 N/A 110,000 19,000 2,000 J. Klontz OpenBR February 17, 2013 6 / 18

  17. FRVT 2012 (OpenBR = ’K’) J. Klontz OpenBR February 17, 2013 7 / 18

  18. FRVT 2012 (OpenBR = ’K’) J. Klontz OpenBR February 17, 2013 8 / 18

  19. Algorithm Example: Face Recognition $ br -algorithm FaceRecognition -compare me.jpg you.jpg J. Klontz OpenBR February 17, 2013 9 / 18

  20. Algorithm Example: Face Recognition $ br -algorithm FaceRecognition -compare me.jpg you.jpg FaceRecognition FaceDetection! < FaceRegistration > ! < FaceExtraction > + < FaceEmbedding > + < FaceQuantization > :UCharL1 J. Klontz OpenBR February 17, 2013 9 / 18

  21. Algorithm Example: Face Recognition $ br -algorithm FaceRecognition -compare me.jpg you.jpg FaceRecognition FaceDetection! < FaceRegistration > ! < FaceExtraction > + < FaceEmbedding > + < FaceQuantization > :UCharL1 FaceDetection Open+Cvt(Gray)+Cascade(FrontalFace) J. Klontz OpenBR February 17, 2013 9 / 18

  22. Algorithm Example: Face Recognition $ br -algorithm FaceRecognition -compare me.jpg you.jpg FaceRecognition FaceDetection! < FaceRegistration > ! < FaceExtraction > + < FaceEmbedding > + < FaceQuantization > :UCharL1 FaceDetection Open+Cvt(Gray)+Cascade(FrontalFace) FaceRegistration ASEFEyes+Affine(88,88,0.25,0.35)+FTE(DFFS) J. Klontz OpenBR February 17, 2013 9 / 18

  23. Algorithm Example: Face Recognition $ br -algorithm FaceRecognition -compare me.jpg you.jpg FaceRecognition FaceDetection! < FaceRegistration > ! < FaceExtraction > + < FaceEmbedding > + < FaceQuantization > :UCharL1 FaceDetection Open+Cvt(Gray)+Cascade(FrontalFace) FaceRegistration ASEFEyes+Affine(88,88,0.25,0.35)+FTE(DFFS) ... FaceEmbedding Dup(12)+RndSubspace(0.05,1)+LDA(0.98)+Cat+PCA(768) J. Klontz OpenBR February 17, 2013 9 / 18

  24. Live Coding J. Klontz OpenBR February 17, 2013 10 / 18

  25. Live Coding Inventing on Principle http://www.youtube.com/watch?v=PUv66718DII J. Klontz OpenBR February 17, 2013 10 / 18

  26. CPU Scaling Figure: http://www.extremetech.com/computing/116561-the-death-of-cpu-scaling-from-one- core-to-many-and-why-were-still-stuck J. Klontz OpenBR February 17, 2013 11 / 18

  27. Evolution of Hardware and Software Figure: http://www.extremetech.com/computing/116561-the-death-of-cpu-scaling-from-one- core-to-many-and-why-were-still-stuck J. Klontz OpenBR February 17, 2013 12 / 18

  28. Hardware Realities Figure: i7 3930k Figure: GTX 680 Figure: Xeon Phi 5110p J. Klontz OpenBR February 17, 2013 13 / 18

  29. Hardware Realities Figure: i7 3930k Figure: GTX 680 Figure: Xeon Phi 5110p $570.00 $568.50 $2,649 J. Klontz OpenBR February 17, 2013 13 / 18

  30. Hardware Realities Figure: i7 3930k Figure: GTX 680 Figure: Xeon Phi 5110p $570.00 $568.50 $2,649 76.8 GFLOPS 1665 GFLOPS 1011 GFLOPS J. Klontz OpenBR February 17, 2013 13 / 18

  31. Hardware Realities Figure: i7 3930k Figure: GTX 680 Figure: Xeon Phi 5110p $570.00 $568.50 $2,649 76.8 GFLOPS 1665 GFLOPS 1011 GFLOPS Gotcha: Memory Bandwidth 12.8 GFLOPS 48.0 GFLOPS 80 GFLOPS J. Klontz OpenBR February 17, 2013 13 / 18

  32. Hardware Realities Figure: i7 3930k Figure: GTX 680 Figure: Xeon Phi 5110p $570.00 $568.50 $2,649 76.8 GFLOPS 1665 GFLOPS 1011 GFLOPS Gotcha: Memory Bandwidth 12.8 GFLOPS 48.0 GFLOPS 80 GFLOPS Gotcha: Code Duplication Need a separate code base for optimized performance on each device! J. Klontz OpenBR February 17, 2013 13 / 18

  33. Requirements What we want Write once and run everywhere Automatically utilize all available hardware Run faster on future hardware J. Klontz OpenBR February 17, 2013 14 / 18

  34. Requirements What we want Write once and run everywhere Automatically utilize all available hardware Run faster on future hardware What we need Virtual machine or just-in-time compiler Express computations using induction variables or “kernels”: void example kernel(int *a, int *b, int i) { a[i] += b[i]; } J. Klontz OpenBR February 17, 2013 14 / 18

  35. Requirements What we want Write once and run everywhere Automatically utilize all available hardware Run faster on future hardware What we need Virtual machine or just-in-time compiler Express computations using induction variables or “kernels”: void example kernel(int *a, int *b, int i) { a[i] += b[i]; } What we’re proposing LLVM IR and JIT compiler Designing for OpenCL 2.0 standard J. Klontz OpenBR February 17, 2013 14 / 18

  36. Goals Perfectly Composable Image Processing Primitives A grammar for building algorithms from orthogonal primitive kernels with typeless semantics and optimized execution. J. Klontz OpenBR February 17, 2013 15 / 18

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend