一枚の写真を見たとき、私たちは思っている以上に、たくさんのことを読み取っています。
たとえば、公園の写真を見れば、
・犬がいる
・ベンチがある
・子どもが走っている
・木の後ろに人がいる
・手を上げている人がいる
といったことが、なんとなく自然にわかりますよね。
でも、こうした「わかる」は、実は一種類ではありません。
ただ「何が写っているか」を知るだけで十分なこともあれば、「どこにあるのか」「どの範囲なのか」「一人ひとりを分けたい」のように、もっと細かい理解が必要なこともあります。
画像認識とは、ひとことで言えば、画像の中にある情報を、目的に応じて読み取る技術です。
そして、その読み取り方にはいくつかの種類があります。
一般物体認識・物体識別
まず最も基本的なのが、一般物体認識や物体識別です。
たとえば、公園の写真を見せられたときに、
「この写真には犬が写っています」
「これは猫の画像です」
「この花はひまわりです」
のように、画像全体や対象物が何であるかを見分けるのが、このタスクです。
これは、絵本のカードを見て、「りんご」「いぬ」「くるま」と答える練習に似ています。
ここでは大切なのは、何が写っているかです。
まだ「どこにあるか」までは細かく答えなくてもいいのです。
だから一般物体認識や物体識別は、画像認識のいちばん入り口にある仕事だと言えます。
一般物体認識→ 画像に写っているものを認識する広い考え方
物体識別→ その対象が何かを分類すること
と考えると整理しやすいです。
物体検出
でも、現実の写真はもっと複雑です。
公園の写真の中には、犬もいれば、人もいて、ベンチも木もあるかもしれません。
このとき知りたいのは、何が写っているかだけでなく、それがどこにあるのかですよね。
これを行うのが、物体検出です。
物体検出では、画像の中にある対象物を見つけ、その位置を「バウンディングボックス(四角い枠)」で囲って示します。
たとえば、
・ここに犬
・ここに子ども
・ここにボール
というように、何がどこにあるのかを、位置つきで答えるのが物体検出です。
たとえるなら、にぎやかな公園の写真を見ながら、
「犬はこのあたり」
「ベンチはここ」
「ボールはこの近く」
と、四角い枠で印をつけていく感じに近いです。
つまり物体検出は、画像の中で、何がどこにあるのかを、バウンディングボックスで示しながら見つけるタスクなのです。
セマンティックセグメンテーション
物体検出では、「ここに犬」「ここに人」というように、対象物を「バウンディングボックス(四角い枠)」で囲って見つけました。
でも、ときには四角い枠だけでは足りないことがあります。
たとえば自動運転では、
・ここが道路
・ここが歩道
・ここが建物
・ここが人
というように、画像のどの部分が何なのかを、もっと細かく知りたいことがあります。
ここで使われるのが、セマンティックセグメンテーションです。
セマンティックセグメンテーションでは、画像を四角く囲うのではなく、画像の一つひとつの場所(画素)が、何の種類に属するのかを判断していきます。
たとえば、公園の写真なら、
・空の部分は空
・木の部分は木
・芝生の部分は芝生
・人の部分は人
というふうに、写真の上を色分けするように塗り分けていくイメージです。
物体検出が「このあたりに犬がいる」と四角い枠で示す仕事だとすれば、セマンティックセグメンテーションは、犬の体のどこまでが犬なのか、背景とどこで分かれるのかまで細かく見る仕事だと言えます。
たとえるなら、絵本の塗り絵で「空は青、木は緑、人は赤」というように、絵の中の部分ごとに意味を与えていく感じに近いです。
ただし、ここでは、同じ種類のものはまとめて扱います。
たとえば人が三人写っていても、三人それぞれを別々に区別するのではなく、全部まとめて「人」という種類の領域として塗られます。
つまりセマンティックセグメンテーションは、画像のどの部分が、何の種類なのかを、画素レベルで塗り分けるタスクなのです。
インスタンスセグメンテーション
セマンティックセグメンテーションでは、画像のどの部分が「人」「木」「道路」なのかを、画素ごとに塗り分けることができました。
でも、ここで新しい疑問が出てきます。
たとえば、公園の写真に人が三人写っていたとします。
セマンティックセグメンテーションでは、その三人はみんなまとめて「人」という領域になります。
けれど現実には、同じ「人」でも、一人ひとりを分けて知りたいことがありますよね。
ここで使われるのが、インスタンスセグメンテーションです。
インスタンスセグメンテーションでは、画像の中の対象物を、何の種類か、どの範囲なのかだけでなく、同じ種類の中の、一つひとつの個体として区別して捉えることを目指します。
たとえば写真の中に、
・走っている子ども
・ベンチに座っている大人
・犬を連れている人
がいたとします。
このときインスタンスセグメンテーションでは、みんなをただ「人」という一色でまとめるのではなく、
・この人の輪郭
・あの人の輪郭
・その人の輪郭
と、一人ずつ別々に領域を取るのです。
たとえるなら、クラス写真を見て「これは全員『生徒』です」と言うだけではなく、「この子はここまで、この子はここまで」と、一人ひとりを切り分けて見ていく感じに近いです。
つまり、セマンティックセグメンテーションが、どの部分が何の種類か、を見る仕事だとすれば、インスタンスセグメンテーションは、どの部分が何の種類で、しかもそれがどの個体なのか、まで見る仕事だと言えます。
だからインスタンスセグメンテーションは、種類もわかるし、同じ種類の中の一つひとつも分けて捉えられるタスクなのです。
パノプティックセグメンテーション
ここまで見てきたように、
セマンティックセグメンテーション→ 画像のどの部分が何の種類かを塗り分ける
インスタンスセグメンテーション→ 同じ種類のものでも、一つひとつの個体を分けて捉える
という役割を持っていました。
でも実際の世界を考えると、私たちはこの二つを別々には見ていません。
公園の写真を見れば、
・地面がある
・空がある
・木がある
・そして、そこに人がいて、犬がいて、ベンチがある
というように、背景の広がりも、個々のものも、まとめてひとつの風景として理解していますよね。
この「世界全体をまとめて捉えたい」という考え方に近いのが、パノプティックセグメンテーションです。
パノプティックセグメンテーションでは、
空、道路、芝生、建物のような背景→ 種類ごとに塗り分ける
人、犬、自転車のような個体→ 一つひとつを分けて捉える
というふうに、セマンティックセグメンテーションとインスタンスセグメンテーションの両方を合わせたような理解を目指します。
たとえるなら、公園の絵に色を塗るとき、
・空は青
・芝生は緑
・道は灰色
と背景を塗り分けながら、さらに
・この人
・あの犬
・その自転車
と、一つひとつの存在にも印をつけていく感じです。
つまりパノプティックセグメンテーションは、背景のように広がっているものも、個体として数えられるものも、まとめて画像全体を理解しようとするタスクなのです。
セマンティックセグメンテーションだけでは、人が三人いても全部「人」としてひとまとめになります。
インスタンスセグメンテーションだけでは、個体は分けられても、空や道路のような背景全体をうまく扱いにくいことがあります。
パノプティックセグメンテーションは、その両方を組み合わせることで、画像を「物の集まり」としてだけでなく、「ひとつの場面」として理解することに近づこうとするのです。
だからパノプティックセグメンテーションは、画像の中にある世界を、より自然で全体的な形で捉えたいときに重要になるタスクです。
姿勢推定
ここまで見てきた画像認識のタスクは、主に
・何が写っているのか
・どこにあるのか
・どの範囲なのか
を知るものでした。
でも、ときにはそれだけでは足りません。
たとえば人の写真を見たとき、私たちはただ「人がいる」とわかるだけでなく、
・立っている
・座っている
・手を上げている
・走り出そうとしている
といった、体の形や動きも自然に読み取っていますよね。
こうした理解に近いのが、姿勢推定です。
姿勢推定では、人や動物の体を
・頭
・肩
・肘
・手首
・腰
・ひざ
・足首
のような、関節や体の点の集まりとして捉えます。
つまり、人がいるかどうかだけではなく、体のどの部分がどこにあり、どうつながっているかを読み取ろうとするのです。
たとえるなら、人物の絵を見ながら、その上に細い線で骨組みを描き足していく感じに近いです。
輪郭や服の色を見るのではなく、その人の体のかたちそのものを見ている、と言ってもいいかもしれません。
たとえば公園の写真に人が写っていたとき、物体検出なら「ここに人がいる」とバウンディングボックスで示します。
インスタンスセグメンテーションなら「この人の領域はここまで」と輪郭を分けます。
それに対して姿勢推定では、
・頭はここ
・肩はここ
・右手はここ
・左足はここ
というように、体の各部分の位置関係を捉えます。
だから姿勢推定は、人や動物の存在そのものよりも、「どんな姿勢をしているか」「どう動いているか」を理解するタスクだと言えます。
この技術は、
・スポーツフォームの解析
・リハビリや動作支援
・ダンスや演技の動きの分析
・監視カメラ映像での行動理解
など、動きや姿勢が重要な場面でよく使われます。
つまり姿勢推定は、画像の中の世界を「もの」としてだけでなく、動きのある身体として読むための技術なのです。
まとめ
ここまで見てきたように、画像認識といっても実際にはいろいろな仕事があります。
・画像全体を見て何が写っているかを知る
・画像の中の物体を見つける
・領域を塗り分ける
・同じ種類の個体を一つずつ分ける
・背景と個体をまとめて理解する
・姿勢や動きを読み取る
つまり画像認識とは、単に「写真を見て答えること」ではなく、目的に応じて、画像の中の意味をいろいろな深さで読み取る技術なのです。
一般物体認識・物体識別→ 何が写っているかを見分ける
物体検出→ 何が、どこにあるかを見つける
セマンティックセグメンテーション→ 画像の各部分が何の種類かを塗り分ける
インスタンスセグメンテーション→ 同じ種類でも、一つひとつの個体を分けて捉える
パノプティックセグメンテーション→ 背景の領域と個体の両方をまとめて理解する
姿勢推定→ 人や動物の関節や体の形から、姿勢や動きを捉える
next ▶ 画像認識モデルの発展