コンピュータビジョンアルゴリズム:あなたが知りたいことすべて[2022]

公開: 2021-01-01

コンピューターが認識できるようにするアルゴリズムを理解する

目次

序章

コンピュータビジョンという言葉は、コンピュータが周囲を見て知覚する能力を意味します。 コンピュータビジョンがカバーする多くのアプリケーションがあります—オブジェクトの検出と認識、自動運転車、顔認識、ボールトラッキング、写真のタグ付けなど。 専門用語に飛び込む前に、まずコンピュータビジョンパイプライン全体について説明しましょう。

パイプライン全体は5つの基本的なステップに分かれており、それぞれに特定の機能があります。 まず、アルゴリズムが処理するための入力が必要です。これは、画像または画像のストリーム(画像フレーム)の形式にすることができます。 次のステップは前処理です。 このステップでは、アルゴリズムが画像をよりよく理解できるように、関数が着信画像に適用されます。

一部の機能には、ノイズリダクション、画像スケーリング、拡張、侵食、カラースポットの除去などが含まれます。次のステップは、関心領域または関心領域を選択することです。 この下には、オブジェクト検出と画像セグメンテーションのアルゴリズムがあります。 さらに、最終目標を達成するために必要な画像から関連情報/特徴を取得することを意味する特徴抽出があります。

最後のステップは、認識または予測です。ここでは、特定の画像フレーム内のオブジェクトを認識するか、特定の画像フレーム内のオブジェクトの確率を予測します。

コンピュータビジョンパイプラインの実際のアプリケーションを見てみましょう。 顔の表情の認識は、特定の製品がユーザーにどのような影響を与えるかを知るために多くの研究所で使用されているコンピュータービジョンのアプリケーションです。 ここでも、前処理アルゴリズムを適用する入力データがあります。

次のステップでは、特定のフレームの顔を検出し、フレームのその部分をトリミングします。 これが達成されると、顔のランドマークが口、目、鼻などのように識別されます。これは感情認識の重要な機能です。

最後に、予測モデル(トレーニング済みモデル)は、中間ステップで抽出された特徴に基づいて画像を分類します。

アルゴリズム

コンピュータビジョンのアルゴリズムについて言及する前に、「周波数」という用語を強調したいと思います。 画像の頻度は、強度の変化率です。 高周波画像は強度に大きな変化があります。 低周波画像は、明るさが比較的均一であるか、強度がゆっくりと変化します。

画像にフーリエ変換を適用すると、画像周波数の情報を生成する振幅スペクトルが得られます。 周波数領域画像の中心にある集中点は、画像に多くの低周波数成分が存在することを意味します。 高周波成分には、エッジ、コーナー、ストライプなどが含まれます。画像はxとyf(x、y)の関数であることがわかっています。 強度の変化を測定するには、関数f(x、y)の導関数を取得します。

地味なフィルター

Sobel演算子は、画像処理とエッジ検出アルゴリズムのコンピュータービジョンで使用されます。 フィルタは、エッジを強調する画像を作成します。 画像強度関数の傾き/勾配の近似値を計算します。 画像の各ピクセルで、Sobel演算子の出力は、対応する勾配ベクトルとこのベクトルのノルムの両方になります。

Sobel演算子は、水平方向と垂直方向に小さな整数値のフィルターを使用して画像を畳み込みます。 これにより、計算の複雑さの点でオペレーターが安価になります。 Sxフィルターは水平方向のエッジを検出し、Syフィルターは垂直方向のエッジを検出します。 ハイパスフィルターです。

画像にSxを適用する

画像にSyを適用する

読む:インドの機械学習給与

平均化フィルター

平均フィルターは、画像の明るさまたは暗さを決定するために使用される正規化されたフィルターです。 平均フィルターは、ピクセルごとに画像を移動し、ピクセル内の各値を、それ自体を含む隣接するピクセルの平均値に置き換えます。

平均(または平均)フィルタリングは、隣接するピクセル間の強度の変動量を減らすことにより、画像を滑らかにします。

平均フィルター、画像ソース

ガウスぼかしフィルター

ガウスぼかしフィルターはローパスフィルターであり、次の機能があります。

  1. 画像を滑らかにします
  2. 画像の高周波部分をブロックします
  3. エッジを保持

数学的には、画像にガウスぼかしを適用することにより、基本的に画像をガウス関数で畳み込みます。

上記の式で、 xは原点からの水平距離、 yは原点からの垂直距離、 σはガウス分布の標準偏差です。 2次元では、式は、プロファイルが原点からのガウス分布を持つ同心円であるサーフェスを表します。

ガウスぼかしフィルター、画像ソース

ここで注意すべきことの1つは、適切なカーネルサイズを選択することの重要性です。 カーネルの寸法が大きすぎると、画像に存在する小さな特徴が消えて画像がぼやけて見える可能性があるため、重要です。 小さすぎると、画像のノイズが除去されません。

また読む:あなたが知っておくべきAIアルゴリズムの種類

キャニーエッジ検出器

これは、4つのフィルターを使用して、ぼやけた画像の水平、垂直、および斜めのエッジを検出するアルゴリズムですアルゴリズムは次の機能を実行します。

  1. これは、広く使用されている正確なエッジ検出アルゴリズムです。
  2. ガウスぼかしを使用してノイズを除去します
  3. Sobelフィルターを使用してエッジの強度と方向を検出します
  4. 非最大抑制を適用して、最も強いエッジを分離し、それらを1ピクセルラインに細くします
  5. ヒステリシス(二重しきい値法)を使用して、最良のエッジを分離します

蒸気機関の写真のキャニーエッジ検出器、ウィキペディアによる画像

ハールカスケード

これは機械学習ベースのアプローチであり、カスケード関数をトレーニングして二項分類の問題を解決します。 この関数は、多数のポジティブ画像とネガティブ画像からトレーニングされ、さらに他の画像内のオブジェクトを検出するために使用されます。 以下を検出します。

  1. エッジ
  2. 長方形のパターン

上記のパターンを検出するために、次の機能が使用されます。

畳み込み層

このアプローチでは、ニューラルネットワークは同じカテゴリに属する​​画像のグループの特徴を学習します。 学習は、バックプロパゲーション手法と最急降下法をオプティマイザーとして使用してニューロンの重みを更新することによって行われます。

これは、実際の出力とグラウンドトゥルースの間の誤差を減らすことを目的とした反復プロセスです。 このプロセスで取得された畳み込みレイヤー/ブロックは、ポジティブイメージとネガティブイメージを区別するために使用されるフィーチャレイヤーとして機能します。 畳み込み層の例を以下に示します。

畳み込みニューラルネットワーク、画像ソース

完全に接続されたレイヤーと最後のSoftMax関数は、着信画像をトレーニング対象のカテゴリの1つに分類します。 出力スコアは、0から1の範囲の確率的スコアです。

必読: MLの分類アルゴリズムの種類

結論

コンピュータビジョンで使用される最も一般的なアルゴリズムの概要は、一般的なパイプラインとともにこのブログでカバーされています。 これらのアルゴリズムは、SIFT、SURF、ORBなどのより複雑なアルゴリズムの基礎を形成します。

機械学習について詳しく知りたい場合は、IIIT-BとupGradの機械学習とAIのPGディプロマをご覧ください。これは、働く専門家向けに設計されており、450時間以上の厳格なトレーニング、30以上のケーススタディと課題、IIIT-を提供します。 B卒業生のステータス、5つ以上の実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。

画像処理とコンピュータビジョンの違いは何ですか?

画像処理は、より良いバージョンを生成するために画像の生の形式を強化します。 プライマリ画像の一部の特徴を抽出するためにも使用されます。 したがって、画像処理は、コンピュータビジョン分野自体の別個のセクションです。 ただし、コンピュータビジョンは、正確な分類のために刺激オブジェクトを認識することに重点を置いています。 どちらも、手順で同様のテクノロジーを使用しています。 したがって、画像処理はコンピュータビジョンの主要なプロセスになる可能性があります。 それは人工知能の著名な分野であり続けています。 画像処理は画像の強調に焦点を合わせています。 コンピュータービジョンテクノロジーは、より優れたシステムを作成するための詳細で正確な分析に重点を置いています。

コンピュータービジョンアルゴリズムの構築にディープラーニングが使用されるのはなぜですか?

コンピュータービジョンは、厳密なデータ駆動型の調査と一貫した視覚データ分析により、人工知能(AI)をより堅牢にしました。 ディープラーニングは、ニューラルネットワークを介したデータ入力の継続的なプロセスです。 情報は、効率的な学習、処理、および出力のためのアルゴリズムを完成させるために、人間の脳のプロセスから導き出されます。 ディープラーニングは正確なデータ分類を強化し、信頼性の高いAIモデルを保証します。 コンピュータービジョンは、この方法を使用してAIを人間の脳の神経ネットワークに合わせます。 ディープラーニングは、信頼できるシステムが人間を支援し、生活の質を向上させることを可能にしました。

ローパスフィルターとハイパスフィルターとは何ですか?

コンピュータービジョンアルゴリズムでは、複数のフィルターが生の画像から望ましい結果を生成します。 これらのフィルターは、必要に応じて外観を滑らかにし、シャープにし、強調するために多くの機能を実行します。 フィルタは周波数が異なり、さまざまな効果を提案します。 たとえば、ガウスぼかしフィルターは、基本的に、画像の高周波部分を変更し、エッジを保持することにより、画像を平滑化するために機能します。 ローパスフィルターと呼ばれるのは、高周波の位置を減らし、低周波の位置を維持して、より滑らかな視覚を提供するためです。 ハイパスフィルターでは、低周波数の位置が減少し、前者が保持されるため、より鮮明な視覚が得られます。