多くの場合、用途によって必要な解像度と処理の種類が決まる。これらの要因により、システム設計におけるコストと性能にトレードオフの関係が生まれる。そのバランスを決めたら、設計者に残されるのは画像処理に用いるのプロセッサの選択だけとなる。
なお、以下ではチップレベルのプロセッサについて解説を行うが、米Cognex社、カナダDalsa社、米Epix社、カナダMatrox Electronic Systems社、米National Instruments社、オランダPhilips Applied Technologies社などのように、画像処理ボードやシステムをVME(virtual machine environment)/ PCI(peripheral component interconnect)基板の形態で提供しているベンダーもある。また、いくつかのカメラメーカーは、多くのマシンビジョンシステム用途向けに、ユーザーがプログラム可能な「スマートカメラ」として画像処理用ハードウエアを組み込んだ機器を提供している。
・さまざまなプロセッサの特徴
独自の画像処理システムを構築するためにコンポーネントレベルで提供されているものとしては、汎用CPU、DSP、専用処理ハードウエア、および画像処理専用のプロセッサ(画像プロセッサ)などがある。パソコンなどにも用いられる汎用CPUは、ほかのシステム制御処理にも対応できるように設計されているため、画像処理が特に高速ということはない。しかし、アルゴリズムの実装が容易なので、解像度やフレームレートが比較的低い場合には最も使用しやすい。ASICまたはFPGAで実現される専用処理ハードウエアは、解像度とフレームレートが高く、性能的には最も有利である。しかし、処理アルゴリズムが複雑になるほど、ハードウエアの設計はより複雑になる。
処理アルゴリズムが複雑な場合に最大の性能を得るには、ソフトウエアを利用できるDSPか、または画像プロセッサの利用をお薦めする。この方法は、専用ハードウエアを利用するよりもコスト効率が良い。マシンビジョンシステムの用途に適した高性能なDSPが、米Analog Devices社や米Texas Instruments社などから提供されている。これらのデバイスは、製品ラインがしっかりと確立されており、マシンビジョンシステム用途に向けた有用な開発ツールやライブラリサポートも提供されている。
・車載向け画像プロセッサ
多くの画像プロセッサは、車載市場をターゲットとしている。しかし、ほかの用途にも利用可能である。最近の市場レポートによると、車載向けマシンビジョンシステムの市場は拡大傾向にあるという*1)。ここでいう車載向けシステムとは、主に自動駐車システムや運転者の安全対策システムなどのアプリケーションのことである。
自動車の安全対策アプリケーションでは、車線や歩行者などの物体を認識し、それらをビデオ画面に強調表示することにより、運転者の注意力を補助することを目的としてマシンビジョンシステムを利用している(図2)。
運転者を監視するマシンビジョンシステムもあり、居眠りなどの注意力低下の兆候を検出することができる。現在、このようなシステムでは、アラーム音を鳴らしたり、ハンドルを振動させたりすることにより、運転者に対して警告や注意を促すものが多い。人間に代わって車両を制御することまでは行われていないが、将来的にはブレーキや回避措置などを自動的に起動する機能も実現されるようになると考えられる。
これらのシステムにおける処理は、道路または運転者の画像をスキャンして、潜在的な危険性を認識/特定/評価することである。この処理には、運転者が車線の範囲を超えていないかを判断するために車線の位置を確認するという簡単なものから、車両付近の歩行者の有無を認識し、車両と歩行者の相対的な位置と動きを測定して衝突の可能性が高いかどうかを判断するという高度で複雑なものまである。
画像プロセッサは、安全性に関する重要な機能を扱うため、複雑なアルゴリズムを用いてリアルタイムに動作し、誤った警告の発令を最小限に抑える必要がある。このため、高速でプログラマブルな画像プロセッサが使用される。
伊仏合弁のSTMicroelectronics社製の画像プロセッサ「MobilEye EyeQ」は、そうした製品の1つである。同製品では、2基のARM RISCプロセッサコアと、4基の独自のVCE(vision computing engines)が並列に動作し、単一のチップで高性能な状況認識と解釈を実現している。
NECエレクトロニクスも、車載向けマシンビジョンシステム用途に適した画像プロセッサ「IMAPCAR」を発表している。これは、128個のプロセッサエレメントを並列に接続したマルチプロセッサであり、SIMD(single instruction multiple data)アーキテクチャを用いて、画像の複数部分を同時に処理する。同社によると、その処理能力は、100MHzのクロック周波数で100ギガ命令/秒に相当するという。ある用途において処理能力がどのくらい必要であるかは、画像処理アルゴリズムの複雑さと、必要な解像度およびフレームレートによって決定される。
※1…ABI Research, "Camera Based Automotive Systems," 2006.
Copyright © ITmedia, Inc. All Rights Reserved.