見出し画像

最新の物体検出を体験してみた。2022春

「画像処理と自然言語処理がつながっている…」
そんな体験をしたお話をします。

ゴールデンウィーク中、いかがおすごしですか。
お仕事の人は息抜きがてら、おやすみの人は週明けからのお仕事開始のウォーミングアップとしてお付き合いください。

はじめに

はじめまして!
AI・DX推進部の柴田です。

姫路城と私

オンラインミーティングを駆使し、地元姫路の観光名所である姫路城と撮りました~。
ただ、姫路とは言っても信号が無い小さな離島出身の田舎育ちです。
新宿駅は必ず迷子になります。

普段の業務では、主にAIモデルの開発やデータ分析を行っています。
また、昨年の夏は「AIエンジニア体験インターンシップ」のアシスタントとして参加しました。

インターンシップでも本記事の内容と同じく、画像処理を取り扱いました。そのため、昨年参加いただいた方はインターンシップの内容を思い出していただけると思います!

「え?そもそも、インテージテクノスフィアってAI開発しているの?」

と、聞こえてきました。

はい、インテージグループ内外のお客さまの課題に対し、AIソリューションを提供しています。
HPに事例も紹介されているので、よければチェックしてみてください!

本題に入ります。

業務やプライベートで、論文や最新技術の調査を行っていたところ、
面白そうな物体検出手法を見つけたので、ご紹介します!

物体検出手法の名は、Detic です。読み方は「デティック」が主流っぽいです。ほかの流派があったら教えてください。

Detic: A Detector with image classes that can use image-level labels to easily train detectors.

論文はこちら ↓
X. Zhou et al. (2022), Detecting Twenty-thousand Classes using Image-level Supervision, arXiv:2201.02605 [cs.CV].

GitHubはこちら ↓
https://github.com/facebookresearch/Detic

 Githubにコードが公開されているのはありがたいですね。

そもそも物体検出とは、その名の通り画像中の物体を検出し、その物体が具体的に何かを特定するタスクになります。
例えば、物体検出を行うことで、以下のような結果が得られます。
※Deticを用いています。

オートバイや人、傘が検出された画像
タバコやびんが検出された画像

人やオートバイ、たばこが検出できていることがわかります。
精度高っ!!

こういった技術は自動運転の動画でもよく見かけますね。

Deticは何がすごいの?

物体検出は既にある技術ですが、ここからは Detic のすごいところを紹介します。

① 画像分類データセットも学習に使用

一般的に、画像に「何が映っているか」が重要な画像分類データセットに対し、加えて「どこに映っているか」という情報が必要な物体検出データセットは、データセットの作成にかかるコストが大きくなってしまいます。
一方で、高精度のAIモデルを作成するためには、多くのデータが必要となります…

この問題に対し、Detic は物体検出用のデータセットで「何が・どこに映っているか」を学習し、画像分類用のデータセットで「何が映っているか」のみを学習します。
これにより、画像分類用のデータセット分、多くのデータを用いてモデルを作成でき、結果として2万種類という多くの物体を検出することが可能となりました。

より多くの物体を検出することが可能になる

② テキストで検出対象を指定可能

従来の一般的な物体検出では、検出対象を新たに設定する場合、認識させるための画像を大量に集め、対象の物体を四角の枠で囲み、それを再度学習させる必要があります。
そのため、開発にかかるコストも大きくなります。

これに対し、Detic では画像とテキストのペアを学習したモデルを組み込むことで、テキストで設定した任意の物体を検出することが可能となっています。
…ということは追加でアノテーションして再度学習する必要がない??

※物体検出のアノテーションでは、どこに何が映っているかを学習させるため、画像中の検出したい物体に対して、四角で囲む作業を行い、物体検出データセットを作成していきます。

例として、ビールが映っている画像の場合、
検出対象を指定せずに物体検出を行うと「グラス」と判定されています。

ビールが映っている画像に対して物体検出を行った結果(検出対象の指定なし)

それでは次に検出対象を自然言語で設定します。
「Hey Detic! beerを検出して!」
ぱっ!(実際は音声認識ではありません…)

ビールが映っている画像に対して物体検出を行った結果(検出対象を“beer”に指定)

指定しない場合はグラスであったものが、ビールと判定されています。
このように、再度学習し直さずに新しく検出対象を設定することが可能となります。

また公式のGitHubページでも取り上げられているようにコーヒーを指定し、検出することも可能です。

通常のモデルの結果はこちらです。

コーヒーが映っている画像に対して物体検出を行った結果(検出対象の指定なし)

「Hey Detic! coffeeを検出して!」
ぱっ!

コーヒーが映っている画像に対して物体検出を行った結果(検出対象を“coffee”に指定)

ちゃんとできている!画像処理と自然言語処理が繋がっている!!

物体検出モデルを実際に開発する際は、対象の物体でアノテーションを行った画像で学習することが多いと思いますが、簡単なタスクではこれで対応できるのでは。
かゆい所に手が届くな~

一方、上記画像以外にも、数枚の画像で実験してみた結果、精度はそれほど高くない印象です。
しかし、検出対象を指定せずとも2万クラスを検出することができるため、簡単なタスクでは事足りる場面が多いのでは、と考えられます。

まとめと感想

  • 公開されている Detic モデルは約2万クラスを検出することができる。

  • 画像とテキストのペアを学習したモデルを利用することで、精度は高くないものの、検出対象をある程度自由に指定することができる。

  • 新しい技術を体験すると楽しい。

インテージテクノスフィアでは、上記のような画像処理技術を用いたAIモデル開発を中心に、時系列予測、自然言語処理など、様々な技術を用いてお客さまの要望に沿ったソリューションを提供しています!

最新の技術動向をチェックしている中で、また面白い技術があれば紹介したいと思います。
それでは、またお会いしましょう。

※本記事で使用している画像は、 フリー写真素材ぱくたそ を使用しております。


この記事が参加している募集