目标检测数据增强——裁剪

在图像识别任务中,裁剪是一种比较常用的数据增强方法。通过numpy对图像数组进行截取就可以实现裁剪的功能。

对于像目标检测这类带标注框的图像识别任务,裁剪要确保目标不被裁掉,另外,还要更新标注框的位置,因为经过裁剪后目标在图中的位置发生了变化。以下函数实现了:

  1. 在保证目标点points不被裁掉的情况下,随机裁剪图像。
  2. 计算原图中坐标点points在裁剪后的图像中的位置坐标。
import numpy as np
import random


def random_crop_with_points(image, points):
    """随机裁剪图像,并计算points在裁剪后的图像中的位置.
    Args:
        image: 图像数组
        points: [(x, y), ...],原图像中的坐标点集合
    Return:
        new_img: 裁剪后的图像
        new_pts: [(x, y), ...],原图中的点在裁剪后的图中的位置
    """

    h, w = image.shape[: 2]
    points = np.array(points, np.int32)
    min_x, min_y, max_x, max_y = np.min(points[:, 0]), np.min(points[:, 1]), np.max(points[:, 0]), np.max(points[:, 1])

    t, b, lft, r = (random.randint(0, min_y),
                    random.randint(max_y + 1, h) if max_y + 1 < h else max_y + 1,
                    random.randint(0, min_x),
                    random.randint(max_x + 1, w) if max_x + 1 < w else max_x + 1)

    new_img = image[t: b, lft: r, :]

    new_pts = [[x - lft, y - t] for x, y in points]

    return new_img, new_pts
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
裁剪遥感目标检测数据集图像是为了减小图像的尺寸,方便进行数据处理和训练。裁剪可以根据需要选择感兴趣的区域,并将其提取出来作为新的图像样本。遥感目标检测数据集图像裁剪的具体步骤如下: 1. 首先,确定需要裁剪的图像位置和尺寸。可以根据目标检测任务的需求,选择包含目标的区域进行裁剪。可以使用标注文件提供的目标位置信息来指导裁剪。 2. 然后,使用图像处理软件或编程语言读取原始图像。根据确定的位置和尺寸,裁剪出感兴趣的区域。可以使用图像处理库或者相关函数来实现裁剪操作。 3. 接下来,保存裁剪后的图像作为新的样本。可以将裁剪后的图像保存为新的文件,也可以将其存储在内存中进行后续处理。 4. 最后,重复以上步骤,对所有需要裁剪的图像进行处理,得到裁剪后的数据集。 值得注意的是,裁剪后的图像尺寸可能会有所变化,需要根据实际情况进行调整。此外,裁剪时要注意保持目标的完整性,避免裁剪过小导致目标信息丢失。同时,应该注意裁剪后的图像仍然保留了目标的类别标签和位置信息,以便后续的目标检测任务使用。这样,裁剪后的图像可以作为新的样本用于训练和评估遥感目标检测模型。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [目标检测+RSOD遥感检测+936张数据集(图片和标签对应)+4个类别检测](https://download.csdn.net/download/qq_45825952/87689570)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [AIR-SARShip-1.0遥感目标检测数据集图像裁剪](https://blog.csdn.net/qq_39180345/article/details/115017879)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [基于大遥感影像的目标检测数据集的裁剪](https://blog.csdn.net/weixin_40450867/article/details/119763189)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值