画像認識は思ったほど難しくありません!この記事を読めばあなたも専門家になれる

画像認識は思ったほど難しくありません!この記事を読めばあなたも専門家になれる

[51CTO.com からのオリジナル記事] ローカルライフのシナリオには、メニュー認識、標識認識、料理認識、製品認識、歩行者検出、屋内視覚ナビゲーションなど、非常に困難なコンピューター ビジョン タスクが多数含まれています。

これらのコンピューター ビジョン タスクに対応するコア テクノロジーは、オブジェクト認識、テキスト認識、3D 再構築の 3 つのカテゴリにまとめることができます。

2018年11月30日から12月1日まで、51CTO主催のWOTグローバル人工知能技術サミットが北京JWマリオットホテルで開催されました。

今回のサミットのテーマは人工知能です。アリババ地方生活研究所の人工知能部門責任者である李培氏は、画像認識の過程で遭遇したさまざまな問題と、彼らが模索したさまざまな解決策を皆と共有しました。

地元の生活風景はどんな感じですか?

ローカルライフシナリオに対する私たちの理解は、従来の O2O から OMO (Online-Merge-Offline) へというものです。

タクシー配車アプリやEle.meなどのフードデリバリーサービスなどのO2Oサービスでは、オンラインとオフラインの境界がますます曖昧になっています。

従来のオンライン注文は、オフライン取引に限定されなくなり、オフライン取引間でのやり取りや統合が起こっています。

2018年、Didiは自社の車両群の構築と管理に多額の投資を行っていました。彼らは車内に多くの監視装置を設置し、車と人をオフラインに変えようとしました。

同様に、Ele.me では、オフラインの物流配送を変革するだけでなく、ロボットを使った無人配送にも取り組み、スマートテイクアウトボックスなどのイノベーションも導入しました。

ローカルライフのシナリオでは、私たちの中心的なタスクは、インテリジェントなモノのインターネット(AI + IoT)を OMO シナリオに適用することであることがわかります。

上の図は、アリババのローカルライフビジネスEle.meの人工知能アプリケーションの論理アーキテクチャを示しています。他のすべての人工知能アプリケーション コンピューティング プラットフォームと同様に、データ プラットフォーム、GPU プラットフォーム、機能エンジニアリング プラットフォーム、AB テスト プラットフォームなど、最下層でいくつかの共通コンポーネントを使用します。

これに加えて、インテリジェントな配送、注文発送、インテリジェントなマーケティングなどのモジュールもあります。同時に、アルゴリズム担当者はさまざまなデータマイニング、機械学習、認識の最適化も実行しました。

現在、アリババのローカルライフにおいては、当社の画像視覚チームがローカルライフグループ全体における画像と視覚に関するすべての認識および検出タスクを担当しています。そして、すべての画像処理はディープラーニングに基づいています。

私たちの実践を次の3つの側面から紹介します。

  • 物体認識。
  • テキストの認識。これは、従来の新聞や雑誌の内容の認識ではなく、メニュー、店の看板、製品のパッケージ上のテキストや画像の認識を指します。
  • 3次元再構成。

物体認識

私たちの日常生活では、次のような物体認識に対する要求が数多くあります。

  • Ele.me プラットフォームでは、ライダーが適切な服装をしているかどうかを確認する必要があります。ライダーの数が多いため、手動制御だけでは当然不可能です。

そこで、ライダーのアプリに服装検出機能を追加しました。乗客は毎日、帽子、服、お弁当の自撮り写真をプラットフォームに送信するだけで、当社の画像アルゴリズムが背景からそれらを自動的に検出して識別できます。

顔検出により、ライダー自身を識別し、ランチボックスとヘルメットをチェックすることができます。

  • シーンオブジェクトの認識。ロボットは、歩行者、オフィスエリアの机や椅子、エレベーターのボタンを検出することで、無人配達などの生活シーンにおけるさまざまな物体を認識することができます。
  • コンプライアンステスト。 Ele.me プラットフォームには、多数の商品、食品や看板の写真、営業許可証、健康許可証、健康証明書などがあるからです。

そのため、政府機関と協力し、透かしやQRコードを使用して、各レストランの営業許可証や衛生許可証が改ざんされていないかどうかを確認する必要があります。

さらに、レストランの代表的なロゴがレストランの料理の写真に表示されないようにすることも求められます。これらはすべて、大量のコンピュータービジョン処理を必要とします。

  • シーンテキスト認識。オブジェクト認識に基づいて、ターゲット検出を応用することで、メニューの料理や価格など、オブジェクト上のテキストが認識されます。

画像ターゲットの検出と評価については、現在業界で 2 つの指標が存在します。

  • 平均検出精度。つまり、オブジェクト ボックスの分類の精度です。まず各カテゴリの精度を計算し、次にすべてのカテゴリの精度を見つけます。
  • IOU (交差と結合)。つまり、予測されたオブジェクト ボックスと実際の標準オブジェクト ボックス間のカバレッジ率、つまり、交差と結合の比率です。

上の図は、ターゲット検出によく使用される基本アルゴリズムを示しており、次の 2 つのカテゴリに分かれています。

  • 2段階法
  • ワンステップ方式

2 段階方式は、やや長い歴史があり、従来のスライディング ウィンドウ方式から派生したものです。 2014年には、物体検出にディープラーニングを採用したR-CNNが登場しました。

その後、ピラミッドプーリングのSPP方式が開発され、それに基づいてFast R-CNNとFaster R-CNNの2つのバージョンが開発されました。

もちろん、Faster R-CNN アルゴリズムをリアルタイム検出用のロボットに適用すると、検出結果のミリ秒レベルのフィードバックを実現するために、システムのパフォーマンスに大きな負担がかかることがよくあります。

そのため、ワンステップ方式を提案する人もいますが、その中で最もよく使われているのは 2016 年に提案された SSD アルゴリズムです。

2017年と2018年にはいくつかの新しいアルゴリズムが登場しましたが、まだ広く認知されておらず、さらなる「沈殿」が必要です。

次に、さまざまなシナリオ目標の解決アルゴリズムについて説明します。ここでは、数式や導出は使用せず、シンプルでわかりやすい言葉だけを使用して、各ターゲット検出アルゴリズムの背後にある中核となる考え方を説明します。

R-CNNのシンプルなアイデアは次のとおりです。

  • 地域提案。まず、対象画像はスーパーピクセルと呼ばれる多数のグリッド セルに分割され、次に同じ色またはテクスチャの類似する隣接するスーパーピクセルがクラスター化され、外接する長方形のボックスが見つかります。この長方形のボックスは、リージョン提案と呼ばれます。
  • 分類。まず、CNN を使用して特徴を抽出し、畳み込み線形グラフを取得してから、SoftMax またはその他の分類方法を使用して通常の分類を行います。

上で述べたさまざまな R-CNN プロセスの問題は、候補ボックスが多すぎることです。長方形のボックスの形状は長さ、幅、中心座標などさまざまであるため、画像に含まれるオブジェクトが多すぎると、見つかる長方形のボックスの数が数万に達することがあります。

各候補ボックスは CNN によって個別に分類する必要があるため、全体的なアルゴリズムは効率的ではありません。もちろん、R-CNN は、その後の改良されたアルゴリズムの基礎として、新しいソリューションを提供します。

SPP (空間ピラミッド プーリング) の特徴は次のとおりです。

  • すべての候補ボックスは、畳み込みネットワークの順方向計算を 1 回共有します。つまり、最初に画像全体に対して 1 回限りの CNN 計算を実行して特徴を抽出し、その後、特徴応答マップに対して後続の操作を実行します。畳み込み計算のみを実行するため、パフォーマンスが大幅に向上します。
  • ピラミッド構造を通じて、さまざまなスケール空間の ROI 領域が取得されます。つまり、画像をさまざまな解像度に分割することで、さまざまなスケールでオブジェクトを検出できます。

たとえば、写真には象と犬の両方が写っています。象と犬のサイズはかなり異なるため、従来の R-CNN 検出では象が占める画像領域にのみ焦点を当てることができます。

SPP は、小さい画像に合わせて画像を縮小します。最初に象を検出し、次に画像を拡大して犬を検出します。異なるスケールの画像の特性を取得できることがわかります。

  • FastR-CNN は、さまざまな加速戦略を追加することで SPP を簡素化し、パフォーマンスを向上させます。ただし、アルゴリズム戦略に大きな変更はありません。
  • FasterR-CNN は、従来の R-CNN と SPP に代わるニューラル ネットワーク RPN (Region Proposal Networks) の使用を独創的に提案し、広く使用されています。

ニューラル ネットワークを使用してオブジェクト ボックスを取得し、その後、後続の CNN を使用してオブジェクト ボックスを検出することで、エンドツーエンドのトレーニングを実現します。

上図は私がまとめた Faster R-CNN 実行ロジックフレームワーク図です。プロセスは以下のとおりです。

  • CNN を使用して、画像の畳み込み応答マップを計算します。
  • 3×3 畳み込みを実行します。
  • 2 つの完全に接続されたレイヤーを使用して、各ピクセルに対応する位置にオブジェクト ボックスがあるかどうかを予測し、2 つの出力 (「はい」の確率と「いいえ」の確率) を生成します。

オブジェクトボックスの出力がある場合は、オブジェクトボックスの中心座標とサイズを予測します。ここには 4 つの出力があります (中心の X 座標と Y 座標、長さと幅)。したがって、各オブジェクト ボックスには 6 つの出力があります。

  • 後処理に一般的な NMS を使用して、重複度の高いオブジェクト ボックスを除外します。たとえば、写真に子犬の群れが写っている場合、検出されたオブジェクト フレームが重なる可能性があります。

NMS を使用すると、重複度の高いこれらのボックスを結合または無視して、最終的にオブジェクトの候補ボックスを出力できます。

  • 分類にはCNNが使用されます。

上で述べたさまざまな 2 段階の方法は、精度は高いものの、速度が遅いことがわかります。多くの実際のシナリオでは、ターゲットをリアルタイムで検出する必要があります。

たとえば、自動運転時には、周囲の車両、歩行者、道路標識などをリアルタイムで検出する必要があります。したがって、ワンステップ方式が便利です。 YOLO と SSD はどちらもこのカテゴリに分類されます。

YOLO メソッドの中心的な考え方は、画像全体を 1 回だけスキャンすればよいということであり、そのプロセスは次のとおりです。

  • CNN を使用して畳み込み応答マップを取得します。
  • 応答マップは S*S グリッドに分割されます。
  • 完全に接続した 2 つのレイヤーを使用して、オブジェクト ボックスの中心座標とサイズ、およびオブジェクト カテゴリのグリッドの確率を予測します。
  • 画像内のオブジェクト検出に関するすべての情報を Tensor に保存します。
  • 後処理を使用して、オブジェクトのカテゴリとボックスを出力します。

この方法は比較的古いため、実用的には一般的に推奨されません。

SSD はピラミッド構造に似た処理方式を採用しています。ループを通じて特定の画像を継続的にダウンサンプリングし、解像度の低い別の画像を取得します。

同時に、ダウンサンプリング後の低解像度画像上で、この方法は物体検出を繰り返し実行し、物体の情報を発見します。

したがって、SSD の核となる考え方は、同じ画像を複数のレベルに分割し、各レベルから次のレベルにダウンサンプリングして、画像の各レベルのオブジェクト ボックスを検出して表示することです。

YOLO の場合、SSD はさまざまな解像度のターゲットを検出し、より多くの候補オブジェクト ボックスを発見できることがわかります。その後の再ソート プロセスでは、より多くのライン予約が得られます。

もちろん、SSD も非常に複雑なアルゴリズムであり、調整すべき詳細なパラメータが多数含まれているため、制御が難しい場合があります。

また、SSD はあくまでも矩形フレーム検出アルゴリズムであり、対象物体自体の形状が不規則であったり、細長い帯状になったりする場合は、音声セグメンテーションを用いて実装する必要があります。

テキスト認識

従来の OCR 方式を使用して健康証明書や営業許可証を識別するだけでなく、次のシナリオでも OCR 認識を実行する必要があります。

  • 店舗の看板を識別することで、店舗がアップロードした写真が店舗の説明と一致していることを確認できます。
  • 領収書やラベルなどの書類を識別することで、人の流れに依存する従来の物流プロセスを、より自動化されたプロセスに変えることができます。
  • さまざまなメニューを認識します。

従来の OCR プロセスは、一般的に次の 3 つのステップに分かれています。

  • シンプルな画像処理。例: 撮影角度に基づいて幾何学的補正を実行します。
  • デジタル画像の特徴を抽出し、文字ごとに切り取ります。
  • 個々の文字については、AdaBoost や SVM などの統計的機械学習を使用して光学文字認識を実現します。

ただし、このプロセスは、次の理由により、店舗でのメニュー認識には適していません。

  • カメラアングルや幾何学的補正などのルールに大きく依存しているため、携帯電話の写真を処理する際には、半手動の補正操作が多く必要になります。
  • 対象テキストは主に屋外の看板であるため、光と影の影響を受け、携帯電話の揺れによってもぼやける可能性があるため、従来の認識モデルは堅牢性が不十分で、耐干渉能力が弱いです。
  • 上記の 3 段階モデル​​は直列に接続されすぎるため、各段階で発生したエラーが次のステップに伝達され、蓄積される可能性があります。
  • 従来の方法はエンドツーエンドではなく、テキスト行の認識を単一の文字に分割する必要があるため、行全体を認識することは不可能です。

そこで、テキスト行検出+テキスト行認識という2段階のディープラーニングベースの認識ソリューションを採用しました。

つまり、まず画像内のテキスト領域を見つけ、次にエンドツーエンドのアルゴリズムを使用してテキスト行の認識を実現します。

上の図に示すように、テキスト行の検出は、次の要素を含むオブジェクト認識アルゴリズムに基づいています。

  • CTPN メソッドは Faster R-CNN にヒントを得たもので、特にテキスト行の検出に使用されます。
  • Textboxes および Textboxes++ は SSD から派生したものです。
  • 完全畳み込みネットワークや U-Net などから派生した EAST。

完全畳み込みネットワーク(FCN)といえば、セマンティックセグメンテーションによく使われており、OCR効果も良好です。

原理的には、畳み込みネットワークを使用して特徴を抽出し、畳み込みとプーリングの操作を継続的に実行して画像をどんどん小さくしていきます。

次に、デコンボリューションとデプーリング操作を実行して画像を拡大し、画像内のオブジェクトのエッジを見つけます。そのため、全体の構造はU字型になっており、U-Netとの関連性が強いです。

上の図に示すように、鮮明な画像を連続的に縮小して、数ピクセルの青と白の点を取得し、その後徐々に拡大して、複数の青と白の領域を生成します。

次に、SoftMax を使用して、この領域に基づいて分類を実行します。最後に、画像内のオブジェクトのエッジを見つけることができます。

実践の結果、完全畳み込みネットワークに基づく EAST は良い結果をもたらすと感じています。上図の通り、長方形に限らず任意の形状の四角形を検出できるのが特徴です。

EAST の基本原理は、上記の画像の左側の領域に対して畳み込み演算を継続的に実行して画像を縮小することです。中央の緑の領域では、異なるスケールの機能を結合します。

右側の青い領域では、抽出された特徴に基づいて 2 種類の検出を実行します。

  • RBOX (回転長方形ボックス) は、テキスト ブロックが長方形であると想定して、上部のテキストが表示されるように回転します。
  • QUAD (任意の四辺形) は、4 つの点を指定して、それらを四辺形に接続し、その中のテキストを検出します。

テキスト行認識の場合、業界で一般的に使用されている方法は CTC + Bi-LSTM + CNN です。上の図に示すように、下から上に見ていく必要があります。まず、CNN を使用して、特定の画像の畳み込み特徴応答マップを抽出します。

次に、テキスト行の畳み込み特徴をシーケンス特徴に変換し、双方向 LSTM を使用してシーケンス特徴を抽出します。次に、 CTC 法を使用して、画像のシーケンス特徴とテキストのシーケンス特徴間の対応確率を計算します。

CTC 法の基本原理は次のとおりである: まず、空白文字を追加することにより、SoftMax を使用してステップ機能と対応する文字を分類します。

これにより、各画像シーケンスに対して、文字列が出現する確率を取得できます。その後、後処理により空白文字や重複記号が削除され、最終的な出力効果が得られます。

3D再構築

無人運転のシナリオでは、建物の 3 次元構造を構築するために、モバイル カメラを使用してデータを収集する必要がある場合があります。

上の図に示すように、そのコアフレームワークは次のとおりです。まず、さまざまな画像に対して CNN 特徴抽出が実行されるだけでなく、SIFT メソッド (以下を参照) を使用していくつかのコーナー ポイント特徴を抽出することもできます。

次に、これらのコーナーポイントを三角測量し、マッチングを通じてカメラの空間位置を見つけます。

バンドル調整を使用して、空間位置とカメラ自体の関係を継続的に構築し、3次元構造を実現します。

前述のSIFT特徴抽出は、その速度が比較的遅いという特徴があります。したがって、カメラが移動している間にほぼリアルタイムの 3D 構築の要件を満たすには、アルゴリズムの調整作業を大幅に行う必要があります。

同時に、3D 再構成では、再投影誤差の概念に注意する必要があります。その理由は、通常、現実の 3 次元の点がカメラに映ると、平面上の点に変換されるからです。

平面画像に基づいて 3 次元モデルを構築する場合は、平面上の点を 3 次元空間に投影する必要があります。

ただし、カメラ パラメータの推定が正確でない場合、再投影されたポイントと 3D 世界の実際の位置の間に誤差が生じます。

前述したように、バンドル調整を使用して長方形の連立一次方程式を解くこともできます。通常は、スパース BFGS (準ニュートン法) を使用して解決し、空間内の各 3 次元ポイントを復元します。

外れ値フィルタリングについて。 3D 再構築プロセス中に多数のノイズ ポイントが発生するため、それらをフィルター処理するために、RANSAC メソッドを使用して外れ値をフィルター処理します。

原則的には、いくつかのポイントを継続的にランダムに抽出し、フリーモデルを構築して、より優れたモデルを評価します。

上図に示すように、上記の 2 つの画像には多数のエッジ位置特徴があるため、RANSAC 外れ値フィルタリングを使用してそれらの特徴点を一致させ、最終的に 1 つの画像を合成できます。さらに、アルゴリズムにより、2 番目の画像が角度的に傾いていることを自動的に検出できます。

一般的に、私たちは物体認識、テキスト認識、3D 再構築の分野で多数のアルゴリズムを試してきました。上記の分析を通じて、さまざまなアルゴリズムの効果について皆様にご理解いただければ幸いです。

著者: 李 培

プロフィール:アリババ地方生活研究所人工知能部門長

[51CTO オリジナル記事、パートナーサイトに転載する場合は、元の著者とソースを 51CTO.com として明記してください]

<<:  ビッグデータ分析と人工知能:技術コンテンツの価値分析

>>:  マイクロソフトのXiaoIceが第5世代の歌唱システムにアップグレード:人間のアイドルを超える

ブログ    

推薦する

トランプ大統領、米国の製造業の発展にロボット活用を視野に

トランプ大統領は米国の製造業がかつての栄光を取り戻すことを望んでいる。彼はロボットに狙いを定め、米国...

異常検出のためのいくつかのグラフ分割アルゴリズム

セキュリティ分野では、アカウント取引の異常や異なるイベント間の相関関係など、さまざまなシナリオで「グ...

...

自動運転車は交通事故の3分の1しか解決できない、と研究が示す

自動運転車の主な目標、少なくともこの技術の支持者が推進している目標は、運転手や乗客の利便性を高めるこ...

新しい検索エンジンのスキル: アリババの新しい研究では、2D 画像を使用して 3D モデルを検索します

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

...

Amazon Lexについて

Amazon Lex は、音声とテキストを使用してあらゆるアプリケーションに会話型インターフェースを...

AIが医療診断を改善する方法

人工知能システムは刻々と賢くなっています。運転や自然言語の理解などの複雑なタスクはすでに AI で実...

人工知能の代表的な応用分野トップ10の一覧と技術原理の図解

[[329146]]この記事では、「アルゴリズム」という単語を非常に簡略化して使用し、単一のアルゴリ...

人工知能のルーツを解読する

[[384631]] ◇コンピューティングパワーアルゴリズムの重要な基盤として、人工知能チップと人...

アリババが世界初のAI中国語フォント「Ali Hanyi Intelligent Bold」を開発

1月22日、アリババはHanyi Fontと提携し、世界初の人工知能中国語フォント「 Ali Han...

ChatGPTは医療業界に革命を起こす

ChatGPT は 11 月下旬のリリース以来、ビジネス、法律、医学部の大学院レベルの試験に合格する...

運試しに自撮りしてみませんか?これはすべて顔認識技術のおかげです

新年の初めに、酉年の運勢を計算することは、多くの若者が夕食後に好んで行うことです。 「占い」はどちら...