Approximate Computing for Iris Recognition Systems
Leveraging the error tolerance characteristics of many emerging applications, approximate computing techniques aim to trade-off small amount of inaccuracies in the computation to significantly reduce computational resources such as runtime, power, and design area. Approximate computing has been successfully applied to a wide range of areas including computer vision and machine learning. In this chapter, we demonstrate a novel application of approximate computing techniques in the field of biometric security by providing a comprehensive iris recognition system case study. Our system consists of an end-to-end flow, which captures input images of eyes from a near-infrared (NIR) camera and produces the iris encoding. The goal is to produce sufficiently accurate final encoding despite relying on intermediate approximate computational steps. Unlike previous efforts in approximate computing which typically target individual algorithms, this chapter explores a complex software/hardware pipeline system for iris code computation from live camera feed using an FPGA-based SoC. Our flow consists of four major algorithms, through which eight approximation knobs are identified for accuracy versus runtime trade-off at both the algorithmic and hardware levels. In order to explore this large design space for optimal parameter configurations, we employ reinforcement learning technique with a recurrent neural network as the learning agent. Using the proposed techniques, we demonstrate significant runtime saving of 48×, while conforming with industry-standard accuracy requirements for iris biometric systems.
The authors would like to thank Videology Engineering for partnering with us through the RI Innovation Voucher for the early development of the iris recognition FPGA-based SOC system for iris code computation. The authors would also like to thank Prof. R. Iris Bahar for early discussions on the project related to its SW/HW co-design aspects. This work is partially supported by a RICC grant and NSF grant 1814920.
- 2.Glorot X, Bengio Y (2010). Understanding the difficulty of training deep feedforward neural networks. In: International conference on artificial intelligence and statisticsGoogle Scholar
- 3.Hashemi S, Iris Bahar R, Reda S (2015) Drum: a dynamic range unbiased multiplier for approximate applications. In: Proceedings of the IEEE/ACM international conference on computer-aided design, pp 418–425Google Scholar
- 4.Imani M, Rahimi A, Rosing TS (2016) Resistive configurable associative memory for approximate computing. In: Design, automation test in EuropeGoogle Scholar
- 5.Lee S, John LK, Gerstlauer A (2017) A high-level synthesis of approximate hardware under joint precision and voltage scaling. In: Design, Automation & Test in Europe conference & exhibition (DATE), pp 187–192Google Scholar
- 6.Nepal K, Hashemi S, Tann H, Bahar RI, Reda S (2017) Automated high-level generation of low-power approximate computing circuits. IEEE Trans Emerg Top Comput 99:1–1Google Scholar
- 7.Raha A, Raghunathan V (2017) Towards full-system energy-accuracy tradeoffs: a case study of an approximate smart camera system. In: Design automation conference. ACM, New York, pp 74:1–74:6Google Scholar
- 9.Tian Q-C, Pan Q, Cheng Y-M, Gao Q-X (Aug 2004) Fast algorithm and application of Hough transform in iris segmentation. In: Proceedings of 2004 international conference on machine learning and cybernetics (IEEE Cat. No.04EX826), vol 7, pp 3977–3980Google Scholar
- 10.Venkataramani S, Sabne A, Kozhikkottu V, Roy K, Raghunathan A (2012) Salsa: systematic logic synthesis of approximate circuits. In: Design automation conference, pp 796–801Google Scholar
- 11.Verilator, the fastest free verilog hdl simulator [online]. https://www.veripool.org/wiki/verilator
- 12.Zoph B, Le Q (2017) Neural architecture search with reinforcement learning. In: International conference on learning representationsGoogle Scholar