ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Hadron ov64b snapshots have a vertical image artifact

    Video and Image Sensors
    3
    21
    451
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Alex KushleyevA
      Alex Kushleyev ModalAI Team @Alex Kushleyev
      last edited by

      OK, some updates..

      • the reason why the resolution 9216x6944 was not accepted for snapshot is that the camera pipeline has a list of allowed resolutions and that resolution was not one of them. I could add the resolution 9216x6944 to the list, but actually another resolution (9216x6912) was already supported, so i updated the ov64b driver to include that. The latest driver is available here : https://storage.googleapis.com/modalai_public/temp/ov64b/20260417/ov64b_20260417.zip

        • this driver has the following resolutions : 9248x6944, 9216x6944 9216x6912 and the other lower resolutions. You can use 9216x6912 since it's compatible with misp and isp snapshot.
      • I also added 9216x6912 resolution to the supported misp resolutions in camera server (dev branch) as well as allowed using misp with snapshot (previously it would throw an error since we thought that previously they were not compatible).

      • Actually, snapshot does work with raw_preview + misp, but here is a warning that gets printed continuously:

      WARNING: preview buffer pool for Cam(hires), Frame(30) has 0 free, skipping request
      

      we can work around this warning by adding the following line to the voxl-camera-server.conf for the ov64b camera. this limits the number of buffers that are queued up for the streams and resolves the warning.

      "max_request_queue_depth": 6,
      

      So with these changes, you should be able to use two configurations

      • preview + raw_preview + misp + snapshot
      • small_video + snapshot

      Please use the latest camera server from dev branch.

      Right now, if you enable misp + small+video + snapshot, it does not work properly, but i will try it figure it out. Here is an example set up for small video + snapshot, but you can easily change it to use misp by disabling small_video and enabling preview + misp (and set auto exposure to "auto" from "isp" (auto will use misp auto exposure)).

      Please try it out. I do agree that the ISP output has better overall image quality than MISP, also related to pretty significant lens shading of this small lens on ov64b. We will work on improvements of misp image processing.

      For now, you just need to decide whether you need both RAW bayer and ISP JPG, in which case you cannot use small_video for streaming (until i resolve the issue). This means slightly worse image quality for live streaming. But if you are ok with ISP jpg, you can disable misp and use small_video stream for streaming.

      By the way, i did not see any artifacts in the jpeg from ISP. Can you please let me know if the artifact is in every frame and where exactly it is located? or is the occurrence and location random?

      {
                              "type":                 "ov64b",
                              "name":                 "hires",
                              "enabled":              true,
                              "camera_id":            1,
                              "fps":                  30,
                              "en_preview":           false,
                              "en_misp":              false,
                              "max_request_queue_depth": 6,
                              "preview_width":        9216,
                              "preview_height":       6912,
                              "en_raw_preview":       true,
                              "en_small_video":       true,
                              "en_large_video":       false,
                              "en_snapshot":          true,
                              "ae_mode":              "isp",
                              "gain_min":             100,
                              "gain_max":             1600,
                              "misp_width":           1600,
                              "misp_height":          1200,
                              "misp_venc_enable":     false,
                              "misp_venc_mode":       "h265",
                              "misp_venc_br_ctrl":    "cqp",
                              "misp_venc_Qfixed":     38,
                              "misp_venc_Qmin":       15,
                              "misp_venc_Qmax":       50,
                              "misp_venc_nPframes":   29,
                              "misp_venc_mbps":       30,
                              "misp_venc_osd":        false,
                              "misp_awb":             "auto",
                              "misp_gamma":           1,
                              "misp_zoom":            1,
                              "ae_desired_msv":       110,
                              "exposure_min_us":      20,
                              "exposure_max_us":      33000,
                              "exposure_soft_min_us": 5000,
                              "ae_filter_alpha":      0.6,
                              "ae_ignore_fraction":   0.2,
                              "ae_slope":     0.05,
                              "ae_exposure_period":   1,
                              "ae_gain_period":       1,
                              "small_video_width":    1600,
                              "small_video_height":   1200,
                              "small_venc_mode":      "h264",
                              "small_venc_br_ctrl":   "cqp",
                              "small_venc_Qfixed":    30,
                              "small_venc_Qmin":      15,
                              "small_venc_Qmax":      40,
                              "small_venc_nPframes":  9,
                              "small_venc_mbps":      2,
                              "en_snapshot_width":    9216,
                              "en_snapshot_height":   6912,
                              "exif_focal_length":    3.1,
                              "exif_focal_length_in_35mm_format":     17,
                              "exif_fnumber": 1.24,
                              "snapshot_jpeg_quality":        75
                      }
      
      1 Reply Last reply Reply Quote 0
      • First post
        Last post
      Powered by NodeBB | Contributors