2018-2019: In collaboration with Facebook, this student team designed an FPGA-based image processing system to demonstrate the viability of FPGAs (field-programmable gate arrays) as a more efficient and scalable platform to review user-uploaded content. Facebook is continuously exploring new infrastructure hardware and software approaches to improve processing efficiency, so as to maintain content integrity and user experience even as their applications and services expand. FPGAs are one promising technology, as their array of configurable logic blocks enable parallel processing and easy reprogrammability.
The team first established their understanding of FPGA functionality, programming languages, associated software tools, and common image processing algorithms. The team iteratively developed a proposed system architecture with several image processing algorithms, ensuring a modular design throughout. The team then implemented the algorithms, first in simulation mode, and then on the FPGA. Through individual modules and implementations, the team successfully demonstrated the input, processing, and output functions of their system structure. The team delivered their code and results to Facebook to inform future development with FPGAs.