栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

graviti格物钛下载KITTI数据集

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

graviti格物钛下载KITTI数据集

一、参考资料

KITTI数据集

二、重要说明
  1. 在monodepth2复现过程中,训练数据的格式是:
# kitti数据集的真实路径
/media/yoyo/新加卷/Downloads/kitti_data

# 训练数据集的路径
/home/yoyo/Mydocuments/PyProjects/monodepth2/kitti_data/2011_09_28/2011_09_28_drive_0016_sync

# 训练数据集创建软链接
sudo ln -s /media/yoyo/新加卷/Downloads/kitti_data /home/yoyo/Mydocuments/PyProjects/monodepth2/kitti_data
  1. monodepth2训练需要的 KITTIRaw 数据集
2011_09_26_calib.zip
2011_09_26_drive_0001/2011_09_26_drive_0001_sync.zip
2011_09_26_drive_0002/2011_09_26_drive_0002_sync.zip
2011_09_26_drive_0005/2011_09_26_drive_0005_sync.zip
2011_09_26_drive_0009/2011_09_26_drive_0009_sync.zip
2011_09_26_drive_0011/2011_09_26_drive_0011_sync.zip
2011_09_26_drive_0013/2011_09_26_drive_0013_sync.zip
2011_09_26_drive_0014/2011_09_26_drive_0014_sync.zip
2011_09_26_drive_0015/2011_09_26_drive_0015_sync.zip
2011_09_26_drive_0017/2011_09_26_drive_0017_sync.zip
2011_09_26_drive_0018/2011_09_26_drive_0018_sync.zip
2011_09_26_drive_0019/2011_09_26_drive_0019_sync.zip
2011_09_26_drive_0020/2011_09_26_drive_0020_sync.zip
2011_09_26_drive_0022/2011_09_26_drive_0022_sync.zip
2011_09_26_drive_0023/2011_09_26_drive_0023_sync.zip
2011_09_26_drive_0027/2011_09_26_drive_0027_sync.zip
2011_09_26_drive_0028/2011_09_26_drive_0028_sync.zip
2011_09_26_drive_0029/2011_09_26_drive_0029_sync.zip
2011_09_26_drive_0032/2011_09_26_drive_0032_sync.zip
2011_09_26_drive_0035/2011_09_26_drive_0035_sync.zip
2011_09_26_drive_0036/2011_09_26_drive_0036_sync.zip
2011_09_26_drive_0039/2011_09_26_drive_0039_sync.zip
2011_09_26_drive_0046/2011_09_26_drive_0046_sync.zip
2011_09_26_drive_0048/2011_09_26_drive_0048_sync.zip
2011_09_26_drive_0051/2011_09_26_drive_0051_sync.zip
2011_09_26_drive_0052/2011_09_26_drive_0052_sync.zip
2011_09_26_drive_0056/2011_09_26_drive_0056_sync.zip
2011_09_26_drive_0057/2011_09_26_drive_0057_sync.zip
2011_09_26_drive_0059/2011_09_26_drive_0059_sync.zip
2011_09_26_drive_0060/2011_09_26_drive_0060_sync.zip
2011_09_26_drive_0061/2011_09_26_drive_0061_sync.zip
2011_09_26_drive_0064/2011_09_26_drive_0064_sync.zip
2011_09_26_drive_0070/2011_09_26_drive_0070_sync.zip
2011_09_26_drive_0079/2011_09_26_drive_0079_sync.zip
2011_09_26_drive_0084/2011_09_26_drive_0084_sync.zip
2011_09_26_drive_0086/2011_09_26_drive_0086_sync.zip
2011_09_26_drive_0087/2011_09_26_drive_0087_sync.zip
2011_09_26_drive_0091/2011_09_26_drive_0091_sync.zip
2011_09_26_drive_0093/2011_09_26_drive_0093_sync.zip
2011_09_26_drive_0095/2011_09_26_drive_0095_sync.zip
2011_09_26_drive_0096/2011_09_26_drive_0096_sync.zip
2011_09_26_drive_0101/2011_09_26_drive_0101_sync.zip
2011_09_26_drive_0104/2011_09_26_drive_0104_sync.zip
2011_09_26_drive_0106/2011_09_26_drive_0106_sync.zip
2011_09_26_drive_0113/2011_09_26_drive_0113_sync.zip
2011_09_26_drive_0117/2011_09_26_drive_0117_sync.zip
2011_09_28_calib.zip
2011_09_28_drive_0001/2011_09_28_drive_0001_sync.zip
2011_09_28_drive_0002/2011_09_28_drive_0002_sync.zip
2011_09_29_calib.zip
2011_09_29_drive_0004/2011_09_29_drive_0004_sync.zip
2011_09_29_drive_0026/2011_09_29_drive_0026_sync.zip
2011_09_29_drive_0071/2011_09_29_drive_0071_sync.zip
2011_09_30_calib.zip
2011_09_30_drive_0016/2011_09_30_drive_0016_sync.zip
2011_09_30_drive_0018/2011_09_30_drive_0018_sync.zip
2011_09_30_drive_0020/2011_09_30_drive_0020_sync.zip
2011_09_30_drive_0027/2011_09_30_drive_0027_sync.zip
2011_09_30_drive_0028/2011_09_30_drive_0028_sync.zip
2011_09_30_drive_0033/2011_09_30_drive_0033_sync.zip
2011_09_30_drive_0034/2011_09_30_drive_0034_sync.zip
2011_10_03_calib.zip
2011_10_03_drive_0027/2011_10_03_drive_0027_sync.zip
2011_10_03_drive_0034/2011_10_03_drive_0034_sync.zip
2011_10_03_drive_0042/2011_10_03_drive_0042_sync.zip
2011_10_03_drive_0047/2011_10_03_drive_0047_sync.zip
三、关键步骤
  1. 下载 格物钛数据集 - KITTIRaw
    其他下载方式,参考博客 KITTI数据集
.
├── KITTIRaw_calibration.zip
├── KITTIRaw_campus.zip
├── KITTIRaw_city.zip
├── KITTIRaw_person.zip
├── KITTIRaw_residential.zip
└── KITTIRaw_road.zip
...
  1. 解压zip文件

每一个zip文件都很大,需要逐个解压

# 以KITTIRaw_campus.zip为例,进行解压
unzip KITTIRaw_campus.zip
.
├── campus
│   ├── 2011_09_28_drive_0016
│   ├── 2011_09_28_drive_0021
│   ├── 2011_09_28_drive_0034
│   ├── 2011_09_28_drive_0035
│   ├── 2011_09_28_drive_0037
│   ├── 2011_09_28_drive_0038
│   ├── 2011_09_28_drive_0039
│   ├── 2011_09_28_drive_0043
│   ├── 2011_09_28_drive_0045
│   └── 2011_09_28_drive_0047
...
  1. 查看二级目录结构
# 以 2011_09_28_drive_0016 为例
# /media/yoyo/新加卷/Downloads/campus/2011_09_28_drive_0016

2011_09_28_drive_0016
├── 2011_09_28_calib.zip
├── 2011_09_28_drive_0016_extract.zip
└── 2011_09_28_drive_0016_sync.zip
...
  1. 再解压三级目录里的zip文件
#  2011_09_28_drive_0016_sync.zip 文件
unzip 2011_09_28_drive_0016_sync.zip
# /media/yoyo/新加卷/Downloads/campus/2011_09_28_drive_0016/2011_09_28/2011_09_28_drive_0016_sync
.
├── 2011_09_28_drive_0016
│   ├── 2011_09_28
│   │   └── 2011_09_28_drive_0016_sync
│   │       ├── image_00
│   │       ├── image_01
│   │       ├── image_02
│   │       ├── image_03
│   │       ├── oxts
│   │       └── velodyne_points
...
  1. 从KITTIRaw原始zip压缩文件中,挑选出需要的zip文件
  2. 用python解压所有的zip文件
import os
import zipfile
import shutil


dir_one_zip_example = '/home/yoyo/Mydocuments/PyProjects/202109/20210905/2011_09_26_drive_0001_sync.zip'

# /media/yoyo/新加卷/Downloads/kitti_data
'''
├── kitti_data
│   ├── 2011_09_26_calib.zip
│   ├── 2011_09_26_drive_0001_sync.zip
│   ├── 2011_09_26_drive_0002_sync.zip
│   ├── 2011_09_26_drive_0005_sync.zip
│   ├── 2011_09_26_drive_0009_sync.zip
│   ├── 2011_09_26_drive_0011_sync.zip
│   ├── 2011_09_26_drive_0013_sync.zip
│   ├── 2011_09_26_drive_0014_sync.zip
│   ├── 2011_09_26_drive_0015_sync.zip
│   ├── 2011_09_26_drive_0017_sync.zip
│   ├── 2011_09_26_drive_0018_sync.zip
│   ├── 2011_09_26_drive_0019_sync.zip
│   ├── 2011_09_26_drive_0020_sync.zip
│   ├── 2011_09_26_drive_0022_sync.zip
│   ├── 2011_09_26_drive_0023_sync.zip
│   ├── 2011_09_26_drive_0027_sync.zip
│   ├── 2011_09_26_drive_0028_sync.zip
│   ├── 2011_09_26_drive_0029_sync.zip
│   ├── 2011_09_26_drive_0032_sync.zip
│   ├── 2011_09_26_drive_0035_sync.zip
│   ├── 2011_09_26_drive_0036_sync.zip
│   ├── 2011_09_26_drive_0039_sync.zip
│   ├── 2011_09_26_drive_0046_sync.zip
│   ├── 2011_09_26_drive_0048_sync.zip
│   ├── 2011_09_26_drive_0051_sync.zip
│   ├── 2011_09_26_drive_0052_sync.zip
│   ├── 2011_09_26_drive_0056_sync.zip
│   ├── 2011_09_26_drive_0057_sync.zip
│   ├── 2011_09_26_drive_0059_sync.zip
│   ├── 2011_09_26_drive_0060_sync.zip
│   ├── 2011_09_26_drive_0061_sync.zip
│   ├── 2011_09_26_drive_0064_sync.zip
│   ├── 2011_09_26_drive_0070_sync.zip
│   ├── 2011_09_26_drive_0079_sync.zip
│   ├── 2011_09_26_drive_0084_sync.zip
│   ├── 2011_09_26_drive_0086_sync.zip
│   ├── 2011_09_26_drive_0087_sync.zip
│   ├── 2011_09_26_drive_0091_sync.zip
│   ├── 2011_09_26_drive_0093_sync.zip
│   ├── 2011_09_26_drive_0095_sync.zip
│   ├── 2011_09_26_drive_0096_sync.zip
│   ├── 2011_09_26_drive_0101_sync.zip
│   ├── 2011_09_26_drive_0104_sync.zip
│   ├── 2011_09_26_drive_0106_sync.zip
│   ├── 2011_09_26_drive_0113_sync.zip
│   ├── 2011_09_26_drive_0117_sync.zip
│   ├── 2011_09_28_calib.zip
│   ├── 2011_09_28_drive_0001_sync.zip
│   ├── 2011_09_28_drive_0002_sync.zip
│   ├── 2011_09_29_calib.zip
│   ├── 2011_09_29_drive_0004_sync.zip
│   ├── 2011_09_29_drive_0026_sync.zip
│   ├── 2011_09_29_drive_0071_sync.zip
│   ├── 2011_09_30_calib.zip
│   ├── 2011_09_30_drive_0016_sync.zip
│   ├── 2011_09_30_drive_0018_sync.zip
│   ├── 2011_09_30_drive_0020_sync.zip
│   ├── 2011_09_30_drive_0027_sync.zip
│   ├── 2011_09_30_drive_0028_sync.zip
│   ├── 2011_09_30_drive_0033_sync.zip
│   ├── 2011_09_30_drive_0034_sync.zip
│   ├── 2011_10_03_calib.zip
│   ├── 2011_10_03_drive_0027_sync.zip
│   ├── 2011_10_03_drive_0034_sync.zip
│   ├── 2011_10_03_drive_0042_sync.zip
│   ├── 2011_10_03_drive_0047_sync.zip
'''


def unzip_one_file(dir_one_zip=dir_one_zip_example):
    '''
    解压单个zip文件
    /media/yoyo/新加卷/Downloads/campus/2011_09_28_drive_0016/2011_09_28_drive_0016_sync.zip
    :param dir_one_zip: zip的路径
    :return:
    '''
    dir_path = os.path.split(dir_one_zip)[0]
    if not zipfile.is_zipfile(dir_one_zip):  # 如果不可以解压
        print(dir_one_zip, 'is not a zipfile!')  # 打印不可解压的zip文件
        return
    with zipfile.ZipFile(dir_one_zip) as zf:  # 打开zip压缩文件
        if 'drive' in dir_one_zip:  # 如果类似于 2011_09_28_drive_0016_sync.zip 的文件
            dir_date_first = dir_one_zip.split('_drive')[0]  # /media/yoyo/新加卷/Downloads/campus/2011_09_28_drive_0016/2011_09_28
            prefix_name = os.path.split(dir_date_first)[-1]  # 2011_09_28
            if not os.path.exists(dir_date_first):  # 如果文件夹不存在,创建文件夹
                os.mkdir(dir_date_first)
            temp_dir = os.path.join(dir_path, 'temp_dir')  # 存放解压文件的临时文件夹
            dir_date_second = os.path.join(temp_dir, prefix_name)
            if not os.path.exists(temp_dir):  # 创建临时文件夹
                os.mkdir(temp_dir)

            zf.extractall(temp_dir)  # 解压到临时文件夹
            obj_dir = os.listdir(dir_date_second)
            if len(obj_dir) == 1:
                src_dir = os.path.join(dir_date_second, obj_dir[0])
                shutil.move(src_dir, dir_date_first)  # 移动解压后的文件夹
                shutil.rmtree(dir_date_second)  # 删除解压后的文件夹


def unzip_all_file(dir_all_zip):
    '''
    解压zip根目录的所有zip文件
    /media/yoyo/新加卷/Downloads/kitti_data:param dir_all_zip: zip根目录
    :return:
    '''
    dir_zip_list = os.listdir(dir_all_zip)
    for idx, zip_item in enumerate(dir_zip_list):
        dir_one_zip = os.path.join(dir_all_zip, zip_item)
        unzip_one_file(dir_one_zip)  # 解压单个zip文件
        print(idx+1, dir_one_zip)


if __name__ == '__main__':
    dir_all_zip = '/media/yoyo/新加卷/Downloads/kitti_data'  # zip文件根目录,待解压
    unzip_all_file(dir_all_zip)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/307310.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号