qq_46211067 2025-01-09 09:56 采纳率: 33.3%
浏览 81
已结题

点云目标检测通过ssh远程连接服务器如何可视化结果?

做点云目标检测的时候,如果是通过ssh远程连接服务器跑的实验,那么open3d不可用,该如何可视化结果呢(包含点云、检测框、真值框)?
我在复现OpenPCDet库,目前已经跑通了训练,在跑demo.py可视化的时候遇到了问题。我有尝试将输出存为.ply文件在本地用CloudCompare和MeshLab可视化,但都不成功,前者可以可视化出点云,但没办法把框表示出来;又尝试了好几种转发可视化窗口回本地的方法,如用MobaXterm、Xming、X2go等,均未能成功。
好疑惑,求帮助,想请问同样做点云检测并且也是连服务器跑代码的朋友,你们是怎么可视化点云检测的结果的呢?

  • 写回答

13条回答 默认 最新

  • 道友老李 JWE233286一种基于机器视觉的水表指针读数识别及修正的方法 专利发明者 2025-01-09 09:57
    关注
    让【道友老李】来帮你解答,本回答参考gpt编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
    如果答案让您满意,请采纳、关注,非常感谢!
    为了在远程服务器上完成点云目标检测并可视化结果,可以考虑以下方法:
    1. 将检测结果以合适的格式保存在服务器上,例如JSON格式。在服务器端,可以将点云数据和检测框的信息保存在一个json文件中。
    2. 使用Python的json库解析json文件,并利用matplotlib等可视化库在服务器端生成可视化结果。可以在可视化结果中将点云和检测框一起显示出来。
    3. 在服务器端使用matplotlib库创建一个2D图,并将点云和检测框一起绘制出来。代码示例如下:
    import json
    import numpy as np
    import matplotlib.pyplot as plt
    # 从json文件中读取点云数据和检测框信息
    with open('detection_results.json', 'r') as f:
        data = json.load(f)
    # 解析点云数据
    point_cloud = np.array(data['point_cloud'])
    # 解析检测框信息
    detection_boxes = data['detection_boxes']
    # 创建图像
    plt.figure(figsize=(10, 10))
    plt.scatter(point_cloud[:, 0], point_cloud[:, 1], s=1)  # 绘制点云
    for box in detection_boxes:
        plt.gca().add_patch(plt.Rectangle((box[0], box[1]), box[2]-box[0], box[3]-box[1], edgecolor='b', facecolor='none'))  # 绘制检测框
    plt.axis('equal')
    plt.show()
    

    通过以上方法,您可以在远程服务器上完成点云目标检测并可视化结果,无需依赖Open3D或本地软件。希望能帮助到您解决问题。如果还有其它问题,请随时与我联系。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月16日
  • 赞助了问题酬金15元 1月13日
  • 修改了问题 1月13日
  • 修改了问题 1月13日
  • 展开全部