Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flickering Issue on realsense d450 #12846

Open
Hrithik1049 opened this issue Apr 10, 2024 · 15 comments
Open

Flickering Issue on realsense d450 #12846

Hrithik1049 opened this issue Apr 10, 2024 · 15 comments

Comments

@Hrithik1049
Copy link

Hrithik1049 commented Apr 10, 2024

  • Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

  • All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)


Required Info
Camera Model { D400 }
Firmware Version (Open RealSense Viewer --> Click info)
Operating System & Version {Win (8.1/10) / Linux (Ubuntu 14/16/17) / MacOS
Kernel Version (Linux Only) (e.g. 4.14.13)
Platform PC/Raspberry Pi/ NVIDIA Jetson / etc..
SDK Version { legacy / 2.. }
Language {C/C++ }
Segment {Robot/Smartphone/VR/AR/others }

Issue Description

<Describe your issue / question / feature request / etc..>
I have been experiencing flickering of video while using realsense d450 camera. Is there any settings issue? or something wrong with the hardware.
The corresponding Settings File.
D435iSettings.json

vlc-record-2024-04-08-13h43m46s-frames.avi-.mp4
@MartyG-RealSense
Copy link
Collaborator

Hi @Hrithik1049 Are you enabling the HDR function or rapidly changing the exposure value, please?

@Hrithik1049
Copy link
Author

I am running on default settings. Regarding HDR and exposure.

  1. HDR is disabled
  2. Auto exposure is enabled
    For all the settings, please refer to the settings file I shared in the first post.

Also, wanted to ask why are we getting completely black frames.

@MartyG-RealSense
Copy link
Collaborator

The json defines 640x480 resolution at 30 FPS for depth and IR. However, when the camera is started the resolution and FPS in the json is ignored.

If a custom stream configuration (cfg) has not been defined in a program script then the program will instead automatically apply the default stream configuration of the particular RealSense camera model that is being used. So instead of using 640x480 at 30 FPS, the program is likely using 848x480 on D435i at 30 FPS for depth and IR. That may not account for the flickering effect on the IR stream though.

If the camera is being used outdoors then it is possible that if the camera faced directly into the sun at some point then its IR sensors could become saturated with light and cause exposure to drop to its minimum, resulting in a black frame. If auto-exposure is enabled then the camera should automatically recover once the camera is turned away from facing the light source directly.

Does it still flicker if auto-exposure is disabled and manual exposure is used instead?

@MartyG-RealSense
Copy link
Collaborator

Hi @Hrithik1049 Do you require further assistance with this case, please? Thanks!

@Hrithik1049
Copy link
Author

Hrithik1049 commented Apr 22, 2024

Yes, We saw that as soon as we turned off auto exposure some of the flickering went away. we also saw a setting in the source code of librealsense for anti-flicker exposure. Can you provide some more information on this?

@MartyG-RealSense
Copy link
Collaborator

#10733 (comment) has information about this mode.

I used the SDK's rs-sensor-control tool to check whether Auto Exposure Mode was supported on various models of 400 Series cameras. For most of them it stated that it was not supported, but on D455 it was supported. So it should work with D450, as this is the circuit board used inside a D455 camera.

image

In a previous case about this instruction, I suggested trying the C++ code below to set it. It resulted in an error about an invalid value but that may be because that particular case used the D435 model which doesn't support this option. So please try this code.

rs2::pipeline pipe;
rs2::pipeline_profile selection = pipe.start();
rs2::device selected_device = selection.get_device();
auto depth_sensor = selected_device.first<rs2::depth_sensor>();
depth_sensor.set_option(RS2_OPTION_AUTO_EXPOSURE_MODE, 1.f); // Enable auto-exposure anti flicker mode

@MartyG-RealSense
Copy link
Collaborator

Hi @Hrithik1049 Do you require further assistance with this case, please? Thanks!

@Hrithik1049
Copy link
Author

Hello @MartyG-RealSense . I ran the code you suggested but got this error.
Intel RealSense D455 error calling rs2_set_option(options:0x7fe3cc32a150, option:Auto Exposure Mode, value:1):
object doesn't support option #21

@Hrithik1049
Copy link
Author

I ran the rs-sensor-control and it generated this output for stereo camera sensor
Sensor supports the following options:

0: Backlight Compensation is not supported
1: Brightness is not supported
2: Contrast is not supported
3: Exposure
Description : Depth Exposure (usec)
Current Value : 33000
4: Gain
Description : UVC image gain
Current Value : 16
5: Gamma is not supported
6: Hue is not supported
7: Saturation is not supported
8: Sharpness is not supported
9: White Balance is not supported
10: Enable Auto Exposure
Description : Enable Auto Exposure
Current Value : 1
11: Enable Auto White Balance is not supported
12: Visual Preset
Description : Advanced-Mode Preset
Current Value : 0
13: Laser Power
Description : Manual laser power in mw. applicable only when laser power mode is set to Manual
Current Value : 150
14: Accuracy is not supported
15: Motion Range is not supported
16: Filter Option is not supported
17: Confidence Threshold is not supported
18: Emitter Enabled
Description : Emitter select, 0-disable all emitters, 1-enable laser, 2-enable laser auto (opt), 3-enable LED (opt)
Current Value : 0
19: Frames Queue Size
Description : Max number of frames you can hold at a given time. Increasing this number will reduce frame drops but increase latency, and vice versa
Current Value : 16
20: Total Frame Drops is not supported
21: Auto Exposure Mode is not supported
22: Power Line Frequency is not supported
23: Asic Temperature is not supported
24: Error Polling Enabled
Description : Enable / disable polling of camera internal errors
Current Value : 1
25: Projector Temperature is not supported
26: Output Trigger Enabled
Description : Generate trigger from the camera to external device once per frame
Current Value : 0
27: Motion Module Temperature is not supported
28: Depth Units
Description : Number of meters represented by a single depth unit
Current Value : 0.001
29: Enable Motion Correction is not supported
30: Auto Exposure Priority is not supported
31: Color Scheme is not supported
32: Histogram Equalization Enabled is not supported
33: Min Distance is not supported
34: Max Distance is not supported
35: Texture Source is not supported
36: Filter Magnitude is not supported
37: Filter Smooth Alpha is not supported
38: Filter Smooth Delta is not supported
39: Holes Fill is not supported
40: Stereo Baseline
Description : Distance in mm between the stereo imagers
Current Value : 95.1615
41: Auto Exposure Converge Step is not supported
42: Inter Cam Sync Mode
Description : Inter-camera synchronization mode: 0:Default, 1:Master, 2:Slave, 3:Full Salve, 4-258:Genlock with burst count of 1-255 frames for each trigger, 259 and 260 for two frames per trigger with laser ON-OFF and OFF-ON.
Current Value : 0
43: Stream Filter is not supported
44: Stream Format Filter is not supported
45: Stream Index Filter is not supported
46: Emitter On Off
Description : Alternating emitter pattern, toggled on/off on per-frame basis
Current Value : 0
47: Zero Order Point X is not supported
48: Zero Order Point Y is not supported
49: LDD temperature is not supported
50: Mc Temperature is not supported
51: Ma Temperature is not supported
52: Hardware Preset is not supported
53: Global Time Enabled
Description : Enable/Disable global timestamp
Current Value : 1
54: Apd Temperature is not supported
55: Enable Mapping is not supported
56: Enable Relocalization is not supported
57: Enable Pose Jumping is not supported
58: Enable Dynamic Calibration is not supported
59: Depth Offset is not supported
60: Led Power is not supported
61: Zero Order Enabled is not supported
62: Enable Map Preservation is not supported
63: Freefall Detection Enabled is not supported
64: Receiver Gain is not supported
65: Post Processing Sharpening is not supported
66: Pre Processing Sharpening is not supported
67: Noise Filtering is not supported
68: Invalidation Bypass is not supported
69: Digital Gain is not supported
70: Sensor Mode is not supported
71: Emitter Always On
Description : Emitter always on mode: 0:disabled(default), 1:enabled
Current Value : 0
72: Thermal Compensation
Description : Toggle thermal compensation adjustments mechanism
Current Value : 1
73: Trigger Camera Accuracy Health is not supported
74: Reset Camera Accuracy Health is not supported
75: Host Performance is not supported
76: Hdr Enabled
Description : HDR Option
Current Value : 0
77: Sequence Name
Description : HDR Option
Current Value : 0
78: Sequence Size
Description : HDR Option
Current Value : 2
79: Sequence Id
Description : HDR Option
Current Value : 0
80: Humidity Temperature is not supported
81: Enable Max Usable Range is not supported
82: Alternate IR is not supported
83: Noise Estimation is not supported
84: Enable IR Reflectivity is not supported
85: Auto Exposure Limit is not supported
86: Auto Gain Limit is not supported
87: Auto Rx Sensitivity is not supported
88: Transmitter Frequency is not supported
89: Vertical Binning is not supported
90: Receiver Sensitivity is not supported
91: Auto Exposure Limit Toggle is not supported
92: Auto Gain Limit Toggle is not supported
93: Emitter Frequency
Description : Controls the emitter frequency, 57 [KHZ] / 91 [KHZ]
Current Value : 0

@MartyG-RealSense
Copy link
Collaborator

In the rs-sensor-control listing that you kindly provided, item 21 states for your D450 that Auto Exposure Mode is not supported. I tested with my D455, and also with a D457 that is detected as D455 when used with a USB cable and both were listed as supporting Auto Exposure Mode. So it is possible that a camera has to be specifically identified as D455 in order for Auto Exposure Mode to be accessible.

When you run rs-sensor-control, what name is your D450 module identified by when it first starts, please?

@Hrithik1049
Copy link
Author

So in realsense viewer, it identifies as a D455 camera.

@MartyG-RealSense
Copy link
Collaborator

Which librealsense SDK version and camera firmware driver version are you using, please?

@Hrithik1049
Copy link
Author

tosend

@MartyG-RealSense
Copy link
Collaborator

Thank you very much for the Viewer image. I note that you are using Viewer version 2.38.1 and firmware 5.15.1.0. However, using a recent firmware with an old SDK or Viewer version can cause errors. The Viewer version that should be used with firmware 5.15.1.0 is 2.54.2.

The absolute minimum recommended version specification for D450 is SDK / Viewer 2.50.0 and firmware 5.13.0.50.

image

@MartyG-RealSense
Copy link
Collaborator

Hi @Hrithik1049 Do you require further assistance with this case, please? Thanks!

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

No branches or pull requests

2 participants