ディープラーニングを使用してコンピュータービジョンのすべての作業を完了するにはどうすればよいですか?

ディープラーニングを使用してコンピュータービジョンのすべての作業を完了するにはどうすればよいですか?

コンピュータービジョンをやってみたいですか?

最近では、ディープラーニングが主流となっています。大規模なデータセットと深層畳み込みニューラル ネットワーク (CNN) の表現力により、非常に正確で強力なモデルが実現します。しかし、まだ課題が 1 つ残っています。それは、モデルをどのように設計するかということです。

コンピューター ビジョンのように幅広く複雑な分野では、解決策が必ずしも明確であるとは限りません。コンピューター ビジョンの多くの標準タスクには、分類、検出、セグメンテーション、ポーズ推定、強化と復元、アクション認識など、特別な考慮が必要です。最先端のネットワークは共通のパターンを示していますが、それぞれ独自の設計が必要です。

では、これらすべての異なるタスクのモデルをどのように構築するのでしょうか?

著者は、ディープラーニングを使用してコンピューター ビジョンのすべてを実行する方法を紹介します。

[[323905]]

分類

コンピュータービジョンで最も有名なのは分類です。画像分類ネットワークは、固定サイズの入力から始まります。入力画像には任意の数のチャンネルを含めることができますが、RGB 画像の場合は通常 3 チャンネルになります。ネットワークを設計する場合、解像度は、ネットワーク全体で実行されるダウンサンプリングの量をサポートするのに十分な大きさであれば、技術的には任意のサイズにすることができます。たとえば、ネットワーク内で 4 ピクセルダウンサンプリングする場合、入力サイズは少なくとも 4² = 16 x 16 ピクセルにする必要があります。

ネットワークの奥深くに進むにつれて、すべての情報を圧縮して 1 次元のベクトル表現にしようとするため、空間解像度が低下します。ネットワークが抽出したすべての情報を常に処理できるようにするために、空間解像度の低下に対応するために深度に比例して特徴マップの数を増やします。つまり、ダウンサンプリング プロセス中に空間情報が失われ、この損失を補うために、特徴マップを拡張して意味情報を増やします。

選択した量のダウンサンプリングの後、特徴マップはベクトル化され、一連の完全に接続されたレイヤーに送られます。最後のレイヤーには、データセット内のクラスと同じ数の出力があります。

[[323906]]

物体検出

オブジェクト検出器には、プライマリとセカンダリの 2​​ 種類があります。どちらもアンカーフレームから始まります。これらはデフォルトの境界ボックスです。ボックスを直接予測する代わりに、検出器はこれらのボックスと実際の値との違いを予測します。

2 レベル検出器では、当然、ボックス提案ネットワークと分類ネットワークの 2 つのネットワークが存在します。ボックス提案ネットワークは、オブジェクトが存在する可能性が高いと判断した場合、境界ボックスの座標を提供します。繰り返しますが、これらはアンカー ボックスを基準としています。次に、分類ネットワークは各境界ボックス内の潜在的なオブジェクトを取得して分類します。

1 段階検出器では、提案ネットワークと分類ネットワークが 1 つの段階に統合されます。ネットワークは境界ボックスの座標とそのボックス内のクラスを直接予測します。 2 つのステージが融合されているため、1 ステージ検出器は 2 ステージ検出器よりも高速になる傾向があります。しかし、2 つのタスクが分離されているため、2 レベル検出器の精度は高くなります。

高速RCNN 2レベル物体検出アーキテクチャ

SSD 第一レベルの物体検出アーキテクチャ

[[323907]]

セグメンテーション

セグメンテーションは、ネットワークが低レベル情報と高レベル情報の両方を学習する必要があるため、コンピューター ビジョンにおけるよりユニークなタスクの 1 つです。低レベルの情報は、画像内の各領域とオブジェクトのピクセル精度のセグメンテーションを提供し、高レベルの情報はこれらのピクセルを直接分類します。これにより、ネットワークは、以前のレイヤーと高解像度 (低レベルの空間情報) からの情報と、より深いレイヤーと低解像度 (高レベルの意味情報) を組み合わせるように設計されるようになります。

以下に示すように、まず画像を標準の分類ネットワークに通します。次に、ネットワークの各段階から特徴を抽出し、低範囲から高範囲までの情報を使用します。各レベルの情報は、順番に結合される前に個別に処理されます。これらの情報を組み合わせると、特徴マップをアップサンプリングして、最終的に完全な画像解像度が得られます。

ディープラーニングによるセグメンテーションの仕組みの詳細については、次の記事をご覧ください。

https://towardsdatascience.com/セマンティックセグメンテーション-ディープラーニングガイドとコード-e52fc8958823

GCN セグメンテーション アーキテクチャ

[[323908]]

姿勢推定

姿勢推定モデルは、(1)画像内の各体の部位のキーポイントを検出すること、(2)これらのキーポイントを正しく接続する方法を見つけることという2つのタスクを実行する必要があります。これは 3 つの段階で行われます。

  1. 標準の分類ネットワークを使用して、画像から特徴を抽出します。
  2. これらの特徴を考慮すると、サブネットワークをトレーニングして 2D ヒートマップのセットを予測することができます。各ヒートマップは特定のキーポイントに関連付けられており、キーポイントが存在する可能性があるかどうかに関する各画像ピクセルの信頼値が含まれています。
  3. 分類ネットワークの特徴を再度与えて、サブネットワークをトレーニングし、各ベクトル フィールドがキーポイント間の関連性をエンコードする 2D ベクトル フィールドのセットを予測します。そして、相関が高いキーポイント同士が接続されているとみなされます。

このようにして、サブネットワーク モデルは、キーポイントの検出を共同で最適化し、それらを相互に接続するようにトレーニングされます。

OpenPose 姿勢推定アーキテクチャ

[[323909]]

強化と修復

強化ネットワークと回復ネットワークはそれぞれ独自のものです。私たちが本当に気にしているのは、高いピクセル/空間精度だけなので、これに対してダウンサンプリングは行いません。ダウンサンプリングを行うと、空間精度に必要なピクセル数が減るため、この情報は失われます。代わりに、すべての処理はフル画像解像度で実行されます。

まず、強化/復元したい画像を、変更せずにフル解像度でネットワークに渡します。ネットワークは、多数の畳み込みと活性化関数のみで構成されます。これらのブロックは、残差ブロック、密ブロック、スクイーズ励起ブロックなど、もともと画像分類用に開発されたブロックからインスピレーションを得たり、直接コピーしたりすることがよくあります。最後のレイヤーには、シグモイドやソフトマックスなどの活性化関数はありません。これは、確率やスコアなしで画像ピクセルを直接予測したいためです。

これらはすべて、これらのタイプのネットワークです。他のタスクと同じ畳み込みを使用して、画像のフル解像度で広範な処理が行われ、高い空間精度が実現されます。

EDSR超解像アーキテクチャ

[[323910]]

行動認識

アクション認識は、適切に機能するためにビデオ データを必要とする数少ないアプリケーションの 1 つです。アクションを分類するには、時間の経過とともにシーンがどのように変化するかを理解する必要があるため、当然ビデオが必要になります。私たちのネットワークは、時空間情報、つまり空間と時間の変化を学習するようにトレーニングする必要があります。最も完璧なネットワークは 3D-CNN です。

名前が示すように、3D-CNN は 3D 畳み込みを使用する畳み込みネットワークです。通常の CNN と異なるのは、畳み込みが幅、高さ、時間の 3 次元で適用される点です。したがって、各出力ピクセルは、周囲のピクセルと、同じ位置にある前のフレームと次のフレームのピクセルに基づいて計算によって予測されます。

画像の直接大量転送

ビデオ フレームはいくつかの方法で配信できます。

1. 最初の図のように、大量に直接。フレームのシーケンスを渡すため、空間情報と時間情報の両方が利用可能です。

単一フレーム + オプティカルフロー (左) ビデオ + オプティカルフロー (右)

2. 1 つのストリームで単一の画像フレーム (データの空間情報) と、それに対応するビデオからのオプティカル フロー表現 (データの時間情報) を渡すこともできます。通常の 2D CNN を使用して両方から特徴を抽出し、それらを組み合わせて 3D CNN に渡し、両方のタイプの情報をマージします。

3. フレーム シーケンスを 1 つの 3D CNN に渡し、ビデオのオプティカル フロー表現を別の 3D CNN に渡します。両方のデータ ストリームには、利用可能な空間情報と時間情報があります。ビデオの 2 つの異なる表現 (どちらもすべての情報を含む) に対して特定の処理を実行していることを考えると、これは最も遅いオプションですが、おそらく最も正確でもあります。

これらのネットワークはすべて、ビデオのアクション分類を出力します。

元記事: https://towardsdatascience.com/how-to-do-everything-in-computer-vision-2b442c469928

<<:  業界大混乱! 2020年に人工知能がIT業界にもたらす4つの変化

>>:  あなたのデータは本当に安全ですか?ハッカーが機械学習を使ってデータを盗む7つの方法

ブログ    

推薦する

自動運転車の運転分類と必要な処理能力

今後 20 ~ 30 年で、自動運転車 (AV) は私たちの運転習慣や輸送業界を変え、社会全体に影響...

ビッグデータと人工知能がもたらす危機:テクノロジーの巨人は私たちの生活を台無しにしてしまうのか?

01 ハイテク時代の失業ゼロ半世紀以上前、有名な数学者ジョン・フォン・ノイマンは、機械を製造するコ...

DeepSpeed ZeRO++: ネットワーク通信を4倍削減し、大規模モデルやChatGPTのようなモデルのトレーニング効率を大幅に向上

大規模な AI モデルがデジタルの世界を変えています。大規模言語モデル (LLM) に基づく Tur...

ChatGPTはどんどん怠惰になり、代わりにPUA人間を学習しました

GPT-4 が最近少し「怠惰」になっていることにお気づきでしょうか。現在、GPT-4 は常に特定のタ...

Google の家庭用ロボットがスタンフォード大学のエビ揚げロボットに挑む!猫と遊ぶためにお茶と水を出し、3回続けてフリックして猫と遊ぶ

インターネット上で話題となったスタンフォード大学のエビ揚げロボットは、1日で人気が急上昇した。結局の...

...

...

Pythonで完全な異常検出アルゴリズムをゼロから実装する

確率を用いた異常検出アルゴリズム異常検出は、外れ値分析の統計タスクとして扱うことができます。 しかし...

機械学習において統計がなぜそれほど重要なのか?

統計学と機械学習は密接に関連した2つの分野です。実際のところ、この 2 つの境界線は非常に曖昧になる...

2021年、人工知能は再び疫病との戦いで役割を果たすだろう

[[344407]] COVID-19パンデミックが世界を席巻する以前から、人工知能(AI)、特にそ...

RPAは人工知能の究極の発展方向でしょうか?

ロボティック・プロセス・オートメーション (RPA) は、単調で反復的なタスクを排除するのでしょうか...

メタバースにおける責任ある AI: なぜ優先されるべきなのか?

AI研究者は人類と未来を守るために、仮想世界で責任あるAIを開発しなければなりません。人工知能のア...

2020 年の DevOps の 7 つのトレンド

[51CTO.com クイック翻訳] 権威ある調査によると、2017 年に DevOps は市場で ...

ドローンは人気があり、3つの主要なアプリケーションが農家の役に立つ

今日は二十四節気の一つ、白露節気です。白露節気の季節には、我が国のほとんどの地域が秋の収穫期に入り、...

Google Brainは、T5の最大7倍の事前トレーニング速度を備えた簡素化されたスパースアーキテクチャを提案しています。

先ほど、Google Brainのシニア研究科学者であるBarret Zoph氏が、言語モデルのパラ...