객체 인식 및 깊이 추정 시범 서비스

소개
  • 인도(人道) 보행 영상 AI데이터를 이용한 객체 인식 및 깊이 추정 시범 서비스는 인도에서 촬영한 비디오 입력 영상에 대해 실시간으로 객체를 인식하고, 해당 객체가 카메라 위치로부터 몇 미터 떨어진 곳에 위치하는지 정보를 제공하는 서비스입니다.  
  • 해당 서비스는 인도 보행 영상 데이터에 포함된 29개의 분류 객체(class)에 대해 인식이 가능하고 29개의 객체는 인도 환경에서 자주 나타나는 물체를 기준으로 선정되었습니다.  
  • ZED 카메라로 촬영한 스테레오 영상을 입력 영상으로 사용하며, 실시간성 서비스를 위해 YOLOv3 모델을 통해 객체 인식을 구현하였고 깊이 추정에 대해서는 PSMnet 모델을 사용하였습니다. 
  • 객체 인식 네트워크에서는 입력(mono) 영상으로부터 인식된 물체의 종류, 바운딩 박스, 그리고 신뢰도 값을 출력합니다. 깊이 추정 네트워크에서는 스테레오 입력 영상으로부터 픽셀 단위의 깊이값을 얻을 수 있습니다. 인도 보행 영상 데이터를 통해 각각 학습된 객체 인식과 깊이 추정 네트워크를 동시에 작동시켜 입력 영상(비디오 프레임)에 대한 출력값을 얻고, 그 정보를 합치기 위해 ROS(Robot Operating System)를 기반으로 서비스를 구축하였습니다. 서비스의 출력값으로 입력 프레임에서 인식되는 객체의 종류와 해당 객체가 기준이 되는 카메라로부터 떨어진 정도를 미터(m) 단위로 표시합니다. 

 

image
< 객체/깊이 인식 시범 서비스 >

 

필요성
  • 객체/ 깊이 인식 서비스 모델은 구축된 데이터 셋을 이용하여, 실제 장애인의 이동권을 확보하기 위한 서비스 모델을 구축하는 것을 목표로 합니다.
  • 즉, 인도 보행 환경에서 충돌위험이 존재하는 객체를 인식하고 객체로부터의 거리 인식하는 시스템을 구축하여 안전한 이동권을 구축합니다.
  • 구체적으로는 다양한 장애물과 보행자가 있는 인도 영상에서 사람, 자동차, 자전거, 전봇대 등 다양한 객체를 인식하고 동시에 거리를 예측하여 사용자에게 전달해 줍니다.
     
원본 데이터
  •  본 과제를 통해 구축된 바운딩 박스, 폴리곤, 스테레오 데이터 셋에 학습한 모델을 이용하여 시범 서비스 모델을 구축하였고, 이를 코드 형태로 GitHub에 공개하였습니다. 사용자는 해당 코드를 내려 받아서 실제 이미지 및 동영상을 이용하여 구축된 시범 서비스를 이용해볼 수 있습니다.
  • 본 시범서비스에서 검출 가능한 객체리스트는 아래 표와 같습니다.
image
< 인도보행영상 검출 객체 리스트 >

 

사용방법
  •  구축된 시범 서비스 모델은 코드 형태로 GitHub 저장소 https://github.com/ChelseaGH/sidewalk_prototype_AI_Hub
  •  에 공개되어 있습니다. 사용자는 해당 코드를 내려받아서 실제 이미지 및 동영상을 이용하여 구축된 시범 서비스를 이용해볼 수 있습니다. 코드 이용 방법은 GitHub 저장소 페이지에 기술되어 있습니다. 
image
< 시범 서비스 GiHub 저장소 페이지 >

 

image
< 객체/깊이 인식 시범 서비스 결과 영상 > 
  • 시범 서비스의 결과 영상은 그림 3과 같으며, 실제 인도 보행환경에서 취득한 영상을 입력으로 받아서 수행됩니다.
    사용자가 직접 실제 이미지 및 동영상을 이용하여 모델을 사용해 볼 수 있습니다.
    결과 영상에서 나타나는 것과 같이 각 객체의 클래스를 인식하고, 각 개체로부터의 거리를 예측하여 시각화 하였습니다. 인식된 객체의 클래스와 거리[m]가 각 객체에 캡션으로 표시되어 있습니다.
    객체 인식의 경우 초당 24 프레임의 속도로 수행되어 실시간 활용이 가능한 장점이 있습니다.