izpis_h1_title_alt

Real-Time Processing of Image Streams
ID HUDOMALJ, UROŠ (Author), ID Tuma, Tadej (Mentor) More about this mentor... This link opens in a new window

.pdfPDF - Presentation file, Download (6,43 MB)
MD5: AD2BAAD124181A6A690457D9D58C1C14

Abstract
This master’s thesis presents an FPGA based system for real-time processing of a Camera Link image stream. The system is based on Microsemi’s Smartfusion2 Advanced Development Kit which includes a SmartFusion2 M2S150 SoC FPGA and an industrial camera which uses the Camera Link I/F. The system is meant to be inserted between the camera and the intended receiver, providing real-time processing of the images captured by the camera. The developed system is capable of processing images up to the frame rate of 118.23 fps at the maximum image size provided by the used camera, namely 1216 by 1936 pixels. For acquiring images sent by the camera and to transmit the processed images to the intended receiver, a Camera Link receiver and a Camera Link transmitter were designed. The receiver and transmitter implemented in the FPGA support the Camera Link interface at base, medium and full configurations at frequencies up to 38.2 MHz. Some of the widely used algorithms for preprocessing of images were designed to be implemented in the system. These are: image filtering, edge detection, background subtraction, image averaging, and flat-field correction. Some of these algorithms use external DDR memory. Therefore, a circuit for accessing the DDR memory was designed as well. The circuit was designed to achieve the highest possible throughput of the DDR memory used.

Language:English
Keywords:image processing, real-time image processing, FPGA, camera, Camera Link, interface
Work type:Master's thesis/paper
Organization:FE - Faculty of Electrical Engineering
Year:2019
PID:20.500.12556/RUL-112628 This link opens in a new window
Publication date in RUL:28.10.2019
Views:1462
Downloads:1025
Metadata:XML DC-XML DC-RDF
:
Copy citation
Share:Bookmark and Share

Secondary language

Language:Slovenian
Title:Realnočasna obdelava slikovnega podatkovnega toka
Abstract:
Kamere so danes nepogrešljiv del v veliko različnih sistemih. Aplikacije, ki obdelujejo slike zajete s kamerami, se uporabljajo tako v avtomobilski industriji, kot na primer pri avtonomni vožnji, za namene množičnega nadzora, za medicinske namene ali za zagotavljanje kakovosti izdelkov v proizvodnih procesih. Kamere so pomembne tudi pri opazovanju vesolja in zemlje. Iz slik, ki jih zajamejo kamere, se lahko z uporabo ustreznih algoritmov za obdelavo slik samodejno izluščijo ključne informacije. Pri večini aplikacij se lahko zagotovi relevantnost in koristnost informacij le z obdelavo v realnem času. Procesiranje slik v realnem času pa postaja čedalje bolj zahtevno, saj želimo zajeti vedno večje slike in vedno več slik na sekundo. S tem naraščajo hitrosti podatkovnega toka slik. Tradicionalni sistemi za obdelavo slik, kot so računalniki, tako velikih podatkovnih hitrosti v realnem času ne zmorejo obdelati. Zato je potrebno uporabiti aplikacijam prilagojene sisteme. V kolikor obstoječi sistem ni sposoben obdelave v realnem času, lahko med kamero in ciljni sprejemnik slik dodamo sistem, ki omogoča obdelavo zajetih slik v realnem času. Ti sistemi so pogosto zasnovani kot namenska vezja (ang. ASIC) ali pa so zasnovani na podlagi vezij FPGA. Slednji so običajno primernejši, saj omogočajo enostavno prilagoditev sistema novim zahtevam, ki se pojavijo. Prav tako je pri majhnih proizvodnih serijah uporaba vezij FPGA cenejša kot pa izdelava namenskih vezij. Namen magistrske naloge je bil raziskati zmogljivosti sistemov za obdelavo podatkovnega toka slik v realnem času z uporabo vezij FPGA in razviti sistem, ki bi se lahko uporabil za namene projekta MICADO. MICADO je inštrument za zajem slik, ki bo del teleskopa ELT, katerega razvija agencija ESO. Inštrument bo uporabljen za opazovanje zvezd, odkrivanje novih zunajosončnih planetov in za raziskovanje območij, kjer so gravitacijska polja izjemno močna, kot so recimo področja okoli supermasivne črne luknje v središču naše galaksije. Astronomske slike so izredno velike, kar se odraža v veliki hitrosti podatkovnega toka slik. V okviru magistrske naloge so bile zato opredeljene tudi omejitve realno časne obdelave podatkovnega toka slik z vezji FPGA. Razvit sistem je bil implementiran na razvojni plošči Smartfusion2 Advanced Development Kit proizvajalca Microsemi. Razvojna plošča vsebuje SmartFusion2 M2S150 SoC FPGA. Za zajem slik je bila namesto teleskopa uporabljena industrijska kamera GO-2400M PMCL proizvajalca Jai. Kamera pošilja zajete slike preko vmesnika Camera Link. Izdelan sistem se vstavi med kamero in ciljni sprejemnik slik, zato mora biti sposoben zajema in oddaje slik preko vmesnika, ki ga uporablja kamera. Tako sta bili v okviru magistrskega dela razviti logični vezji sprejemnika in oddajnika za vmesnik Camera Link. Vezji sta bili implementirani v FPGA. Razviti logični vezji podpirata delovanje vmesnika Camera Link v osnovni, srednji ali polni konfiguraciji pri frekvencah do 38,2 MHz. Poleg sprejemnika in oddajnika za vmesnik Camera Link je bilo za sistem razvitih tudi nekaj implementacij pogosto uporabljenih algoritmov za obdelavo slik, in sicer: • filtriranje slik, • detekcija robov, • odstranjevanje ozadja, • povprečenje slik in • korekcija ravnega polja (ang. flat-field correction). Od aplikacije je odvisno, kateri našteti algoritmi so dejansko implementirani v vezju FPGA. Največja velikost slike, ki jo lahko zajame uporabljena kamera, je 1216 x 1936 slikovnih točk. Kamera sočasno pošilja preko vmesnika po 8 slikovnih točk. Hitrost zajema slik pogojuje uporabljeno frekvenco vmesnika. Kamera podpira frekvence vmesnika 37,125, 74,25 in 84,85 MHz. Razvit sistem lahko zaradi frekvenčnih omejitev vhodno/izhodnih enot uporabljenega vezja FPGA sprejema podatke preko vmesnika pri frekvencah do 38,2 MHz. Zato je bila hitrost zajema slik omejena na 118,23 slik na sekundo. Pri 8 bitni globini zajetih slik je tako hitrost podatkovnega toka slik enaka 2,2 Gbps. Podatkovni tok slik je lahko obdelan v realnem času le, če je hitrost obdelave podatkov najmanj enaka hitrosti podatkovnega toka. Zato zasnovan sistem prav tako obdeluje podatke s hitrostjo 2,2 Gbps. Takšna hitrost je bila dosežena s sočasno obdelavo 8 slikovnih točk pri enaki frekvenci, kot jo uporablja vmesnik. Pri nekaterih implementiranih algoritmih je bilo potrebno za njihovo delovanje v pomnilniku shraniti eno ali več slik. Notranji pomnilnik v FPGA v obliki SRAM je premajhen, da bi lahko hranil tako veliko količino podatkov. Zato potrebujejo ti algoritmi dostop do večjega, zunanjega pomnilnika DDR. Dostop do pomnilnika DDR je počasnejši kot pa do pomnilnika SRAM; še posebej pri posamičnem dostopanju do podatkov v pomnilniku DDR. Hitrost dostopa do pomnilnika neposredno omejuje hitrost obdelave slik. Zato je bilo razvito vezje, ki omogoča največjo možno hitrost dostopa do pomnilnika DDR, in sicer z uporabo več zaporednih prekrivajočih skupnih dostopov (ang. overlapping burst accesses). Za uporabljen razvojni sistem je hitrost dostopa do pomnilnika DDR omejena na 5.3 Gbps. Pri hitrosti podatkovnega toka slik 2.2. Gbps so zato lahko v sistemu implementirani le algoritmi, ki potrebujejo največ dva dostopa do pomnilnika DDR. Algoritmi so bili razviti v okolju Simulink. Nato so bili generirani opisi vezij HDL, kateri so bili kasneje implementirani v FPGA. Delovanje generiranih vezij smo simulirali. Izhodne obdelane slike, ki smo jih pridobili s simulacijo, smo nato primerjali s slikami obdelanimi z istimi algoritmi implementiranimi s knjižnico Image Processing Toolbox orodja MATLAB. Na podlagi ujemanja obeh načinov obdelave slik smo verificirali pravilnost generiranih vezij. Orodje MATLAB z njihovo knjižnico Vision HDL Toolbox že ponuja rešitev za implementacijo algoritmov za filtriranje slik in detekcijo robov v vezjih FPGA. Vendar knjižnica v času izdelave naloge ni podpirala sočasne obdelave več slikovnih točk in ni omogočala zadostnih podatkovnih hitrosti. Zato ta rešitev ni bila uporabljena pri razvoju sistema. Kasneje sta bili sicer ti dve omejitvi odpravljeni z najnovejšo verzijo knjižnice. Orodje MATLAB pa ne ponuja rešitev za ostale tri algoritme, ki smo jih želeli implementirati. V okviru magistrske naloge je bilo tako poleg vezja za zajem in oddajo podatkovnega toka slik preko vmesnika Camera Link, uspešno implementiranih pet algoritmov za realno časno obdelavo slik. Delovanje sistema je bilo demonstrirano na primeru realno časne detekcije robov. V prihodnje bi razvit sistem lahko nadgradili tako, da bi omogočal še večje hitrosti obdelave podatkovnega toka slik in uporabo kompleksnejših algoritmov. Vendar bi bilo v tem primeru potrebno za osnovo sistema uporabiti zmogljivejše vezje FPGA.

Keywords:obdelava slik, obdelava slik v realnem času, FPGA, kamera, Camera Link, vmesnik

Similar documents

Similar works from RUL:
Similar works from other Slovenian collections:

Back