Skip to main content
QUICK REVIEW

[論文レビュー] Fast Implementation of Morphological Filtering Using ARM NEON Extension

Elena Limonova, Arseny P. Terekhin|arXiv (Cornell University)|Feb 19, 2020
CCD and CMOS Imaging Sensors参考文献 7被引用数 7
ひとこと要約

本稿では、ARM NEON SIMD命令を用いた形態的エロージョンおよびディレージョンの最適化実装を提示する。分離性とハイブリッドアルゴリズム(大規模な窓に対しては van Herk/Gil-Werman、小規模な窓に対しては定数が小さい線形アルゴリズム)を活用し、8×8および16×16の行列転置を高速化している。このアプローチにより、16×16行列転置で最大12倍の高速化、エロージョン/ディレージョンで3倍の高速化が非SIMDベースライン実装と比較して達成された。

ABSTRACT

In this paper we consider speedup potential of morphological image filtering on ARM processors. Morphological operations are widely used in image analysis and recognition and their speedup in some cases can significantly reduce overall execution time of recognition. More specifically, we propose fast implementation of erosion and dilation using ARM SIMD extension NEON. These operations with the rectangular structuring element are separable. They were implemented using the advantages of separability as sequential horizontal and vertical passes. Each pass was implemented using van Herk/Gil-Werman algorithm for large windows and low-constant linear complexity algorithm for small windows. Final implementation was improved with SIMD and used a combination of these methods. We also considered fast transpose implementation of 8x8 and 16x16 matrices using ARM NEON to get additional computational gain for morphological operations. Experiments showed 3 times efficiency increase for final implementation of erosion and dilation compared to van Herk/Gil-Werman algorithm without SIMD, 5.7 times speedup for 8x8 matrix transpose and 12 times speedup for 16x16 matrix transpose compared to transpose without SIMD.

研究の動機と目的

  • ARMベースの組み込みシステムにおけるリアルタイム画像処理における形態的フィルタリングの性能ボトルネックを解消すること。
  • ARMプロセッサ上で長方形の構造要素を用いたエロージョンおよびディレージョン演算の計算複雑度を低減すること。
  • ARM NEONを介したSIMD並列処理を活用し、行列転置や形態的演算といった主要な画像処理プリミティブの高速化を実現すること。
  • 分離性、適応的窓処理、データレベル並列性を組み合わせたアルゴリズム最適化により、高いパフォーマンスを達成すること。

提案手法

  • 長方形の構造要素の分離性を活用し、2次元の形態的演算を水平方向および垂直方向の順次パスに分解することで実装した。
  • 大規模な窓サイズに対しては、各パスあたりO(n)の線形複雑度を達成するため、van Herk/Gil-Wermanアルゴリズムを適用した。
  • 小規模な窓サイズに対しては、オーバーヘッドを最小限に抑えて効率を向上させるために、定数が小さい線形複雑度アルゴリズムを用いた。
  • 窓サイズに応じて両アルゴリズムを動的に組み合わせ、パフォーマンスと正確性のバランスを最適化した。
  • 分離フィルタリングにおけるデータ再編成を高速化するため、ARM NEONインストラクションを用いて最適化された8×8および16×16行列転置ルーチンを実装した。
  • すべての段階にわたりSIMDベクトル化を統合し、ARM NEONユニットにおけるデータレベル並列性を最大限に活用した。

実験結果

リサーチクエスチョン

  • RQ1SIMD拡張子を用いたARMプロセッサ上で、形態的フィルタリングをどのように高速化できるか?
  • RQ2分離フィルタリングとNEON最適化キーネルを組み合わせた場合、エロージョンおよびディレージョンのパフォーマンスにどの程度の向上が見られるか?
  • RQ3ハイブリッドアルゴリズム(van Herk/Gil-Werman + 定数が小さい線形)は、さまざまな窓サイズにおいて計算コストをどの程度低減できるか?
  • RQ4NEON最適化された行列転置は、分離形態的演算のパフォーマンスにどの程度寄与するか?
  • RQ5最終実装の全体的な高速化率は、非SIMDベースラインと比較してどの程度か?

主な発見

  • 最終実装では、SIMD最適化を行わないvan Herk/Gil-Wermanアルゴリズムと比較して、エロージョンおよびディレージョン演算で3倍の高速化が達成された。
  • NEON最適化ルーチンを用いた場合、8×8行列転置では非SIMD実装と比較して5.7倍の高速化が観察された。
  • 16×16行列転置では、NEON最適化転置キーネルを用いることで12倍の高速化が達成された。
  • アルゴリズム最適化とSIMD並列処理の組み合わせにより、ARMプロセッサ上での形態的フィルタリングの実行時間が顕著に短縮された。
  • ハイブリッドアプローチは、小規模および大規模な窓サイズの両方で効果的にパフォーマンスをバランスさせ、オーバーヘッドを最小限に抑えながらスループットを最大化した。
  • 結果から、NEON対応実装は組み込みコンピュータビジョンワークロードにおいて顕著なパフォーマンス向上を達成できることを示している。

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

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

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

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