real-time video computing with a fpga - 2009.rmll.info2009.rmll.info/img/pdf/rmll09_cam_fpga.pdf ·...

16
 Real-time video computing with a FPGA Rémy Blanchard – Rob'Otter Association

Upload: others

Post on 14-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Real-time video computing with a FPGA - 2009.rmll.info2009.rmll.info/IMG/pdf/RMLL09_cam_FPGA.pdf · Real-time video computing with a FPGA Rémy Blanchard – Rob'Otter Association

   

Real-time video computing with a FPGA

Rémy Blanchard – Rob'Otter Association

Page 2: Real-time video computing with a FPGA - 2009.rmll.info2009.rmll.info/IMG/pdf/RMLL09_cam_FPGA.pdf · Real-time video computing with a FPGA Rémy Blanchard – Rob'Otter Association

   

IntroductionRob'Otter is an association which participates 

in the French and European robotics cup.

This project, named "Cameramea", is part of Rob'Otter's current robot.

This project was aimed at a general purpose use.

Find the code on Google Code:

http://code.google.com/p/cameramea/

Page 3: Real-time video computing with a FPGA - 2009.rmll.info2009.rmll.info/IMG/pdf/RMLL09_cam_FPGA.pdf · Real-time video computing with a FPGA Rémy Blanchard – Rob'Otter Association

   

Summary

1. Project Overview

2. FPGA?

3. Image processing basics

4. Design sample

5. Applications

6. Perspectives

Page 4: Real-time video computing with a FPGA - 2009.rmll.info2009.rmll.info/IMG/pdf/RMLL09_cam_FPGA.pdf · Real-time video computing with a FPGA Rémy Blanchard – Rob'Otter Association

   

Project OverviewAim:

Creating a modular video system matching customer's needs

Hardware

IP on a FPGA

Co­designed with an embedded Linux platform

Uses a generic interface: Wishbone

Using an ARMadeus APF

Page 5: Real-time video computing with a FPGA - 2009.rmll.info2009.rmll.info/IMG/pdf/RMLL09_cam_FPGA.pdf · Real-time video computing with a FPGA Rémy Blanchard – Rob'Otter Association

   

FPGA?A FPGA is a chip with unconnected logic 

elements.

VHDL aims at describing the connection between logic elements.

FPGAs allow parallel computing of information.

Page 6: Real-time video computing with a FPGA - 2009.rmll.info2009.rmll.info/IMG/pdf/RMLL09_cam_FPGA.pdf · Real-time video computing with a FPGA Rémy Blanchard – Rob'Otter Association

   

Image processing basicsColor spaces

There are many others color spaces but the one to use depends on the targeted application field.

RGB:Correspond to the 3 color components.It's the reference color space.

HSL:Allows extraction of color & light extractionComplex conversion function from RGB

Page 7: Real-time video computing with a FPGA - 2009.rmll.info2009.rmll.info/IMG/pdf/RMLL09_cam_FPGA.pdf · Real-time video computing with a FPGA Rémy Blanchard – Rob'Otter Association

   

Image processing basicsThreshold

Light image

Y > 170

Extracted areas

Page 8: Real-time video computing with a FPGA - 2009.rmll.info2009.rmll.info/IMG/pdf/RMLL09_cam_FPGA.pdf · Real-time video computing with a FPGA Rémy Blanchard – Rob'Otter Association

   

Image processing basicsErosion - Dilation

Original

Dilation

Erosion

Page 9: Real-time video computing with a FPGA - 2009.rmll.info2009.rmll.info/IMG/pdf/RMLL09_cam_FPGA.pdf · Real-time video computing with a FPGA Rémy Blanchard – Rob'Otter Association

   

Design sample

Cam

era 

inte

rfac

e

E[.]

E[.]

E[.]

R

G

B

Y

G

B Col

or s

pace

 sw

itch

Camera control signals

H Thre

shol

d

Ero

sion

Wishbone interface

i.MX interface (ARMadeus APF9328 specific)FPGA

Oth

ers 

trea

tmen

ts

i.MX

Page 10: Real-time video computing with a FPGA - 2009.rmll.info2009.rmll.info/IMG/pdf/RMLL09_cam_FPGA.pdf · Real-time video computing with a FPGA Rémy Blanchard – Rob'Otter Association

   

Design sample

Original picture After 3px*3px averaging

Page 11: Real-time video computing with a FPGA - 2009.rmll.info2009.rmll.info/IMG/pdf/RMLL09_cam_FPGA.pdf · Real-time video computing with a FPGA Rémy Blanchard – Rob'Otter Association

   

Design sample

Hue Light

Page 12: Real-time video computing with a FPGA - 2009.rmll.info2009.rmll.info/IMG/pdf/RMLL09_cam_FPGA.pdf · Real-time video computing with a FPGA Rémy Blanchard – Rob'Otter Association

   

Design sample

Green threshold Red threshold

Page 13: Real-time video computing with a FPGA - 2009.rmll.info2009.rmll.info/IMG/pdf/RMLL09_cam_FPGA.pdf · Real-time video computing with a FPGA Rémy Blanchard – Rob'Otter Association

   

Design sample

Post­erosion Green Post­erosion Red

Page 14: Real-time video computing with a FPGA - 2009.rmll.info2009.rmll.info/IMG/pdf/RMLL09_cam_FPGA.pdf · Real-time video computing with a FPGA Rémy Blanchard – Rob'Otter Association

   

Applications

Computer interactions

Process control

Robotics

Page 15: Real-time video computing with a FPGA - 2009.rmll.info2009.rmll.info/IMG/pdf/RMLL09_cam_FPGA.pdf · Real-time video computing with a FPGA Rémy Blanchard – Rob'Otter Association

   

PerspectivesDevelopment of new blocks

dilation, opening, pixel difference, ...

Testing the blocks via VHDL testbench and physical implantation

Documentinghow to use, performance, device 

...

Page 16: Real-time video computing with a FPGA - 2009.rmll.info2009.rmll.info/IMG/pdf/RMLL09_cam_FPGA.pdf · Real-time video computing with a FPGA Rémy Blanchard – Rob'Otter Association

   

Any questions ??

http://code.google.com/p/cameramea/

Rémy Blanchard – Rob'Otter Association