CV 기술을 이용한 '리그 오브 레전드' 리플레이 추출기이다.
리그 오브 레전드 리플레이 영상으로부터 데이터를 수집 / 분석하는 프로그램이다. YouTube나, 로컬에 저장된 비디오에서 '플레이어 위치 정보를 시간에 따라' 자동으로 수집할 수 있다.
리플레이 영상을 보고 싶다면 리플레이 파일의 버전이 클라이언트의 버전과 동일해야 한다(!)
- venv 생성
conda create -n lolpago python=3.9.11
- venv 실행
conda activate lolpago
- tensorflow 설치
pip install tensorflow-gpu=2.10.0
- 소프트웨어 요구사항
cuDNN = v8.1.0 for CUDA 11.2 : https://developer.nvidia.com/rdp/cudnn-download => save only {lib, include, bin} folders into CUDA(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2)
CUDA = 11.2 : https://developer.nvidia.com/cuda-11.2.0-download-archive
tensorflow : 2.10.0
- 게임 config file 설정 C:\Riot Games\League of Legends\Game\DATA\cfg\game.cfg => EnableReplayApi=1
C:\Riot Games\League of Legends\Ga고
깃헙으로부터 직접 다운받은 후 압축을 푼다. 혹은 명령창을 이용하여 clone해도 된다.
Download directly from github and unzip or clone from the command line
pip install -r requirements.txt
-
소환사의 MatchIDs 수집 :
python3 generator.py
-
리플레이 파일(.rofl) 다운로드드 :
python3 downloader.py
-
리플레이 재생 & 녹화 :
python3 scraper.py
추적 모델을 사용할 수 있다. ( Performance | mAP : 92.2% | precision : 91.3% | recall : 90.2% )
-
Dependency(의존성)을 설치하려면,
pip install roboflow.
파이썬 스크립트에 다음 코드를 실행한다 :
from roboflow import Roboflow rf = Roboflow(api_key="API_KEY") project = rf.workspace().project("lolpago-multi-tracking-service") model = project.version(18).model # infer on a local image print(model.predict("your_image.jpg", confidence=40, overlap=30).json()) # visualize your prediction # model.predict("your_image.jpg", confidence=40, overlap=30).save("prediction.jpg") # infer on an image hosted elsewhere # print(model.predict("URL_OF_YOUR_IMAGE", hosted=True, confidence=40, overlap=30).json())