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.

[参考译文] TDA2E:通道检测算法示例的输入

Guru**** 2595805 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/578489/tda2e-input-to-lane-detection-algorithm-sample

器件型号:TDA2E

您好!

我正在尝试了解并使用 VISION SDK 中提供的通道检测示例应用。

根据使用指南、8位二进制映像作为通道检测算法的输入。

在实际情况下、如果视频流来自摄像头、我们需要为 LD 示例应用提供什么输入?

提到 C66x DSP 内核可用于 LD。 任何其他内核可用于此目的、还是 DSP 内核专用于 LD?

谢谢、

Suganthi

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

    通道检测仅支持输入8位清晰数据。 如果摄像头用作输入、
    然后、只有来自其 YUV 输出的 Y (亮度)分量可用作 LD 算法的输入。

    您可以进行检查
    \vision_sdk\examples\tda2xx\src\usecases\vIP_single_cam_lane 检测
    相机用例-> LD 示例。

    我不确定是否可以在其他内核上运行 LD、但通常需要对象检测算法
    对不同数据执行大量相同的计算、DSP 架构是这些数据的最佳选择。

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

    目前、我们正在尝试使用以下内容。

    根据我们的要求、我们正在尝试使用 IP 摄像机。 因此、视频输入将通过以太网端口。

    但是、出于测试目的、我们目前正在使用 network_TX 工具并使用网络 Rx/TX 用例通过以太网端口将录制的视频(车道标记和车辆移动的视频)从 PC 发送到 EVM 板。

    以太网端口的视频输入必须进入通道检测模块。

    查询1:
    车道检测模块是否能够使用此视频输入?

    查询2:
    为了利用来自网络端口的视频并使用通道检测模块、我们需要在 EVM 板上进行哪种配置?

    查询3:
    通道检测模块的输出是什么?
    我们如何进一步利用该输出?

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

    查询3:
    车道检测输出所检测车道的坐标(X、Y)、并在车道未交叉/左侧车道交叉/右侧车道交叉时发出偏离警告。
    您可以参考文档:
    \ti_componations\Algorithms_codecs\REL.200.V.LD.C66X.00.02.03.00\200.V.LD.C66X.00.02\modules\ti_lane 检测\docs\LaneDetection_DSP_UserGuide.pdf
    (特别是第4.6.3章。 和5.1.9.4.). 您还可以在测试应用程序中浏览代码:
    \ti_componations\Algorithms_codecs\REL.200.V.LD.C66X.00.02.03.00\200.V.LD.C66X.00.02\modules\ti_lane 检测\test

    在查询1和2上、我将 ping 专家进行评论。

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

    您好、Suganthi、

    查询1:
    车道检测模块是否能够使用此视频输入?
    >>是的、VSDK 链接和链框架允许为您的应用轻松插入任何输入。 可以使用空源链接(vsdk/src/links_common/nullsrc)为 LD 模块获取网络输入。 我相信您已经使用此链接运行了一些示例。

    查询2:
    为了利用来自网络端口的视频并使用通道检测模块、我们需要在 EVM 板上进行哪种配置?
    >>不需要显式配置即可获取网络数据。 在启动网络应用之前、只需确保能够从 PC ping EVM IP 地址。

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

    根据用户指南、LD 模块的输入是8位二进制映像。

    我能够在 LD 模块的测试/输入文件夹中看到*。y 文件(图像文件)。

    但是、我如何使用来自摄像头/网络端口的视频作为通道检测模块的输入。

    目前、我们正在尝试运行通道检测模块的示例测试应用。

    我的疑问是、车道检测示例测试应用的输入应该是8位图像文件、还是也可以是来自摄像头的视频?


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

    默认情况下、LD 模块从 HDMI src 获取输入。 这在我们的案例中不起作用、因此我们尝试将 OMNI_VISION 摄像头用作源。 我们修改了将 OmniVision 摄像头用作源的源代码、它工作正常。

    根据您对查询1的答复、我们可以将网络输入馈送到 LD 模块。 我们正在努力实现这一目标。

    我们是否需要创建服务器、是否需要在通道检测用例中移植网络 Rx 用例的相关代码?

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

    是的、LD 算法 API 需要8b 灰度图像作为输入。

    由于摄像机提供了 YUV 数据格式、因此我们在采集时将 YUV 转换为 YUV420SP。

    这里有一个包含8b Y 数据的平面和一个包含8b UV 数据的层。

    通道检测算法插件将此类 YUV420SP 数据作为输入、当调用 LD 算法时、它仅提供8b Y 平面作为算法的输入

    此致

    Kedar

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

    在 VISION SDK 下、我们有两个不同的通道检测示例程序。

    一个位于以下目录下。
    C:\vision_sdk_02_12_00_00\ti_components \Algorithms_codecs\REL.200.V.LD.C66X.00.02.03.00
    我们尝试运行此操作、我们将获得一个 Excel 文件、其中(x、y)坐标作为输出。
    我们如何将视频转换为 YUV420SP 并作为输入发送到示例应用?

    2.另一个是在以下目录下。
    C:\vision_sdk_02_12_00_00\vision_sdk\examples\tda2xx\src\usecases\vIP_single_cam_lane 检测
    我们通过以太网端口发送示例路由视频来测试这一点。
    如何在显示视频中标记车道检测? 我们只能在右侧车道上看到一些线条标记。

    查询1:
    您能不能帮助我们了解我们可以使用哪个示例应用进行通道检测、这两个示例应用之间的区别是什么?

    查询2:
    我们的用例是、
    1.从输入视频中检测两个通道,并在通道上显示清晰的线条标记。
    2.获取 X、Y 坐标或车道标记中心之间的差异、以便在过车道时提供偏离警告。

    对于上述要求、适合使用哪种样片申请、以及如何进一步处理此类申请?

    请提供建议。

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

    您好 、Suganthi、

    这两个测试应用所使用的内核算法由位于 ti_components \Algorithms_codecs\REL.200.V.LD.C66X.00.02.03.00\modules\ti_lane 检测\lib 中的同一算法库提供

    第一 个测试应用用于在特定内核(C66x)上进行简单测试、而不涉及整个 SOC 和 实时 IO 器件。 它只能接受检测到的通道标记的文件输入和输出坐标。  而

    第二个测试应用是使用真实输入进行测试、并在显示设备上显示 -因此它涉及更多的 SOC 资源、如捕获、显示、控制器等。

    由于您的要求是显示通道标记 -我建议您使用第二个应用程序、并以通道标记的 X、Y 序数的形式从内核库中点击输出、并按照您希望用于其他用途的方式使用。

    谢谢、

    此致、

    Pramod

     

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

    感谢您的详细信息。

    我们尝试在两种情况下运行通道检测用例。

    一个具有摄像头输入、另一个通过网络 Rx 工具。

    当使用摄像头作为输入时、目前我们正在尝试在 PC 中播放示例视频。 我们能够清楚地看到车道区域和标记。

    使用 network_Rx 时、我们将以 MJPEG 格式从 PC 发送示例视频。 在用例中、我们将对视频进行解码。 在这种情况下、不会出现通道区域标记。

    为了不同地处理不同的视频输入、我们需要修改哪些基本参数?
    我们是否可以计算和修改 ROI 值(宽度、高度、startx、startY)的比率?
    如果视频输入采用不同的分辨率、我还需要更新哪些其他参数?

    您的建议将有所帮助。

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

    您好、Suganthi、

      ROI 的值可以根据输入分辨率和场景本身(例如、您的车道区域/道路区域在哪里)进行设置。 基于此、您可以确定您的 startx、startY、ROI 宽度和高度。 请注意、ROI 宽度集假定它包含填充6 (需要用于 Canny 边缘)。例如:如果您想要有效的 ROI 576、请将宽度设置为582。 在算法内部、我们使用用户设置的参数构建梯形 ROI。 请注意、计算的有效 ROI 可能小于用户定义的 ROI 尺寸。 此外、我们假设 ROI 宽度是8的倍数。

    根据输入分辨率、您还必须更改 hough 变换中使用的 maxRho 参数。 计算方法为 sqrt (ROI_w*ROI_w + ROI_h*ROI_h)。

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

    感谢您提供详细信息。

    我还有一个查询。 在通道检测示例用例中、我们为 LD_ALG_width 和 LD_ALG_HEIGHT 提供640x360。

    对于物体检测、它是1280x720。

    信道检测算法的宽度和高度为640x4360是否有任何具体原因?


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

    您好、Suganthi、

     对于通道检测、我们使用640x360、因为该分辨率足以检测通道。 但是、对于物体检测、更大的分辨率将有所帮助、因为您可以进行基于多量程的物体检测以检测大小可变的物体。  

    您始终可以使用更高的分辨率进行车道检测、但计算将会增加。

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

    查询1:
    假设有一个具有4个通道的视频帧、车道检测算法将提供帧中所有通道的坐标、还是仅提供当前轨道的左右坐标?

    查询2:
    我们需要如何配置 canny 最小和最大阈值参数?

    如果我们能够澄清上述问题、这将非常有帮助。

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

    感谢您的详细信息。
    对上述问题是否有任何建议?

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

    您好、Suganthi、

    不进行多通道检测。 因此、根据 ROI、它将在 hough 变换中检测具有更多选票的行、并输出这些行。 我们使用它仅通过限制 ROI 来执行当前车道检测。

    2.可以根据您的需要调整罐头食品边材。 如果您需要清晰的车道标记、则可以将其设置为高值(约80至100)。 这将减少产生的边沿数量、并且在通道标记清晰的情况下与通道主要相关、并且还将减少计算后边沿检测、因为您将在更少的边沿上运行。 但是、如果标记被污迹且不清晰、则可能需要将阈值设置得更低。  

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

    感谢您的澄清。

    我们希望检测捕获的帧中的所有通道、在通道交叉期间可能需要这些通道。
    我们是否可以修改算法以实现这一点?
    在这种情况下、我们可以从何处开始修改源代码?
    请建议。

    谢谢、
    Suganthi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Suganthi、
    如果要修改以检测多个通道、则需要在 Hough 变换后添加几个额外的块。 线路的霍夫变换将提供多个最大值。 最大值可能与相同的通道或不同的通道相关。 因此、您需要一些逻辑来确定它。 我认为这应该是起点、然后是一些后处理、例如跟踪多个通道以使检测变得平滑。 您可以在文件中添加特定内核、并将其放置在 ti_lane 检测/algo /src 文件夹中。 然后、您可以在 algo/ld_alg.c 文件中调用内核。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Prashanth、

    感谢您的解释。
    我在"ti_components "中的"ti_lane 检测"下只有"test、include、lib"文件夹。
    我没有"algo "目录。
    如何获取源代码?

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

    源代码相关信息属于机密信息、您应使用下面提到的私人论坛进行此类讨论。
    e2eprivate.ti.com/.../309.aspx

    如果贵公司与 TI 签订了 NDA、您应该能够访问私人论坛、我们可以在该论坛中讨论其余主题。 如果您无法访问上述论坛、请与您的 TI 联系点联系以访问此论坛

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

    感谢您提供信息。

    谢谢、
    Suganthi