Skip to main content
QUICK REVIEW

[논문 리뷰] Perception for Autonomous Systems (PAZ)

Octavio Arriaga, Matías Valdenegro-Toro|arXiv (Cornell University)|2020. 10. 27.
Advanced Neural Network Applications참고 문헌 23인용 수 6
한 줄 요약

PAZ는 자율 시스템을 위한 계층적 인식 라이브러리로, 2D/3D 객체 검출, 키포인트 추정, 6D 자세 추정과 같은 다양한 로봇 인식 작업을 위한 모듈식이고 재사용 가능한 파이프라인을 가능하게 합니다. 이 라이브러리는 파이프라인, 프로세서, 백엔드의 세 단계 추상화를 사용하여 최소한의 코드로 엔드 투 엔드 훈련 및 추론을 지원하며, 효율적이고 확장 가능한 인식 워크로드를 위해 텐서플로우, 오픈CV, 넘파이를 활용합니다.

ABSTRACT

In this paper we introduce the Perception for Autonomous Systems (PAZ) software library. PAZ is a hierarchical perception library that allow users to manipulate multiple levels of abstraction in accordance to their requirements or skill level. More specifically, PAZ is divided into three hierarchical levels which we refer to as pipelines, processors, and backends. These abstractions allows users to compose functions in a hierarchical modular scheme that can be applied for preprocessing, data-augmentation, prediction and postprocessing of inputs and outputs of machine learning (ML) models. PAZ uses these abstractions to build reusable training and prediction pipelines for multiple robot perception tasks such as: 2D keypoint estimation, 2D object detection, 3D keypoint discovery, 6D pose estimation, emotion classification, face recognition, instance segmentation, and attention mechanisms.

연구 동기 및 목표

  • 로봇 인식 시스템에서 모듈식이고 확장 가능하며 재사용 가능한 소프트웨어 인프라의 증가하는 필요성을 해결하기 위해.
  • 단일 통합 프레임워크 내에서 2D 객체 검출에서 6D 자세 추정에 이르기까지 다양한 인식 작업을 지원하기 위해.
  • 초보자부터 전문가까지 계층적 추상화를 통해 파이프라인을 빌드하고 디버깅하며 확장할 수 있도록 하기 위해.
  • 구성 가능한, 테스트 가능한, 유지보수 가능한 컴포넌트를 기반으로 라이브러리를 설계하여 소프트웨어 설계의 내구성을 향상시키기 위해.
  • 표준 메시지 유형과 데이터셋 인터페이스를 통해 로봇 생태계(예: ROS, ROCK)와의 통합을 촉진하기 위해.

제안 방법

  • 라이브러리는 세 가지 계층적 수준으로 구성되어 있습니다: 즉시 사용 가능한 기능을 위한 고수준 파이프라인, 모듈식 계산 체인을 위한 중간 수준의 프로세서, 핵심 연산을 위한 저수준 백엔드.
  • 고수준 파이프라인은 간단한 함수 호출을 통해 엔드 투 엔드 추론을 가능하게 하며, 예를 들어 단 한 줄의 코드로 단일 스텝 검출기(SSD)를 인스턴스화할 수 있습니다.
  • 중간 수준의 프로세서는 사전처리, 데이터 증강, 후처리 함수를 연결하기 위한 SequentialProcessor 추상화를 사용하여 재사용성과 커스터마이제이션을 지원합니다.
  • 저수준 백엔드는 이미지, 카메라, 키포인트, 박스, 쿼aternion 연산을 위한 원자적이고 재사용 가능한 함수를 제공하며, 고수준 로직에서 분리되어 있습니다.
  • 라이브러리는 Keras 모델의 fit과 호환되는 SequenceProcessing 생성자를 사용하여 자동으로 배치를 디스패치할 수 있도록 지원하여 훈련 워크플로우를 구현합니다.
  • 내장된 메시지 유형(예: Box2D, Pose6D, Keypoints3D)과 데이터셋 인터페이스(COCO, VOC, YCB-Video, FER2013)는 로봇 프레임워크와의 원활한 통합을 가능하게 합니다.

실험 결과

연구 질문

  • RQ1어떻게 하면 다양한 로봇 인식 작업을 지원하면서도 모듈성과 재사용성을 유지할 수 있는 인식 라이브러리 아키텍처를 설계할 수 있는가?
  • RQ2계층적 추상화 계층이 머신러닝 기반 인식 시스템의 소프트웨어 설계 내구성에 얼마나 기여할 수 있는가?
  • RQ3통합 라이브러리가 유연성을 훼손하지 않으면서도 고수준 애플리케이션 배포와 저수준 알고리즘 확장 양쪽을 효과적으로 지원할 수 있는가?
  • RQ4데이터 증강, 사전처리, 후처리를 어떻게 모듈화하여 인식 파이프라인의 재현 가능성과 디버깅을 향상시킬 수 있는가?
  • RQ5텐서플로우, 오픈CV, 넘파이로 구성된 최소한의 종속성 스택이 인식 라이브러리의 이식성과 유지보수성에 어떤 영향을 미치는가?

주요 결과

  • PAZ는 2D 키포인트 추정, 6D 자세 추정, 감정 분류를 포함한 12개의 다양한 인식 작업에 대해 엔드 투 엔드 훈련 및 추론 파이프라인을 성공적으로 구현했습니다.
  • 라이브러리의 계층적 설계 덕분에 사용자는 최소한의 코드로 재사용 가능한 컴포넌트를 조합하여 복잡한 파이프라인을 구축할 수 있으며, 예를 들어 SSD512 검출기를 인스턴스화하기 위해 단 한 줄의 호출만으로도 가능합니다.
  • SequentialProcessor 추상화는 데이터 증강 및 사전처리 단계의 민첩한 조합을 가능하게 하여, 논리 코드를 다시 작성하지 않고도 동적 구성이 가능합니다.
  • PAZ는 공통 인터페이스를 통해 7개의 주요 데이터셋(COCO, VOC, OpenImages, YCB-Video, FAT, FERPlus, FER2013)을 내장 지원하여 빠른 데이터셋 통합을 가능하게 합니다.
  • 라이브러리는 47%의 테스트 커버리지, 자동 문서 생성, 여러 파이썬 버전에서의 단위 테스트 및 지속적 통합을 포함하고 있습니다.
  • PAZ의 백엔드 모듈은 완전히 분리되어 있어 독립적으로 교체하거나 확장할 수 있으며, 고수준 기능에 영향을 주지 않고도 커스텀 하드웨어나 소프트웨어 API와 통합할 수 있습니다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.