1. 程式人生 > >KITTI資料集簡介與使用

KITTI資料集簡介與使用

摘要:本文融合了Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite和Vision meets Robotics: The KITTI Dataset兩篇論文的內容,主要介紹KITTI資料集概述,資料採集平臺,資料集詳細描述,評價準則以及具體使用案例。本文對KITTI資料集提供一個較為詳細全面的介紹,重點關注利用KITTI資料集進行各項研究與實驗。

1.KITTI資料集概述

  KITTI資料集由德國卡爾斯魯厄理工學院和豐田美國技術研究院聯合創辦,是目前國際上最大的自動駕駛場景下的計算機視覺演算法評測資料集。該資料集用於評測立體影象(stereo),光流(optical flow),視覺測距(visual odometry),3D物體檢測(object detection)和3D跟蹤(tracking)等計算機視覺技術在車載環境下的效能。KITTI包含市區、鄉村和高速公路等場景採集的真實影象資料,每張影象中最多達15輛車和30個行人,還有各種程度的遮擋與截斷。整個資料集由389對立體影象和光流圖,39.2 km視覺測距序列以及超過200k 3D標註物體的影象組成[1] ,以10Hz的頻率取樣及同步。總體上看,原始資料集被分類為’Road’, ’City’, ’Residential’, ’Campus’ 和 ’Person’。對於3D物體檢測,label細分為car, van, truck, pedestrian, pedestrian(sitting), cyclist, tram以及misc組成。

2.資料採集平臺

  如圖-1所示,KITTI資料集的資料採集平臺裝配有2個灰度攝像機,2個彩色攝像機,一個Velodyne 64線3D鐳射雷達,4個光學鏡頭,以及1個GPS導航系統。具體的感測器引數如下[2] :

  • 2 × PointGray Flea2 grayscale cameras (FL2-14S3M-C), 1.4 Megapixels, 1/2” Sony ICX267 CCD, global shutter
  • 2 × PointGray Flea2 color cameras (FL2-14S3C-C), 1.4 Megapixels, 1/2” Sony ICX267 CCD, global shutter
  • 4 × Edmund Optics lenses, 4mm, opening angle ∼ 90◦, vertical opening angle of region of interest (ROI) ∼ 35◦
  • 1 × Velodyne HDL-64E rotating 3D laser scanner, 10 Hz, 64 beams, 0.09 degree angular resolution, 2 cm distance accuracy, collecting ∼ 1.3 million points/second, field of view: 360◦ horizontal, 26.8◦ vertical, range: 120 m
  • 1 × OXTS RT3003 inertial and GPS navigation system, 6 axis, 100 Hz, L1/L2 RTK, resolution: 0.02m / 0.1◦ 
        這裡寫圖片描述 
                        圖-1 資料採集平臺 
      如圖-2所示為感測器的配置平面圖。為了生成雙目立體影象,相同型別的攝像頭相距54cm安裝。由於彩色攝像機的解析度和對比度不夠好,所以還使用了兩個立體灰度攝像機,它和彩色攝像機相距6cm安裝。為了方便感測器資料標定,規定座標系方向如下[2] : 
    • Camera: x = right, y = down, z = forward 
    • Velodyne: x = forward, y = left, z = up 
    • GPS/IMU: x = forward, y = left, z = up 
        這裡寫圖片描述 
                        圖-2 感測器設定

3.Dataset詳述

  圖-3展示了KITTI資料集的典型樣本,分為 ’Road’, ’City’, ’Residential’, ’Campus’ 和’Person’五類。原始資料採集於2011年的5天,共有180GB資料。 
這裡寫圖片描述
                    圖-3 KITTI資料集的樣本,展現KITTI資料集的多樣性。

3.1 資料組織形式

  論文[2] 中提及的資料組織形式,可能是早期的版本,與目前KITTI資料集官網公佈的形式不同,本文稍作介紹。 
如圖-4所示,一個視訊序列的所有感測器資料都儲存於data_drive資料夾下,其中date和drive是佔位符,表示採集資料的日期和視訊編號。時間戳記錄在Timestamps.txt檔案。 
    這裡寫圖片描述 
                    圖-4 資料組織形式 
  對於從KITTI資料集官網下載的各個分任務的資料集,其檔案組織形式較為簡單。以Object detection為例,下圖是Object Detection Evaluation 2012標準資料集中left color images檔案的目錄結構,樣本分別儲存於testing和training資料集。

data_object_image_2 
|── testing 
│ └── image_2 
└── training 
└── image_2

  下圖是training資料集的label資料夾目錄結構。

training/ 
└── label_2

3.2 Annotations

  KITTI資料集為攝像機視野內的運動物體提供一個3D邊框標註(使用鐳射雷達的座標系)。該資料集的標註一共分為8個類別:’Car’, ’Van’, ’Truck’, ’Pedestrian’, ’Person (sit- ting)’, ’Cyclist’, ’Tram’ 和’Misc’ (e.g., Trailers, Segways)。論文[2] 中說明了3D標註資訊儲存於date_drive_tracklets.xml,每一個物體的標註都由所屬類別和3D尺寸(height,weight和length)組成。當前資料集的標註存於每種任務子資料集的label資料夾中,稍有不同。 
  為了說明KITTI資料集的標註格式,本文以Object detection任務的資料集為例。資料說明在Object development kit的readme.txt文件中。從標註資料的連結 training labels of object data set (5 MB)下載資料,解壓檔案後進入目錄,每張影象對應一個.txt檔案。一幀影象與其對應的.txt標註檔案如圖-5所示。 
    這裡寫圖片描述
                    圖-5 object detection樣本與標註 
  為了理解標註檔案各個欄位的含義,需要閱讀解釋標註檔案的readme.txt檔案。該檔案儲存於object development kit (1 MB)檔案中,readme詳細介紹了子資料集的樣本容量,label類別數目,檔案組織格式,標註格式,評價方式等內容。下面介紹資料格式的label描述: 
    這裡寫圖片描述 
  注意,’DontCare’ 標籤表示該區域沒有被標註,比如由於目標物體距離鐳射雷達太遠。為了防止在評估過程中(主要是計算precision),將本來是目標物體但是因為某些原因而沒有標註的區域統計為假陽性(false positives),評估指令碼會自動忽略’DontCare’ 區域的預測結果。

3.3 Development Kit

  KITTI各個子資料集都提供開發工具 development kit,主要由cpp資料夾,matlab資料夾,mapping資料夾和readme.txt組成。下圖以object detection任務的資料夾devkit_object為例,可以看到cpp資料夾主要包含評估模型的原始碼evaluate_object.cpp。Mapping資料夾中的檔案記錄訓練集到原始資料集的對映,從而開發者能夠同時使用鐳射雷達點雲,gps資料,右邊彩色攝像機資料以及灰度攝像機影象等多模態資料。Matlab資料夾中的工具包含讀寫標籤,繪製2D/3D標註框,執行demo等工具。Readme.txt檔案非常重要,詳述介紹了某個子資料集的資料格式,benchmark介紹,結果評估方法等詳細內容。

devkit_object 
|── cpp 
│ |── evaluate_object.cpp 
│ └── mail.h 
|── mapping 
│ |── train_mapping.txt 
│ └── train_rand.txt 
|── matlab 
│ |── computeBox3D.m 
│ |── computeOrientation3D.m 
│ |── drawBox2D.m 
│ |── drawBox3D.m 
│ |── projectToImage.m 
│ |── readCalibration.m 
│ |── readLabels.m 
│ |── run_demo.m 
│ |── run_readWriteDemo.m 
│ |── run_statistics.m 
│ |── visualization.m 
│ └── writeLabels.m

4.評價準則Evaluation Metrics

4.1 stereo與visual odometry任務

  KITTI資料集針對不同的任務採用不同的評價準則。對於立體影象和光流(stereo and optical flow),依據disparity 和end-point error計算得到平均錯誤畫素數目(average number of erroneous pixels)。 
  對於視覺測距和SLAM任務(visual odometry/SLAM),根據軌跡終點(trajectory end-point)的誤差進行評估。傳統的方法同時考慮平移和旋轉的誤差,KITTI分開評估[1] : 
    這裡寫圖片描述 
                    圖-6 Stereo和optical flow的預測結果與評估

4.2 3D物體檢測和方向預測

  目標檢測需要同時實現目標定位和目標識別兩項任務。其中,通過比較預測邊框和ground truth邊框的重疊程度(Intersection over Union,IoU)和閾值(e.g. 0.5)的大小判定目標定位的正確性;通過置信度分數和閾值的比較確定目標識別的正確性。以上兩步綜合判定目標檢測是否正確,最終將多類別目標的檢測問題轉換為“某類物體檢測正確、檢測錯誤”的二分類問題,從而可以構造混淆矩陣,使用目標分類的一系列指標評估模型精度。 
  KITTI資料集採用文獻[3] 用到的平均正確率(Average Precision,mAP)評估單類目標檢測模型的結果。PASCAL Visual Object Classes Challenge2007 (VOC2007)[3] 資料集使用Precision-Recall曲線進行定性分析,使用average precision(AP)定量分析模型精度。物體檢測評估標準對物體漏檢和錯檢進行懲罰,同時規定對同一物體重複且正確的檢測只算一次,多餘的檢測視為錯誤(假陽性)。 
  對於每一張樣本和某一個給定型別的檢測器,演算法輸出預測結果 ,表示檢測出影象中有個物體,每個物體的位置資訊和置信度分佈是和。 
  為了評估邊界框定位的準確性,使用檢測框與ground truth框之間的重合度來度量: 
            這裡寫圖片描述 
  如果則說明檢測到的邊框和影象上該類的ground truth匹配,此時。為了防止重複檢測,如果邊框與ground truth多個邊框重合度都大於50%,取重合度最大的視為對的匹配。檢測演算法對真實物體的重複檢測,只算其中一次為正確預測,其餘的重複預測視為錯誤檢測。 
  對於一個給定類別,N是該類所有影象上的真實物體數目。物體檢測任務採用PR曲線和AP值評估模型精度,給定不同閾值t,得到不同的召回率和精確率,從而可以繪製P-R曲線,計算每個檢測器的AP值: 
            這裡寫圖片描述 
  評價精確率AP是P-R曲線的積分值,當t是離散的情況時,AP就是不同t的召回率對應的精確率的平均值。為了簡化計算,PASCAL VOC2007採用插值的方法,使用11個等間距recall上的精確值的平均值作為分類器的AP。召回率取值[0,0.1,…,1],計算公式如下: 
            這裡寫圖片描述 
  每個召回率r上的精確值由大於r所對應精確率的最大值插值來決定: 
            這裡寫圖片描述 
  對於KITTI目標檢測任務,僅僅評估目標高度大於25pixel的預測結果,將易混淆的類別視為同一類以減少假陽性(false positives)率,並且使用41個等間距recall上的精確值的平均值近似計算分類器的AP。 
對於物體方向預測,文獻[1] 提出了一種新穎的方法:平均方向相似性,Average Orientation Similarity (AOS)。該指標被定義為: 
            這裡寫圖片描述 
  其中,r代表物體檢測的召回率recall。在因變數r下,方向相似性s∈[0,1]被定義為所有預測樣本與ground truth餘弦距離的歸一化: 
            這裡寫圖片描述 
  其中D(r)表示在召回率r下所有預測為正樣本的集合,∆θ(i) 表示檢出物體i的預測角度與ground truth的差。為了懲罰多個檢出匹配到同一個ground truth,如果檢出i已經匹配到ground truth(IoU至少50%)設定δi = 1,否則δi = 0。

5. 資料使用實踐

  KITTI資料集的標註資訊更加豐富,在實際使用中可能只需要一部分欄位,或者需要轉換成其他資料集的格式。例如可以將KITTI資料集轉換成PASCAL VOC格式,從而更方便地使用Faster RCNN或者SSD等先進的檢測演算法進行訓練。轉換KITTI資料集需要注意源資料集和目標資料集的格式,類別標籤的重新處理等問題,實現細節建議參考Jesse_Mx[4] 和github上manutdzou的開源專案[5] ,這些資料介紹了轉換KITTI資料集為PASCAL VOC格式,從而方便訓練Faster RCNN或者SSD等模型。

Reference

[1] Andreas Geiger and Philip Lenz and Raquel Urtasun. Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite. CVPR, 2012 
[2] Andreas Geiger and Philip Lenz and Christoph Stiller and Raquel Urtasun. Vision meets Robotics: The KITTI Dataset. IJRR, 2013 
[3] M. Everingham, L.Van Gool, C. K. I.Williams, J.Winn, and A. Zisserman. The PASCAL Visual Object Classes Challenge 2011 (VOC2011) Results. 
[4] Jesse_Mx.SD: Single Shot MultiBox Detector 訓練KITTI資料集(1). 
http://blog.csdn.net/jesse_mx/article/details/65634482 
[5]manutdzou.manutdzou/KITTI_SSD.https://github.com/manutdzou/KITTI_SSD 
附錄 
    這裡寫圖片描述 
                    圖-7 不同類別物體在資料集中出現的頻率(上圖); 
對於兩個主要類別(車輛,行人)主要的方向統計直方圖(下圖) 
    這裡寫圖片描述
                    圖-8 每張圖中不同類別物體出現頻率統計。 
    這裡寫圖片描述
                    圖-9 分別為速度,加速度(排除靜止狀態)統計直方圖;視訊序列長度統計直方圖;每種場景(e.g., Campus, city)的幀數統計直方圖。


相關推薦

KITTI資料簡介使用

摘要:本文融合了Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite和Vision meets Robotics: The KITTI Dataset兩篇論文的內容,主要介紹KITTI資料

【輔助駕駛】KITTI鐳射資料影象資料的融合MATLAB實現[2]——KITTI資料簡介

一、選擇KITTI的原因 我知道並有使用的資料集只有CityScapes和KITTI,其中CityScapes主要包括語義分割資料,沒有鐳射雷達資料,Github關於雷達影象融合開原始碼找到的也是KITTI的程式碼。 二、資料集簡介 1、網址:http://www.cvlibs.ne

KITTI資料測試 :MATLAB繪製groundtruth 真實地圖

在poses目錄下,包含00.txt-10.txt 11個序列,每一個檔案包換Nx12個表格,N代表幀數。每一行利用3x4轉移矩陣代表左邊相機系統位姿,轉移矩陣將當前幀左邊相機系統中的一個點對映到第0幀的座標系統中。轉移矩陣中平移的部分表示當前相機位置(相對於第0幀)。 Groundtrut

Kitti資料使用之坑

KITTI資料集簡介與使用: https://blog.csdn.net/solomon1558/article/details/70173223   接下來是我使用時遇到的坑: 一、label檔案中ry的含義 按照文件中圖示,ry應該是小車朝向和相機座標系z軸的夾角

Kitti資料轉成VOC(xml)資料格式

本文將kitti資料集中的檢測部分的資料標註轉換成voc格式的xml,用於生成caffe-ssd訓練的lmdb資料,具體資料集自己下載,標註圖片大概七千多張。 kitti格式標註及圖片轉voc格式標註及圖片(主要是扣掉了dontcare部分), 具體程式碼如下: #!/usr/bin

CSV資料配置Redis資料配置

在這篇文章中,我想向您展示如何在JMeter中使用Redis資料集配置以及它如何影響測試的吞吐量。 Redis的: Redis代表RE mote DI ctionary S erver 。它是一個開

KITTI資料--引數

一、kitti資料集,label解析 16個數代表的含義: 第1個字串:代表物體類別 'Car', 'Van', 'Truck','Pedestrian', 'Person_sitting', 'Cyclist','Tram',  'Misc' or 

(ILSVRC2012)imagenet2012資料下載處理

1.訓練集的資料亮已經足夠了,所以我只下載了訓練集,下載地址: http://www.image-net.org/challenges/LSVRC/2012/nnoupb/ILSVRC2012_img_train.tar   2.資料集中圖片類別是用wordnet編碼進行命名的

KITTI資料測試 :groundtruth 真實地圖

在poses目錄下,包含00.txt-10.txt 11個序列,每一個檔案包換Nx12個表格,N代表幀數。每一行利用3x4轉移矩陣代表左邊相機系統位姿,轉移矩陣將當前幀左邊相機系統中的一個點對映到第0幀的座標系統中。轉移矩陣中平移的部分表示當前相機位置(相對於第

MySql資料引擎簡介選擇方法

ISAM ISAM是一個定義明確且歷經時間考驗的資料表格管理方法,它在設計之時就考慮到資料庫被查詢的次數要遠大於更新的次數。因此,ISAM執行讀取操作的速度很快,而且不佔用大量的記憶體和儲存資源。ISAM的兩個主要不足之處在於,它不支援事務處理,也不能夠容錯:如果你的硬碟崩潰了,那麼資料檔案就無法恢復了。如果

基於KITTI資料的KERAS-YOLOV3實踐

資料整理 One row for one image; Row format: image_file_path box1 box2 … boxN; Box format: x_min,y_min,x_max,y_max,class_id (no spa

MNIST資料簡介

MNIST Dataset Introduction 大多數示例使用手寫數字的MNIST資料集。 該資料集包含60,000個用於培訓的示例和10,000個用於測試的示例。 這些數字已經標準化,並以固定大小的影象(28x28畫素)為中心,其值為0到1.為簡單起見,每個影象都被展平並轉換為784個特

JMeter - CSV資料配置Redis資料配置 - 吞吐量比較

在這篇文章中,我想向您展示如何在JMeter中使用Redis資料集配置以及它如何影響測試的吞吐量。 Redis的: Redis代表RE mote DI ctionary S erver 。它是一個開源  的記

科比資料分析預測

本文收集了一系列科比的資料,有投籃位置,投進二分、三分球個數,比賽剩餘時間,對手是誰等等來預測科比是否進球。主要是想通過本例來認識一下pandas在資料處理方面強大的功能 。資料集有需要的可以聯絡我qq:1344184686 一、匯入需要用到的包,讀入資料集 import

KITTI 資料

欄位一:type物體類別:‘Car’, ‘Van’, ‘Truck’,‘Pedestrian’, ‘Person_sitting’, ‘Cyclist’,‘Tram’, ‘Misc’ or ‘DontCare’注意,’DontCare’ 標籤表示該區域沒有被標註,比如由於目標物體距離鐳射雷達太遠。為了防止

利用faster rcnn 訓練自己的資料——kitti資料

前言:非常感謝https://blog.csdn.net/flztiii/article/details/73881954,這篇部落格,本文主要參考這篇文章kitti資料集是一個車輛檢測的資料集資料集的準備Kitti資料集的下載只需要第一個圖片集(12G)和標註檔案即可【第一

SSD-Tensorflow:利用KITTI資料進行訓練

# Copyright 2015 Paul Balanca. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except

推薦系統實踐(八)--movieslens資料簡介

1、資料集簡介MovieLens資料集包含多個使用者對多部電影的評級資料,也包括電影元資料資訊和使用者屬性資訊。這個資料集經常用來做推薦系統,機器學習演算法的測試資料集。尤其在推薦系統領域,很多著名論文都是基於這個資料集的。(PS: 它是某次具有歷史意義的推薦系統競賽所用的資料集)。2、資料介紹1m的資料解壓

KITTI資料資料初體驗

KITTI簡介 KITTI資料集由德國卡爾斯魯厄理工學院和豐田美國技術研究院聯合創辦,是目前國際上最大的自動駕駛場景下的計算機視覺演算法評測資料集。該資料集用於評測立體影象(stereo),光流(optical flow),視覺測距(visual odo

SAS學習︱邏輯庫、資料建立檢視、資料庫連結(SASR的code對照)

每每以為攀得眾山小,可、每每又切實來到起點,大牛們,緩緩腳步來俺筆記葩分享一下吧,please~———————————————————————————入門學習一週,開始寫學習筆記。用習慣R之後,發現SA