在YOLACT/YOLACT++中获取预测输出mask的多边形坐标

Get the polygon coordinates of predicted output mask in YOLACT/YOLACT++

我正在使用 Yolact https://github.com/dbolya/yolact,这是一种实例分割算法,它在检测到的对象上输出带有遮罩的测试图像。由于输入图像在 annotations.json 中给出了输入 类 周围的多边形坐标,我想得到这样的输出。但是我不知道如何提取那些 contours/polygons.

的坐标

据我从这个脚本中了解到 https://github.com/dbolya/yolact/blob/master/eval.py 输出是检测到的对象的张量列表。它包含评估图像的 类、分数、框和遮罩。 eval.py 脚本 returns 识别了包含所有这些信息的图像。识别保存在evalimg函数的'preds'中(第595行),post-预测结果的处理在“def prep_display”(第135行)

现在如何提取这些多边形坐标并将其保存在 .JSON 文件或其他文件中?

我也想看这些,可惜没看懂! https://github.com/dbolya/yolact/issues/286https://github.com/dbolya/yolact/issues/256

您需要针对您的任务创建一个完整的 post-processing 管道。这是可以添加到 eval.py

中的 prep_disply() 的小伪代码
with timer.env('Copy'):
    if cfg.eval_mask_branch:

        # Add the below line to get all the predicted objects as a list
        all_objects_mask = t[3][:args.top_k]

        # Convert each object mask to binary and then
        # Use OpenCV's findContours() method to extract the contour points for each object