画像を検出する方法
◉画像検出で何ができる??
画像検出は大きく分けると3つのことができる。
●特定部分の領域を見つける (EX:顔が写っている)
●一致するかどうかを見分ける (EX:指紋の一致)
●グループに分ける (EX:猫と犬を分ける)
最近では、次のような使われ方もしている
⚫︎スマホの自撮り写真の加工
⚫︎レジで顔をカメラに写すだけで会計ができる
⚫︎病院でC TやMRIの結果から病気を見つける
⚫︎製造業で組立や検品を自動で行う
⚫︎運送業で搬送品の分類を自動で行う
⚫︎魚の養殖で餌の量と与えるタイミングを計る
など。
◉画像をコンピュータはどのように見ているのか?
コンピュータは画像を見て何が写っているかは理解できない。
画像を構成している「ピクセル(px)」と呼ばれる小さな点の集まり
1つずつの情報(色)を認識しているだけ。
◉画像から特定の部分を検出する流れ
画像入力 ▶︎前処理 ▶︎ 特徴抽出 ▶︎画像検出
の流れになっている。
●画像入力
デジタルカメラやスキャナーから画像を入力。
ポイントはコンピュータが理解できる形に
アナログをデジタル(ピクセル情報)にすること。
●前処理
デジタル化された画像はそのままでは使えない。
歪みを調整したり、明るさを変えたりする。
場合よっては、画像の拡大や縮小、回転やネガポジ化することもある。
さらに、コンピュータがより理解しやすいように、
グレースケール化や2値化を行うことで、画像を単純化しつつ、
次の「特徴抽出」の準備をする。
●特徴抽出
できるだけ単純化された画像を、
構成しているピクセル単位の情報を見ていくことで、
隣合う情報の違いを調べていく。
ここで、どの部分が共通情報の集まりかがわかる。→「ラベリング」という。
ラベリングができると、お互いの境界線もわかってくるので、
境界線を強調することで、輪郭が浮き上がる。
浮き上がった輪郭の大きさや長さなどを、
コンピュータが理解できる数値に置き換える。→「特徴抽出」という。
特徴抽出とは、別視点で見れば、
「検出に役に立たない情報を捨てる作業」とも捉えられる。
●画像検出
特徴抽出された情報と、
これまでに得た「特徴が集まった情報(機械学習による物)」と
を比較することで、
「顔の特徴である」とか「目の特徴である」などと判断し、
画像から特徴に近い部分を検出する。
◉ポイントは「輪郭」と「特徴」
コンピュータが行う画像検出は、
すでに与えられた情報にどれだけ一致しているかを見つけるだけ。
そして、どれだけ一致するかどうかを判断するための情報は、
検出対象の「輪郭」を描き、そこから「特徴」を
見つけ出すことが重要。
画像検出を行うときの「特徴」は1つだけではない。
例えば、顔や動物、果物などを検出するならば、
輪郭(形)や大きさ、色が特徴になる。
反対に、手書き文字を検出するなら、色の特徴は必要なくなる。
検出する対象物によって必要な特徴が変わる。これがポイント。