ユーザー事例

弗利尔がサーマル イメージング FPGAの開発を加速

課題

FPGAハードウェアへの高度なサーマル イメージング フィルターとアルゴリズムの実装を加速すること

ソリューション

MATLABを使用してアルゴリズムの開発、シミュレーション、評価を行い、HDL编码器を使用して最適なアルゴリズムを FPGAに実装

結果

  • コンセプトから実地試験可能なプロトタイプ作成までの期間を60%短縮
  • 以前は数週間要したアルゴリズムの拡張を数分で完了
  • コードの再利用がゼロから 30% に増加

「MATLAB」と HDL编码器を利用することで、市場の需要にすばやく対応できるようになりました。また、わずか数週間で新しいアイデアからリアルタイム対応のハードウェア プロトタイプを作成できるため、変更作業に前向きに対応できるようになりました。エンジニアの仕事が楽しくなり、顧客の満足度だけでなく、社員の満足度も向上しています。」

Nicholas Hogasten,FLIR系统公司
生のイメージ (上) と HDL编码器で開発したフィルターを適用したイメージ (下)。

サーマルイメージングの赤外線カメラは,セキュリティ,消防,ガス漏れの検出,実験と計測など,商業用アプリケーションで幅広く使用されています。カメラに内蔵されているFPGAは,センサーや検出器で生成された信号をフィルターにかけて処理します。通常,新しい信号処理コンセプトから量産カメラでリアルタイムに実行されるアルゴリズムを開発する場合,アルゴリズム担当エンジニアが開発したアルゴリズムをハードウェア担当エンジニアがHDLに変換しなければなりません。しかし,ハードウェア担当エンジニアがアルゴリズムの機能に精通しているとは限らないため,これは時間のかかる作業となります。

FLIR系统では、MATLAB®で高度なアルゴリズムを開発、シミュレーションし、HDL编码器™ を使用してこれらのアルゴリズムを 短期間でFPGAに実装しています。弗利尔の 图像处理技术经理である 尼古拉斯·霍加斯顿氏は次のように述べています。「以前では、アイデアが製品に組み込まれるまで長時間がかかったため、顧客にシミュレーションを見せることはほとんどありませんでした。しかし最近、新しいサーマル イメージング フィルターのシミュレーションを主要な顧客に見せる機会がありました。これは、当社が今までに開発した中でも、最も複雑なフィルターです。数か月後、HDL编码器を使用してこの新しいフィルターを生成し、実際のカメラに組み込んでこの顧客に見せたところ、カメラが MATLABのシミュレーション通りに機能したため、非常に感心していただきました。」

課題

弗利尔の従来の開発プロセスにおける問題は、新しいアイデアおよびアルゴリズムを開発するアルゴリズム担当エンジニアと、アルゴリズムを FPGAに実装するハードウェア担当エンジニアの連携にありました。アルゴリズム担当エンジニアがノイズ除去やダイナミック レンジ圧縮に関する新しい手法を検討してから、書面による仕様書をハードウェア担当エンジニアに渡していましたが、ハードウェア担当エンジニアはアルゴリズムについて十分に理解していないことがありました。

霍加斯顿氏は次のように述べています。「多くの場合、FPGAへの実装はシミュレーション通りに動作せず、実装とアルゴリズムのどちらに問題があるのかを判断することはできませんでした。また、ハードウェア担当エンジニアがアルゴリズムについてよく理解していなかったため、最適化のためにどの条件に手を加えても影響が出ないかが分かりませんでした。さらに、アルゴリズムをわずかに拡張しただけでも、ほとんどの 高密度脂蛋白を書き直さなければならないということがありました。」

ソリューション

弗利尔では FPGAベースのサーマル イメージング アルゴリズムの開発において、MATLABと HDL编码器を使用した新しいワークフローを確立しました。

アルゴリズム担当エンジニアが MATLABと 图像处理工具箱™ を使用し、モルフォロジー演算と多次元画像フィルター処理に基づいて新しいアルゴリズムを検討します。

ここで、実装するアルゴリズムが選択され、ターゲット FPGAハードウェアにマッピングされるアルゴリズムのコンポーネントが特定されます。この機能分割の作業では、图像处理工具箱の高抽象度の関数が、コード生成をサポートする MATLABコードに置き換えられます。そして、图像处理工具箱のアルゴリズムによってゴールデン リファレンスが作成され、弗利尔によるカスタム MATLABコードの検証が容易になります。

ビットトルゥーのシミュレーションと解析のために、HDL编码器に統合されている浮動小数点から固定小数点への変換ワークフローにより、浮動小数点の MATLABアルゴリズムが、定点设计器™ により、固定小数点のデータ型と演算が組み込まれたMATLABコードに自動変換されます。

また、弗利尔で使用されている他のテスト環境をサポートするため、生成した固定小数点の MATLABコードから MATLAB编码器™ を使用して Cコードと 墨西哥ファイルが生成されます。

次に HDL编码器を使用して、MATLABアルゴリズムから合成可能な 高密度脂蛋白コードが生成されます。その後、高密度脂蛋白コードが FPGAに実装されてテストが行われ、結果を固定小数点の MATLABアルゴリズムからの結果と比較して検証されます。

関連するプロジェクトでは、エンジニアが MATLAB编译器™ と 图像获取工具箱™ を使用してカメラとフレーム グラバーからイメージを取得し、さまざまなアルゴリズムを使用してイメージを処理して、結果を表示するアプリケーションを構築しました。このアプリケーションによって、弗利尔のエンジニアは MATLABがインストールされていない場合でも、一定範囲の入力に対してアルゴリズムを評価できるようになります。

結果

  • コンセプトから実地試験可能なプロトタイプ作成までの期間を60%短縮. 霍加斯顿氏は次のように述べています。「MATLABと HDL编码器を利用することで、初期のアルゴリズムを手作業で 高密度脂蛋白に書き直す作業を排除できました。現在はアルゴリズムの開発者が自分で FPGAのプロトタイプを作成できるため、プロトタイピングにかかる期間を 60% 短縮しています。」

  • 以前は数週間要したアルゴリズムの拡張を数分で完了. 霍加斯顿氏は次のように述べています。「最近、当社のエンジニアに、コア フィルターのアルゴリズムに大幅な変更を行うように依頼したところ、3.時間後には MATLABでの変更が済み、HDL编码器を使用して FPGAへのアルゴリズムの再実装が完了しました。以前では、このような変更には 6.週間要していました。」

  • コードの再利用がゼロから 30% に増加. 霍加斯顿氏は次のように述べています。「現在当社では、アルゴリズム、シンプルなコンポーネント、高密度脂蛋白コード生成用に検証された MATLABコードを集約した共有のリポジトリがあります。以前には、基本的にコードの再利用は行っていませんでしたが、現在では MATLABコードの 30% を再利用して他のプロジェクトの 高密度脂蛋白を生成しています。」

使用製品

お客様の成功事例をご紹介

カスタマー リファレンス プログラムに参加する