yolov5 segment对输出结果进行去框、调节mask透明度以及调节自己想要的掩膜颜色

一、去框:

    打开"segment/predict.py",去除以下代码:

if save_img or save_crop or view_img:  # Add bbox to image
    c = int(cls)  # integer class
    label = None if hide_labels else (names[c] if hide_conf else f'{names[c]} {conf:.2f}')
    annotator.box_label(xyxy, label, color=colors(c, True))
     annotator.draw.polygon(segments[j], outline=colors(c, True), width=3)

二、调节mask透明度

    打开”utils/plots.py”,找到以下代码,并修改alpha,alpha取值范围为0-1,越靠近1越不透明,越靠近0越透明。

def masks(self, masks, colors, im_gpu=None, alpha=0.5):

三、调节想要的颜色

    打开“utils/plots.py",找到以下代码,修改hexs里面的代号就行;

class Colors:
    # Ultralytics color palette https://ultralytics.com/
    def __init__(self):
        # hex = matplotlib.colors.TABLEAU_COLORS.values()
        hexs = ('FF3838', 'FF9D97', 'FF701F', 'FFB21D', 'CFD231', '48F90A', '92CC17', '3DDB86', '1A9334', '00D4BB',
                '2C99A8', '00C2FF', '344593', '6473FF', '0018EC', '8438FF', '520085', 'CB38FF', 'FF95C8', 'FF37C7')
        self.palette = [self.hex2rgb(f'#{c}') for c in hexs]
        self.n = len(self.palette)

    def __call__(self, i, bgr=False):
        c = self.palette[int(i) % self.n]
        return (c[2], c[1], c[0]) if bgr else c

    如果你只想要单一的颜色,则可以将该部分代码修改为:

    (只需要将self.black = (0, 0, 0),中的rgb参数(0,0,0)进行修改即可)

class Colors:
    def __init__(self):
        self.black = (0, 0, 0)  # 黑色

    def __call__(self, i, bgr=False):
        return self.black if not bgr else self.black[::-1]

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Yolov5 Segment是基于Yolov5模型的分割任务的一种方法。Yolov5是一种目标检测模型,可以识别图像中的多个物体并标出其位置。而Yolov5 Segment则是在此基础上进一步实现了图像分割,即将图像中的每个像素分配到不同的语义类别中。 Yolov5 Segment的原理主要包括以下几个步骤: 1. 数据准备:首先,需要准备包含标注信息的训练数据集。每个图像都要标注出每个像素所属的语义类别。 2. 网络架构:Yolov5 Segment使用了一种特殊的网络架构,它基于Yolov5模型进行了改进。网络结构包括了骨干网络(backbone)和分割头(segmentation head)。 3. 骨干网络:骨干网络负责从输入图像中提取特征。Yolov5使用了CSPDarknet53作为骨干网络,可以提取出丰富的特征表示。 4. 分割头:分割头接收骨干网络提取的特征,并将其映射到语义分割结果。Yolov5 Segment使用了一种称为PANet的方法来融合不同层级的特征,以捕捉图像中不同尺度的语义信息。 5. 损失函数:Yolov5 Segment使用交叉熵损失函数来度量预测结果与真实标签之间的差异。同时,还使用了Dice Loss来增强分割效果。 6. 训练与推理:在训练阶段,通过反向传播算法来优化网络参数,并不断调整模型以提高分割准确度。在推理阶段,将输入图像通过网络前向传播,并根据预测结果进行图像分割。 总的来说,Yolov5 Segment通过将图像分割任务与目标检测相结合,可以实现对图像中每个像素的语义分割,从而更细粒度地理解图像内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值