画像認識とは何ですか? なぜ必要なのですか? マシンビジョンの概念では、画像認識とは、ソフトウェアが画像内の人物、場所、物体、動作、手書き文字を区別する能力を指します。コンピューターは、人工知能とカメラを組み合わせたマシンビジョン技術を使用して画像認識を実行できます。 物体を認識することは人間や動物の脳にとっては簡単ですが、同じ作業はコンピューターにとっては困難です。木や車、友達などの物体を見たとき、それが何であるかを知る前に無意識に調べる必要は通常ありません。しかし、何か(時計、椅子、人、動物など)を識別することはコンピュータにとって非常に難しい問題であり、問題の解決策を見つけるのに非常にコストがかかります。 画像認識アルゴリズムでは、一般的に機械学習の手法を使用して、人間の脳が画像を認識する方法をシミュレートします。このアプローチを使用すると、コンピューターに画像内の視覚要素を区別することを教えることができます。コンピュータは大規模なデータベースに依存して、データ内に存在するパターンを認識し、画像を理解し、関連するラベルとカテゴリを形成します。 画像認識技術の普及と応用 画像認識技術には多くの用途があります。最も一般的なのは、画像認識技術を利用して人物の写真を分類することです。視覚的なテーマに基づいて膨大な写真ライブラリをより適切に管理したいと思わない人はいないでしょう。特定のオブジェクトから広大な風景まで。 画像認識テクノロジーは、写真分類アプリケーションに新しいユーザー エクスペリエンスをもたらします。写真の保存機能を提供することに加えて、アプリはさらに一歩進んで、より優れた発見機能や検索機能も提供できます。機械学習を活用した自動画像管理により、まさにそれが実現可能になります。アプリケーションに統合された画像認識プログラム インターフェイスは、機械が識別した特徴に基づいて画像を分類し、主題ごとに写真をグループ化できます。 画像認識の他の用途としては、写真やビデオを保存する Web サイト、インタラクティブ マーケティングやクリエイティブ キャンペーン、ソーシャル ネットワークの顔と画像の認識、大規模な視覚画像ライブラリを持つ Web サイトの画像分類などがあります。 画像認識は難しい作業です 画像認識は簡単な作業ではないため、非構造化データにメタデータを適用するのがよい方法です。音楽や映画のライブラリに手動で注釈を付けるために専門家を雇うのは大変な作業ですが、自動運転車のナビゲーション システムに道路を横断する歩行者とさまざまな種類の車両を区別するように教えたり、ユーザーが毎日ソーシャル メディアにアップロードする何百万ものビデオや写真に注釈を付けて分類したりするなど、いくつかの課題はほぼ不可能です。 この問題を解決する 1 つの方法は、ニューラル ネットワークを使用することです。理論的には、従来のニューラル ネットワークを使用して画像を分析できますが、実際には計算コストが高くなります。たとえば、従来のニューラル ネットワークでは、非常に小さな画像 (30 x 30 ピクセルと想定) を処理する場合でも、500,000 個のパラメーターと 900 個の入力ニューロンが必要です。かなり強力なマシンでこのネットワークを実行できますが、画像が大きくなると (たとえば 500 x 500 ピクセル)、パラメーターと入力の数は非常に大きな桁数に達します。 ニューラル ネットワークを画像認識に適用するときに発生する可能性があるもう 1 つの問題は、過剰適合です。簡単に言えば、オーバーフィッティングは通常、モデルがトレーニング データに近すぎる場合に発生します。一般的に言えば、これによりパラメータが増加し(計算コストがさらに増加)、新しいデータに対するモデルの全体的なパフォーマンスが低下します。 畳み込みニューラルネットワーク 畳み込みニューラルネットワーク構造モデル ニューラル ネットワークの構築方法によっては、比較的単純な変更で、より大きな画像の処理がはるかに容易になる可能性があります。この変化の結果が、畳み込みニューラル ネットワーク (CNN、ConvNet) と呼ばれるものです。 ニューラル ネットワークの汎用性は強みの 1 つですが、画像の処理となると、この強みが弱点になります。畳み込みニューラル ネットワークでは、特にこのトレードオフが行われます。つまり、ネットワークが画像処理専用に設計されている場合、より実現可能なソリューションを得るために、ある程度の一般性を犠牲にする必要があります。 どの画像でも、ピクセル間の距離は類似性と強い関係があり、畳み込みニューラル ネットワークの設計ではこの特徴を活用します。つまり、特定の画像では、互いに近い 2 つのピクセルは、互いに遠い 2 つのピクセルよりも類似していることになります。ただし、通常のニューラル ネットワークでは、各ピクセルはニューロンに接続されます。この場合、追加の計算負荷によりネットワークの精度が低下します。 畳み込みニューラル ネットワークは、多数の類似した重要でない接続を排除することでこの問題を解決します。技術的に言えば、畳み込みニューラル ネットワークは、類似性に基づいてニューロン間の接続をフィルタリングすることにより、画像処理を計算的に制御可能にします。畳み込みニューラル ネットワークは、特定のレイヤーに対して、すべての入力をすべてのニューロンに接続するのではなく、どのニューロンも前のレイヤーからの入力のごく一部 (たとえば、3*3 または 5*5) のみを受信できるように接続を具体的に制限します。したがって、各ニューロンは画像の特定の部分の処理のみを担当します。 (ちなみに、これは基本的に人間の脳の個々の皮質ニューロンの働き方と同じです。各ニューロンは全視野のごく一部にのみ反応します)。 畳み込みニューラルネットワークの仕組み 上の写真では、左から右に次のことがわかります。
畳み込みニューラル ネットワークのフィルターは、類似性に基づいて接続をどのようにフィルターするのでしょうか。その秘訣は、新たに追加された 2 つの層構造、プーリング層と畳み込み層にあります。以下の手順を詳しく見ていきましょう。写真に祖父が写っているかどうかを判断するという 1 つのことだけを行うように設計されたネットワークの例を使って、これを紹介しましょう。 プロセスの最初のステップは畳み込み層であり、それ自体はいくつかの小さなステップで構成されています。
次はプーリング層です。プーリング層は、これらの 3 次元または 4 次元の行列を空間次元でダウンサンプリングします。結果は、画像の重要な部分のみが含まれ、残りが破棄されるプールされた配列となり、計算コストが最小限に抑えられ、過剰適合の問題が回避されます。 ダウンサンプリングされた行列は、完全接続層の入力として使用されます。プーリングと畳み込み演算により、入力のサイズが大幅に削減され、データの最も重要な特徴を維持しながら、通常のネットワークで処理できるようになりました。最後のステップの出力は、写真に祖父がいるというシステムの判断の信頼度を表します。 実際のアプリケーションでは、畳み込みニューラル ネットワークの動作プロセスは、多数の隠し層、プーリング層、畳み込み層など、非常に複雑です。さらに、実際の畳み込みニューラル ネットワークでは、サンプル内のラベルが 1 つだけではなく、数百、あるいは数千にも及ぶのが一般的です。 畳み込みニューラルネットワークの構築方法 畳み込みニューラル ネットワークをゼロから構築するのは、時間がかかり、面倒な作業です。エンジニアが機械学習の原理を理解したり、コンピューター ビジョンの専門知識を持たなくても、畳み込みニューラル ネットワークに関するアイデアを実装できる API はすでに数多く存在します。 Google クラウドビジョン Google Cloud Vision は、REST API を使用して構築された視覚認識 API です。これはオープンソースの TensorFlow フレームワークに基づいています。個々の顔や物体を検出でき、非常に包括的なラベル セットが含まれています。 IBM Watson 視覚認識 IBM Watson Visual Recognition は Watson Developer Cloud サービスの一部であり、多数の組み込みカテゴリが付属していますが、実際には、提供された画像に基づいてカスタム カテゴリをトレーニングするために構築されています。同時に、Google Cloud Vision と同様に、NSFW や OCR 検出などの多くの優れた機能も提供します。 クラリフ Clarif.ai も、REST API を使用するスタートアップ画像認識サービスです。 Clarif.ai の興味深い点の 1 つは、アルゴリズムを変更して、食べ物、旅行、結婚などの特定のトピックに適用するために使用できる一連のモジュールが付属していることです。 上記の API は一般的なアプリケーションには適していますが、特定の問題に対するカスタム ソリューションを開発すると役立つことがよくあります。幸いなことに、利用可能なライブラリが豊富にあるため、最適化と計算の側面を解決することで開発者とデータ サイエンティストの作業が楽になり、モデルのトレーニングのみに集中できるようになります。これらのライブラリには、Theano、Torch、DeepLearning4J、TensorFlow などがあり、さまざまなアプリケーションで効果的に使用されています。 畳み込みニューラルネットワークの興味深い応用例: 無音の映画に自動的にサウンドを追加する 無声映画に一致するサウンドを追加するには、このタスクでシステムがサウンドを自動的に合成する必要があります。このシステムは、ドラムスティックをさまざまな表面に当てたときに発生するさまざまな音を示す何千ものビデオ例を使用してトレーニングされました。ディープラーニング モデルは、ビデオ フレームを事前に録音されたサウンドに関連付け、再生するシーンに最適なオーディオを選択します。このシステムはチューリングテストを通じて評価され、どのビデオが合成されたもので、どれが実際の音声であるかを人間が判断することになる。これは、畳み込みニューラル ネットワークと LSTM 再帰型ニューラル ネットワークの非常に流行のアプリケーションです。 |
<<: FPSからRTSまで、ゲーム人工知能におけるディープラーニングアルゴリズムの概要記事
>>: 会員数3億人、商品数4億点、大規模電子商取引の商品推奨にディープラーニングを応用!
この記事の著者である Steven Dufresne は、初心者が TensorFlow を学習する...
自動運転システムには、環境認識と位置決め、行動予測、計画制御が含まれます。自動運転認識アルゴリズムエ...
ITホーム 12月7日、Metaは新しい独立したAI画像ジェネレーター「Imagine with ...
人工知能(AI)は私たちが住む世界を急速に変えています。医療から金融まで、人工知能は産業を変革し、私...
[[399194]]ロボット産業は、我が国のインテリジェント製造業の発展における重要なリンクであり、...
[[270607]]看護師は医療現場を問わず需要が高いです。米国労働統計局の報告によると、看護師の求...
翻訳者 | 張毅校正 | 梁哲、孫淑娟出典: frimufilms が作成したビジネス写真 - ww...
この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...