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 vision system by using the provided infrastructur of iam camera.

There are two ways for obtaining an application for iam:

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

  2. 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.

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/iam_sw/

sw_remap_boxfilter_synview

nativ/cross

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.

net-gmbh/iam_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-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.

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.

net-gmbh/iam_apps/

remap_boxfilter_synview

cross

The example 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.

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.

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

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

Confluence youtube macro video
fullscreenConfluenceButton
width240
videoIdhttps://youtu.be/-Dk3F5CX0_AONPSNmUwTF4?feature=shared
height160
Confluence youtube macro video
fullscreenConfluenceButton
width240
videoIdhttps://youtu.be/FdP2iPrMXC8?feature=shared
height160
Confluence youtube macro video
fullscreenConfluenceButton
width240
videoIdhttps://wwwyoutu.youtube.combe/watchHkhEZL4qBvU?vfeature=tS-9ona1hd8shared
height160
Confluence youtube macro video
fullscreenConfluenceButton
width240
videoIdhttps://youtu.be/JkTNg7Ihgy86FJaaO-Pizw?feature=shared
height160

👥 contact NET

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