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年以内に犬が人間と会話できるようになる

本日北京時間のデイリーメール紙の報道によると、有名な技術専門家は、今後10年間で人工知能技術の発展に...

...

IT リーダーにとって必須のコース: 人工知能のビジネスへの影響と価値をどのように測定するか?

実績のある AI プロジェクトが大規模に導入されるケースが増えており、一部の企業では大きなメリットが...

Microsoft PowerPoint は 11 月に Copilot を統合します: 数秒でプレゼンテーションを生成

10月13日、Microsoft 365 ロードマップによると、OneNote、Word、OneDr...

パラメータ調整器、ここを見てください!ディープラーニングのトレーニング効率を向上させる2つのコツ

[[343402]] 1. トレーニングのボトルネックはどこですか? GPU 使用率が低い: モデル...

AI技術がピカソの隠された絵画の発見を助ける

[[429170]]最近、外国メディアの報道によると、有名になる前のパブロ・ピカソは、必ずしも画材を...

生産性を高める 13 の AI ツール

良いツールは仕事の効率を2倍にしてくれます。そのため、私は実際の仕事で常にツールを最適化して、仕事を...

携帯電話がなくてもデジタル人民元が使えます!これらのブラックテクノロジーは

中国新聞社クライアント、福州、4月26日(記者 李金雷)将来のデジタルライフがどのようなものになるか...

2018 年のビッグデータ、機械学習、人工知能の予測!

AI へのビッグデータ投資は減速の兆しを見せていません。今後 1 年間の予測をいくつかご紹介します...

李徳易学士:人工知能の影響を最も受けている業界は教育

2019年12月22日、中国職業技術教育学会科学技術成果転換作業委員会が中国科学院コンピューティング...

チューリング賞受賞者のジュディア・パールが語る「データだけに頼るな」

[[412443]]現在の人工知能研究コミュニティでは、データ中心の方法が絶対的に優勢であり、その...

北京冬季オリンピックまでのカウントダウン:人工知能は準備完了!あなたも?

「一つの夢」から「共に未来へ」へ2つのオリンピック開催都市、北京オリンピック聖火は今冬も歓迎される...

企業で AI ストレージを導入する際に留意すべき 7 つのポイント

企業における人工知能新しい人工知能 (AI) と機械学習 (ML) のワークロードにより、エンタープ...

速報です! OpenAIがByteDanceアカウントを禁止!コンテンツ生成のための GPT の不正使用に関する内部告発

ノアが編集海外メディアのザ・ヴァージは北京時間今朝未明、生成AIをめぐる熾烈な競争の中で、バイトダン...