10行のPythonコードで画像認識

10行のPythonコードで画像認識

[[226981]]

ディープラーニングアルゴリズムの台頭と普及により、人工知能の分野、特にコンピュータービジョンの分野では目覚ましい進歩を遂げています。 21 世紀の次の 10 年間では、畳み込みニューラル ネットワークが急速に導入され、最先端のアルゴリズムが発明され、大量のトレーニング データが利用可能になり、高性能でコスト効率の高いコンピューティングが発明されました。コンピューター ビジョンにおける重要な概念は画像分類です。これは、ソフトウェア システムが画像内の主要なオブジェクトに正しくラベルを付ける機能です。

ImageAI は、開発者が自己完結型のコンピューター ビジョン機能を備えたアプリケーションやシステムを構築できるように設計された Python ライブラリです。

1. Python 3.5.1以上をインストールし、pip

(すでに Python 3.5.1 以降がインストールされている場合は、このセクションをスキップしてください)

https://www.python.org/downloads/

2. ImageAIの依存関係をインストールする

- テンソルフロー

  1. pip3 インストール--upgrade tensorflow  

- ナンピー

  1. pip3 numpy をインストール

- サイパイ

  1. pip3 scipy をインストール

- オープンCV

  1. pip3 opencv-python をインストール

- マトプロットライブラリ

  1. pip3 matplotlib をインストール

- h5py

  1. pip3 h5pyをインストール

- ケラス

  1. pip3 keras をインストール

3. ImageAIライブラリをインストールする

pip3 インストール https://github.com/OlafenwaMoses/ImageAI/raw/master/dist/imageai-1.0.2-py3-none-any.whl

4. ImageNet-1000 データセットでトレーニングされた ResNet モデル ファイルをダウンロードし、そのファイルを Python プロジェクト フォルダーにコピーします。

https://github.com/fchollet/deep-learning-models/releases/download/v0.2/resnet50_weights_tf_dim_ordering_tf_kernels.h5

5. Python ファイル (たとえば、「FirstPrediction.py」) を作成し、次のコードを記述します。

  1. imageai.PredictionからImagePrediction をインポートします 
  2. インポートOS  
  3. 実行パス = os.getcwd()  
  4. 予測 = ImagePrediction()  
  5. 予測モデルタイプをResNetとして設定する()  
  6. 予測.setModelPath( 実行パス + " esnet50_weights_tf_dim_ordering_tf_kernels.h5 " )  
  7. 予測.loadModel()  
  8. 予測、percentage_probabilities = prediction.predictImage( "C:UsersMyUserDownloadssample.jpg" 、result_count=5)  
  9. のために 索引 範囲(len(予測)):  
  10. print(予測[インデックス] + " : " + パーセンテージ確率[インデックス])

サンプル.jpg

[[226982]]

コード結果:

  1. スポーツカー : 90.61029553413391  
  2. 車の車輪: 5.9294357895851135  
  3. レーサー: 0.9972884319722652  
  4. コンバーチブル: 0.8457873947918415  
  5. グリル: 0.581052340567112

コードの説明

それでは、コードがどのように機能するかを理解できるように、コードを分解してみましょう。上記のコードは次のように動作します。

  1. imageai.PredictionからImagePrediction をインポートします 
  2. インポートOS

上記のコードは、ImageAI ImagePrediction クラスと Python os クラスをインポートします。

  1. 実行パス = os.getcwd()

上記のコードは、Python ファイル (この場合は FirstPrediction.py) と ResNet モデル ファイルを含むパスへの参照を保持する変数を作成します。

  1. 予測 = ImagePrediction()  
  2. 予測モデルタイプをResNetとして設定する()  
  3. 予測.setModelPath(実行パス + "resnet50_weights_tf_dim_ordering_tf_kernels.h5")

上記のコードでは、1 行目で ImagePrediction() クラスのインスタンスを作成し、2 行目で .setModelTypeAsResNet() を呼び出して予測オブジェクトのモデル タイプを ResNet に設定し、3 行目で予測オブジェクトをモデル ファイル (resnet50_weights_tf_dim_ordering_tf_kernels.h5) のパスにコピーしてプロジェクト フォルダーにコピーするようにモデル パスを設定しています。

  1. 予測、percentage_probabilities = prediction.predictImage( "C:UsersMyUserDownloadssample.jpg" 、result_count=5)

上記の行では、画像を予測するために呼び出される関数に等しい 2 つの変数を定義しています。この関数は .predictImage() 関数で、画像のパスを解析し、取得する予測結果の数 (1 ~ 1000 の値) も示しています (result_count = 5 を解析)。 .predictImage() 関数は、最初の ***(配列 2 予測) が予測値で、2 番目(配列 percentage_probabilities)が各予測に対応するパーセンテージ確率の配列であるオブジェクトを返します。

  1. のために 索引 範囲(len(予測)):  
  2. print(予測[インデックス] + " : " + パーセンテージ確率[インデックス])

上記の行は、予測配列内の各オブジェクトを取得し、さらに percentage_probabilities から対応するパーセンテージ確率を取得し、両方の結果をコンソールに出力します。

.predictImage() 関数は、画像へのパスを受け取り、関数が返す予測の数も指定します (オプション、デフォルトは 5)。 ImageNet-1000 データセットには 1000 個の項目があり、ResNet モデルはこのデータセットでトレーニングされたため、.predictImage 関数は確率順にランク付けされた 1000 個の可能な予測を返します。

ImageAI を使用すると、Python で構築したあらゆるアプリケーション、Web サイト、システムに画像予測コードを簡単かつ便利に統合できます。 ImageAI ライブラリは追加のアルゴリズムとモデル タイプをサポートしており、速度に最適化されたものもあれば、精度に最適化されたものもあります。 ImageAI では、特殊な環境や特殊な分野での画像認識、カスタマイズされた画像予測など、コンピューター ビジョンのより専門的な側面をサポートしたいと考えています。

<<:  2018 年に知っておくべき 15 の人工知能統計

>>:  Facebookのスマートスピーカー「フィオナ」と「アロハ」が今月下旬に発売される

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

世界を支配するトップ 10 のアルゴリズムをご存知ですか?

Reddit に、私たちの現代生活におけるアルゴリズムの重要性と、どのアルゴリズムが現代文明に最も...

GPUが急成長を遂げるGenAIの時代において、AMDはNvidiaのCUDAソフトウェアの堀を超えつつある

今日、生成 AI (GenAI) について話すとき、GPU とそれに伴うパフォーマンスおよびアクセシ...

北本重型トラック、易欧、松山湖材料研究所が「易本デュアルカーボン研究所」設立に向けた戦略協力協定を締結

8月4日、中国北方工業集団公司、北奔重型トラック集団有限公司、渤海、松山湖材料研究所は調印式を開催し...

人工知能 (AI) プロジェクトの失敗: 人材不足に対処する方法

適切な技術人材の採用は、企業組織による人工知能 (AI) の導入に対する大きな障壁となっています。最...

...

顔認識とは何ですか?あなたは顔認識技術を本当に理解していますか?

近年、人工知能の発展により、膨大なデータに基づく顔認識技術がさまざまな分野で広く利用されるようになり...

感情 AI はデジタルヘルスケアの未来となるでしょうか?

進化するヘルスケアとテクノロジーの世界では、「感情 AI」と呼ばれる画期的なイノベーションが変化の兆...

GPT-5 は 50,000 個の H100 で停止しています。アルトマンは、NVIDIAに代わるAIチップ帝国を築くために、緊急に数十億ドルを調達している。

サム・アルトマンは半導体ファウンドリの世界的なネットワークを構築するために数十億ドルを調達しています...

2018 年の人工知能の予測を振り返ってみると、どれが現実になったのでしょうか?

人工知能は非常に複雑であり、急速に発展しています。今後数年間でそれがどうなるかを正確に予測することは...

AI時代における我が国の人工知能開発の長所と短所の分析

人工知能が人々の生活にますます大きな影響を与えるにつれて、人工知能技術は絶えず更新され、反復され、ま...

Reddit で強く推奨: 20 時間の体系的なディープラーニングと強化学習コース | 無料

[[383847]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...

自動運転車の安全性保証、検証、認証の見直し

2022年2月6日にarXivにアップロードされたレビュー論文「自動運転車の安全性保証、検証、認証:...

ヘルスケア市場における人工知能は2028年までに615億9000万ドルに達すると予想

[[432745]]パーソナライズ医療の需要の高まりは、ヘルスケア市場における人工知能の成長を推進す...