Skip to content

Road Damage Dataset

Ishita Takeshi edited this page Mar 10, 2018 · 14 revisions

Road Damage Dataset

入手元 https://s3-ap-northeast-1.amazonaws.com/mycityreport/RoadDamageDataset.tar.gz

地域毎のデータ枚数

location train val
Adachi 1320 330
Chiba 373 94
Ichihara 203 51
Muroran 1716 429
Nagakute 1092 274
Numazu 1625 407
Sumida 911 228
All 7240 1813

道路の損傷のクラス分け

以下の図のようにクラス分けされている.

ディレクトリ構成

RoadDamageDataset
|-- Adachi
|   |-- Annotations # アノテーションがXML形式で格納されている
|   |-- ImageSets
|   |   `-- Main    # JPEGImages/Annotations 内のどのデータが
|   |               # train/val になるかを指定している
|   |-- JPEGImages  # 画像データが入っている
|   `-- labels      # テキストファイルが入っているが学習にもテストにも使っていない
|-- Chiba           # 他の地区についてもフォーマットは同じ
|   |-- ...
|-- Ichihara
|   |-- ...
|-- Muroran
|   |-- ...
|-- Nagakute
|   |-- ...
|-- Sumida
|   |-- ...
|-- Numazu
|   |-- Annotations
|   |-- Annotations-original  # Numazuにだけoriginalのアノテーションが含まれているが
|   |                         # こちらは学習には使っていない
|   |-- ImageSets
|   |   `-- Main
|   |-- JPEGImages
|   `-- labels
|-- All              # 全地区のデータを統合して格納している
    |-- Annotations
    |-- ImageSets
    |   `-- Main
    |-- JPEGImages
    `-- labels

ファイル構成

RoadDamageDataset/Adachi/
|-- Annotations
|   |-- Adachi_20170906093835.xml
|   |-- Adachi_20170906093840.xml
|   |-- ...
|-- ImageSets
|   `-- Main
|       |-- D00_train.txt
|       |-- D00_trainval.txt
|       |-- D00_val.txt
|       |-- D01_{train,trainval,val}.txt
|       |-- D10_{train,trainval,val}.txt
|       |-- D11_{train,trainval,val}.txt
|       |-- D20_{train,trainval,val}.txt
|       |-- D40_{train,trainval,val}.txt
|       |-- D43_{train,trainval,val}.txt
|       |-- D44_{train,trainval,val}.txt
|       |-- train.txt              # trainデータのファイルのIDの一覧
|       |-- val.txt                # valデータのファイルのIDの一覧
|       |-- trainval.txt           # trainとval
|       |-- train_train.txt
|       |-- train_trainval.txt
|       `-- train_val.txt
|-- JPEGImages
|   |-- Adachi_20170906093835.jpg
|   |-- Adachi_20170906093840.jpg
|   |-- ...
`-- labels
    |-- Adachi_20170906093835.txt
    |-- Adachi_20170906093840.txt
    |-- ...

train.txtval.txtによってtrainとvalそれぞれのアノテーションファイルと画像ファイルが指定される.

train.txt

Adachi_20170908100929
Adachi_20170907134444
...

例えばこの場合

JPEGImages/Adachi_20170908100929.jpg
JPEGImages/Adachi_20170907134444.jpg

がtrainの画像データとして,

Annotations/Adachi_20170908100929.xml
Annotations/Adachi_20170907134444.xml

が対応するアノテーションデータとして用いられる.

val.txt

Adachi_20170908142224
Adachi_20170906153135
...

例えばこの場合

JPEGImages/Adachi_20170908142224.jpg
JPEGImages/Adachi_20170906153135.jpg

がvalの画像データとして,

Annotations/Adachi_20170908142224.xml
Annotations/Adachi_20170906153135.xml

が対応するアノテーションデータとして用いられる.

データフォーマット

画像

対応するアノテーションファイル

ファイルには画像ファイル名と画像のサイズ,bounding boxの位置,そのbounding box内にある損傷の種類が記入されている.

<annotation>
    <folder>Adachi</folder>
    <filename>Adachi_20170912142057.jpg</filename>
    <size>
        <width>600</width>
        <height>600</height>
    </size>
    <segmented>0</segmented>
    <object>
        <name>D10</name>
        <bndbox>
            <xmin>474</xmin>
            <ymin>420</ymin>
            <xmax>595</xmax>
            <ymax>476</ymax>
        </bndbox>
    </object>
    <object>
        <name>D01</name>
        <bndbox>
            <xmin>11</xmin>
            <ymin>383</ymin>
            <xmax>206</xmax>
            <ymax>552</ymax>
        </bndbox>
    </object>
</annotation>

ファイルに書き込まれているbounding boxの座標はは左上を(1, 1)としているため,コード内で左上が(0, 0)になるように補正している.

[int(bndbox_anno.find(tag).text) - 1 for tag in ('ymin', 'xmin', 'ymax', 'xmax')]

bounding boxとラベルを表示すると次のようになる.

表示のためにスコアをnanに設定しているが,predictionの際にはここにconfidenceが書き込まれる.

データ例

Adachi

Chiba

Ichihara

Muroran

Nagakute

Numazu

Sumida

Clone this wiki locally