用于分割的训练数据和mask同时数据增强

愁死了,想同时对img和mask做一个上下左右旋转,竟然找不到一份能用的代码。我提供一份算了。 

'''
@Author: haoMax
@Github: https://github.com/liuzehao
@Blog: https://blog.csdn.net/liu506039293
@Date: 2019-10-10 11:15:18
@LastEditTime: 2019-11-15 16:44:15
@LastEditors: haoMax
@Description: 
'''
# -*- coding: utf-8 -*-
 
import cv2
from math import *
import numpy as np
import os
# 旋转angle角度,缺失背景白色(255, 255, 255)填充
def rotate_bound_white_bg(image, angle):
    # grab the dimensions of the image and then determine the
    # center
    (h, w) = image.shape[:2]
    (cX, cY) = (w // 2, h // 2)
 
    # grab the rotation matrix (applying the negative of the
    # angle to rotate clockwise), then grab the sine and cosine
    # (i.e., the rotation components of the matrix)
    # -angle位置参数为角度参数负值表示顺时针旋转; 1.0位置参数scale是调整尺寸比例(图像缩放参数),建议0.75
    M = cv2.getRotationMatrix2D((cX, cY), -angle, 1.0)
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mask R-CNN 是一种用于目标检测和实例分割的深度学习模型。在训练 Mask R-CNN 使用其自带的 cocoapi 来处理 COCO 数据集。COCO 数据集是一个包含各种不同类别物体的大型数据集,其中每个物体都有对应的目标框和实例分割掩码。 为了训练 Mask R-CNN,首先需要准备 COCO 数据集。这包括下载 COCO 训练集和验证集,并将它们解压到合适的目录。然后,需要获取 COCO 数据集的注释文件,其中包含每个图像的标注信息。 接下来,在训练之前,需要配置 Mask R-CNN 模型的参数。这包括设置检测和分割的类别数量、输入图像的尺寸、学习率和训练批次大小等。还可以选择使用预训练的 COCO 权重来初始化模型,这有助于加快训练过程。 训练 Mask R-CNN 的过程通常包括多个训练轮次(epochs)。在每个训练轮次中,模型会从训练集中随机选择一批图像和对应的标注数据。然后,通过将这些图像输入到模型中,计算出预测结果。损失函数(如目标检测损失和分割损失)将用于计算模型的误差,并反向传播以更新模型权重。 在训练过程中,可以通过调整学习率、增加数据增强(如随机裁剪和翻转)以及使用正则化技术(如权重衰减)来改进模型的性能和泛化能力。此外,还可以使用验证集来监控模型的性能,并根据验证集上的性能进行调整和优化。 一旦模型训练完成,就可以使用训练得到的权重来对新图像进行目标检测和实例分割。通过将图像输入到模型中并获得预测结果,可以得到每个检测到的实例的位置框和分割掩码。 总之,通过使用 Mask R-CNN 模型和 COCO 数据进行训练,可以实现对图像中不同类别物体的目标检测和实例分割。这有助于许多计算机视觉任务,如物体识别、图像分析和场景理解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值