본문 바로가기
ML 관련/이미지 처리 관련

[논문 리뷰] Part-Based Obstacle Detection Using a Multiple Output Neural Network

by 탶선 2023. 1. 18.
반응형

시맨틱 시그멘테이션 관련 논문

  • 컬러 이미지를 입력으로 사용하는 인코더-디코더 구조를 기반으로 하는 다중 헤드 인공 신경망
    • 출력: 장애물 감지 모듈, 시맨틱 세그멘테이션 모듈, 소실점 감지 모듈
    • 인코더: 입력 이미지에서 적절하고 중요한 특징 추출
    • 시맨틱 세그멘테이션 솔루션 기반 디코더: 여러 예측(출력) 제공
    • 각 모듈을 독립적으로 훈련, 동일 손실 함수 사용

The multiple-output neural network architecture

픽셀 기반 특징 추출: ResNet 기반

  • 자유 공간, 특정 장애물에 레이블을 지정X -> 시맨틱 세그멘테이션 CNN을 활용 이미지 픽셀에 해당 개체 부분 레이블 지정
  • conv 블록: 2D 컨볼루션, 배치 정규화,ReLU 활성화의 세 가지 작업으로 나누어짐
  • 각 conv 블록: 2D 컨볼루션, 배치 정규화 작업 및 ReLU 활성화
    • 필터 수와 커널 크기가 다른 컨볼루션 세 번 반복 이후 다른 2D 컨볼루션을 실행한 결과과 결합
  • ID 블록: 앞서 conv와 동일하게 세 번 수행(동일한 세 가지 작업)
    • 마지막에 추가 컨볼루션 대신 입력 텐서로 skip connection

디코더 구조: U-Net 기반

  • concatenation operations은 인코더 부분의 해당 레이어와 쌍을 이룸
  • 네트워크의 출력은 최종 컨벌루션 작업을 통해 출력

Global Semantic Segmentation(3가지 채널 이미지 생성):

  • 운전 가능한 도로 영역
  • 보행자, 자전거 타는 사람, 차량, 버스 및 트럭 등 도로에서 동적(움직이는) 객체
  • 정적 개체

Obstacle Reconstruction Using Part-Based Semantic Segmentation

  • CNN은 장애물이 각각 출력 이미지의 이진 채널로 표시되는 4개의 개별 quarter(부분)로 세그멘테이션되는 출력

  • 각 장애물 픽셀에 quarter별 레이블 지정, 신경망의 시맨틱 세그멘테이션 결과 기반 개별 객체를 추출하는 알고리즘 설계
    • 전체 이미지 공간의 각 픽셀은 quarter에 해당하는 4비트(좌상단:0, 우상단:1, 좌하단:2, 우하단:3)로 나뉨
      • n번째 bit 는 우측에서 좌측으로 늘어남 -> [우하단, 좌하단, 우상단, 좌상단]의 순서

  • 일부 픽셀은 CNN에 의해 생성된 4개의 시맨틱 세그멘테이션 이미지가 상호 배타적이지 않기 때문에 1/4 이상 겹칠 수 있음
    • 장애물 픽셀 값 각각에 대한 이진 이미지 생성 및 연결된 구성 요소 이미지에 레이블 지정.
  • 여유 공간에 속하는 경우(장애물 지점이 아님) 값: 0
  • 객체에 속하는 경우 값: 1~15
  • 연결된 구성 요소(중복되는?)에 레이블 지정을 위해 알고리즘을 사용하여 레이블 지정해줌
  • 결과 영역은 [Real-Time Hybrid Multi-Sensor Fusion Framework for Perception in Autonomous Vehicles]에 설명된 슈퍼픽셀과 유사하도록 진행
    • 슈퍼 픽셀: 시맨틱 세그멘테이션의 결과이며 각 영역이 단일 객체에 속할 가능성이 높다는 추가적인 이점 존재
    • 슈퍼 픽셀: 단순히 색상이나 질감 특성이 아닌 semantic에 의해 그룹화
  • 가설이 객체보다 4배 더 많기 때문에 알고리즘은 모든 가설에 대한 픽셀 적합도 점수를 계산, 가장 적합한 것을 선택
  • 각 영역 R에 대한 픽셀 점수 S(R)은 해당 quarter에 맞는 영역과 겹치는 픽셀을 계산

  • 영역에 의해 정의된 quarter는 CNN 기반 시맨틱 세그멘테이션에 의해 픽셀에 할당된 quarter 레이블과 일치해야 함
    • 일치하는 픽셀을 고려할 때 가장 적합한 세그멘테이션 quarter 레이블을 고려함
  • 픽셀에 두 개의 레이블(예: 좌상단, 좌하단 레이블)이 있고 픽셀의 좌상단 quarter에 속하는 경우 가설 영역은 일치하는 것으로 간주
  • 픽셀 점수는 region 영역으로 정규화됨(모든 픽셀 점수S(R): 간격(0.1))
  • 알고리즘의 다음 단계는 가설들 사이의 종속 관계 설정
  • 임의의 두 직사각형 $R_i$ 및 $R_j$ 사이의 중첩 점수를 계산하여 중첩 점수가 임계값인 0.5를 초과하고, $R_j$의 픽셀 점수가 $R_i$의 픽셀 점수보다 높으면 직사각형 $R_i$는 $R_j$에 종속된 것으로 라벨링
  • 영역 $R_i$가 $R_j$와 동일한 물체를 묘사하지만 덜 적합하다고 가정한다. 이 프로세스는 그림 11에 설명되어 있습니다. 네 개의 직사각형은 픽셀 파생 분기에 의해 생성되지만 가장 적합한 것은 오른쪽 상단 분기에 의해 생성된 직사각형입니다. 따라서 다른 모든 직사각형은 오른쪽 상단 분기에서 생성된 직사각형 가설에 종속된 것으로 레이블이 지정됩니다.
  • 직사각형 가설과 해당 종속성 관계를 기반으로 그림 8에 제시된 개별 영역에 최종 레이블이 지정됩니다. 이 새 레이블은 영역이 속한 개별 개체의 ID입니다. 각 영역에 대해 모든 직사각형 가설과 겹치는 픽셀 수가 계산됩니다. 이 단계에서는 종속 관계에 있는 사각형을 포함하여 모든 사각형을 고려합니다. 프로세스에는 두 단계가 있습니다.
    • 개별 영역의 가장 많은 픽셀과 겹치는 사각형이 선택됩니다.
    • 사각형이 다른 사각형에 종속되어 있으면 기본 사각형의 레이블이 개별 영역으로 전달

  • 알고리즘의 마지막 단계: 픽셀이 속한 개체의 ID로 픽셀 자체에 레이블을 지정
    • 픽셀이 속한 영역의 레이블을 개별 픽셀로 간단히 전달합니다.
  • 이 영역은 이미 객체의 ID로 레이블이 지정되었기 때문에 부분적으로 겹치는 두 개체를 최종 레이블과 함께 표시하며 레이블 작업 끝

  • 직사각형 가설과 해당 종속성 관계 기반 그림 8에 제시된 개별 영역에 최종 레이블 지정
  • 이 새 레이블은 영역이 속한 개별 개체의 ID
  • 각 영역에 대해 모든 직사각형 가설과 겹치는 픽셀 수가 계산
    • 종속 관계에 있는 사각형을 포함하여 모든 사각형을 고려
      1. 개별 영역의 가장 많은 픽셀과 겹치는 사각형 선택
      2. 사각형이 다른 사각형에 종속되어 있는 경우
        • 본 사각형의 레이블을 개별 영역으로 전달

Object Refinemen

  • 후처리 단계
  • 전역 분할 헤드의 동적 객체
    • 객체 감지 헤드의 4분의 1을 개선하는 데 사용
    • 따라서 시맨틱 출력은 감지된 분기의 가장자리를 정제하는 데 사용

Vanishing-Point Computation

  • 이전에 발표된 작업[Camera Calibration for CNN-based Generic Obstacle Detection]의 결과를 사용하여 신경망에 필요한 훈련 이미지 생성
    • 3개의 투표 맵 이미지를 생성하는 데 사용되는 그래디언트의 방향과 크기를 계산하여 소실점을 감지하는 알고리즘
    • 첫 번째 이미지: 입력 이미지의 왼쪽에 있는 피처의 투표 지도를 포함
    • 두 번째 이미지: 입력 이미지의 오른쪽에 있는 투표 지도 피처를 포함
    • 세 번째 이미지: 처음 두 개를 곱한 결과
  • 투표 맵은 그레이디언트 방향 계산을 사용하여 계산하거나 완전 컨벌루션 CNN에서 직접 추출

Training the Multi-Output CNN

  • CityScapes, BDD, Mapillary 데이터 셋 사용
  • 모든 이미지는 동일한 크기와 종횡비를 갖도록 처리
  • 또한 많은 수의 도로 픽셀이 있는 이미지만 선택하도록 이미지를 필터링
  • BDD 2759개, CityScapes 2975개, Mapillary 17,109개 이미지 훈련에 사용

  • 시맨틱 분할 모듈, 장애물 감지, 소실점 모듈 동일 손실함수(Sorensen-Dice)활용
    • Sorensen-Dice 손실 함수 사용(이진 교차 엔트로피와 교차 합집합 손실의 수정된 버전)
  • 500epoch
  • 22GB Nvidia 1080ti gpu (x 2)
  • patience parameter: 50

결과

반응형

댓글