ユ,ザ,事例

Flirがサマルメジングfpgaの開発を加速

課題

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

ソリュ,ション

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

結果

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

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

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

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

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

課題

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

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

ソリュ,ション

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

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

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

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

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

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

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

結果

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

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

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

使用製品

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

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