Skip to main content

Overview

Qtec cameras aim to combine image capture and real-time onboard image processing in a robust package suitable for industrial applications. The processing platform is based on an AMD APU (CPU + embedded GPU) and the image sensor interface is handled by an FPGA. The FPGA interface allows having some optimized image pre-processing methods as well as giving flexibility for the sensor choice (several different sensors are supported). The whole system runs on a custom Linux kernel using Video4Linux as the image capture API. This means that qtec cameras are basically full linux computers with image sensors attached.

This section will explain in more detail the full camera architecture.

Modular Industrial Smart Camera

  • Process data smarter and faster with image processing integrated within the camera.
  • Exchangeable camera heads
  • Embedded CPU/GPU and AI module
  • Sensor interface through a FPGA (with some image pre-processing functions)
  • Easy synchronization with light system and/or between multiple cameras through I/O signals
  • Ability to run as a complete standalone image-processing system, without the need for an external PC or other product integration.

Platform

The qtec C-Series platform supporting ams CMOSIS, Gpixel GMAX, Gpixel GSENSE, Sony IMX and X-Scan families.

camera platform

qtec C-Series

ComponentDescription
CPUAMD Ryzen V1605B (8) @2.000 GHz V1605B
GPUAMD Ryzen Embedded V1605B with Radeon™ Vega 8 Graphics V1605B
Sensor Interface (AFE)FPGA based qt5146 board (PCIe x4)
Sensorsams CMOSIS, Gpixel GMAX, Gpixel GSENSE, Sony IMX and X-Scan families
BitstreamsCheck available qtec C-Series bitstreams

Additional Modules

The following hardware is also supported on the qtec C-Series Platform.

HardwareDescription
AI ModuleHailo-8™ M.2 Edge AI Acceleration Module hailo-ai
M.2 SSDPCIe M.2 Solid-State Drive (SSD)
info

Check the qtec C-Series AI camera section for more details on the Hailo-8 module.

info

The M.2 SSD can be used for faster data storage only. It is not possible to boot from it.

Dual head system

img500px

The qtec C-series platform offers the possibility of running with a fixed head of your choice ("compact setup"), or with a dual-head cable connector, allowing to connect one or two heads.

info

Both heads can run independently or can be configured to be synchronized.

Refer to the Dual Head Camera setup section for more details.

Interfaces

By connecting a screen, keyboard, and mouse to the camera you have a full computer available.

IO Interfaces

The camera has three built-in I/O interfaces that can be used for synchonization with a light system and/or between multiple cameras.

Refer to the Camera/Light Synchronization section for more details.

Software Stack

  • GNU/Linux

  • V4L2 API

  • Yocto Project/OpenEmbedded: software distribution

  • Open-source libraries and applications for image processing and application development

    • GStreamer
    • OpenCV
    • OpenCL
  • Languages

    • C/C++
    • Python
      • Jupyter notebook

FPGA Pre-processing

Several operations are performed by the FPGA thus offloading the main CPUs of these tasks.

  • White balance (RGB gains)
  • Color Correction Matrix (3x3 CCM)
  • Gain Map: Lens Vignetting and Illumination Correction
  • Pixel re-mapping: fx Perspective Correction and Lens Distortion
  • De-bayering: Bilinear Interpolation or Decimation (nearest neighbor)
  • LUTs (One Per Colour or Mono): User-defined pixel value translation (Gamma, Intensity Stretch, etc)
  • Convolution Kernels (3×3 or 5×5): Image Sharpening, Blur, Contrast Enhancements, etc.
  • Image Format Conversion RGB to YUV, HSV or Other Special Combinations Like RGBH

Camera Configuration

All the interaction with the camera and the FPGA is done through the standard Video4Linux API.

This includes not only the different format converters but also the programming of the advanced components as the LUT, camera calibration or the Illumination Correction.

See V4L2 API for more details on the Video4Linux API.

image

Web Interface

Point browser to http://<camera_ip>

Qtechnology cameras are easily configured through the web interface and the images (PPM, JPEG, TIFF, RAW) can be checked and downloaded through a standard web browser, without installation of any special programs or drivers.

Control all the camera features: like image formats, image size, regions of interest (cropping), frame rate, exposure time, triggers, gain, etc. All these features are controlled through the V4L2 API controls, which are also available controls from user applications.

Live images (JPEG) and download (PPM, JPEG, TIFF, RAW).

Other special features built into the web interface is auto white balancing, focus adjustment measures, histograms, sensor calibration, etc.

All configurations can be saved and restored for use in user applications or for setting up other cameras (XML).

See Camera Web UI for more details on the different functionalities of the web interface.

gwt

Command Line Tools

See Camera Tools.

qamlib

The easiest way to start programming in the camera is to use qtec's v4l2 python bindings: qamlib. It gives full access to all the camera functionality like getting frames and settings controls.

Refer to the qamlib section for more details.