본문 바로가기

논문 공부

Integrating Stereo Vision with a CNN Trackerfor a Person-Following Robot 논문 리뷰

Integrating Stereo Vision with a CNN Tracker for a Person-Following Robot

  • "Integrating Stereo Vision with a CNN Tracker for a Person-Following Robot", By Bao Xin Chen, Raghavender Sahdev and John K. Tsotsos, In the 11th International Conference on Computer Vision Systems, Schezhen, China, July 10-13, 2017.

2. Related Works

Person Following Robots

[31] : 1998 년도에 초기에 연구됨. 목표 색깔과 윤곽 정보를 사용.

[34] : 색깔 기반의 추적 제어

[33] : HSV 기반의 추적 제어

=====================================

→ 모습의 변화라던가 가려진 것에 대해서 취약함!

 

[8,36] : Optical flow 기반 추적 제어

[37] : 엣지, 코너를 사용하여 간단한 피쳐를 사용

[4] : Pre-trained apperance model 사용

[7] : Lucas-Kanade 알고리즘 사용

[30] : SIFT 피쳐 알고리즘

[2] : HOG 피쳐 알고리즘

[25] : 키, 걸음걸이에 대한 피쳐

[6] : Selected Online Ada-Boosting

[24] : 레이저 센서 기반 (레이저를 사용하지 못하는 환경에서느 부적합. 예를 들면 병원, 학교같은 곳..)

[9,12] : Kinect 센서 기반 (실내에서 사용하기에는 부적합)

 

그래서 이 논문에서는 스테레오 카메라를 사용!

 

Object Tracking

실시간으로 객체를 추적하는 것은 person-following 로봇을 제어할 때 매우 중요하다.

[29] : MGbSA

[17] : CNN as features

[22] : Proposal Selection

[38] : deep learning

[28] : Locally Orderless tracking

=====================================

→ 이 알고리즘들은 목표하는 실시간 성능을 만족하지 못함!

 

다른 연구들은 연산 속도에 더 초점을 맞추었다.

[20] : Struct SVM with GPU

[41] : Structure preserving

[39] : Online Discrimination Feature Selection

[18] : Online Ada-Boosting

[5] : DS-KCF는 RGBD 이미지 시퀀스를 사용하여 극심하게 가려지는 객체를 찾아는데 아주 훌륭하 성능을 냈다. (40 fps 정도)

 

[14] : CNNs

[21] : pre-trained CNN는 SVM 분류기를 학습한 특징을 생성했다.

[38] : 위와 동일하게 pre-trained CNN을 사용했지만, CNN 마지막 레이어에 Naive Bayes classfier를 추가했다.

[40] : 하나의 convolutional 레이어를 사용.

[17] : pre-trained CNN 사용하여 ELDA Tracker를 향상시킴

[16] : ELDA Tracker

 

CNN Using RGBD Images

RGB와 스테레오 뎁스 이미지를 사용하여 CNN 모델을 학습시키는 것은 이 페이퍼의 다른 방식으로 집중하는 것이다.

 

[19] : RGBD CNNs on object detection

[13] : object recognition : RGB 레이어와 D 레이어를 각각 학습

[10] : RGBD 이미지를 사용하여 single stream CNN 분류를 학습

 

 

3. Approach

3.1. CNN Models with RGBSD Images

우선 생략...

 

3.2. Navigation of the Robot

두 가지 케이스가 존재.

(1) 이미지 상에서 사람이 보일 때

(2) 이미지 상에서 사람이 보이지 않을 때

 

  • PID 제어기 사용
  • 사람 pose으 local history를 저장하고 로봇의 local path를 계산
  • 로봇은 마지막에 관측된 pose로 이동
  • 4 개의 basic components 존재
    • Localization of the robot
    • Target Pose Estimation
    • Robot following using a PID based controller
    • local path planner (trajectory replication)

 

Robot following using a PID based controller

  • 선속도와 각속도에 대해서 PID 제어를 사용
  • 선속도 v는 목표 값 D : 1 m로 설정
  • 각속도 w는 목표 값 X_mid : 영상 좌표의 중심으로 설정

 

Localization

  • global coordinate frame 기준으로 로봇의 pose를 계산
  • 2D 에서는 x,y, theta 요소 존재
  • Wheel odometry 사용
  • 피쳐가 많이 존재하지 않기 때문에 visual odometry 사용 X
  • 에러 누적으로 인해 dead reckoning 또한 사용 X

Target Pose Estimation

  • 사람의 pose를 계산하는 것은 뎁스 카메라와 focal length를 사용함

Trajectory Replication / Path Planner

  • 사람이 보이지 않을 때, 사람을 따라가는 네비게이션 알고리즘에 대해서 설명
  • 이 알고리즘은 코너에서 갑자기 꺾을 때, 혹은 야외에서 나무 근처에서 사용된다.

recent trajectory of the target

  • 로봇은 항상 사람의 최근 p pose들의 local history를 유지한다.
  • 우리는 p=100 사용했다.
  • 0.5 초 동안 일시적으로 목표가 보이지 않는다면, 코너를 돌았거나 어떤 것에 의해 가려졌다고 암시한다.
  • 그렇게 판단했을 때, 목표의 마지막 관측된 위치로 도달한다.
  • 그 목표점에 도달했을 때, 사람이 보일 때까지 회전
  • 사람이 보이지 않는다면, 종료