FeiYull / TensorRT-Alpha

🔥🔥🔥TensorRT for YOLOv8、YOLOv8-Pose、YOLOv8-Seg、YOLOv8-Cls、YOLOv7、YOLOv6、YOLOv5、YOLONAS......🚀🚀🚀CUDA IS ALL YOU NEED.🍎🍎🍎
GNU General Public License v2.0
1.25k stars 195 forks source link

YOLOV8-SEG 如何快速获取mask掩码 #113

Closed rrrrmy closed 2 months ago

FeiYull commented 2 months ago

@rrrrmy
https://github.com/FeiYull/TensorRT-Alpha/blob/bca9575229ef5f6fe4c5acf51c1bd3c7e5959ec6/yolov8-seg/yolov8_seg.cpp#L216

变量canvas

rrrrmy commented 2 months ago

谢谢,已加星,但是获取到canvas需要用到YOLOv8Seg::showAndSave函数,我想实时在相机上获取对应照片的mask的话这个函数处理时间还是太高了,有什么间接的方法可以快速获得mask或者mask对应的多边形点吗?感谢! @FeiYull

FeiYull commented 2 months ago

@rrrrmy https://github.com/FeiYull/TensorRT-Alpha/blob/bca9575229ef5f6fe4c5acf51c1bd3c7e5959ec6/yolov8-seg/yolov8_seg.cpp#L197

对变量mask_instance执行opencv中查找凸包,或者轮廓函数,例如cv::findContours,如果你的图片中只有一个instance,循环一次,很快。越多越慢。

rrrrmy commented 2 months ago

@FeiYull 谢谢你的耐心回答,另外我还发现在windows下的debug模式下,采用eigen库比利用opencv库做矩阵相乘与赋值的操作,eigen消耗的时间更久,不知道是不是debug模式的原因

FeiYull commented 2 months ago

@rrrrmy 别用debug测速,可以自己改成opencv作矩阵乘法试一试

rrrrmy commented 2 months ago

好的,谢谢!