方法論記事

リアルタイムSobelエッジ検出のための解像度適応型ハードウェアアーキテクチャ:サブリニアなリソーススケーリングの実現

17 閲覧数

DOI:

10.3791/71589

2026年8月28日

この記事について

サマリー

本研究では、Ultra96-V2ヘテロジニアスプラットフォーム上でのSobelエッジ検出アルゴリズムのFPGAベースの実装を提示し、256 × 256から2560 × 1440までの画像解像度におけるリソース利用率、電力、および速度を評価します。提案されたアーキテクチャは、リアルタイム画像処理アプリケーションにおいて、リソースのスケーリングがサブリニアであることを示しています。

要約

エッジ検出はコンピュータビジョンの主要な領域であり、様々な応用分野において不可欠な要素となっています。エッジ検出によってエッジの特定が可能になります。エッジは画像における重要な特徴であり、画像から主要かつ識別的な情報を抽出するのに役立つ重要な属性を表しています。エッジ検出のハードウェア実装は、高速であり、最小限のリソースを使用し、低消費電力である必要があり、さらに異なる画像解像度に適応できなければなりません。本論文では、低解像度画像からフルハイビジョンまでの適応的な画像解像度に対応したSobelエッジ検出を実装し、最新のヘテロジニアスField Programmable Gate Array (FPGA) プラットフォームであるUltra96-V2を使用しています。結果として、低解像度画像ではLook up Tables (LUTs)、Flip Flops (FF)、Digital Signal Processor (DSP)、Block Memory (BRAM) を含むFPGAオンボードリソースのわずか5%しか利用されない一方で、高解像度画像ではオンボードリソースの約23%が消費されることが明らかになりました。これは、低解像度から高解像度の画像に移行した際のリソース利用率の増加が20%未満であることを示しています。さらに、最高解像度での消費電力は約2 Wであり、最大動作周波数は高解像度画像で136 MHz、低解像度画像で166 MHzと記録され、周波数の低下はわずか18%にとどまりました。提案されたアーキテクチャは、最新のヘテロジニアスFPGAアーキテクチャの利点を活用することで、画素数が56倍に増加しても、リソース利用率の増加が20%未満、速度と電力の低下が20%未満というサブリニアなリソーススケーリングを実現しています。したがって、適応的な解像度能力と低リソーススケーリングを組み合わせた本設計は、高品質な画像処理を必要とするリアルタイムエッジ検出アプリケーションに特に適しています。

概要

エッジ検出は、今日、さまざまなアプリケーション領域で使用されているほぼすべてのコンピュータビジョン技術において極めて重要な要素となっています1。エッジ検出は特徴抽出の段階であり、画像から有益で特徴的な詳細を抽出することを目的としており、幅広いシナリオに適用可能です2。画像内のエッジは強度が急激に変化している領域を示しており、したがって、その画像に関する重要かつ特徴的な情報を提供します。このプロセスにより、不要で無関係な詳細を排除し、特定のアプリケーションのためにさらに処理可能な、不可欠で固有の要素のみを保持することが可能になります。

図1に示すように、エッジ検出の重要性は、画像セグメンテーション、物体検出および認識、特徴抽出、画像強調、物体識別、医療画像診断、監視、産業オートメーション、自動運転、拡張現実、およびロボティクスを含む様々なタスクへの適用によって強調されています2,3,4,5,6.

エッジ検出には、Sobel、Prewitt、Roberts、Cannyなどの複数の手法が存在します。これらの手法の中でも、Sobelエッジ検出は、適用が容易で実装の複雑さが少なく、エッジ検出における精度が高いため、非常に有用です3,4,5,6。Sobelエッジアルゴリズムでは、以下に示すように、それぞれカーネルGxおよびGyを用いて、画像の水平方向および垂直方向の勾配を決定します2,4

Gxはx方向のエッジを強調し、Gyはy方向のエッジを強調します12,13。これらを組み合わせることで、画像内のすべてのエッジを完全に定義できます6。カーネルを用いた畳み込みプロセスとスライディングウィンドウを用いて、画像にSobelエッジ検出を適用します。具体的には、例えば3×3ピクセルのウィンドウを画像から1つずつ取り出し、このウィンドウをフィルタ行列と畳み込みさせることで、中心ピクセルの新しい値を算出します。画像全体をこの方法で順次処理します。Sobelエッジ検出では、x方向のエッジ抽出用とy方向のエッジ抽出用の2つのカーネルが使用されます。すべてのエッジを取得するために、これら2つの結果を統合します。Sobelエッジ検出は正確で信頼性の高い結果をもたらし、前処理を行うことでさらに精度を高めることができます4,5,15。Sobelエッジ検出の全工程は図2で解説しています。

報告されているすべての文献はこの分野のエッジ検出に重要な貢献をしていますが、主要な研究のほとんどは低解像度の画像を用いています。対して、本論文で提示する手法では、低解像度画像(256×256ピクセル)から高解像度画像まで、さまざまな画像解像度を対象としています。 × 256) からフルハイビジョン(HD)画像解像度(2560 × 1440)。したがって、異なる画像解像度におけるSobelエッジ検出アルゴリズムのハードウェア実装を調査することは、多様な画像解像度を伴うリアルタイムのシナリオに適用した際の実装効率を理解する上で極めて重要である。フィールドプログラマブルゲートアレイ(FPGA)は、迅速なプロトタイプ開発に適していることや、ハードウェア構成全体を変更することなく容易に設計変更が可能な再構成可能性などの利点があるため、ハードウェア実装に適切なプラットフォームとして認められている。6,7,8,9,10,11,12,13さらに、FPGAは並列処理およびパイプライン処理を実現できる可能性を有しています。パフォーマンス指標が最適化され、プラットフォームが検証されれば、その設計を専用集積回路(ASIC)の実際の製造へと進めることができます。14,15FPGAのもう一つの重要な特徴はその再構成可能性であり、これにより設計者はハードウェアを交換することなく、いつでも製品設計に変更を加えることができます。設計者がVHDLやVerilogなどのハードウェア記述言語に習熟していれば、チップを再プログラミングするだけで済み、それに要する時間と手間はごくわずかです。4,6,13,16,17FPGA実装の解析において、検討される主要なパラメータは、速度(最大動作周波数)、リソース利用率、および電力効率です。 表1FPGAの分野で発表された文献数の増加を示しており、2006年から2024年にかけてFPGAに関する出版物がどのように進化してきたかがわかります。これにより、FPGAの研究領域が現在はリアルタイムアプリケーション、拡張現実、エッジコンピューティング、およびその他のハイエンドアプリケーションへと移行していることが明確に示されています。13,14,15,16,17,18,19,20,21,22,23.

表2は、2020年から2025年にかけてのFPGA上でのSobelエッジ検出実装に関する既存文献の研究内容をまとめたものです。表2では、各参照論文で使用されたFPGAボード、実装されたアルゴリズム、設計手法、知見、指標、適用分野、および課題について記載しています。

著者ら4は、エッジ検出の精度を向上させるために8方向Sobelエッジ法を用いることを推奨したが、提案手法ではリソース消費量が増加したと報告している。Navinkumarらは、従来のSobelエッジ検出に含まれる乗算や平方根といった複雑な数学的演算を削減する手法を用いることで、オンボードリソースを節約し、速度を向上させている9。また、ある著者ら17は、先進運転支援システム(ADAS)において車線を識別するためにSobelエッジ検出アルゴリズムを用いたことを記録している。彼らの目的は、処理時間を短縮しつつ検出速度を上げることであった。全体として、エッジ検出の利用は、将来的な関心領域(ROI)抽出のための信頼性の高い手法として提案されており、これは、不要な情報を無視して画像内の必要な領域のみを抽出する必要があるさまざまなアプリケーションにおいて非常に有用であると考えられる。共通して報告されている課題としては、リソースおよびメモリ利用率の上昇、ノイズへの敏感さ、高い計算コスト、および高解像度画像に対するスケーラビリティの制限などが挙げられている4,5,6,11,12,13,21,22,23

本研究では、従来のSobelエッジ検出アルゴリズムをUltra96-V2 FPGAボード上に実装し、256 × 256の低解像度から2560 × 1440のフルHD解像度まで、さまざまな画像解像度において検証を行いました。Ultra96-V2は、FPGAのプログラマビリティと強力なArmプロセッシング(Cortex-A53/R5)を組み合わせた、高性能アプリケーション向けのボードです。このボードは2018年に初めてリリースされ、16 nm FinFETテクノロジーノード18を採用しています。

再現性を確保するため、すべての実装は、高位合成(HLS)用のVivado HLS 2019.2と配置配線用のVivado 2019.2、およびUltra96-V2リソースからリリースされたPYNQイメージで構成される標準的なツールチェーンを用いて行われました。HLSコードを利用してSobelエッジ検出IP(Intellectual Property)を導出し、これをエクスポートしてVivado設計スイートに統合しました。この IPはPL(Programmable Logic)部に実装され、FPGAのPS(Processing System)部がデータ転送および制御メカニズムを担いました。PSとPLのインターフェースにはAXIプロトコルを使用しました。報告されたすべての指標(周波数、リソース利用率、電力)は、HLSの推定値ではなく、実装後のレポートから取得したものです。実装設定は一貫して維持し、実験を通じて画像解像度のみを変更しました。

本研究の重要な成果は、低消費電力、低リソース利用率、および高速性にあります。結果として、高解像度画像に対するオンボードリソース利用率は20%未満(Look Up Tables (LUTs) 18%、Flip Flops (FF) 11%、メモリ 3%、DSP 10%)であり、エッジ検出は中間ステップに過ぎないため、あらゆるコンピュータビジョンシステムで期待される、より多くの画像処理機能を統合できる十分な空き容量があることが示されました。また、消費電力は約 2 Wであり、最大動作周波数は 144 MHzと報告されています。さらに、画像サイズを約56倍に拡大しても、リソース利用率の増加は約20%にとどまることが結果から分かります。速度および消費電力の低下も約20%のみでした。この分析は、過去の文献では報告されていない異なる視点からアルゴリズムを詳細に調査したものであり、したがって、本実装がリアルタイムアプリケーションに適しており、画像を小さなサイズや低解像度に制限する必要がないことを示しています。解像度の制限は、エッジ検出後の後続ステージで必要となる情報量を確実に低下させるためです。

本研究の新規性はアルゴリズム自体にあるのではなく、HLSベースの実装手法の利点を活用し、現代のヘテロジニアスFPGAアーキテクチャにおける様々な画像解像度での伝統的なSobelエッジ検出アルゴリズムの性能評価に焦点を当てている点にあります。本論文の主な貢献は、FPGA上に実装されたハイブリッド手法を適用し、アーキテクチャのPSセクションとPLセクションの間でワークロードを効果的に分散させることで、設計が異なる解像度に容易に適応できるようにしたことにあります。もう一つの貢献は、画像解像度の変化に伴いリソーススケーリングがどのように変化するかを評価する実験を行い、異なるセットアップや多様なアプリケーションにおける性能の理解に寄与したことです。

プロトコル

1. HLSツールによるSobelエッジ検出の実装

  1. Vivado HLS 2019.2ツールを開き、プロジェクトを作成します。FPGAボードとしてUltra96-V2を選択します。
  2. 画像サイズのパラメータを固定せず汎用化した、Sobelエッジ検出のためのC++による高位合成言語コードを記述します。
    注:画像幅と高さは固定せず、コード内で汎用パラメータとして記述することで、複数の箇所を変更することなく、画像解像度の変更に合わせて容易に調整できるようにしています。
  3. Sobelエッジ検出アルゴリズムのためのテストベンチコードをC++で記述します。
    注:テストベンチは、コードの検証に使用する入力画像を提供するために記述されます。
  4. 「run C simulation」をクリックしてコードをシミュレーションし、機能的な正しさを確認します。テストベンチに入力画像を与え、エッジが抽出された画像が出力されることを確認します。
  5. 「run C synthesis」をクリックしてHLSコードを合成し、Sobelエッジ検出用のIPをエクスポートします。
    注:合成プロセスは、基本的に記述された設計をハードウェアコンポーネントにマッピングし、設計をハードウェア実装に適した互換性のある状態にするものです。
  6. ツールによって生成されたタイミングおよびリソース利用率レポートを確認し、推定時間が目標時間を超えていないことを確認します。
    注:HLSプラットフォームによるこれらの結果はあくまで推定値であり、実際のパラメータは設計がFPGA上に実装された際にのみ算出されます。
  7. 「export IP」をクリックして、Sobelエッジ検出手順のIPをエクスポートします。
    注:このIPは、次のステップであるVivadoツールを用いたFPGA実装用のブロックダイアグラム設計で使用されます。

2. 抽出したHLS IPを用いたFPGAプラットフォームUltra96-V2へのSobelエッジ検出の実装

  1. Vivado Design Toolを開き、新しいプロジェクトを作成します。ターゲットボードにUltra96-V2を選択し、「Create a new block design」をクリックします。
  2. HLSツールからエクスポートしたSobelエッジIPをインポートします。PSとPL間のインターフェースを完結させるために必要な他のブロックを追加します。
    注:このブロックダイアグラムでは、Advanced eXtensible Interface (AXI) プロトコルを用いてPSとPLの間のインターフェースを構築するために、Zynq Ultrascale IP、Smart Connect、プロセッサリセットなどの他の重要なIPブロックも使用しています。
  3. 「デザインの検証(validate design)」をクリックして、ブロックデザインを検証します。ツールによって報告されるデザインエラーがないことを確認してください。エラーがある場合は、修正指示に従い、再度検証を行ってください。
    注:このステップでは、ブロックダイアグラムに接続漏れがないことを確認しますが、ブロック設計の機能的な正当性は検証しません。
  4. 「HDLラッパーの作成」をクリックして、ブロックデザインの汎用HDLコードを取得します。
  5. 「run synthesis」をクリックして設計を合成し、報告されたエラーがないか確認します。エラーが見つからない場合、ツールは合成の成功を報告します。合成に成功した後、タイミングの合成レポートにアクセスし、タイミング違反がないかを確認します。
  6. タイミング違反を確認するため、タイミングの報告に赤色のテキストが含まれていないことを確認してください。赤色のテキストは、使用時間が割り当てられた目標時間を超過していることを示しており、タイミング違反を意味します。
  7. 「run implementation」をクリックして、設計を実装し、タイミング、電力、およびリソース利用率のレポートを評価します。
  8. FPGAボードをプログラミングするための「.bit」ファイルを生成します。
    注:Ultra96-V2におけるSobelエッジ検出のブロック図は、以下に示されています。 図3前述の通り、ブロック図は基本的に、FPGAボードのPS部とPL部の間のインターフェースを確立するために必要です。

3. FPGAボードのプログラミング

  1. SDカードを準備するため、Ultra96-V2ボード用のPYNQイメージファイル(.img)をダウンロードし16、ダウンロードしたファイルをSDカードにインストールします。
  2. Ultra96-V2リファレンスマニュアル16に従ってスイッチ位置を選択し、SDカードブートモードでボードの電源を入れます。
  3. URL http://192.168.3.1 にアクセスし、プロンプトが表示されたらユーザー名とパスワードの両方に「xilinx」と入力します。
    注:技術的な不整合を避けるため、Google Chromeブラウザの使用が推奨されます。
  4. Jupyterプラットフォームにアクセスし、入力画像またはビデオを読み込み、読み込んだ画像を処理のためにPL部に送信するPS部分のPythonコードを記述します。
  5. 処理済み画像をPLからPSに書き戻し、結果を表示するためのコードを記述します。
    注:Ultra96-V2で結果を表示する場合、PYNQプラットフォームが使用されます。これにより、PythonコードとOpenCVライブラリを使用するだけで、出力画像を非常に簡単に表示できます。
    図4に、本セクションで実演したUltra96-V2によるアプローチの手順と得られた出力結果を示します。

結果

このセクションでは、Ultra96-V2におけるSobelエッジ検出の設計で得られた結果について述べます。 図 5 以下に、HLSシミュレーションを通じて得られた入力画像と出力画像を示します。使用した画像は512 × 512サイズの標準画像です。これらの結果は、Sobelエッジ検出用に記述されたHLSコードが機能的に正しいことを示しています。結果として得られた画像では、エッジが明確に視認できなければなりません。

表3に、FPGAパーツとしてxczu3eg-sbva484-1-eを使用したUltra96-V2における合成レポート、および生成されたタイミングとリソース利用率のパラメータを示します。このレポートには、設計がユーザーの指定したタイミング制約を満たしているかを示すタイミング関連の情報が含まれています。タイミングサマリーによると、推定時間は8.544 nsであり、ターゲット時間である10 nsを下回っているため、設計がユーザー制約を満たしていることが明確に示されています。

HLSツールは推定リソース使用量も生成し、これにより設計者はオンボードリソースの想定使用量を把握することができます。実際の使用パラメータは、実際のハードウェア実装後にのみ生成可能です。FPGAには膨大かつ多様なカテゴリのリソースが存在しますが、最も頻繁に使用されるハードウェアはLUT(Look up Table)、FF(Flip Flop)、DSPスライス(Digital Signal Processing Slice)、およびメモリです。

表3は、高解像度画像向けにUltra96-V2上でSobelエッジ検出を開発した際の実際のタイミングとリソース利用状況を示しています。タイミング解析の結果、最悪負のスラック(worst negative slack)は3.102 nsであり、処理に十分な時間があることが示されたため、144 MHzのクロック速度が達成されました。1920 × 1080解像度で達成された144 MHzの動作周波数は、約299 MP/sのスループットに相当し、これは30 fpsでのリアルタイムフルHDビデオ処理に必要な62 MP/sを上回っています。低解像度画像から高解像度画像へ移行した際のリソースのスケーリングとパラメータへの影響を理解するため、本表では異なる解像度に対して同様の手順を繰り返して得られた実験結果を報告しています。

表4では、画像サイズ(およびそれに伴う総画素数)、動作周波数、電力、ならびにLUT、FF、BRAM、DSPの観点からのリソース利用率について述べています。検討した最小解像度の256 × 256から最大解像度の2560 × 1440へと移行し、画素数がほぼ56倍に増加しても、各パラメータの変化はわずか20%にとどまっていることが明確に示されています。これは、処理すべきデータ量が多く倍増しても、性能指標の低下が極めてわずかであるというサブリニアなリソーススケーリングを明確に示しており、リアルタイム展開に適していると言えます。

表4に示された結果は、Ultra96-V2でSobelエッジ検出を適用することが、適応的な解像度を必要とするタスクにおいて大きな利点があることを明確に示しています。これは、画像サイズを低解像度から高解像度へ更新しても、性能指標が最適化されたままであり、大幅な変化が見られないためです。この成果は、画像データでFPGAロジックに過負荷をかけることを避けたハイブリッド実装アプローチによるものであり、これによりボードのプロセッサが膨大な画像ワークロードを管理することが可能になりました。プロセッサは単に画像データをFPGAロジックコンポーネントに中継しており、リソーススケーリングの増加や最大周波数の低下が発生する場合、それは純粋に処理を必要とするデータ量が増大した結果にすぎません。したがって、本論文で採用したアプローチは、画像ピクセル数がほぼ56倍に増加しても、サブリニアなリソーススケーリングを実現していると言えます。

実装した手法を既存の設計と比較し、画像解像度、クロック周波数、消費電力、リソース利用率などの性能指標の比較検討を行いました。表5に、最新の文献との比較を示します。

表5に明確に示されているように、本論文で実装した手法は適切なパフォーマンス指標を有していますが、以前に報告された既存の実装ソリューション9,10の方が優れたパラメータを持っています。しかし、全体的な比較を行うと、先行研究9,10の両者は低解像度の画像およびレガシーなFPGAプラットフォームで動作していたのに対し、本論文で示した結果は適応的な画像解像度に基づいたものであり、検討した画像サイズは最小解像度の256 × 256から最大2560 × 1440の高解像度まで及びます。結果として、ヘテロジニアスFPGAボードであるUltra96-V2のプロセッサとロジック部分の両方の機能を活用して実装したSobelエッジ検出手法は、画素数が約56倍に増加してもリソース利用率の増加はわずか20%にとどまり、電力と速度の低下も20%未満であることから、サブリニアなリソーススケーリングを達成する上で有用であることが証明されました。最低解像度ではリソースのわずか5%しか使用せず、最大利用率でもわずか23%であるため、さらなる処理に十分な余裕が残されています。したがって、画像解像度の違いにより単純な比較は困難ですが、本研究で実装した設計を分析すると、クロック周波数は136 MHz、消費電力は2 Wであり、リソース利用率はボード上の全リソースの23%未満であることが分かります。先行研究9,10で報告された実装は、個々のパフォーマンス指標において優れていることを述べておく必要があります。しかし、それらの研究はいずれも単一の固定画像解像度で設計を評価しているのに対し、提案手法は256 × 256から2560 × 1440までの幅広い解像度で評価されている点に注目すべきです。したがって、先行研究9,10がある1つの解像度におけるピークパフォーマンスの最適化を目指しているのに対し、提案アーキテクチャは複数の解像度における適応性とサブリニアなリソーススケーリングを優先しており、設計目的が根本的に異なります。これにより、実装された設計はエッジ検出を必要とするアプリケーションに適したものとなっています。

したがって、本研究においてサブリニアなリソーススケーリングとは、リソース利用率の増加率がピクセル数の増加率よりも大幅に低い条件であると定義されます。解像度が256 × 256から2560 × 1440に増加すると、ピクセル数は約5600%増加しますが、オンボードリソースの利用率は20%未満の増加に留まります。PS-PLヘテロジニアス・パーティショニング戦略から直接的に得られたこの不均衡に低いリソース増加率は、提案したアーキテクチャのサブリニアなスケーリング動作を裏付けるものです。提案した実装は、テストした解像度範囲全体でサブリニアなリソーススケーリングを示していますが、結果を正確に解釈するためにはいくつかの制限事項に留意する必要があります。動作周波数は低解像度から高解像度にかけて18%低下しており、2560 × 1440を超える外挿を行う場合は、タイミングクロージャを維持するためにアーキテクチャの調整が必要になる可能性があります。さらに、画像データの転送はARMプロセッサによって管理されているため、PS側の転送オーバーヘッドはピクセル数に比例して線形に増加し、継続的な高解像度ビデオストリーミングアプリケーションにおいては、PL側の指標のみから想定されるよりもスループットが制限される可能性があります。

エッジ検出のアプリケーションのダイアグラム:ロボティクス、イメージング、拡張現実、オートメーション、監視。
図 1: エッジ検出のさまざまな応用分野。コンピュータビジョン、医療用画像処理、監視、ロボティクス、産業オートメーションなど、エッジ検出が一般的に使用される代表的な応用分野のイラスト。こちらをクリックして、この図の拡大版を表示してください。

画像処理:入力画像に対する畳み込みカーネルを用いたSobel演算子によるエッジ検出の図解。
図 2: Sobelエッジ検出アルゴリズムのステップの説明。3 × 3の画像ウィンドウの抽出、水平および垂直Sobelカーネルを用いた畳み込み、およびエッジ検出後の出力画像の生成を含む、Sobelエッジ検出プロセスのワークフロー。 ここをクリックして、この図の拡大版を表示してください。

Zynq UltraScale+のブロック図。データフローとAXIインターコネクトコンポーネントを示すシステムアーキテクチャ。
図 3: PS(プロセッシングシステム)とPL(プログラマブルロジック)部のインターフェースを用いた、Ultra96-V2 FPGAボード上のSobelエッジ検出の実装ブロック図。FPGA実装に使用されるプロセッシングシステム(PS)、プログラマブルロジック(PL)、およびサポート用IPコアのハードウェアアーキテクチャと相互接続を示すブロック図。この図の拡大版を表示するには、ここをクリックしてください。

PYNQイメージの書き込みプロセスとVivado設計フロー。SDカードのセットアップ、検証、ビットファイルの生成。
図 4: PYNQプラットフォームを用いたSobelエッジ検出用Ultra96-V2ボードのプログラミング手順と、入力画像に対するSobelエッジ検出の結果。PYNQプラットフォームを使用したUltra96-V2ボードのプログラミング手順と、FPGA実装後に得られた代表的な出力画像を示すワークフロー。 こちらをクリックして、この図の拡大版を表示してください。

画像処理における色とエッジ検出。オリジナル画像とエッジ強調画像の比較グリッド。
図 5: Vivado HLS (2019.2) を用いた、さまざまな標準画像に対する Sobel エッジ検出のシミュレーション結果。Vivado HLS 2019.2 を用いた Sobel エッジ検出アルゴリズムの機能シミュレーション中に得られた、代表的な入力画像とそれに対応するエッジ検出出力。 この図の拡大版を表示するには、ここをクリックしてください。

表1:コンピュータビジョン研究におけるFPGAアプリケーションの進化(2006–2024年)。2006年から2024年の間に報告された代表的なFPGAベースのコンピュータビジョンアプリケーションの概要。こちらのリンクから本表をダウンロードしてください。

表 2:FPGAにおけるエッジ検出アルゴリズム実装に関する関連文献(2020-2025年)。プラットフォーム、手法、および報告されたパフォーマンス指標を含む、最新のFPGAベースのエッジ検出実装の比較。この表をダウンロードするには、ここをクリックしてください。

表3:FPGAにおけるSobelエッジ検出の実装:推定パラメータおよび実測パラメータ。FPGA実装に対して得られたHLS合成の推定結果と、それに対応する実装後のタイミングおよびリソース利用率。こちらのリンクからこの表をダウンロードしてください。

表4:異なる画像解像度における、実装されたSobelエッジ検出アルゴリズムのリソース利用率および性能指標。異なる画像解像度における、提案した実装の性能指標、動作周波数、消費電力、およびFPGAリソース利用率。こちらのリンクからこの表をダウンロードしてください。

表5:FPGAにおける実装済みおよび既存のSobelエッジ検出の比較。代表的な性能指標を用いた、提案するFPGA実装と過去に報告されたSobelエッジ検出実装との比較。この表をダウンロードするには、ここをクリックしてください。

ディスカッション

本論文では、コンピュータビジョンおよび画像処理の多岐にわたる分野のさまざまなアプリケーションにおいて不可欠な要素である、Sobelエッジ検出アルゴリズムの実行に焦点を当てます2,3,4,5,6。Sobelエッジ検出の実装はVivado HLSツールを用いて行われ、ハードウェア記述言語に依存せず高位言語でのコーディングを可能にしています。Vivado HLSコードはUltra96-V2ボード上で動作します。実装後の結果から、実装された設計が高解像度画像をサポートし、周波数136 MHz、消費電力2 Wで動作し、ボード上の総リソースの20%未満しか使用しないことが示されました。また、異なるアプリケーションによって異なる画像サイズの使用が求められる場合があり、エッジ検出は通常、複雑な設計パイプラインにおいて非常に頻繁に行われる中間ステップであるため2,3,4,5,6、本手法が画像の適応的な解像度に適していることが示されました。したがって、設計されたシステムはエッジ検出を必要とするリアルタイムアプリケーションに導入可能であると言えます。リソースに十分な余裕があることから、開発されたシステムに他のさまざまな処理ステップを組み込めることが示唆されます6,7,8,9,10,11,12,13,14,15

Ultra96-V2ボードへのSobelエッジ検出器の実装を成功させるには、いくつかの実用的な側面に細心の注意を払う必要があります。PYNQフレームワークは、Pythonライブラリを介したハードウェア制御を可能にすることでPS–PL間の相互作用を大幅に簡素化し、ソフトウェア開発の工数を削減します。ただし、公式ソースから正しいPYNQイメージをダウンロードし、展開前にSDカードを適切に設定する必要があります。IPをエクスポートする前に、包括的なテストベンチを用いてHLS設計の機能検証を行うことが不可欠です。早期に検証を行うことで、ハードウェア実装前にアルゴリズムやインターフェースの誤りを特定できるためです。FPGA実装におけるブロックダイアグラムの設計にも、設計者の多大な注意が必要です。検討しているFPGAハードウェアのアーキテクチャを十分に理解した上で、適切なブロックを選択し、接続を行うことが推奨されます。接続を完全に自動化することは、接続漏れや設計に不適切な接続を招く可能性があるため、推奨されません。PS–PLインターフェースのこの段階において、AXIアドレスマッピングの誤り、クロックドメインの不一致、または不適切に設定されたDMA転送などのエラーが発生すると、プロセッサとプログラマブルロジック間の通信が正常に行われない場合があります。これらの問題はVivadoの設計検証ツールを使用して特定でき、ビットストリーム生成前にアドレス割り当て、クロック設定、割り込み接続、およびDMA設定を確認することで解決できます。FPGA実装中、長い組み合わせ回路パスや不十分なパイプライン化により、タイミング違反が発生することがあります。パイプライン段数を増やす、ループ構造を最適化する、または必要に応じてタイミング制約を緩和することで、タイミングクロージャを達成できます。

本研究では、提案したPS-PLパーティショニングアーキテクチャを特にSobelエッジ検出において検証しましたが、このアーキテクチャの手法は本質的に汎用性があります。Prewitt、Roberts、Laplacian of Gaussian、あるいはCannyの勾配段階など、スライディングウィンドウ畳み込みとして表現できるあらゆるアルゴリズムは、主にHLS設計を変更することで同様の手法で実装可能です3,4,5,6。提案した研究にはいくつかの制限があります。制限の一つは、FPGAのPS部とPL部の間のデータ転送による遅延であり、これがアルゴリズムの全実行時間に影響します。さらに、サブリニアなスケーリングという知見はUltra96-V2のヘテロジニアスアーキテクチャに特有のものであり16、専用プロセッサコアを持たないホモジニアスなFPGAプラットフォームに直接適用できるとは限りません。

今後の展望としては、速度の向上およびさらなる低消費電力化を実現するための設計の最適化が挙げられます。また、本実装をリアルタイムのシナリオに適応させることも、将来的な検討事項として考えられます。

開示事項

著者は利益相反がないことを宣言します。本原稿の作成において、人工知能(AI)ツールは使用されていません。

謝辞

著者は、謝辞として宣言する事項はありません。本研究は外部資金による援助を受けていません。

材料

この記事で使用された材料の一覧
名前会社カタログ番号コメント
Ultra96-V2 FPGAボード Xilinx 2018年導入歩行者検知アルゴリズムの実装に使用したハードウェア実装プラットフォーム
Vivado HLS AMD2019.2インテレクチュアル・プロパティ (IP) をエクスポートするために、論文内の歩行者検知コードの高レベルプログラミングに使用した高位合成ツール
Vivado AMD2019.2Sobelエッジ検知アルゴリズムをUltra 96 v2 FPGAボードに書き込むために使用したFPGAプログラミングツール 

参考文献

  1. Rani N. Image processing techniques: a review. J Today Ideas Tomorrow Technol. 2017;5(1):40-9.
  2. Gonzalez RC. Digital image processing. Pearson Education; India; 2009.
  3. Jena KK, Mishra S, Mishra S. An edge detection approach for fractal image processing. In: Examining Fractal Image Processing and Analysis. IGI Global; 2020. p. 1-22.
  4. Gayathri AG, Remya AS. VLSI implementation of improved Sobel edge detection algorithm [conference presentation]. Presented at: 2021 International Conference on Communication, Control and Information Sciences (ICCISc); 2021 Jun 16. Available from: https://ieeexplore.ieee.org/
  5. Obaid MT. Efficient Implementation of Sobel Edge Detection with ZYNQ-7000 [Master's thesis]. Purdue University.
  6. Asharani P, et al. A inventive method for door detection on FPGA using Sobel edge algorithm [conference presentation]. Presented at: 2022 2nd International Conference on Intelligent Technologies (CONIT); 2022 Jun 24. Available from: https://ieeexplore.ieee.org/
  7. Shylashree N, Anil Naik M, Sridhar V. Design and implementation of image edge detection algorithm on FPGA. Int J Circuits Syst Signal Process. 2022;16:628-36.
  8. Zhou G, Guo S, Chen Z. FPGA-based improved Sobel operator edge detection. Front Comput Intell Syst. 2023;5(2):6-11.
  9. Navinkumar K, Logesh R, VishnuBabu P, Ananthalakshmi AV. FPGA implementation of Sobel edge detection algorithm. EAI Endorsed Trans Internet Things. 2024;10.
  10. Ravichandran S, et al. Parallel processing of Sobel edge detection on FPGA: enhancing real-time image analysis. Sensors. 2025;25(12):3649.
  11. Baloch A, et al. Hardware synthesize and performance analysis of intelligent transportation using Canny edge detection algorithm. Int J Eng Manuf. 2021;11(4):22-32.
  12. Patel CS, Solanki N, Tailor N. Analysis of edge detection using Zynq based SoC FPGA. Turk Online J Qual Inq. 2021;12(7).
  13. Kashyap S, Bhandari AK, Giri P. Low resource FPGA implementation based efficient image edge detector architecture. Multimed Tools Appl. 2024;83(9):25595-615.
  14. Dakshayani V, et al. Design of a Gabor filter-based image denoising hardware model. Electronics. 2022;11(7):1063.
  15. Belmessaoud NM, Bentoutou Y, El-Mezouar MC. FPGA implementation of feature detection and matching using ORB. Microprocess Microsyst. 2022;94:104666.
  16. Castells-Rufas D, et al. A survey of FPGA-based vision systems for autonomous cars. IEEE Access. 2022;10:132525-63.
  17. Vedavyas Y, Vasavi S, Harsha SS, Subhash MS. An FPGA-based adaptive real-time quality enhancement system for drone imagery. SN Comput Sci. 2022;4(1):84.
  18. Avnet. Ultra96-V2 Single Board Computer Hardware User's Guide. Revision 1.0. Avnet; 2020 May.
  19. Singh G, et al. Optimizing IoT capabilities: leveraging FPGA for superior performance, efficiency and security [conference presentation]. Presented at: 2024 5th International Conference for Emerging Technology (INCET); 2024 May 24. Available from: https://ieeexplore.ieee.org/
  20. Kaur A. A survey on FPGA implementations in embedded augmented reality applications [conference presentation]. Presented at: 6th Edition of International Conference on Wireless Networks and Embedded Systems (WECON); 2018 Nov 16. Available from: https://ieeexplore.ieee.org/
  21. Kalaiselvi A, Sajina S, Nithish S, Sowmiya M. Implementation of Sobel edge detection. Int Res J Mod Eng Technol Sci. 2023;5(3):701-11.
  22. Narasimhamurthy CG, Kulkarni S. Fast architecture for low level vision and image enhancement for reconfigurable platform [conference presentation]. Presented at: 2021 International Conference on Advances in Electrical, Computing, Communication and Sustainable Technologies (ICAECT); 2021 Feb 19. Available from: https://ieeexplore.ieee.org/
  23. Pujare A, Sawant P, Sharma H, Pichhode K. Hardware implementation of Sobel edge detection algorithm [conference presentation]. Presented at: ITM Web of Conferences; 2020. Available from: https://www.itm-conferences.org/

再版と許可

タグ

EngineeringComputer VisionField Programmable Gate ArrayImage ProcessingImage ResolutionSobel Edge Detection