在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/286
和
https://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
我正在使用 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/286 和 https://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