カメラ

コンピュータとカメラ

近年パソコンやスマートフォンとカメラは切っても切り離せない存在になっています。スマートフォンにはほぼ標準的といってよいほどカメラが内蔵されていますし、パソコンにもwebカメラなどがあらかじめ搭載されているモデルが増えています。

そこで、ここではコンピュータとカメラ、そしてそれに関連した画像処理などの技術について説明します。

イメージセンサ

デジタルカメラの受光部には、イメージセンサと呼ばれる部品が使われています。イメージセンサとは、光を読み取る極小サイズのセンサの集合体です。レンズを通して撮影対象物の情報を受光面に結像させ、電気信号に変換します。一般的にはCCD(シーシーディー)CMOS(シーモス)といった素子がイメージセンサとして用いられ、カメラに内蔵されています。(図6-1.)

コンピュータ内では、読み取られた電気信号が画素のデータに置き換えられ、ディスプレイに表示されたり、画像データとして保存されるといった処理が行われます。

図6-1.イメージセンサー(CMOSセンサー)

画像処理

画像処理とは

コンピュータでは、カメラなどで取り込んだ画像をもとに、様々な処理を行うことができます。画像を加工して画像に含まれる興味ある情報を抽出するために、興味のない画像を排除することが画像処理の基本的な手法です。

たとえば、画像の中に移りこんだ人の顔や文字などを認識したり、画像を加工して暗い画像を明るくしたり、ノイズが入った乱れた画像からノイズを取り除いたりといったことが可能になっています。このような一連の処理のことを、画像処理と言います。画像処理は、画素のデータを数値に置き換え、様々な計算処理を行うことにより実現されます。

画像処理の例

画像処理は、ゲームや映画エンターティメント的な使われ方から、工業・セキュリティなど、様々な領域で利用されています。ここでは、主な画像処理の利用の例を見てみましょう。

(1)顔認識

カメラで撮影・取得した画像データから、人間の顔を抽出して認識する技術の総称を「顔認識」と言います。(図6-2.)応用分野としては、スマートフォンやデジタルカメラのような民生技術から、セキュリティなど、さまざまな領域があります。

図6-2.顔認識

公共の場では、自動販売機や店頭などに設置したカメラで顔を撮影し、その特徴から性別・年代を判別してマーケティングに生かす仕組みなどで実用化されています。セキュリティとして用いられる場合は、改めて撮影した顔画像とデータベースを照合して、誰が写っているか、間違いなく本人かどうかを確認することにより、本人確認を行います。

(2)ゲーム

画像処理はゲームの世界でも非常に多用されています。カメラを使って撮影した画像と、ゲームの画像を合成し、プレイヤーがあたかもゲームの中の世界に入っているような演出などに用いられます。

ゲームの中のキャラクターが自分と同じポーズをしたり、ゲームの画面の中に自分が登場し、ゲーム内のものに触れたり、動かしたりできるような演出が可能になっています。代表的なものとしては、XboxのKinect(キネクト)などがあります。(図6-3.)

図6-3.Kinect

※画像提供:Wikimedia Commons

(3)工場などの産業での利用

画像処理は、工場など様々な産業の領域でも使われています。出来上がった商品に瑕かついていないかというな検査(Inspection:インスペクション)などに用いられます。これにより大量生産した商品のなかから不良品を発見して排除したり、野菜や果物などの大きさのばらばらなものを同じ大きさに分類したりするようなことも可能になっています。

OpenCV

OpenCV(正式名称: Open Source Computer Vision Library)は、アメリカ Intel 社で開発された画像処理・画像認識用のライブラリです。コンピューターで画像や動画を処理するために利用可能で、WindowsやLinux、MacOSなど様々なOS、プラットフォームで利用可能です。

静止画にも動画にも対応しているため、特にロボット工学や認証などの研究によく使われています。

画像処理の応用技術

自動運転

画像処理の技術は、単に画像の加工や認識にとどままらず、さまざまな技術に応用されています。そのなかでも、近年もっともよく研究されている分野が、自動車の自動運転と呼ばれるものです。

自動運転技術は、自動車を機械制御で運転する技術のことで、無人走行技術などとも言います。国内外の多くの自動車メーカーが研究開発に取り組んでいる他、Googleもすでに数十万km の走行実験を行うなど、実用化の手前にまで来ています。

自動運転は、運転手にかわり、カメラで取り込んだ画像やGPSの情報などをもとにして、コンピュータが車の操作を行うことであり、これにより事故が減少したり、車の燃費が向上するなどの効果が期待されています。