Lane annotation tool

making dataset in the same format as CULane

Featured image

차선인식을 하기 위한 dataset 생성하기(Creating annotation tool for good performance)

딥러닝 네트워크를 사용하는데…

차선인식을 하기 위한 방법으로 딥러닝을 이용하기로 했다. 딥러닝 네트워크가 수 많은 parameter를 학습할 때, 양질의 데이터셋을 많은 것이 딥러닝 네트워크 성능 향상에 핵심적이다.
논문에서 평가용으로 많이 사용하고 있는 lane open dataset은 CULane, TuSimple, BDD100K이 있다. 이 중 테스트 결과가 제일 좋은 CULane을 이용하기로 했다. CULane 데이터셋뿐만 아니라 이러한 형식을 가진 한국 도심 데이터셋이 필요했다. labelme 등 여러 annotation tool을 이용해보았는데 원하는 tool을 찾지 못해서 annotation tool을 직접 제작하기로 했다. ENet-SAD 논문 저자가 사용한 CULane 데이터셋 파일구조와 segmentation 방식(seg_label_generate 참고)을 맞춰 제작했다. 파일을 video 이름으로 나눔으로써 자동으로 사용한 video가 구분되었다. CULane 데이터셋 파일 구조는 다음과 같다.

Culane
  ├─ video path
    ├─ 0000.jpg ##image
    ├─ 0000.txt ##text file include the ground truth of image
    ├─ ... ##a lot of jpg and txt pairs
  ├─ list
    ├─ train.txt ## all image paths
    ├─ train_gt.txt ## all segmentation image paths and the label paths
  ├─ laneseg
    ├─ video path
       ├─ 0000.png ##segmentation images

annotation tool의 핵심 기능

시각적으로 annotation하기 용이하도록 도움을 줄 기능

추가 기능

annotation tool 다운로드

곧 오픈 예정

직접 만든 dataset 학습시켜보자

직접 만든 dataset이 잘 학습되는지 test를 해보았다. 빠르게 annotation해서 datset 몇 장을 만들고 잘 학습되는 것을 보았다. 성능향상을 위해 annotation을 많이 하는 것이 필요하다. 우선 이틀에 걸쳐 낮 영상과 밤 영상에서 총 1000장 정도의 frame을 annotation했다.
culane dataset과 합쳐 ENet-SAD train을 시켰다.
다음은 culane dataset만을 이용해 test한 결과이다.
only_culane-_online-video-cutter com_
다음은 우리가 annotation한 dataset을 포함시킨 결과이다. culane_and_ours-_online-video-cutter com_
아직까지 큰 차이는 없어보이지만 더 많은 dataset을 만들게 되면 더 좋은 성능을 가지게 될 것이다.