SciELO - Scientific Electronic Library Online

vol.19 número3Cockpit Design for First Person View Flight for a Remotely Operated Quadrotor HelicopterFacial Geometry Identification through Fuzzy Patterns with RGBD Sensor índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados




Links relacionados

  • No hay artículos similaresSimilares en SciELO


Computación y Sistemas

versión impresa ISSN 1405-5546

Comp. y Sist. vol.19 no.3 México jul./sep. 2015




HW/SW Co-Design of a Specific Accelerator for Robotic Computer Vision


Adrián Pedroza de la Crúz1, Miguel Ángel Carrazco Díaz1, Susana Ortega Cisneros1, Juan José Raygoza Panduro2, Jorge Rivera Domínguez3, Federico Sandoval Ibarra1


1 Instituto Politécnico Nacional, CINVESTAV Jalisco, México.,,,

2 University of Guadalajara, CUCEI, Jalisco, México.

3 Instituto Politécnico Nacional, commissioned as a CONACyT professorship to CINVESTAV, Jalisco, México.

Corresponding author is Adrián Pedroza de la Crúz.


Article received on 08/12/2014.
Accepted on 29/04/2015.



This paper presents an image processing application focused on robotic computer vision. The co-design is divided into three main parts: a hardware accelerator, a PCIe® based framework for HW/SW link, and application software. The implemented accelerator performs preprocessing for facial recognition in order to reduce the workload in the main system processor. The hardware layer is implemented in Altera FPGAs, while the project software layer provides a device driver for Linux to link the user application with the coprocessor. The user application controls the data transfer between the operating system and the device driver. The platform allows rapid prototyping of accelerators, taking advantage of the duality of a programmable hardware and a general purpose processor connected through a PCIe® link. The proposed architecture enables co-design of various image processing algorithms. In this case, the results of the design of an accelerator that performs histogram equalization for contrast correction of color images are presented.

Keywords: Accelerator for computer vision, design automation, field-programmable gate array (FPGA), hardware accelerator, hardware design, high performance computing, Linux driver, PCIe framework, Verilog.





The authors are grateful for the financial support provided in part by CONACYT (National Council of Science and Technology) as a doctoral fellowship grant.



1. López-Juárez, I., Ríos-Cabrera, R., Peña-Cabrera, M., Méndez, G.M., & Osorio, R. (2012). Fast Object Recognition for Grasping Tasks using Industrial Robots. Computación y Sistemas, Vol. 16, No. 4, pp. 421-432.         [ Links ]

2. Ghassabeh, Y.A. & Moghaddam, H.A. (2007). A Face Recognition System using Neural Networks with Incremental Learning Ability. International Symposium on Computational Intelligence in Robotics and Automation (CIRA), pp. 291-296, doi: 10.1109/CIRA.2007.382904.         [ Links ]

3. Marcus, G., Gao, W., Kugel, A., & Manner, R. (2011). The MPRACE framework: An open source stack for communication with custom FPGA-based accelerators. Southern Conference on Programmable Logic, pp. 155-160, doi: 10.1109/SPL.2011.5782641.         [ Links ]

4. Cabrera, O., Oriol, M., Franch, X., Marco, J., López, L., Díaz, O. G. F., & Santaolaya, R. (2014). Open framework for web service selection using multimodal and configurable techniques. Computación y Sistemas, Vol. 18, No. 4, pp. 665-682, doi: 10.13053/CyS-18-4-2057.         [ Links ]

5. PCI SIG. (2005). PCIe® Specification. URL:         [ Links ]

6. Wang, W., Bolic, M., & Parri, J. (2013). pvFPGA: Accessing an FPGA based hardware accelerator in a paravirtualized environment. International Conference on, Hardware/Software Codesign and System Synthesis (CODES+ISSS), pp. 1-9, doi: 10.1109/CODES-ISSS.2013.6658997.         [ Links ]

7. Altera Corp. (2010). Avalon® Interface Specification. URL:         [ Links ]

8. Intel (2010). Intel® Atom™ Processor E6x5C Series-Based Platform for Embedded Computing.         [ Links ]

9. Altera Corp. (2012). Arria(R) II Device Handbook. URL:         [ Links ]

10. Mencer, O., (2006). ASC: a stream compiler for computing with FPGAs. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 25, No. 9, pp. 1603-1617, doi: 10.1109/TCAD.2005.857377.         [ Links ]

11. Moreno, F., López, I., & Sanz, R., (2010). A Design Process for Hardware/Software System Co-design and its Application to Designing a Reconfigurable FPGA. 13th Euromicro Conference on Digital System Design: Architectures, Methods and Tools (DSD), pp. 556-562, doi: 10.1109/DSD.2010.43.         [ Links ]

12. Corbet, J., Rubini, A., & Kroah-Hartman, G. (2005). Linux Device Drivers. O'Reilly Media.         [ Links ]

13. Celik, T. & Tjahjadi, T. (2012). Automatic Image Equalization and Contrast Enhancement Using Gaussian Mixture Modeling. IEEE Transactions on Image Processing, Vol. 21, No. 1, pp.145-156, doi: 10.1109/TIP.2011.2162419.         [ Links ]

14. Lucchese, L. & Mitra, S.K., (2001). A new method for color image equalization. International Conference on Image Proc., Vol. 1, pp. 133-136, doi: 10.1109/ICIP.2001.958971.         [ Links ]

15. Chauhan, R. & Bhadoria, S.S., (2011). An Improved Image Contrast Enhancement Based on Histogram Equalization and Brightness Preserving Weight Clustering Histogram Equalization. International Conference on Communication Systems and Network Technologies (CSNT), pp. 597-600, doi: 10.1109/CSNT.2011.128.         [ Links ]

16. Young-Su, K. & Chong-Min, K. (2005). Performance-driven event-based synchronization for multi-FPGA simulation accelerator with event time-multiplexing bus. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 24, No. 9, pp. 1444-1456, doi: 10.1109/TCAD.2005.852035.         [ Links ]

17. Ling, A.C., Singh, D.P., & Brown, S.D. (2007). FPGA PLB Architecture Evaluation and Area Optimization Techniques Using Boolean Satisfiability. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 26, No. 7, pp. 1196-1210, doi: 10.1109/TCAD.2007.891362.         [ Links ]

18. Gort, M. & Anderson, J.H. (2012). Accelerating FPGA Routing through Parallelization and Engineering Enhancements. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (Special Section on PAR-CAD 2010), Vol. 31, No. 1, pp. 61-74, doi: 10.1109/TCAD.2011.2165715.         [ Links ]

Creative Commons License Todo el contenido de esta revista, excepto dónde está identificado, está bajo una Licencia Creative Commons