FPGAを画像処理に使用するメリット

技術コラム

近年ビッグデータやディープラーニングの研究開発が進み、工場での品質管理や自動車の自動運転など、リアルタイムで画像処理を行う場面が増えてきました。その中で注目されているのがFPGAです。FPGAという言葉は聞いたことがあるけれど、FPGAは何ができるのか、画像処理にどういったメリットがあるのか分からないという方も多いと思います。

そこで、今回はFPGAとは何か、なぜFPGAが画像処理に適しているのかを解説していきます。

FPGAとは

FPGAとは集積回路の一種です。製造後に現場で技術者がプログラムを書き換えることができるため、「Field Programmable Gate Array」の頭文字を取って、FPGAと呼ばれています。

FPGAの動作について簡略化して説明しますと、まずFPGAの中には一つの仕事だけに特化した専門家がたくさん配置されているのを想像してください。その中で用途にあった専門家だけに指示が通るように配線して効率よく仕事をさせる、といったイメージです。

実際にはFPGAの中には専門家が非常に多く存在し、中には900万人いるFPGAもあります。その中から必要な専門家を一つ一つ探し、一つ一つ繋いでいくのは大変なので、会社のように専門家をある程度まとめて配置してあります。そして、その会社と会社を繋いだ道を「論理回路」と呼び、技術者は仕事が最短でできそうな論理回路をプログラミングして、会社と会社の間の道を敷いていきます。

FPGAのプログラムとIP

FPGAにプログラミングする場合は「ハードウェア記述言語(HDL)」と言われる言語を使用します。ソフトウェアのプログラミングに使用する言語に似ているものもあるので、プログラミング言語の一つと思われがちですが、まったく違う言語です。

違う言語ではありますが、ソフトウェア言語のライブラリのように、ハードウェア記述言語にも「IPコア」というものがあります。IPコアは回路の開発だけでなく検証結果がついているものもあり、回路設計の開発期間やコストが軽減できます。主にFPGA作成元の会社が提供したり、他のメーカーが開発・販売しています。

FPGAが画像処理に適している理由

ここでは、画像処理を行う際にFPGAを使用するメリットについてご紹介します。

現場で書き換えが可能

まず最初に、FPGA最大の特徴である「現場で書き換えが可能」という柔軟性の高さが画像処理に適しています。FPGAを使用することによって、基板ボードを作成した後に変更が生じた場合でも、新たにボードを発注しなくてもFPGAのプログラムを変更するだけで、対応することができます。

画像処理を行う際はカメラから画像を取得しますが、使用するカメラを最新のものに交換することや、新たにカメラを増やすこともあるかと思います。そういった場合も、FPGAのプログラムを書き換えるだけで済むので、新たにボードを設計する工数や発注費用などを抑えるだけでなく、迅速にアップデートしていくことができます。

高速・省電力

次に、FPGAは大量のデータを高速に処理し、しかも省電力で行えるという利点が画像処理に適しています。

ハードウェア記述言語は基本的には並列処理で構成されます。これは、CPUのような逐次処理ではなく、複数の作業が同時に進行することが可能なので、大量のデータを高速に処理できます。画像処理は他のセンサーに比べ、処理すべきデータ量が膨大かつ、近年の画像処理はリアルタイムで行われることが多いです。なので、CPUよりも高速で大量のデータを一気に処理できるFPGAが適しており、採用されることも増えてきています。

また、FPGAはCPUやGPUに比べて無駄な回路を使わなくて良いので、消費電力や発熱量が抑えられるというメリットがあります。画像処理は自動車の自動運転などにも利用されますが、このような場合での画像処理は長時間に渡ってリアルタイムで行われることが予想されます。この時、FPGAを搭載することによって、長時間に大量の画像処理を行っても省電力で発熱も抑えられるので、安定して稼働させることができます。

エッジコンピューティング

IoT業界では近年「エッジコンピューティング」という方式が注目されています。エッジコンピューティングとは、クラウドでデータ処理をせず、IoT機器の近くに設置したエッジサーバでデータを処理や分析をさせるという技法です。

エッジコンピューティングを使うと、クラウドまでデータを送らなくて良いので遅延やネットワーク負荷を減らせますが、エッジサーバはIoTの近くに設置するためスペースや電力が限られています。そこで、小型で省電力なFPGAが適していると言われ、今さまざまな製品に組み込まれています。これにより、工場での品質管理や防犯カメラなどの画像処理が、従来よりも高速になおかつ安定して行われるようになると考えられています。

まとめ

今回はFPGAと画像処理についてご紹介しました。
FPGAは柔軟性が高く、消費電力を抑えながらも大量のデータを高速で処理できるなど、画像処理に適した特性を持っています。
今後、IoT機器の進化とともに、FPGAによる画像処理が増えていくと思われます。

関連記事

特集記事

コメント

この記事へのコメントはありません。

TOP