This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM62A7:SDK 版本上的 ISP 调优 11、EE 开启时图像模糊

Guru**** 2826855 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1617936/am62a7-isp-tuning-on-sdk-ver-11-blurry-images-with-ee-on

器件型号: AM62A7

您好、

我正在尝试针对 IMX327 摄像头传感器调节 ISP。 虽然颜色、白平衡和曝光似乎可以、但无论选择了什么 EE 值、图像都模糊。 对于初始 DCC 配置、我在接下来的文章中介绍了如何使用成像库中的自动调优功能: 【常见问题解答】TDA4VM:如何在 TDA4x/AM6xA SDK 的“imaging/tools/"下“下的 python 工具中使用自动调优?

我在不同的光照条件下使用了 4 个不同的原始帧、并使用了一个全黑帧作为参考。 新生成的 DCC 文件中没有 ee DCC 文件、因此、我已经使用 ISP 调优工具以默认值创建了该文件。 看到它没有带来任何改进、即使认为 gstreamer 流水线的 ee 模式设置为 MODE_Y8、我也使用了 IMX390 摄像头传感器的示例 ee DCC 文件。 从两次捕获中接收到的图像看起来相似(与环境闪电的变化有关略有差异)。  

相同的系统、但基于 SDK 版本构建。 当运行时将 ee 模式设置为 MODE_Y8(使用默认的 ee DCC 文件)、10 的图像清晰度有了明显改善。

什么可能导致不同 SDK 版本之间出现这种不同的行为、ISP 是否可能无法正确读取 ee 值? 使用 SDK 版本为系统构建 DCC 二进制文件。 10 不能在具有较新版本的系统上工作。 除了 EE 和可能的 NSF4 之外、是否还有其他 ISP 组件会影响图像的清晰度?

更新:

我相信 ee-mode=1 是指 EE_MODE_Y8、但它也指 EE_MODE_Y12 模式。 我的摄像头传感器会生成原始 rggb10 帧、根据我的理解、mode_y8 更适合这种情况、这些帧应处理为 NV12 格式。 但是、当 MODE_Y8 设置为 tiovxisp 节点时、它会暂停整个流水线。 MODE_Y12 正常工作、但如上所述、没有产生任何明显的改进。 您能否确认我在 MODE_Y8 后面的直觉是否正确、以及此模式是否导致其他摄像头传感器出现类似的行为?

此致、
Konrad  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Konrad:

    请注意、ee-mode=1 指的是 EE_MODE_Y12、如 GST-CHECK 所示:

    root@am62axx-evm:/opt/edgeai-gst-apps# gst-inspect-1.0 tiovxisp
    ...
      ee-mode             : Flag to set Edge Enhancement mode.
                            flags: readable, writable, controllable, changeable only in NULL or READY state
                            Enum "GstTIOVXISPEEModes" Default: 0, "EE_MODE_OFF"
                               (0): EE_MODE_OFF      - EE mode off
                               (1): EE_MODE_Y12      - Edge Enhancer is enabled on Y12 output (output0)
                               (2): EE_MODE_Y8       - Edge Enhancer is enabled on Y8 output (output2)
    

    mode_y12 运行正常、但如上所述、它没有产生任何明显的改进。 [/报价]

    您是否可以尝试提高边缘磨刀增益并查看是否有任何效果?

    此致、

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的建中:

    我捕获了 3 个不同的样本帧:EE 禁用、IMX390 的 EE 配置、EE 配置具有夸张的值、以验证 EE 是否影响质量。

    EE 禁用:

    IMX390 的 EE:

    夸张的 EE:

    图像是使用以下流水线拍摄的:

    gst-launch-1.0 -v \
        v4l2src device=/dev/video2 io-mode=dmabuf-import ! queue leaky=2 max-size-buffers=4 ! \
        video/x-bayer,width=1920,height=1080,framerate=30/1,format=rggb10 ! \
        tiovxisp sensor-name="SENSOR_SONY_IMX290" \
            dcc-isp-file=/opt/imaging/imx290/linear_tune/dcc_viss.bin format-msb=9 \
            sink_0::dcc-2a-file=/opt/imaging/imx290/linear_tune/dcc_2a.bin \
            sink_0::device=/dev/v4l-subdev2 \
            sink_0::ae-mode=0 sink_0::awb-mode=0 \
            ee-mode=1 ! \
        video/x-raw,format=NV12 ! \
        tiovxmultiscaler target=1 ! video/x-raw,width=1920,height=1080 ! \
        v4l2jpegenc ! \
        multifilesink location="$OUTPUT_PATTERN" max-files=5



    对于启用了 EE 的两个会话、设置了 MODE_Y12 (ee-mode=1)。 MODE_Y8 会在不产生任何帧的情况下暂停整个流水线。 我已在相同的硬件上进行了验证、但使用基于 SDK 版本的系统映像进行了验证。 10 Y12 和 Y8 两种模式都运行良好、但是我无法比较不同 EE 配置值之间的结果。 您能否验证在使用最新 SDK 版本的设置中 EE_MODE_Y8 是否正常工作?

    此致、
    Konrad

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    在对 ISP、调优工具和映像存储库进行更多讨论后、我强烈怀疑 gsttiovxisp 或底层 OpenVX 图形中存在错误。 Jianzhong Xu , Gang Hua , Chau Le 您能看看这个吗? 我认为、要正确应用边缘增强并锐化到我们的流水线、最新的 SDK 上是否有适用于 TIOVX 插件或 OpenVX 模块的已知补丁?

    此致、
    Konrad

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Konrad:

    在下面的主题中、J722S EVM 上的 SDK 11.1 中存在一个已知的 EE 问题。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1590744/j722sxh01evm-tda4ven-psdk11-01-tivxvpacvissdefaultmapeeparams-not-working/6186411?tisearch=e2e-sitesearch&keymatch=%22The%20EE%20issue%20should%20be%20caused%20by%20the%20commit%20below%22#

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Konrad、

    mode_y8 会在不产生任何帧的情况下暂停整个流水线。

    是的、我使用 IMX219 设置在 SDK 11.1 上重现了这个问题。 我创建了一个错误报告、希望它能很快得到解决。

    同时、您可以使用 SDK 10.x 吗?

    此致、

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的评分  谁负责解决此问题? 有没有办法 ping 那个人? 这对我们来说非常紧迫、我们无法使用 SDK 10.x、下周我们会有一个大型演示。

    非常感谢。  
    Jimmy

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jimmy:

    请联系您当地的 TI 支持团队以加快申请流程。

    此致、

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jimmy:

    对我们来说非常紧迫、我们不能使用 SDK 10.x、下周我们会有一个大型的演示。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1590744/j722sxh01evm-tda4ven-psdk11-01-tivxvpacvissdefaultmapeeparams-not-working/6186411?tisearch=e2e-sitesearch&keymatch=%22The%20EE%20issue%20should%20be%20caused%20by%20the%20commit%20below%22

    如以上主题中所述、您可以回滚此提交并重试。

    https://git.ti.com/cgit/processor-sdk/imaging/commit/kernels/hwa/vpac_viss/vx_vpac_viss_target_drv.c?h=main&id=3e540d2b482ca9b88ffb40c624883c5a680fb2c1

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jimmy:

    要重建 ISP 固件、您需要从 https://www.ti.com/tool/PROCESSOR-SDK-AM62A#downloads:下载固件构建器

    请发送申请并告知我们。

    此致、

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的建中和刚:  

    感谢你的帮助。 目前、我们已决定将 SDK 版本恢复为 10 作为临时解决方案。 但是、我们发现在最新的 SDK 中进行了一些有益的更改、如果您在修复可用时及时提醒我们、我们将不胜感激。


    此致、
    Konrad

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Konrad:

    「我知道,我知道你想要我。

    此致、

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的建中:

    我们还申请了访问固件构建器软件的权限、以便在 SDK 版本上的开发过程中并行应用此修复程序。 10、如果您能授予该工具的访问权限、我们将不胜感激。

    此致、
    Konrad

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的。 我来检查一下。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    我已在 ti-firmware-builder 中的映像模块中恢复提交、现在我在尝试编译 tispl.bin 时遇到依赖项问题。 您能否解释一下如何在不恢复其他组件版本的情况下编译模块?

    此致、
    Konrad

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Konrad:

    现在我遇到依赖关系问题

    您可以共享构建日志吗?

    谢谢你。

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的建中:

    我们的团队已经成功解决了这个问题。 诀窍是保留最新版本的映像模块、但恢复该单个 drv 源并删除“if ! defined(soc_am62)…“ 来自 2 个位置的子句(不这样做将导致 VX init 错误)。  

    此致、

    Konrad

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Konrad:

    感谢您的更新!

    并删除“if !defined (soc_am62)…“ 来自 2 个位置的子句(不这样做将导致 VX init 错误)。  [/报价]

    您能否分享这 2 项必要的更改、以便我们在必要时提交错误?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Gang:

    很抱歉晚才回复。 我将附加应用了修复程序的源文件。 它涉及从 163,226,233 和 240 行删除 ifdef。  

    希望这有助于解决问题。  

    此致、
    Konrad

     e2e.ti.com/.../0511.vx_5F00_vpac_5F00_viss_5F00_target_5F00_drv.c

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Konrad:

    感谢您发送编修。