What is AE ROI? How to Implement Auto Exposure Region of Interest in NVIDIA Argus Cameras

What you will learn:
  • How AE ROI focuses exposure in key zones to boost accuracy in license plate recognition, surveillance, and object tracking
  • Step-by-step methods to set AE ROI in Argus via API, GStreamer, and GUI controls
  • Why AE ROI is crucial for avoiding over/underexposure in complex lighting conditions

In embedded vision applications where lighting conditions vary across a scene, controlling how a camera handles exposure in specific regions is important. This is where Auto Exposure (AE) Region of Interest (ROI) comes into play. AE ROI enables developers to fine-tune exposure based on designated areas of a frame, ensuring optimal image quality in mission-critical zones.

In NVIDIA’s Argus camera framework, AE ROI has a crucial role in optimizing the exposure settings for specific areas within a frame. The function setAeRegions() is used to define these AE regions. So, the camera can prioritize exposure calculations for the specified areas.

In this blog, we explain how AE ROI works in the Argus framework and demonstrate both static (GStreamer-based) and dynamic (GUI-based) methods of configuring it using e-con Systems’ camera solutions.

What is the AE ROI Region in NVIDIA Argus Cameras?

An AE Region is a user-defined area in the camera’s field of view where the auto-exposure algorithm adjusts the brightness based on the light intensity. It is useful for applications requiring precise exposure control in specific areas, such as:

  • Face detection and recognition
  • Object tracking
  • License plate recognition
  • Low-light scene optimization

Each AE region is typically defined by:

  • X, Y coordinates – The starting position of the region
  • Width and Height – The size of the region
  • Weight – A factor determining the importance of the region in the exposure calculation


How setAeRegions() Works in NVIDIA Argus Cameras

The setAeRegions() function is called to configure AE regions before capturing frames. Here’s an example of how it can be used in C++:
std::vector<AcRegion> regions;
AcRegion aeRegion(100, 50, 200, 150, 0.8); // (x, y, width, height, weight)
regions.push_back(aeRegion);
ac->setAeRegions(regions);

  1. The function takes a std::vector<AcRegion> as input.
  2. AE algorithm processes only the pixels inside the specified regions.
  3. If multiple regions are set, their exposure contribution is weighted accordingly.
  4. The exposure values update dynamically as lighting conditions change.

The following block diagram illustrates how AE ROI is implemented in NVIDIA Argus cameras.

How to Use AE ROI in NVIDIA Argus Cameras

AE ROI with GStreamer (Static Configuration)

You can configure AE ROI using GStreamer with fixed regions using the following command:

$ gst-launch-1.0 nvarguscamerasrc sensor-id=<n> sensor-mode=<m> aeregion="x1 y1 x2 y2 1.0" ! "video/x-raw(memory:NVMM), width=(int)<WIDTH>, height=(int)<HEIGHT>, framerate=<FRAME_RATE>/1, format=(string)NV12" ! nv3dsink -ev
Where, <n> - video device node.
<m> - sensor mode.
<WIDTH>, <HEIGHT> and <FRAME_RATE> - resolution and frame rate of the sensor mode.
x1 y1 x2 y2 - AE ROI coordinates, format: uint32_t.

AE ROI with Argus GUI Application (Dynamic Configuration)

You can dynamically set AE ROI using  the Argus application by the following steps:

  1. Download the Argus camera application from e-con Systems’ release package or contact us for support.
  2. Inside the package, use the Argus_ROI-Application_Insallation_Guide text file to make and install the eCAM_argus_camera application
  3. After the installation is completed, launch the Argus application using the below command.
    $ eCAM_argus_camera
    The Argus application will have newly added GUI elements for AE ROI as shown in the image below.
  4. Access newly added GUI controls for AE ROI configuration:AE ROI Left, Top, Right, Bottom – To define region coordinatesAE ROI Checkbox – To enable or disable the AE ROI featureFollow these steps to configure AE ROI coordinates using the Argus GUI:
    • Use AE ROI Left, AE ROI Top, AE ROI Right, and AE ROI Bottom to enter the AE ROI region.
    • Select the AE ROI check box to apply the AE ROI coordinates.
    • To change with other coordinates, deselect the AE ROI check box, change the AE ROI coordinates and then select the AE ROI option to apply the options.
    • Maximum and minimum values for AE ROI Left, AE ROI Top, AE ROI Right, and AE ROI Bottom are:
    Parameter Minimum Maximum
    AE ROI Left   0 3584
    AE ROI Top   0 1904
    AE ROI Right 256 3840
    AE ROI Bottom 256 2160

    Notes:

    • The minimum window size is 256×256 to make sure enough pixels are considered for averaging to reduce noise and spikes.
    • Use even numbers to specify the AE region.
    • Make sure that AE ROI Right, AE ROI Bottom should not be less than the AE ROI Left, and AE ROI Top with a minimum value of 256.
    Example: Calculating the AE region

    AcRegion configuration with a 400×400 region at the bottom-right of a 3840×2160 image, you should use:

    Argus::AcRegion region (3440, 1760, 3840, 2160, weight);
    _left = 3440 (3840 - 400)
    _top = 1760 (2160 - 400)
    _right = 3840 (width)
    _bottom = 2160 (height)
    _weight = 1.0f(default)

How Dynamic AE ROI Works in Argus GUI

  1. Enabling the AE ROI check box will allow the user to set the dynamic coordinates to the CAPTURE stream
  2. Users can use AE ROI Left, AE ROI Top, AE ROI Right, and AE ROI Bottom to change the coordinates accordingly
  3. Based on the user input, the Argus application will set the AE ROI region accordingly – without closing the stream
  4. Disabling the AE ROI will apply exposure across the entire frame.
  5. Changed AE ROI region values will be stored.

High-Quality NVIDIA-Compatible Cameras By e-con Systems

Since 2003, e-con Systems has specialized in designing and manufacturing high-quality custom and off-the-shelf OEM cameras. As an NVIDIA Elite partner, we provide camera solutions based and NVIDIA platforms – supporting Jetson AGX Orin, NVIDIA Jetson Orin NX / NANO, Jetson Xavier NX / Nano / TX2 NX, and Jetson AGX Xavier.

Discover all our NVIDIA-based cameras.

Go to our Camera Selector Page to see our complete portfolio.

Need an expert to help find and integrate a world-class NVIDIA-based camera into your embedded vision application? Please write to camerasolutions@e-consystems.com.

Related posts

New AE & AWB Light Metering Features in ISX031-Based Camera: Enhancing Automotive Vision Precision

What Is IEEE 2020 – 2024 Standard & How to Evaluate Automotive Camera Image Quality Using It?

Enabling Next-Gen Vision: e-con Systems explores USB 3.2 Gen2, Infineon EZ-USB™ FX10, and High-Bandwidth Camera Applications