KITTI数据集下载与目录结构指南

目录

  1. 概述
  2. KITTI_dataset 下载指南
  3. KITTI_raw_data 下载指南
  4. 目录结构详解
  5. 验证数据集完整性
  6. 常见问题与解决方案

概述

本项目需要两个KITTI数据集:

  1. KITTI_dataset: 3D目标检测训练集(用于训练和评估)

    • 包含7482张图像及其对应的LiDAR点云、标定文件和标签
    • 文件索引范围: 000000007481
  2. KITTI_raw_data: 原始连续帧数据(用于视频处理)

    • 包含多个连续帧序列
    • 用于生成处理后的视频输出

数据集大小估算

  • KITTI_dataset: 约 15-20 GB(压缩包约 12 GB)
  • KITTI_raw_data: 每个序列约 1-5 GB(取决于序列长度)

下载时间估算

  • 取决于网络速度
  • 建议使用稳定的网络连接
  • 可以使用断点续传(wget -c

KITTI_dataset 下载指南

数据集说明

KITTI 3D目标检测数据集包含以下4个压缩包:

  1. data_object_image_2.zip - 左侧彩色图像(约 12 GB)
  2. data_object_velodyne.zip - LiDAR点云数据(约 29 GB)
  3. data_object_calib.zip - 标定文件(约 1 MB)
  4. data_object_label_2.zip - 3D边界框标签(约 5 MB)

方法一:使用wget自动下载(推荐)

创建下载脚本 download_kitti_dataset.sh:

#!/bin/bash

# 设置目标目录
DATASET_DIR="/home/dlh/YOLO-LiDAR-Fusion/KITTI_dataset"
mkdir -p "$DATASET_DIR"
cd "$DATASET_DIR" || exit 1

# KITTI数据集下载链接(官方S3存储)
BASE_URL="https://s3.eu-central-1.amazonaws.com/avg-kitti/data_object_image_2"

# 定义要下载的文件
FILES=(
    "data_object_image_2.zip"
    "data_object_velodyne.zip"
    "data_object_calib.zip"
    "data_object_label_2.zip"
)

echo "=========================================="
echo "开始下载KITTI 3D目标检测数据集"
echo "目标目录: $DATASET_DIR"
echo "=========================================="
echo ""

# 下载每个文件
for file in "${FILES[@]}"; do
    echo "正在下载: $file"
    echo "URL: ${BASE_URL}/${file}"
    
    # 使用wget断点续传下载
    wget -c --progress=bar:force:noscroll \
         "${BASE_URL}/${file}" \
         -O "$file" \
         2>&1 | tee "download_${file%.zip}.log"
    
    if [ $? -eq 0 ]; then
        echo "✅ 成功下载: $file"
        # 验证文件大小
        file_size=$(du -h "$file" | cut -f1)
        echo "   文件大小: $file_size"
    else
        echo "❌ 下载失败: $file"
        echo "   请检查网络连接或手动下载"
    fi
    echo ""
done

echo "=========================================="
echo "下载完成!"
echo "=========================================="

使用方法:

chmod +x download_kitti_dataset.sh
./download_kitti_dataset.sh

方法二:手动下载

  1. 访问KITTI官网:

    • 链接: https://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d
    • 需要注册账号(免费)
  2. 下载文件:

    • 登录后,下载以下4个文件到 KITTI_dataset 目录:
      • data_object_image_2.zip
      • data_object_velodyne.zip
      • data_object_calib.zip
      • data_object_label_2.zip

解压数据集

下载完成后,解压所有文件:

cd /home/dlh/YOLO-LiDAR-Fusion/KITTI_dataset

# 解压图像数据
echo "解压图像数据..."
unzip -q data_object_image_2.zip

# 解压LiDAR点云数据
echo "解压LiDAR点云数据..."
unzip -q data_object_velodyne.zip

# 解压标定文件
echo "解压标定文件..."
unzip -q data_object_calib.zip

# 解压标签文件
echo "解压标签文件..."
unzip -q data_object_label_2.zip

echo "解压完成!"

或者使用自动化脚本:

#!/bin/bash
# extract_kitti_dataset.sh

DATASET_DIR="/home/dlh/YOLO-LiDAR-Fusion/KITTI_dataset"
cd "$DATASET_DIR" || exit 1

echo "开始解压KITTI数据集..."

for zip_file in *.zip; do
    if [ -f "$zip_file" ]; then
        echo "解压: $zip_file"
        unzip -q "$zip_file"
        if [ $? -eq 0 ]; then
            echo "✅ 成功解压: $zip_file"
        else
            echo "❌ 解压失败: $zip_file"
        fi
    fi
done

echo "解压完成!"
echo ""
echo "验证目录结构..."
ls -d data_object_*/training/*/

验证下载完整性

# 检查文件数量
echo "图像文件数量:"
ls -1 data_object_image_2/training/image_2/*.png | wc -l
# 应该显示: 7482

echo "LiDAR点云文件数量:"
ls -1 data_object_velodyne/training/velodyne/*.bin | wc -l
# 应该显示: 7482

echo "标定文件数量:"
ls -1 data_object_calib/training/calib/*.txt | wc -l
# 应该显示: 7482

echo "标签文件数量:"
ls -1 data_object_label_2/training/label_2/*.txt | wc -l
# 应该显示: 7482

在这里插入图片描述


KITTI_raw_data 下载指南

数据集说明

KITTI原始数据包含多个连续帧序列,每个序列包含:

  • 连续的多帧图像(image_02/data/
  • 对应的LiDAR点云(velodyne_points/data/
  • 标定文件(calib/
  • 时间戳文件(timestamps.txt

方法一:使用提供的下载脚本

项目已包含下载脚本 download_kitti_raw.sh:

#!/bin/bash
# KITTI原始数据下载脚本

RAW_DATA_DIR="/home/dlh/YOLO-LiDAR-Fusion/KITTI_raw_data"
BASE_URL="https://s3.eu-central-1.amazonaws.com/avg-kitti/raw_data"

# 常用序列列表
SEQUENCES=(
    "2011_09_26_drive_0001"
    "2011_09_26_drive_0002"
    "2011_09_26_drive_0005"
    "2011_09_26_drive_0009"
    "2011_09_26_drive_0011"
    "2011_09_26_drive_0013"
    "2011_09_26_drive_0014"
    "2011_09_26_drive_0015"
    "2011_09_26_drive_0017"
    "2011_09_26_drive_0018"
    "2011_09_26_drive_0019"
    "2011_09_26_drive_0020"
    "2011_09_26_drive_0022"
    "2011_09_26_drive_0023"
    "2011_09_26_drive_0027"
    "2011_09_26_drive_0028"
    "2011_09_26_drive_0029"
    "2011_09_26_drive_0032"
    "2011_09_26_drive_0035"
    "2011_09_26_drive_0036"
)

mkdir -p "$RAW_DATA_DIR"
cd "$RAW_DATA_DIR"

echo "开始下载KITTI原始数据..."
echo "注意:如果下载失败,可能需要从官网手动下载:"
echo "https://www.cvlibs.net/datasets/kitti/raw_data.php"
echo ""

for seq in "${SEQUENCES[@]}"; do
    echo "尝试下载序列: $seq"
    
    # 尝试不同的URL格式
    URLS=(
        "${BASE_URL}/${seq}/${seq}_sync.zip"
        "${BASE_URL}/${seq}_sync/${seq}_sync.zip"
        "${BASE_URL}/${seq}/${seq}.zip"
    )
    
    for url in "${URLS[@]}"; do
        if wget -c --spider "$url" 2>&1 | grep -q "200 OK"; then
            echo "找到有效链接: $url"
            wget -c --progress=bar:force "$url" -O "${seq}_sync.zip"
            if [ $? -eq 0 ]; then
                echo "✅ 成功下载: $seq"
                break
            fi
        fi
    done
    
    sleep 1
done

echo ""
echo "下载完成!如果某些序列下载失败,请从官网手动下载"

使用方法:

chmod +x download_kitti_raw.sh
./download_kitti_raw.sh

方法二:手动下载

  1. 访问KITTI原始数据页面:

    • 链接: https://www.cvlibs.net/datasets/kitti/raw_data.php
    • 需要注册账号
  2. 选择序列:

    • 选择日期和驱动序列(如 2011_09_26_drive_0001
    • 下载对应的 *_sync.zip 文件
  3. 下载到目标目录:

    # 将下载的zip文件放到KITTI_raw_data目录
    mv ~/Downloads/2011_09_26_drive_0001_sync.zip \
       /home/dlh/YOLO-LiDAR-Fusion/KITTI_raw_data/
    

解压原始数据

重要: KITTI原始数据的zip文件解压后需要重新组织目录结构!

步骤1:解压所有zip文件
cd /home/dlh/YOLO-LiDAR-Fusion/KITTI_raw_data

# 解压所有序列
for zip_file in *_sync.zip; do
    if [ -f "$zip_file" ]; then
        echo "解压: $zip_file"
        unzip -q "$zip_file"
    fi
done
步骤2:重新组织目录结构

解压后,每个序列会创建类似 2011_09_26/2011_09_26_drive_0001_sync/ 的目录结构。

需要将结构重组为项目要求的格式:

#!/bin/bash
# reorganize_raw_data.sh

RAW_DATA_DIR="/home/dlh/YOLO-LiDAR-Fusion/KITTI_raw_data"
cd "$RAW_DATA_DIR" || exit 1

echo "重新组织KITTI原始数据目录结构..."

# 查找所有解压后的序列目录
for seq_dir in 2011_*/2011_*_drive_*_sync; do
    if [ -d "$seq_dir" ]; then
        echo "处理序列: $seq_dir"
        
        # 提取序列名称(如 2011_09_26_drive_0001_sync)
        seq_name=$(basename "$seq_dir")
        
        # 创建目标目录结构
        mkdir -p "$seq_name"
        
        # 复制标定文件
        if [ -d "$seq_dir/calib" ]; then
            cp -r "$seq_dir/calib" "$seq_name/"
        fi
        
        # 复制图像数据
        if [ -d "$seq_dir/image_02" ]; then
            cp -r "$seq_dir/image_02" "$seq_name/"
        fi
        
        # 复制LiDAR点云数据
        if [ -d "$seq_dir/velodyne_points" ]; then
            cp -r "$seq_dir/velodyne_points" "$seq_name/"
        fi
        
        echo "✅ 完成: $seq_name"
    fi
done

echo ""
echo "清理原始解压目录..."
rm -rf 2011_*/

echo "重新组织完成!"

或者,如果只需要处理单个序列:

# 假设已解压 2011_09_26_drive_0001_sync.zip
# 解压后结构: 2011_09_26/2011_09_26_drive_0001_sync/

# 创建目标目录
mkdir -p 2011_09_26_drive_0001_sync

# 复制必要文件
cp -r 2011_09_26/2011_09_26_drive_0001_sync/calib 2011_09_26_drive_0001_sync/
cp -r 2011_09_26/2011_09_26_drive_0001_sync/image_02 2011_09_26_drive_0001_sync/
cp -r 2011_09_26/2011_09_26_drive_0001_sync/velodyne_points 2011_09_26_drive_0001_sync/

# 清理
rm -rf 2011_09_26/

目录结构详解

KITTI_dataset 目录结构

KITTI_dataset/
├── data_object_image_2/          # 图像数据
│   └── training/
│       └── image_2/
│           ├── 000000.png        # 图像文件(索引 000000-007481)
│           ├── 000001.png
│           ├── ...
│           └── 007481.png
│
├── data_object_velodyne/         # LiDAR点云数据
│   └── training/
│       └── velodyne/
│           ├── 000000.bin        # 点云文件(索引 000000-007481)
│           ├── 000001.bin
│           ├── ...
│           └── 007481.bin
│
├── data_object_calib/            # 标定文件
│   └── training/
│       └── calib/
│           ├── 000000.txt        # 标定文件(索引 000000-007481)
│           ├── 000001.txt
│           ├── ...
│           └── 007481.txt
│
└── data_object_label_2/          # 3D边界框标签
    └── training/
        └── label_2/
            ├── 000000.txt        # 标签文件(索引 000000-007481)
            ├── 000001.txt
            ├── ...
            └── 007481.txt
文件说明

1. 图像文件 (*.png)

  • 格式: PNG
  • 尺寸: 1242 × 375 像素
  • 颜色: RGB
  • 数量: 7482 张
  • 用途: YOLOv8分割模型的输入

2. LiDAR点云文件 (*.bin)

  • 格式: 二进制文件
  • 数据类型: float32
  • 结构: 每行4个值 [x, y, z, intensity]
  • 点云数量: 约 100,000 - 150,000 点/帧
  • 坐标系: Velodyne LiDAR坐标系
  • 读取方法:
    points = np.fromfile('000000.bin', dtype=np.float32).reshape(-1, 4)
    # points shape: (N, 4) where N is number of points
    

3. 标定文件 (*.txt)

  • 格式: 文本文件
  • 内容: 相机和LiDAR之间的变换矩阵
  • 关键参数:
    • P2: 相机2的投影矩阵 (3×4)
    • R0_rect: 校正矩阵 (3×3)
    • Tr_velo_to_cam: LiDAR到相机的变换矩阵 (3×4)
  • 示例内容:
    P2: 7.215377e+02 0.000000e+00 6.095593e+02 4.485728e+01 0.000000e+00 7.215377e+02 1.728540e+02 2.163791e-01 0.000000e+00 0.000000e+00 1.000000e+00 2.745884e-03
    R0_rect: 9.999239e-01 9.837760e-03 -7.131048e-03 -9.837796e-03 9.999421e-01 -4.859612e-03 7.123802e-03 4.860459e-03 9.999488e-01
    Tr_velo_to_cam: 7.533745e-03 -9.999714e-01 -6.166020e-04 -4.069766e-03 1.480249e-02 7.280733e-04 -9.998902e-01 -7.631618e-02 9.998621e-01 7.523790e-03 1.480755e-02 -2.717806e-01
    

4. 标签文件 (*.txt)

  • 格式: 文本文件
  • 每行一个对象
  • 格式: 类别 截断 遮挡 角度 2D边界框 3D尺寸 3D位置 旋转角
  • 示例:
    Car 0.00 0 -1.57 587.01 173.33 614.12 238.11 1.65 1.67 3.64 -0.65 1.71 46.70 -1.59
    Pedestrian 0.00 0 -0.20 712.40 143.00 810.73 307.92 1.60 0.60 1.73 0.23 1.57 9.72 -0.20
    
  • 字段说明:
    • 类别: Car, Pedestrian, Cyclist, DontCare等
    • 截断: 0-1,对象被截断的程度
    • 遮挡: 0-3,遮挡程度
    • 角度: 观察角度(弧度)
    • 2D边界框: [x1, y1, x2, y2] 像素坐标
    • 3D尺寸: [高度, 宽度, 长度]
    • 3D位置: [x, y, z] 相机坐标系,米
    • 旋转角: 绕Y轴旋转角度(弧度)

KITTI_raw_data 目录结构

KITTI_raw_data/
├── 2011_09_26_drive_0001_sync/    # 序列1
│   ├── calib/
│   │   ├── calib_cam_to_cam.txt   # 相机到相机的标定
│   │   ├── calib_velo_to_cam.txt  # LiDAR到相机的标定
│   │   └── calib_imu_to_velo.txt  # IMU到LiDAR的标定
│   │
│   ├── image_02/                   # 相机2图像(左侧彩色相机)
│   │   ├── data/
│   │   │   ├── 0000000000.png     # 连续帧图像
│   │   │   ├── 0000000001.png
│   │   │   ├── ...
│   │   │   └── 0000000107.png
│   │   └── timestamps.txt          # 时间戳文件
│   │
│   └── velodyne_points/            # LiDAR点云
│       ├── data/
│       │   ├── 0000000000.bin     # 连续帧点云
│       │   ├── 0000000001.bin
│       │   ├── ...
│       │   └── 0000000107.bin
│       └── timestamps.txt          # 时间戳文件
│
├── 2011_09_26_drive_0002_sync/    # 序列2
│   └── ...
│
└── ...                             # 其他序列
文件说明

1. 标定文件

  • calib_cam_to_cam.txt: 包含相机内参和相机之间的变换

    • P_rect_02: 相机2的校正投影矩阵
    • R_rect_00: 校正旋转矩阵
  • calib_velo_to_cam.txt: LiDAR到相机的变换

    • R: 旋转矩阵 (3×3)
    • T: 平移向量 (3×1)

2. 图像文件

  • 格式: PNG
  • 命名: 10位数字,从 0000000000.png 开始
  • 数量: 每个序列约 100-500 帧(取决于序列长度)

3. LiDAR点云文件

  • 格式: 二进制文件(与KITTI_dataset相同)
  • 命名: 与图像文件对应(相同索引)
  • 同步: 图像和点云通过时间戳同步

4. 时间戳文件 (timestamps.txt)

  • 格式: 每行一个时间戳
  • 格式: YYYY-MM-DD HH:MM:SS.ffffff
  • 用途: 确保图像和点云的同步

验证数据集完整性

验证KITTI_dataset

创建验证脚本 verify_kitti_dataset.sh:

#!/bin/bash

DATASET_DIR="/home/dlh/YOLO-LiDAR-Fusion/KITTI_dataset"
cd "$DATASET_DIR" || exit 1

echo "=========================================="
echo "验证KITTI_dataset完整性"
echo "=========================================="
echo ""

# 检查目录是否存在
required_dirs=(
    "data_object_image_2/training/image_2"
    "data_object_velodyne/training/velodyne"
    "data_object_calib/training/calib"
    "data_object_label_2/training/label_2"
)

for dir in "${required_dirs[@]}"; do
    if [ -d "$dir" ]; then
        echo "✅ 目录存在: $dir"
    else
        echo "❌ 目录缺失: $dir"
    fi
done

echo ""
echo "检查文件数量..."

# 检查图像文件
image_count=$(ls -1 data_object_image_2/training/image_2/*.png 2>/dev/null | wc -l)
echo "图像文件数量: $image_count (期望: 7482)"

# 检查点云文件
velodyne_count=$(ls -1 data_object_velodyne/training/velodyne/*.bin 2>/dev/null | wc -l)
echo "点云文件数量: $velodyne_count (期望: 7482)"

# 检查标定文件
calib_count=$(ls -1 data_object_calib/training/calib/*.txt 2>/dev/null | wc -l)
echo "标定文件数量: $calib_count (期望: 7482)"

# 检查标签文件
label_count=$(ls -1 data_object_label_2/training/label_2/*.txt 2>/dev/null | wc -l)
echo "标签文件数量: $label_count (期望: 7482)"

echo ""
echo "检查文件索引连续性..."

# 检查索引范围
first_image=$(ls -1 data_object_image_2/training/image_2/*.png | head -1 | xargs basename | sed 's/.png//')
last_image=$(ls -1 data_object_image_2/training/image_2/*.png | tail -1 | xargs basename | sed 's/.png//')
echo "图像索引范围: $first_image$last_image"

# 检查是否有缺失的索引
missing_count=0
for i in {0..7481}; do
    idx=$(printf "%06d" $i)
    if [ ! -f "data_object_image_2/training/image_2/${idx}.png" ]; then
        missing_count=$((missing_count + 1))
        if [ $missing_count -le 10 ]; then
            echo "⚠️  缺失图像: ${idx}.png"
        fi
    fi
done

if [ $missing_count -eq 0 ]; then
    echo "✅ 所有图像文件完整"
else
    echo "⚠️  缺失 $missing_count 个图像文件"
fi

echo ""
echo "=========================================="
echo "验证完成"
echo "=========================================="

验证KITTI_raw_data

#!/bin/bash

RAW_DATA_DIR="/home/dlh/YOLO-LiDAR-Fusion/KITTI_raw_data"
cd "$RAW_DATA_DIR" || exit 1

echo "=========================================="
echo "验证KITTI_raw_data完整性"
echo "=========================================="
echo ""

# 查找所有序列目录
sequences=$(find . -maxdepth 1 -type d -name "2011_*_drive_*_sync" | sort)

if [ -z "$sequences" ]; then
    echo "❌ 未找到任何序列目录"
    exit 1
fi

echo "找到的序列:"
echo "$sequences" | while read seq; do
    seq_name=$(basename "$seq")
    echo "  - $seq_name"
done

echo ""
echo "检查每个序列的完整性..."

for seq_dir in $sequences; do
    seq_name=$(basename "$seq_dir")
    echo ""
    echo "检查序列: $seq_name"
    
    # 检查标定文件
    if [ -f "$seq_dir/calib/calib_cam_to_cam.txt" ] && \
       [ -f "$seq_dir/calib/calib_velo_to_cam.txt" ]; then
        echo "  ✅ 标定文件完整"
    else
        echo "  ❌ 标定文件缺失"
    fi
    
    # 检查图像文件
    if [ -d "$seq_dir/image_02/data" ]; then
        image_count=$(ls -1 "$seq_dir/image_02/data"/*.png 2>/dev/null | wc -l)
        echo "  ✅ 图像文件: $image_count 帧"
    else
        echo "  ❌ 图像目录缺失"
    fi
    
    # 检查点云文件
    if [ -d "$seq_dir/velodyne_points/data" ]; then
        point_count=$(ls -1 "$seq_dir/velodyne_points/data"/*.bin 2>/dev/null | wc -l)
        echo "  ✅ 点云文件: $point_count 帧"
        
        # 检查图像和点云数量是否匹配
        if [ "$image_count" -eq "$point_count" ]; then
            echo "  ✅ 图像和点云数量匹配"
        else
            echo "  ⚠️  图像和点云数量不匹配"
        fi
    else
        echo "  ❌ 点云目录缺失"
    fi
done

echo ""
echo "=========================================="
echo "验证完成"
echo "=========================================="

常见问题与解决方案

问题1: 下载速度慢或中断

解决方案:

  1. 使用断点续传: wget -c
  2. 使用多线程下载工具(如 aria2c):
    aria2c -x 8 -s 8 "https://s3.eu-central-1.amazonaws.com/avg-kitti/data_object_image_2/data_object_image_2.zip"
    
  3. 使用代理或VPN
  4. 手动下载(从官网)

问题2: 解压失败(文件损坏)

解决方案:

  1. 重新下载损坏的文件
  2. 验证文件完整性(如果提供了MD5校验和)
  3. 使用 unzip -t 测试zip文件:
    unzip -t data_object_image_2.zip
    

问题3: 磁盘空间不足

解决方案:

  1. 检查可用空间:
    df -h /home/dlh/YOLO-LiDAR-Fusion
    
  2. 解压后删除zip文件(节省空间):
    # 解压完成后删除zip文件
    rm -f KITTI_dataset/*.zip
    rm -f KITTI_raw_data/*.zip
    
  3. 只下载需要的部分(如只下载图像和点云,不下载原始数据)

问题4: 目录结构不正确

解决方案:

  1. 检查README.md中的要求结构
  2. 使用提供的重组脚本
  3. 手动创建符号链接(如果需要):
    # 如果文件在其他位置
    ln -s /path/to/actual/data KITTI_dataset/data_object_image_2
    

问题5: 文件索引不连续

解决方案:

  1. 检查是否有缺失的文件
  2. 某些索引可能确实不存在(KITTI数据集可能有跳号)
  3. 代码应该能够处理缺失的索引

问题6: 权限问题

解决方案:

# 确保有读写权限
chmod -R 755 /home/dlh/YOLO-LiDAR-Fusion/KITTI_dataset
chmod -R 755 /home/dlh/YOLO-LiDAR-Fusion/KITTI_raw_data

问题7: 原始数据解压后结构混乱

解决方案:

  1. 使用提供的重组脚本 reorganize_raw_data.sh
  2. 手动重组(参考上面的步骤2)
  3. 确保每个序列目录包含:
    • calib/ 目录
    • image_02/ 目录
    • velodyne_points/ 目录

快速参考

下载命令汇总

# KITTI_dataset
cd /home/dlh/YOLO-LiDAR-Fusion/KITTI_dataset
wget -c https://s3.eu-central-1.amazonaws.com/avg-kitti/data_object_image_2/data_object_image_2.zip
wget -c https://s3.eu-central-1.amazonaws.com/avg-kitti/data_object_image_2/data_object_velodyne.zip
wget -c https://s3.eu-central-1.amazonaws.com/avg-kitti/data_object_image_2/data_object_calib.zip
wget -c https://s3.eu-central-1.amazonaws.com/avg-kitti/data_object_image_2/data_object_label_2.zip

# 解压
unzip -q data_object_image_2.zip
unzip -q data_object_velodyne.zip
unzip -q data_object_calib.zip
unzip -q data_object_label_2.zip

验证命令

# 检查文件数量
ls -1 KITTI_dataset/data_object_image_2/training/image_2/*.png | wc -l
ls -1 KITTI_dataset/data_object_velodyne/training/velodyne/*.bin | wc -l

# 检查目录结构
tree -L 3 KITTI_dataset/
tree -L 3 KITTI_raw_data/

清理命令

# 删除zip文件(解压后)
rm -f KITTI_dataset/*.zip
rm -f KITTI_raw_data/*.zip

# 删除临时文件
rm -f KITTI_dataset/download_*.log

总结

  1. KITTI_dataset: 用于训练和评估,包含7482个样本
  2. KITTI_raw_data: 用于视频处理,包含多个连续帧序列
  3. 下载: 可以使用wget自动下载或从官网手动下载
  4. 解压: 注意原始数据需要重组目录结构
  5. 验证: 使用提供的脚本验证数据集完整性

完成数据集下载和组织后,即可开始使用项目进行3D目标检测!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐