Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

🦉 Introduction


Excerpt

In this section we discribe possibilities to build your own younique smart vison vision system by using the provided infastructur infrastructur of iam camera.

Introduction

In this section we discribe posibilities to build your own younique smart vison system by using the provided infastructur of iam cameras. There are two possible ways for obtaining a an application for iam:

compile
  1. Compile native on iam

camera
  1. : small apps or specific Third Party Libraries .

and more
  1. More powerfull: cross

compiling
  1. compile on a host or server system

. Including whole
  1. , including the entire system optimization and FPGA

processing
  1. synthesis.

In this section we introduce our example repositories for both cases. By checking those out our Video Tutorials can assist you.

Example Repositories

There are different example Git repository for the iam camera system.

Smart app example with third party library

See section SynView Smart App Example using iAMGigEServer for a step-by-step guide.

Example Name

Compiling

Discription

Repository

opencv_dice

nativ

This app demonstrates dice cube detection and dots counting for each cube. Using OpenCV 3.4.13.

After processing the image is sent out via GigE Server.

net-gmbh/opencv_dice

https://bitbucket.org/

sw_remap_synview

nativ/cross

The example remap_synview uses the function cv::remap from OpenCV.

After processing the image is sent out via GigE Server.

net-gmbh/

opencv

iam_

dice

sw/

sw_

scaler

remap_boxfilter_synview

nativ/cross

This example uses no hw acceleration.
But it uses the same infrastructure like other hw accelerated examples.

The example sw_remap_boxfilter_synview uses the cv::remap and cv::boxfilter function from OpenCV. It demonstrates the execution of multiple sw- and hw-functions in different processing threads. The connection between the threads is established with two image-buffers. One is written, the other is read and vice versa.

After processing the image is sent out via GigE Server.

net-gmbh/iam_sw/

sw_scaler_synview

nativ/cross

The main processing consists of a simple c-code scaler for horizontal and vertical rescaling.

After processing the image is sent out via

gige - server

GigE Server.

https://bitbucket.org/

net-gmbh/iam_

apps

sw/

Smart app with hardware accelerations and third party libraries

See section NET Open Camera Concept (OCC) for iam for a step-by-step guide.

ccode_synview

cross

The example code_synview uses HLS hw acceleration written in

c

C-code.

Main

The main processing method can be selected among following choices:

  • no processing

  • simple

c
  • C-code

sw
  • software processing

  • a optimized

c
  • C-code version with ARM NEON instructions

  • processing with

opencv
  • OpenCV functions

hw
  • Hardware accelerated processing based on a

c
  • C-code source

After processing the image is sent out via

gige - server

GigE Server.

https://bitbucket.org/

net-gmbh/iam_apps/

remap_synview

cross

The example remap_synview uses the

hw

hardware acceleration function xf::cv::remap from the Vitis vision library.

After processing, the image is sent out via

gige - server

GigE Server.

https://bitbucket.org/

net-gmbh/iam_apps/

dice

remap_boxfilter_synview

cross

The example

dice_synview demonstrates dice cube detection and dots counting for each cube. It uses multiple xfOpenCV functions.https://bitbucket.org/

remap_boxfilter_synview uses the hw acceleration function xf::cv::remap from the Vitis vision library and the cv::remap and cv::boxfilter function from OpenCV.
It demonstrates the execution of multiple sw- and hw-functions in different processing threads. The connection between the threads is established with two image-buffers. One is written, the other is read and vice versa.

After processing, the image is sent out via GigE Server.

net-gmbh/iam_apps/

rtl_threshold_synview

cross

This example uses RTL

hw

hardware acceleration written in

verilog

Verilog.

After processing, the image is sent out via

gige - server.https://bitbucket.org/

GigE Server.

net-gmbh/iam_apps/

strm_boxfilter_synview

cross

This example uses HLS hw acceleration with the xfOpenCV function xf::cv::boxfilter in the streaming path.
The module is located after the sensor interface and before the dma. The AXI-Stream data width convertion will be done by either axiStrm_wInc/axiStrm_wDec (HLS-implementation) or axiStrm_wInc_rtl/axiStrm_wDec_rtl (RTL-implementation).

After processing, the image is sent out via GigE Server.

net-gmbh/iam_apps/

strm_rtl_threshold_synview

cross

This example uses RTL

hw

hardware acceleration in the streaming path.
The module is located between

the

sensor interface and

the

dma.
It consists of a 32-

Bit

bit master and 32-

Bit

bit slave axi-stream interface for sensor pixel data and a 32-

Bit

bit axi-lite control interface for register access.

After processing, the image is sent out via

gige - server

GigE Server.

https://bitbucket.org/

net-gmbh/iam_apps/

sw_scaler_synview

cross

This example uses no hardware acceleration.
But it uses the same infrastructure like other hardware accelerated examples.
The main processing consists of a simple C-code scaler for horizontal and vertical rescaling.

After processing the image is sent out via GigE Server.

net-gmbh/iam_apps/

Smart app example with machine learning

See section iam ML - Machine Learning ready for a step-by-step guide.

dpuClassify

  • Reference application for image classifier training and execution

.
  • Different convolutional models are available (VGG, DenseNet, ResNet, Inception)

  • Training code for transfer learning with Keras and Tensorflow

  • Vitis Ai model conversion code

  • iam application for image classification

https://bitbucket.org/

net-gmbh/iam_ml/

📚 Content


Child pages (Children Display)
alltrue
depth100
styleh2
excerptTyperich content

🔗 related content

SynView

Third Party Libraries

Video Tutorial Session

🌍 external media Insert excerptMasterContent: external mediaMasterContent: external medianopaneltrue

Confluence youtube macro video
fullscreenConfluenceButton
width240
videoIdhttps://youtu.be/ONPSNmUwTF4?feature=shared
height160
Confluence youtube macro video
fullscreenConfluenceButton
width240
videoIdhttps://youtu.be/FdP2iPrMXC8?feature=shared
height160
Confluence youtube macro video
fullscreenConfluenceButton
width240
videoIdhttps://youtu.be/HkhEZL4qBvU?feature=shared
height160
Confluence youtube macro video
fullscreenConfluenceButton
width240
videoIdhttps://youtu.be/6FJaaO-Pizw?feature=shared
height160

👥 contact NET

Insert excerpt
iam:MasterContent: Contact NET
iam:MasterContent: Contact NET
nopaneltrue