ホームページ >テクノロジー周辺機器 >AI >MobileNETV2モデルで画像分類を行うにはどうすればよいですか?

MobileNETV2モデルで画像分類を行うにはどうすればよいですか?

Lisa Kudrow
Lisa Kudrowオリジナル
2025-03-04 11:02:09999ブラウズ

MobileNetは、スマートフォンの出現をサポートするために作成されたオープンソースモデルです。 CNNアーキテクチャを使用して、画像分類やオブ​​ジェクト検出などのコンピュータービジョンタスクを実行します。このアーキテクチャを使用するモデルには通常、多くの計算コストとハードウェアリソースが必要ですが、MobileNetはモバイルデバイスと埋め込みで作業して作られました。

長年にわたり、このモデルはさまざまな現実世界のアプリケーションに使用されてきました。また、深度分離の畳み込みを使用してパラメーターを削減するなど、いくつかの機能もあります。したがって、モバイルデバイスのハードウェアリソースが限られているため、この手法はモデルを機能させるのに役立ちます。

このモデルが、事前に訓練された予測クラスを使用して画像を効率的に分類する方法を深さでどのように分類するかについて説明します。

学習目標

MobileNetとその実用的な原則について学びます。

    Mobilenetのアーキテクチャに関する洞察を得る
  • MobileNetで推論を実行して、画像分類を実行します
  • MobileNetの実際のアプリケーションを探索します
  • この記事は、

データサイエンスブログの一部として公開されました。 目次 MobileNetの動作原理標準的な告発

深さとポイントワイズの畳み込み作業はどのように機能しますか?画像

画像分類のために事前に訓練されたモデルをロードする
  • 入力処理
  • 出力
    • MobileNetの動作原理
    • MobileNetの作業原則は、このモデルの構造の最も重要な部分の1つです。このモデルを構築し、モバイルおよび組み込みデバイスに適応できるようにするために使用される手法と方法の概要を説明します。このモデルの設計は、モバイルデバイスで動作できるように、畳み込みニューラルネットワーク(CNN)アーキテクチャを活用しています。 ただし、このアーキテクチャの重要な部分は、パラメーターの数を減らすために、深さごとの分離可能な畳み込みを使用することです。この方法では、深度ワイズとポイントワイズの畳み込みの2つの操作を使用しています。
    • 標準的な共同体
    標準の畳み込みプロセスは、フィルター(カーネル)から始まります。このステップは、エッジ、テクスチャ、パターンなどの画像機能が画像で検出される場所です。これに続いて、画像の幅と高さにフィルターをスライドさせます。また、各ステップには、要素ごとの乗算と合計が含まれます。この合計は、機能マップの形成をもたらす単一の数値を与えます。フィルターによって検出された機能の存在と強度を表します。

    しかし、これには計算コストが高く、パラメーターカウントが増加するため、深さと点ごとの畳み込みが必要です。

    MobileNETV2モデルで画像分類を行うにはどうすればよいですか?

    深さとポイントワイズの畳み込みはどのように機能しますか?

    深さワイズの畳み込みは入力チャネルに単一のフィルターを適用し、ポイントワイズは深度畳み込みからの出力を組み合わせて画像から新しい機能を作成します。

    したがって、ここでの違いは、深さに単一のフィルターのみを適用すると、乗算タスクが削減されることです。つまり、出力は入力と同じ数のチャネルを持っていることを意味します。これは、ポイントワイズの畳み込みにつながります

    tbeポイントワイズコンボリューションは、機能を組み合わせたり拡張したりする1×1フィルターを使用します。これにより、モデルがチャネル機能に分配されるさまざまなパターンを学習して、新しい機能マップを作成するのに役立ちます。これにより、ポイントワイズの畳み込みは、出力機能マップのチャネルの数を増やすか減少させることができます。

    MobileNet Architecure

    このコンピュータービジョンモデルは、画像分類とオブジェクト検出タスクを実行するためにCNNアーキテクチャに基づいて構築されています。深さに分離可能な畳み込みの使用は、軽量の深いニューラルネットワークの構築を可能にするため、このモデルをモバイルおよび埋め込みデバイスに適応させることです。

    このメカニズムは、リソースの制約を満たすために、パラメーター数とレイテンシの削減をもたらします。アーキテクチャにより、モデルの出力の効率と精度が可能になります。 このモデルの2番目のバージョン(MobileNETV2)は、強化により構築されました。 MobileNet V2は、ボトルネックを使用して反転した残差と呼ばれる特別なタイプのビルディングブロックを導入しました。これらのブロックは、処理されたチャネルの数を減らすのに役立ち、モデルをより効率的にします。また、情報の流れを改善するためのボトルネック層間のショートカットも含まれています。最後のレイヤーで標準のアクティベーション関数(RELU)を使用する代わりに、線形アクティベーションを使用します。これは、データの空間サイズがその段階で低いため、より適切に機能します。 このモデルの実行方法 画像分類にこのモデルを使用するには、いくつかのステップが必要です。モデルは、組み込み予測クラスを使用して入力画像を受信および分類します。 MobileNetの実行方法についてのステップに飛び込みましょう:

    画像分類に必要なライブラリをインポートする

    このモデルを実行するには、いくつかの重要なモジュールをインポートする必要があります。これは、トランスライブラリから画像プロセッサと画像分類モジュールのインポートから始まります。それらは、画像を事前に処理し、事前に訓練されたモデルをそれぞれロードするのに役立ちます。また、PILは画像の操作に使用されますが、「リクエスト」を使用すると、Webから画像を取得できます。

    from transformers import AutoImageProcessor, AutoModelForImageClassification
    from PIL import Image
    import requests
    入力画像の読み込み

     image = Image.open('/content/imagef-ishfromunsplash-ezgif.com-webp-to-jpg-converter.jpg')

    関数「Image.Open」は、PILライブラリから使用され、ファイルパスから画像をロードします。この場合、ローカルデバイスからアップロードされました。もう1つの選択肢は、URLを使用して画像を取得することです。

    MobileNETV2モデルで画像分類を行うにはどうすればよいですか? 画像分類のために事前に訓練されたモデルをロードする

    以下のコードは、MobileNETV2事前訓練モデルのプロセス「autoimageProcessor」を初期化します。この部品は、モデルにフィードする前に、画像の前処理を処理します。また、2行目に見られるように、コードは画像分類のために対応するmobileNetv2モデルをロードします。

    入力処理

    preprocessor = AutoImageProcessor.from_pretrained("google/mobilenet_v2_1.0_224")
    model = AutoModelForImageClassification.from_pretrained("google/mobilenet_v2_1.0_224")
    このステップは、前処理された画像がPytorchに適した形式に変換される場所です。次に、モデルに渡されて出力ロジットを生成します。これは、SoftMaxを使用して確率に変換されます。

    output

    inputs = preprocessor(images=image, return_tensors="pt")
     
    outputs = model(**inputs)
    logits = outputs.logits
    このコードは、モデルの出力(ロジット)から最高の予測スコアを持つクラスを見つけ、モデルの構成から対応するラベルを取得します。次に、予測されたクラスラベルが印刷されます。

    ここに出力があります:
     # model predicts one of the 1000 ImageNet classes
    predicted_class_idx = logits.argmax(-1).item()
    print("Predicted class:", model.config.id2label[predicted_class_idx])

    ここにcolabファイルへのリンクがあります。

    このモデルのアプリケーションMobileNETV2モデルで画像分類を行うにはどうすればよいですか?

    MobileNetは、さまざまな実際のユースケースでアプリケーションを見つけました。また、ヘルスケアを含むさまざまな分野で使用されています。このモデルのアプリケーションの一部は次のとおりです

    covidパンデミック中に、MobileNetを使用して、胸部X線を3つに分類しました:正常、covid、およびウイルス性肺炎。結果は非常に高い精度もありました。

    MobileNetv2は、2つの主要な形態の皮膚がんの検出にも効率的でした。このイノベーションは、安定したインターネット接続性がこのモデルを跳躍させることができなかった分野のヘルスケアとして重要でした。

    農業では、このモデルはトマト作物の葉疾患を検出する上でも重要でした。したがって、モバイルアプリケーションを使用すると、このモデルは10の一般的な葉疾患を検出するのに役立ちます。

      ここでモデルを確認することもできます:リンク
    • ラッピング
    • MobileNetは、Googleの研究者によるマスタークラスの結果であり、効率を妨げることなくモバイルデバイスに高い計算コストを備えたモデルをモデルに導入しました。このモデルは、モバイルアプリケーションだけから画像分類と検出を作成できるアーキテクチャ上に構築されました。ヘルスケアと農業のユースケースは、このモデルの能力の証拠です。
    • キーテイクアウト
    アーキテクチャからアプリケーションまで、このモデルがどのように機能するかについて、いくつかの話題があります。この記事のハイライトのいくつかを次に示します:

    • 拡張アーキテクチャ:MobileNetの2番目のバージョンには、MobileNetv2の逆の残差とボトルネック層が付属していました。この開発は、軽量のパフォーマンスを維持しながら効率と精度を向上させました。
    • 効率的なモバイル最適化:モバイルおよび組み込み設計のこのモデルの設計は、効果的なパフォーマンスを提供しながら低い計算リソースを提供することを意味します。
    • 実際のアプリケーション:MobileNetは、ヘルスケア(例:Covid-19および皮膚がんの検出)と農業(たとえば、作物の葉の病気の検出)で成功裏に使用されています。
    • この記事に示されているメディアは、Analytics Vidhyaが所有しておらず、著者の裁量で使用されています。
    よくある質問

    q1。他のCNNモデルとMobileNETV2の違いは何ですか? MobileNETV2は、深さごとの分離可能な畳み込みと倒立残差を使用しているため、従来のCNNと比較してモバイルおよび埋め込みシステムにより効率的です。 MobileNETV2はリアルタイムアプリケーションに使用できますか? 

    ans。 MobileNETV2は、低遅延およびリアルタイムの画像分類タスクに最適化されており、モバイルデバイスとエッジデバイスに適しています。 MobileNetv2は、より大きなモデルと比較してどれくらい正確ですか? 

    ans。 MobileNETV2は効率のために最適化されていますが、より大きなモデルに近い高精度を維持しているため、モバイルAIアプリケーションに強い選択肢になります。 MobileNetv2は、より大きなモデルと比較してどれくらい正確ですか? MobileNETV2は効率のために最適化されていますが、より大きなモデルに近い高精度を維持しているため、モバイルAIアプリケーションに強い選択肢になります。

以上がMobileNETV2モデルで画像分類を行うにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。