【记录】USSOCOM Urban3D 数据集读取与处理

这篇具有很好参考价值的文章主要介绍了【记录】USSOCOM Urban3D 数据集读取与处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Urban3D数据集内容简介

Urban3D数据集图像为正摄RGB影像,分辨率为50cm。
从SpaceNet上使用aws下载数据,文件夹结构为:

|- 01-Provisional_Train
	|- GT
		|- GT中包含GTC,GTI,GTL.tif文件,GTL为ground truth building footprint。
	|- Inputs
		|- Inputs中包含DSM,DTM,RGB.tif文件,DSM为Digital Surface Models,DTM为Digital Terrain Models,normalized DSM (nDSM = DSM - DTM)
|- 02-Provisional_Test
|- 03-Sequestered_Test
|- 04-Unused_Data
|- AOI_polygons
|- Pretrained_Models
   |- 包含前6名参赛团队的模型

每一块.tif大小为2048*2048。

Urban3D数据集读取

from torchvision import transforms
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
import sys
rgb = Image.open("/01-Provisional_Train/Inputs/JAX_Tile_016_RGB.tif")
dsm = Image.open("/01-Provisional_Train/Inputs/JAX_Tile_016_DSM.tif")
gtl = Image.open("/01-Provisional_Train/GT/JAX_Tile_016_GTL.tif")
print(rgb.size, dsm.size, gtl.size) >> (2048, 2048) (2048, 2048) (2048, 2048)
print(np.array(rgb).shape, np.array(dsm).shape, np.array(gtl).shape) >> (2048, 2048, 3) (2048, 2048) (2048, 2048)
print(np.array(rgb).dtype, np.array(dsm).dtype,  np.array(gtl).dtype) >> uint8 float32 uint8

fig = plt.figure()
plt.subplot(131)
plt.imshow(np.array(rgb))
plt.subplot(132)
plt.imshow(np.array(dsm))
plt.subplot(133)
plt.imshow(np.array(gtl))

print(np.max(gtl), np.min(gtl)) >> 6, 2

【记录】USSOCOM Urban3D 数据集读取与处理,Records,python,深度学习,pytorch,Urban3D,深度估计

Urban3D数据集Pytorch处理

使用深度学习需要对Urban3D数据进行裁剪,这里采用torchvision.transforms.RandomCrop进行裁剪。RandomCrop可以直接作用于PIL.Image打开的文件和torch类型的数据上,但不能作用于numpy数组。具体内容可以参考numpy, PIL, tensor类型在torchvision.transforms时使用

def type_convert(x):
    x_ = np.array(x).astype(np.float32)
    return x_
def to_tensor(x):
    x_ = np.expand_dims(x, axis=0)
    x_ = torch.from_numpy(x_)
    return x_
trans = transforms.Compose([
    transforms.RandomCrop(size=256),
    transforms.Lambda(type_convert),
    transforms.Lambda(to_tensor)
])

torch.random.manual_seed(16)
rgb_crop = trans(rgb)
torch.random.manual_seed(16)
dsm_crop = trans(dsm)
torch.random.manual_seed(16)
gtl_crop = trans(gtl)
print(rgb_crop.size(), dsm_crop.size(), gtl_crop.size())
fig = plt.figure()
plt.subplot(131)
plt.imshow(rgb_crop[0,:,:,0])
plt.subplot(132)
plt.imshow(dsm_crop[0,:,:])
plt.subplot(133)
plt.imshow(gtl_crop[0,:,:])

【记录】USSOCOM Urban3D 数据集读取与处理,Records,python,深度学习,pytorch,Urban3D,深度估计

同时还需要注意的一点是为了保证RandomCrop后data和label的一致性,需要设置随机数种子。对于GTL需要改变label的值。文章来源地址https://www.toymoban.com/news/detail-682064.html

def type_convert_gtl(x):
    x_ = np.array(x).astype(np.float32)
    x_[x_==6]=1
    x_[x_==2]=0
    return x_

到了这里,关于【记录】USSOCOM Urban3D 数据集读取与处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Open3D和PyTorch3D读取三维数据格式OBJ

    本节将讨论另一种广泛使用的3D数据文件格式,即OBJ文件格式。OBJ文件格式最初由Wavefront Technologies Inc.开发。与PLY文件格式类似,OBJ格式也有ASCII版本和二进制版本。二进制版本是专有的且未记录文档。本章主要讨论ASCII版本。 与之前类似,将通过示例来学习文件格式。第一个

    2024年02月10日
    浏览(44)
  • 【Unity 3D】C#从JSON文件中读取、解析、保存数据(附源码)

    JSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式存储和表示数据,简洁和清晰的层次结构使JSON成为理想的数据交换语言,易于读者阅读和编写,同时也易于机器解析和生成,并有效的提高网络传输效率 生成JSON数据实例代码如下 下面的代码将JSON中数据

    2024年02月11日
    浏览(80)
  • Matlab:如何读取并处理txt数据?

    Matlab:如何读取并处理txt数据? 在Matlab中,读取和处理文本文件是非常常见的任务。txt文件是最常见的文本文件格式之一,可以包含各种类型的数据。此处介绍在Matlab中如何读取和处理txt文件。 导入txt文件 Matlab提供了多种方法来导入txt文件,其中最常用的方法是使用textsc

    2024年02月07日
    浏览(55)
  • Unity3D操作数据之Excel表操作(创建、读取、写入、修改)

    叨唠两句: 首先使用Excel需要 导入插件 ,其次在 程序运行 期间不要打开对应的Excel文件 其次相对于一些程序使用Excel比使用数据库更具有优势 读取主要使用 Epplus 插件,后续会推出关于Epplus的 AP I讲解 读取Excel文件,需要导入一些dll文件,才能进行操作Excel数据: 如果打包

    2024年02月05日
    浏览(76)
  • Unity3D中打包WEBGL后读取本地文件数据+网络请求

    首先上一编博主运行html之后报的错误:提示内存不足!!!! 1.首先排查一下webgl包的大小,不能超过2G。 2.F12查看具体错误,在这里博主的是:        a:本地读取StreamingAssets里的配置文件,序列化失败。        b:网络请求方法不能使用JsonConvert.SerializeObject将对象重新序列

    2024年02月08日
    浏览(58)
  • Unity3D操作数据之Txt文档操作(创建、读取、写入、修改)

    Unity3D操作数据之Txt文档操作(创建、读取、写入、修改) 其实读取Txt文档非常简单、也不需要导入 插件 ,仅需引入相应的 命名空间 即可。 命名空间: using System.IO 要注意的一点是,文档格式设置为UTF-8,不然中文可能显示不太正确。 使用写入语句会自动创建对应的文档 使用

    2024年02月02日
    浏览(67)
  • 【踩坑记录】字节流数据按照string的方式读取然后按照string的方案存储,编码导致二进制数据发生变化,原理记录

    ​ 目录   问题缘由 背后原理 C#代码示例 总结           由于公司需求,需要读取游戏Redis数据做内外网数据迁移,没有与游戏组过多的沟通。  使用的数据类型是Hash, key是string,value是byte[]。以前对于编码的理解是:计算机底层存储的永远是01的二进制数据,编码是一种

    2024年02月07日
    浏览(55)
  • Python点云处理(一)点云数据读取与写入

    当处理点云数据时,我们通常需要读取各种不同格式的点云文件。Python作为一种强大的编程语言,在点云处理领域提供了许多库和工具,可以帮助我们读取和处理各种格式的点云文件。本文将介绍如何使用Python读取和写入各种格式的点云文件。 LAS(Lidar Data Exchange)和LAZ(L

    2024年02月08日
    浏览(40)
  • Python处理xlsx文件(读取、转为列表、新建、写入数据、保存)

    xlsxwriter**库对于xslx表的列数不做限制, xlrd 库不能写入超过65535行,256列的数据。 由于需要处理的数据行列数较多,遇到报错才发现库的限制问题,记录一下。

    2024年02月12日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包