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
- Supports AMS-CMOSIS, Sony and GPixel sensors
- Bayer RGB, Mono/NIR/SWIR, Hyperspectral, X-Ray
- Optional Dual-head system (2 different sensors in one platform)
- Embedded CPU/GPU and AI module
- Embedded CPU running Linux open source
- Optional Hailo-8 Edge 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.
qtec C-Series
Component | Description |
---|---|
CPU | AMD Ryzen V1605B (8) @2.000 GHz V1605B |
GPU | AMD Ryzen Embedded V1605B with Radeon™ Vega 8 Graphics V1605B |
Sensor Interface (AFE) | FPGA based qt5146 board (PCIe x4) |
Sensors | ams CMOSIS, Gpixel GMAX, Gpixel GSENSE, Sony IMX and X-Scan families |
Bitstreams | Check available qtec C-Series bitstreams |
Additional Modules
The following hardware is also supported on the qtec C-Series Platform.
Hardware | Description |
---|---|
AI Module | Hailo-8™ M.2 Edge AI Acceleration Module hailo-ai |
M.2 SSD | PCIe M.2 Solid-State Drive (SSD) |
Check the qtec C-Series AI camera section for more details on the Hailo-8 module.
The M.2 SSD can be used for faster data storage only. It is not possible to boot from it.
Dual head system
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.
Both heads can run independently or can be configured to be synchronized.
Refer to the Dual Head Camera setup section for more details.
Interfaces
- 2x Gigabit Ethernet connections
- Display port or HDMI output (through USB-C connector)
- 2x USB 3.2 ports
- Cfast card interface
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.
- Light Synchronization
- External camera trigger
- Synchronization of multiple cameras (master/slave)
- Trigger Sequence: sequence with multiple exposures
- With 2 possible light source triggers (e.g. RGB + NIR)
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.
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.
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.