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.

There are two ways for obtaining an application for iam:

compile
  1. Compile native on iam: small apps or specific Third Party Libraries .

and more
  1. More powerfull: cross compile on a host or server system, including the entire system optimization and FPGA 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

GigE Server.

https://bitbucket.org/

net-gmbh/opencv_dice

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 hardware acceleration.
But it uses the same infrastructure like other hardware 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

c-code scaler for horizontal and vertical rescaling.

After processing the image is sent out via GigE

server

Server.

https://bitbucket.org/

net-gmbh/iam_

apps

sw/

Smart app with hardware accelerations and third party libraries

See section https://net-iam.atlassian.net/wiki/pages/resumedraft.action?draftId=79986879 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-code.

The main processing method can be selected among following choices:

  • no processing

  • simple C-code software processing

  • a optimized C-code version with ARM NEON instructions

  • processing with OpenCV functions

  • Hardware accelerated processing based on a C-code source

After processing the image is sent out via GigE

server

Server.

https://bitbucket.org/

net-gmbh/iam_apps/

remap_synview

cross

The example remap_synview uses the hardware acceleration function xf::cv::remap from the Vitis vision library.

After processing, the image is sent out via GigE

server

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 hardware acceleration written in Verilog.

After processing, the image is sent out via GigE

server.https://bitbucket.org/

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 hardware acceleration in the streaming path.
The module is located between sensor interface and dma.
It consists of a 32-bit master and 32-bit slave axi-stream interface for sensor pixel data and a 32-bit axi-lite control interface for register access.

After processing, the image is sent out via GigE

server

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