1. 製品
  2.   画像
  3.   Python
  4.   ImageAI
 
  

無料の Python API を介して高度な AI 製品を作成する

自己完結型のディープ ラーニングとコンピューター ビジョン機能を備えたアプリケーションとシステムを開発するためのオープン ソース Python API。

ImageAI は、シンプルでありながら非常に強力で高度なオープン ソース Python ライブラリであり、自己完結型のディープ ラーニングとコンピューター ビジョン機能を備えたアプリケーションとソフトウェア ユーティリティを開発する力をソフトウェア開発者に提供します。このライブラリには、画像認識、オブジェクト検出、ビデオでのオブジェクト検出、カスタム認識モデルのトレーニング、ビデオとカメラ フィードの分析、モデルを使用したオブジェクトの認識に関連するいくつかの高度な機能が含まれています。

このライブラリは使いやすく、ソフトウェア プログラマーは、ほんの数行の Python コードを使用して、高度な人工知能機能をアプリケーションやシステムに簡単に統合できます。 Tensor Flow、OpenCV、Keras など、AI 関連の機能を提供できるライブラリは他にもありますが、大量のコードを記述する必要があります。一方、ImageAI では、それを実現するために数行のコードが必要になります。

無料のオープン ソース ImageAI ライブラリは非常に人気があり、世界中の学生、研究者、開発者、専門家に好まれており、高度な人工知能製品やソリューションを簡単に作成できます。

Previous Next

ImageAI を使ってみる

pip 経由で ImageAI をインストールすることをお勧めします。次の python インストール コマンドを実行してください。

pip 経由で ImageAI をインストールする

pip3 install imageai --upgrade

Python API による画像予測

オープン ソースの ImageAI ライブラリを使用すると、ソフトウェア開発者はわずか数行のコードで画像予測機能を独自の Python アプリケーションに追加できます。ライブラリには、SqueezeNet、ResNet、InceptionV3、DenseNet など、画像予測を実行するための 4 つの異なるアルゴリズムとモデル タイプが含まれています。これらの各アルゴリズムには、アルゴリズムの選択に応じてユーザーが使用する必要がある個別のモデル ファイルがあることに注意してください。このライブラリは、デフォルトで通常、高速、高速、最速など、すべての画像予測タスクの予測速度も提供します。

Pythonでイメージ予測を実行

from imageai.Classification import ImageClassification
import os
execution_path = os.getcwd()
prediction = ImageClassification()
prediction.setModelTypeAsResNet50()
prediction.setModelPath(os.path.join(execution_path, "resnet50_imagenet_tf.2.0.h5"))
prediction.loadModel()
predictions, probabilities = prediction.classifyImage(os.path.join(execution_path, "1.jpg"), result_count=5 )
for eachPrediction, eachProbability in zip(predictions, probabilities):
    print(eachPrediction , " : " , eachProbability)

Pythonアプリの画像オブジェクト検出

オブジェクト検出は、ソフトウェア開発者が画像またはビデオ内のオブジェクトを識別して位置を特定できるようにする、驚くべきコンピューター ビジョン技術です。 ImageAI ライブラリには、画像のオブジェクト検出を実行し、画像から各オブジェクトを抽出するための非常に便利なメソッドが含まれています。 RetinaNet、YOLOv3、および TinyYOLOv3 のサポートを提供し、高性能およびリアルタイム処理を実現するオプションを備えています。

Python によるビデオ オブジェクト検出

画像内のオブジェクト検出と同様に、ImageAI ライブラリは、Python コマンドを使用してビデオ内のオブジェクトを検出および追跡するための非常に強力で簡単な方法を提供しています。ビデオ オブジェクト検出をスムーズに行うには、RetinaNet、YOLOv3、または TinyYOLOv3 オブジェクト検出モデルをダウンロードする必要があります。物体検出モデル ファイルのダウンロードが完了したら、.py ファイルが保存されるプロジェクト フォルダーにモデル ファイルをコピーしてください。ビデオ オブジェクトの検出は非常に手間のかかるタスクであるため、NVIDIA GPU と GPU バージョンの Tensorflow を搭載したコンピューターを使用することをお勧めします。

Python によるビデオ オブジェクト検出

from imageai.Detection.Custom import CustomVideoObjectDetection
import os
import cv2
execution_path = os.getcwd()
camera = cv2.VideoCapture(0)
video_detector = CustomVideoObjectDetection()
video_detector.setModelTypeAsYOLOv3()
video_detector.setModelPath("hololens-ex-60--loss-2.76.h5")
video_detector.setJsonPath("detection_config.json")
video_detector.loadModel()
video_detector.detectObjectsFromVideo(camera_input=camera,
                                          output_file_path=os.path.join(execution_path, "holo1-detected3"),
                                          frames_per_second=20,
                                          minimum_percentage_probability=40,
                                          log_progress=True)

カスタム モデルのトレーニング施設を使用する

オープン ソースの ImageAI ライブラリを使用すると、ソフトウェア開発者はカスタム画像予測モデルを簡単にトレーニングできます。これにより、開発者は、任意のタイプのオブジェクトに対応する任意の画像セットで独自のモデルをトレーニングできます。 JSON ファイルは、画像データセット内のオブジェクト タイプをマッピングし、多くのモデルを作成するトレーニング手順によって作成されます。その後、最も精度の高いモデルを選択し、カスタム画像予測を実行する必要があります。

カスタムモデルのトレーニングを適用

from imageai.Classification.Custom import ClassificationModelTrainer
model_trainer = ClassificationModelTrainer()
model_trainer.setModelTypeAsResNet50()
model_trainer.setDataDirectory("pets")
model_trainer.trainModel(num_objects=4, num_experiments=100, enhance_data=True, batch_size=32, show_network_summary=True)
 日本