Skip to main content
QUICK REVIEW

[論文レビュー] Perception for Autonomous Systems (PAZ)

Octavio Arriaga, Matías Valdenegro-Toro|arXiv (Cornell University)|Oct 27, 2020
Advanced Neural Network Applications参考文献 23被引用数 6
ひとこと要約

PAZ は、2次元/3次元オブジェクト検出、キーポイント推定、6次元ポーズ推定などの多様なロボットビジョンタスク向けにモジュラーで再利用可能なパイプラインを可能にする、自律システム向けの階層的ビジョンライブラリである。3段階の抽象化(パイプライン、プロセッサ、バックエンド)を採用し、最小限のコードでエンドツーエンドの学習と推論を実現する。TensorFlow、OpenCV、NumPy を活用して、効率的で拡張性のあるビジョンワークロードを実現する。

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.

研究の動機と目的

  • ロボットビジョンシステムにおける、モジュラーで拡張可能かつ再利用可能なソフトウェアインfraの増大するニーズに対応すること。
  • 2次元オブジェクト検出から6次元ポーズ推定まで、多様なビジョンタスクを1つの統合フレームワーク内でサポートすること。
  • 初学者から熟練者まで、階層的な抽象化により、パイプラインの構築、デバッグ、拡張を可能にすること。
  • コンポーネントを合成可能でテスト可能かつ保守可能な構造にすることで、ソフトウェア設計の持続可能性を高めること。
  • 標準化されたメッセージタイプとデータセットインターフェースを通じて、ROS や ROCK などのロボティクスエコシステムとの統合を促進すること。

提案手法

  • ライブラリは3段階の階層的レベルに構成されている:高レベルのパイプライン(即時利用可能な関数)、中レベルのプロセッサ(モジュラーな計算チェーン)、低レベルのバックエンド(コア操作)。
  • 高レベルのパイプラインにより、単一の関数呼び出しでエンドツーエンドの推論が可能であり、例として1行のコードでシングルショット検出器をインスタンス化できる。
  • 中レベルのプロセッサは、SequentialProcessor の抽象化を用いて、前処理、データオーグメンテーション、後処理関数を連結し、再利用性とカスタマイズを可能にする。
  • 低レベルのバックエンドは、画像、カメラ、キーポイント、ボックス、クaternion操作のための原子的で再利用可能な関数を提供し、上位レベルの論理から分離されている。
  • Keras の model.fit と互換性を持つ SequenceProcessing ジェネレータを用いて、バッチの自動ディスpatchが可能で、学習ワークフローに統合可能である。
  • 組み込みのメッセージタイプ(例:Box2D、Pose6D、Keypoints3D)とデータセットインターフェース(COCO、VOC、YCB-Video、FER2013)により、ロボティクスフレームワークとのシームレスな統合が可能である。

実験結果

リサーチクエスチョン

  • RQ1多様なロボットビジョンタスクをカバーしつつ、モularity と再利用性を維持するため、ビジョンライブラリをどのようにアーキテクチャ設計すべきか?
  • RQ2階層的な抽象化レイヤーは、機械学習ベースのビジョンシステムにおけるソフトウェア設計の持続可能性をどの程度向上できるか?
  • RQ3統一されたライブラリが、高レベルのアプリケーションデプロイと低レベルのアルゴリズム拡張の両方を効果的にサポートできるか、柔軟性を損なわずに行えるか?
  • RQ4データオーグメンテーション、前処理、後処理をどのようにモジュラー化すれば、ビジョンパイプラインにおける再現性とデバッグ性が向上するか?
  • RQ5最小限の依存関係スタック(TensorFlow、OpenCV、NumPy)が、ビジョンライブラリのパッケージ移行性と保守性に与える影響は何か?

主な発見

  • PAZ は、2次元キーポイント推定、6次元ポーズ推定、感情分類を含む、12種類の多様なビジョンタスクについて、エンドツーエンドの学習と推論パイプラインを実装した。
  • ライブラリの階層的設計により、再利用可能なコンポーネントを用いて最小限のコードで複雑なパイプラインを構築可能であり、例として SSD512 検出器を1行でインスタンス化できる。
  • SequentialProcessor の抽象化により、データオーグメンテーションおよび前処理ステップの柔軟な構成が可能で、論理の再書き換えなしに動的設定が可能である。
  • COCO、VOC、OpenImages、YCB-Video、FAT、FERPlus、FER2013 の7つの主要データセットに対して、共通インターフェースを通じて組み込みサポートを提供し、迅速なデータセット統合を可能にしている。
  • ライブラリは 47% のテストカバレッジを達成しており、自動ドキュメント生成、ユニットテスト、複数の Python バージョンでの継続的インテグレーションを備えている。
  • PAZ のバックエンドモジュールは完全に分離されており、個別に置き換えや拡張が可能で、上位レベルの機能に影響を与えずにカスタムハードウェアやソフトウェア API との統合が可能である。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。