Versions Compared

Key

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

🦉 Introduction


Excerpt

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

Image RemovedExample Repositorys

.

Image Added

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

Smart app example with third party

libary
  • opencv_dice

https://bitbucket.org/net-gmbh/opencv_dice/

smart

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

libarys

libraries

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

ccode_synview

  • dice_synview

  • remap_synview

  • https://bitbucket.org/

    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/

    • smart app example with maschine learning

    https://bitbucket.org/

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