PyTorch を使用した画像認識に基づくビデオゲーム「リーグ・オブ・レジェンド」用の AI プレーヤーの実装
デモビデオ: https://youtu.be/iB4PoNJuXzc
注意: Tensorflow を使用する古いバージョンは、ブランチ「LeagueAI_2017」にあります。
注意: このプロジェクトはまだ開発中です。生成したデータセットとトレーニングした YOLOv3 オブジェクト検出重みは間もなく利用可能になります。
これは古い実装の新しいバージョンであり、ゲーム内のオブジェクトの検出に基づいて独自のアプリケーションを構築できるフレームワークを提供します。例として、このフレームワークに古い 2017 LeagueAI ボットを実装します。 2017 年の Tensorflow 実装のデモ ビデオ: https://www.youtube.com/watch?v=KRWFCaXfOTk
タスクは、人間のプレイヤーと同じ入力、つまり視覚を使用して、リーグ オブ レジェンド、Dota 2、Heroes of the Storm などの三人称の大規模マルチプレイヤー オンライン バトル アリーナ ゲーム (MOBA) をプレイできるエージェントを作成することです。 League of Legends はゲームへのインターフェイスを提供しないため、オブジェクト検出が使用されます。このプロジェクトでは、Yolo v3 オブジェクト検出器の Python 実装と、無限量のトレーニング データをランダムに生成する方法が導入されています。
オブジェクト検出器の詳細については、https://arxiv.org/abs/1905.13546 にある私の技術レポートを参照するか、YOLOv3 Web サイト [2] を直接参照してください。
TODO
大規模なデータセットを最初から作成するのは、非常に多くの作業が必要になる場合があります。 LeageAI の最初の実装では、約 700 枚の手作業でラベル付けされた写真が使用されました。 700 枚の写真にラベルを付けるには約 4 日の作業がかかり、含まれるゲーム オブジェクトは 4 つだけでした (チャンピオン モデル 1 つ、味方と敵のミニオン、敵のタワー)。そのため、新しいデータセットは、ゲームから抽出された 3D モデルに基づいてトレーニング データを自動生成することによって作成されました。
pyFrameExporter.py
スクリプトを使用して、クリップから個々の画像を抽出しました。ミニオンについては、Adobe After Effects を使用して、ミニオンとタワー (3D モデルが見つからなかったすべてのオブジェクト) のビデオに緑色の背景を追加しました。エクスポートされたフレームごとに、 pyExportTransparentPNG.py
スクリプトを使用しました。スクリプトは個々のスクリーンショットから緑/紫の背景を削除し、オブジェクトのマスクされた PNG を残します。さらに、スクリップは画像をコンテンツに合わせてトリミングし、余分なシースルー スペースを削除します。これにより、各オブジェクトの約 1000 枚のマスクされた画像が残り、後でラベル付きのゲームの偽のスクリーンショットを生成するために使用できます。
多種多様なスクリーンショットを生成するには、スクリプトを次のように調整できます。
この方法を使用すると、何千もの異なるラベルが付けられた偽のスクリーンショットのデータセットを数時間で生成できます。
データセットの生成プロセスと手作業でラベル付けされたデータと比較した評価の詳しい説明は、次の出版物でご覧いただけます: https://arxiv.org/pdf/1905.13546.pdf
引用するには以下を使用してください:
@article{leagueaidatasetgeneration,
title={LeagueAI: Improving object detector performance and flexibility through automatically generated training data and domain randomization},
author={Struckmeier, Oliver},
journal = {arXiv},
year={2019}
}
TODO
[1] Yolov3 オブジェクト検出を最初から実装する: https://github.com/ayooshkathuria/YOLO_v3_tutorial_from_scratch
[2] トレーニング用: https://pjreddie.com/darknet/yolo/、Yolov3: An Incremental Improvement、J. Redmond および A. Farhadi、2018 年