Skip to content

Automatic adaption of camera parameters #3

Description

@lixfel

Most automatic exposure, gain, gamma and white balance algorithms integrated into cameras are ill-suited for robot and ball detection in the SSL. Tested cameras tend to overexpose the color blobs, making the color attribution difficult and unstable. In darker environments cameras also oftentimes prefer increasing the exposure instead of the gain, potentially leading to reduced frame rates. White balance algorithms have been observed to struggle due to green and/or gray carpets taking most of the image space.

Automatic adaption algorithms inside vision processor would help simplifying the setup and tuning further. In most cases blobs are detected even in suboptimal conditions, although not necessarily with the correct color. Therefore existing blob detections could be used for the automatic parameter adaption. White balance and brightness (exposure, gain, gamma) are likely separate (related) issues.

The algorithm(s) should take into account the following observed constraints:

  • Exposure near or above the frame time reduces the camera fps
  • Large exposure values introduce motion blur
  • Overexposed (too bright; too large gain or exposure) blobs lead to unstable color identification due to the blobs becoming white
  • Underexposed (too dark; too low gain or exposure) blobs remain undetected due to low blob scores/contrast
  • A high gamma value increases the impact of shadows and uneven lighting conditions
  • A low gamma value reduces the color contrast
  • A significantly off-center white balance will lead to wrong color identification (rc2022/cam0/3.png from the vision test dataset is a prime example due to only yellow bots and a significantly blueish white balance)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions