Scannet数据集

参考:https://blog.csdn.net/weixin_40766438/article/details/102969299

Scannet主页:http://www.scan-net.org/

github主页:GitHub - ScanNet/ScanNet

scannet数据集是一个二维三维数据集,主要采集了室内场景的二维图像信息,包括rgb、深度,三维点云ply数据,并进行了语义标签和实例标签标注。

完整数据集:一共1513个采集场景数据(每个场景中点云数量都不一样,如果要用到端到端可能需要采样,使每一个场景的点都相同),共21个类别的对象,其中,1201个场景用于训练,312个场景用于测试。

较小子集:由于2DRGB-D帧的数据量特别大,作者提供了下载较小子集的选项scannet_frames_25k(约25,000帧,从完整数据集中大约每100帧进行二次采样)通过ScanNet数据下载,有5.6G,还有基准评估scannet_frames_test这个,下图是下载scannet里面的

其中scannetV2即第二版本的scannet的结构和文件类型如下(存放在scans文件夹中):

<scanId>
|-- <scanId>_vh_clean.ply
    (Updated if had remove annotations)
|-- <scanId>_vh_clean_2.ply
    (Updated if had remove annotations)
|-- <scanId>.aggregation.json, <scanId>_vh_clean.aggregation.json
    Updated aggregated instance-level semantic annotations on lo-res, hi-res meshes, respectively
|-- <scanId>_vh_clean_2.labels.ply
    Updated visualization of aggregated semantic segmentation; colored by nyu40 labels (see legend referenced above; ply property 'label' denotes the ScanNet label id)
|-- <scanId>_2d-label.zip
    Updated raw 2d projections of aggregated annotation labels as 16-bit pngs with ScanNet label ids
|-- <scanId>_2d-instance.zip
    Updated raw 2d projections of aggregated annotation instances as 8-bit pngs
|-- <scanId>_2d-label-filt.zip
    Updated filtered 2d projections of aggregated annotation labels as 16-bit pngs with ScanNet label ids
|-- <scanId>_2d-instance-filt.zip
    Updated filtered 2d projections of aggregated annotation instances as 8-bit pngs

截图如下:

还有一个另外的文件:scannetv2-labels.combined.tsv

 用meshlab打开其中的scene0000_00_vh_clean_2.ply,如下:(xxx_vh_clean.ply与其类似)

 打开scene0000_00_ch_clean_2.labels.ply

做室内3d目标检测,往往会对数据处理,生成一个新的文件夹:scannet_train_detection_data

这个文件夹包含5类文件

ps:需要完整数据集可私信

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
以下是Java实现读取文件中数据集并进行运算的示例代码: ```java import java.io.File; import java.io.FileNotFoundException; import java.io.PrintWriter; import java.util.Scanner; public class DataProcessing { public static void main(String[] args) throws FileNotFoundException { // 读取数据集文件 File inputFile = new File("dataset.txt"); Scanner scanner = new Scanner(inputFile); // 读取数据集大小 int n = scanner.nextInt(); int m = scanner.nextInt(); // 新建输出文件 File outputFile = new File("result.txt"); PrintWriter writer = new PrintWriter(outputFile); // 读取并处理每组数据 for (int i = 0; i < n; i++) { // 读取当前数据组 double[] data = new double[m]; for (int j = 0; j < m; j++) { data[j] = scanner.nextDouble(); } // 进行运算 double result1 = 0, result2 = 0, result3 = 0; for (int j = 0; j < m; j++) { result1 += data[j]; result2 += data[j] * data[j]; result3 += Math.sin(data[j]); } // 将结果写入输出文件 writer.printf("%.2f %.2f %.2f\n", result1, result2, result3); } // 关闭文件流 scanner.close(); writer.close(); } } ``` 在这个示例代码中,我们使用 `Scanner` 类来读取数据集文件,使用 `PrintWriter` 类来输出结果到文件中。在读取每组数据时,我们使用一个 `double` 类型的数组来存储数据,然后进行所需的运算,最后将结果写入输出文件中。请注意,这里假设每个数据都是浮点数,如果数据类型不同,需要根据实际情况进行修改。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值