物体認識
これだけは知っておきたい3つのこと
物体认识とは,画像やビデオ内の物体を识别するためのコンピュータビジョンの手法です。ディープラーニングや机械学习の重要な成果のひとつが物体认识と言えます。人间が写真やビデオを见る场合,人物や物体,シーン,细部の情报をすぐに见分けることができます。物体认识の目标は,人间が自然に行っていることをコンピュータに教えること,つまり画像に含まれている情报を理解できるだけの认识レベルを获得することです。
物体認識は自動運転車を支える主要な技術であり,停止標識を認識したり,歩行者と街灯を区別することを可能にします。また,その他にも,生体イメージングによる病気の識別,工業用検査,ロボットビジョンなど,さまざまな適用分野で活用されています。
また,物体認識は一般物体認識と特定物体認識に大別されます。一例として図1に写っている犬の認識を取り上げます。トイプードルや柴犬など世界には数百以上の犬種が存在すると言われており,それぞれ特徴が異なりますが,例えば柴犬だけを認識するタスクは特定物体認識と呼ばれます。このタスクにおいては,画像特徴などを利用してデータベースを構築し,特徴のマッチングを利用して類似度を計算する等の方法が用いられてきました。一方,様々な犬種をまとめて犬として認識するタスクは一般物体認識と呼ばれます。この場合,犬として不変な特徴を見つけ出す必要があり非常に難しいタスクとなりますが,ディープラーニングの登場により認識精度が飛躍的に向上しています。
物体认识与物体検出
物体検出と物体認識は,物体を識別するという点で類似した手法ですが,その実行方法が異なります。物体検出は,画像内の物体のインスタンスを见つけるプロセスです。ディープラーニングの场合,物体検出は物体の识别だけでなく,画像内の位置の特定が行われるという点で,物体认识の一部と言えます。これにより,同じ画像内で复数の物体を识别し,それらの位置を特定することが可能になります。
物体認識のテクニック
ディープラーニングを使用した物体認識
ディープラーニングは,物体認識の一般的な手法になっています。畳み込みニューラルネットワーク(CNN)などのディープラーニングモデルを使用して,物体本来の特徴を自動的に学習することにより,その物体を識別できるようになります。たとえば,畳み込みニューラルネットワークは,数千もの学習用画像の解析を行い,猫と犬の違いを示す特徴を学習することによって,猫と犬を区別する方法を学習できます。
ディープラーニングを使用して物体认识を実行するには,2つのアプローチがあります。
- ゼロからモデルを学习:ゼロからディープニューラルネットワークの学習を行うには,非常に大きなラベル付きデータセットを収集して,特徴の学習とモデルの構築を行うネットワークアーキテクチャを設計します。このアプローチでは非常に優れた結果が得られますが,大量の学習データが必要であり,またCNNにおける層と重みの設定を行う必要があります。
- 事前学習済みのディープラーニングモデルを使用:多くのディープラーニングアプリケーションでは,事前学習済みのモデルの微調整を含む,転移学習のアプローチが使われています.AlexNetやGoogLeNetなどの既存のネットワークから始めて,従来は不明だったクラスを含む新しいデータを投入します。数千または数百万もの画像に対するモデルの学习が既に行われているため,この方法は时间がかからず,より迅速に结果を出すことができます。
ディープラーニングにより高水準の精度が得られますが,正確に予測するには大量のデータが必要です。
機械学習を使用した物体認識
物体認識では機械学習もまた一般的な手法であり,ディープラーニングとは異なるアプローチが利用できます。機械学習を使用した一般的な例を次に示します。
- 猪特徴抽出とSVM機械学習モデルを使用した物体认识
- 冲浪や女士などの特徴を用いたBag-of-wordsモデル
- 顔や上半身などのさまざまな物体の認識に使用可能なViola-Jonesアルゴリズム
機械学習のワークフロー
标准的な机械学习の手法を使用して物体认识を実行するには,はじめに画像(またはビデオ)の收集を行い,各画像の关连する特徴を选択します。たとえば,特徴抽出アルゴリズムにより,データのクラスを区别するために使用できる,エッジやコーナーの特徴を抽出します。
これらの特徴は機械学習モデルに追加され,別個のカテゴリに分割されてから,新しい物体の解析および分類に使用されます。
機械学習アルゴリズムと特徴抽出にはさまざまな手法があり,正確な物体認識モデルを作成するための多くの組み合わせが存在します。
物体認識に機械学習を使用することで,学習に最適な特徴と分類器の組み合わせを選択できる柔軟性が生まれます。最小限のデータで正確な結果を得ることができます。
物体認識における機械学習与ディープラーニング
物体認識の最適なアプローチは,アプリケーションと解決しようとする課題に応じて決まります。多くの場合,特に,物体のクラスを区別するために画像のどの特性/特徴を使用するべきか明らかな場合には,機械学習が効果的な手法となり得ます。
機械学習かディープラーニングを選択する際にまず考慮すべきことは,強力なGPUがあるかどうかと多くのラベル付き学習画像があるかどうかです。この質問のどちらかがいいえの場合,機械学習が最適な手法と言えるでしょう。ディープラーニングは、多くの画像がある場合によく動作し、GPU によってモデルの学習に必要な時間を短縮しやすくなります。
関連情報
その他の物体認識の方法
アプリケーションによっては,その他のより基本的な物体認識のアプローチでも十分な場合があります。
- テンプレートマッチング——小さな画的像,つまりテンプレートを使用して,大きな画像内で一致する領域を探します。
- 画像のセグメンテーションとblob解析——サイズ,色または形状などの簡単な物体のプロパティを使用します。
一般的に,画像セグメンテーションなどの简単なアプローチを使用して物体を认识できる场合は,より简単なアプローチから始めるのに越したことはありません。これにより,数百や数千もの学习画像や复雑すぎるソリューションが不要な强固なソリューションが得られます。
ディープラーニングと機械学習
わずか数行のMATLAB®コードで物体认识のための机械学习モデルとディープラーニングモデルを构筑することができます。ディープラーニングや机械学习の専门家である必要はありません。
MATLABを使用した物体认识では以下が可能であるため,短时间で物体认识を実现できます。
- 専門領域の知識を使い,データサイエンスはMATLABで学習:
MATLABを使用して,機械学習やディープラーニングの専門知識を学び,経験を積むことで,より学習が実践的になり,活用できるようになります。MATLABにより、対象領域の専門知識を持つ担当者が物体認識モデルを作成できるようになるため、業界や専門分野について必ずしも詳しくないデータサイエンティストにタスクを依頼する必要がなくなります。
- アプリを使用してデータにラベルを付け,モデルを作成
MATLABにより,最低限のコードで機械学習モデルやディープラーニングモデルを作成できます。
分類学習アプリを使用すると,機械学習モデルをすばやく作成して,別の機械学習アルゴリズムと比較できます。コードを記述する必要はありません。
イメージラベラーアプリを使用すると,ディープラーニングモデルの学習とテストのために,静止画内の物体に対話的にラベルを付けたり,動画内の真値ラベリングを自動化することができます。この対話的かつ自動化されたアプローチは,結果の向上と時間短縮につながります。
- 物体認識のワークフローをひとつに統合
MATLABは,複数の領域を単一のワークフローに統合することができます。MATLABでは、単一の環境でアイデアの検討とプログラミングを行うことができます。ディープラーニングや機械学習だけでなく、これらのアルゴリズムとよく組み合わせられるロボット、コンピュータビジョンおよびデータアナリティクスなどのさまざまな領域のためのツールや機能を提供します。
MATLABは,エンタープライズシステム,クラスター,クラウドおよび组み込みデバイスへのモデルの配布を自动化します。
オブジェクト認識の詳細を知る方法
详细については,MATLAB、图像处理工具箱™、计算机视觉工具箱™、统计和机器学习工具箱™および深度学习工具箱™を参照してください。
ビデオ
物体认识:コンピュータビジョンのためのディープラーニングと机械学习
ダウンロード:プレゼンテーションで使用されるデモコードをダウンロードすることもできます。