info

Optimalisatie van een persoonsdetector op FPGA
Context
Object detectie kent veel toepassingen, en vaak is snelle detectie cruciaal.
Voorbeelden hiervan zijn het detecteren van voetgangers in gevaarlijke
verkeerssituaties. Bestaande algoritmen zijn vaak echter zeer
rekenintensief, en daarom niet altijd toepasbaar in real-time applicaties.
Het versnellen van deze algoritmes kan op een aantal manieren: het
reduceren van de zoekruimte (bijvoorbeeld zoeken op minder schalen),
een parallelle implementatie op GPU of een snelle implementatie op FPGA.
Momenteel loopt er tijdens dit academiejaar (2013-2014) een masterproef
omtrent het implementeren van zo'n detectie algoritme, toegepast op
persoonsdetectie, op een FPGA. Deze lopende thesis spitst zich toe op het
implementeren van het HOG algoritme, een bekend algoritme dat gebruikt
wordt om personen in afbeeldingen te detecteren (zie linker afbeelding
hieronder) [1].
Omwille van de complexiteit van het algoritme werd/wordt in deze lopende
thesis slechts een gedeelte van het algoritme in hardware
geimplementeerd, vertrekkende vanaf een bestaande C, C++ of Matlab
beschrijving. De overige delen van het algoritme draaien in software op
een hardprocessor in de FPGA fabric. Er wordt dus gebruik gemaakt van
een software-hardware architectuur. Hierbij worden delen van het
algoritme die makkelijk te parallelliseren zijn geimplementeerd in
hardware waarbij de overige delen in software draaien. De hardware
architectuur wordt dus eigenlijk gestuurd vanuit de software.
Het doel van dit thesisvoorstel is om op de kennis en implementatie van
de huidige thesis verder te bouwen, en de overige delen te porten van
software naar een hardware implementatie. Uiteindelijk moet dan een
demonstrator gebouwd worden, die de werking van het algoritme in realtime demonstreert.
De huidige masterproef maakt gebruik van het Zedboard [2] (zie rechter
afbeelding). Dit is een SoC FPGA platform waarbij, naast een krachtige
FPGA (gebaseerd op de Xilinx Artix-7), een dual ARM Cortex A9 mee is
geintegreerd in de chip. De lopende masterproef focust zich op de
implementatie van de feature berekening. De classificatiestap gebeurt in
software.
Doel van de thesis
Het doel van deze thesis is om een complex beeldverwerkingsalgoritme
om te zetten naar een FPGA implementatie, door gebruik te maken van
een software-hardware design. Om dit te bekomen moeten volgende
stappen doorlopen worden:
1. Intensieve studie van het HOG beeldverwerkingsalgoritme zelf.
2. Diepgaande literatuurstudie naar reeds bestaande parallellisaties
van dit algoritme.
3. Vertrouwd raken met de FPGA hardware (Xilinx Zedboard) en de
ontwerpmetholodogie en ontwerpsoftware hiervan. Dit kan tijdens
een stage in de zomerperiode.
4. Bestuderen van de reeds bestaande implementatie.
5. Op basis van stap 4 bekijken welk deel van het algoritme zich verder
leent tot een hardware implementatie, en de uitwerken van een
hardware-software codesign hiervan.
Het uiteindelijke resultaat zou een werkende demo moeten waarbij het
algoritme effectief op dit hardware platform wordt uitgevoerd.
Begeleiding
Kristof Van Beeck, EAVISE
[1] Navneet Dalal and Bill Triggs – Histograms of Oriented Gradients for
Human Detection – CVPR 2005
[2] http://www.zedboard.org/