CGやVRを作成する際、別の画像を加工して利用することはよく行われます。今回は画像を処理して情報を抽出する主な手法を紹介します。
●2値化処理
白黒濃淡画像(グレースケール画像)をあるしきい値より明るい画素は白、暗い画素は黒に2分する処理のことを「2値化」といいます。画像上の対象とする部分とそうでない部分を白と黒に分けて、有無や大小を検出するような場合に使用されます。例えば、工場での画像センサによる欠陥検出、個数検査、面積判定などに用いられます。また、文字などを背景から切り離す処理に有効であるため、文字認識などでも利用されます。
|
VRデータ:「海浜と背後の都市事例」
(RoadDB サンプルデータ/景観検討/日本風景街道より) |
|
|
|
▲グレースケール画像 |
|
▲2値化(しきい値128) |
●領域分割
領域分割とは、ある画像を同じような特徴を持つ部分領域に分割することです。例えば、画像を似た色の領域に分けることで、減色処理に用いられます。模様の認識や画像上の物体の認識にも有効です。
●パターンマッチング
ある画像の中に指定されたパターン画像と同じか、または近い特徴のものがあるかについて検出することをパターンマッチングといいます。あらかじめ用意した比較対象のためのパターンをテンプレートと呼び、検索画像にテンプレートを重ねながら、2つの画像の相違度を調べることをテンプレートマッチングといいます。ある決まった書体の文字認識を行う場合などに用いられます。
●パターン認識
パターン認識は、観測されたパターンをあらかじめ定められた概念(クラス)の1つに対応させて識別する処理です。画像データの中から文字を認識してテキストデータに変換する(OCR)、文書情報の中から特定のキーワードを検索する全文検索システム、などの技術に応用されます。
●オプティカルフロー
オプティカルフロー(Optical Flow)は、動画像の中の物体の移動量をベクトルで表したものです。動いている部分だけでなく、動きの速度も検出します。
ある範囲から、テンプレートマッチングにより画像内の各部分領域の画素移動量を計測します。動く物体の速度検出だけでなく、対象が静止していればカメラ(視点)自体の動きも推定可能です。
OpenCV(インテルが開発・公開したオープンソースのコンピュータビジョン向けライブラリ)にはオプティカルフローを計算する関数が用意されています。ちなみに、コンピュータビジョンとは人間の視覚認識をコンピュータを用いて実現させることを目標とする研究分野です。ロボットに外界の状況を理解させ、適切なアクションを起こさせるアルゴリズムを研究するものです。
CAVEなどの没入型VRシステムでは、オプティカルフローを利用して、映像(視覚情報)と動き(体感情報)の同期提示を行い、リアルタイム処理による没入感を増強することが可能です。
▲オプティカルフローのイメージ |
●ステレオマッチング
2次元の画像データから3次元の情報を導き出す手法に「ステレオマッチング」があります。一対の実体写真を数値化して、画像上の同一点の検索を自動的に行い、対象物の3次元的な位置を求める手法です。
わかりやすい例をあげると、人間の目は左右離れてついており、この左右のズレでモノの奥行きを感じています。これと同じ事を映像的に実現すれば、平面の映像でも、立体感・奥行き感を得られるというわけです。
また、GISの分野においては、2枚の空中写真から同一地点を対応させ、高さを自動計測する方法などに応用されています。そのほか、医学の分野でも、3D-VRの視差画像が利用されています。
|
|
|
▲左目と右目に写る像のイメージ |
|
▲視差のイメージ(手前のモノほど、視差が大きい)
VRデータ:「ゴルフ場」(RoadDB サンプルデータ/公園より) |
|
参考文献: ・『ビジュアル情報処理 -CG・画像処理入門-』CG-ARTS協会、2008年 |
|
(Up&Coming '09 秋の号掲載) |
|
|
>> 製品総合カタログ
>> プレミアム会員サービス
>> ファイナンシャルサポート
|