ํ์ดํ ์น(Pytorch)๋ฅผ ํ์ฉํ LSTM AutoEncoder ๊ธฐ๋ฐ์ ์ด์ ํ์ง ์์คํ ์ ๋๋ค. ๋ฐ๋ก๋ํธ(Valorant) ํ๋ ์ด ์์์์ ๋นจ๊ฐ ๋ง์ปค(์ ๋จธ๋ฆฌ ์์น)๋ฅผ ์ถ์ถํ๊ณ , ๊ถค์ ์ฌ๊ตฌ์ฑ ์ค์ฐจ๋ฅผ ์ด์ฉํด ๋น์ ์์ ์ธ ์์ง์(ํต ์์ฌ)์ ๊ฐ์งํฉ๋๋ค.
์ด ๋ฆฌํฌ์งํ ๋ฆฌ๋ LSTM AutoEncoder๋ฅผ ์ด์ฉํด ์ ์์ ์ธ ๋ฐ๋ก๋ํธ ๋ง์ปค ๊ถค์ ์ ํ์ตํ๊ณ , ์ฌ๊ตฌ์ฑ ์๋ฌ๊ฐ ํฐ ์ํ์ค๋ฅผ ์ด์(ํต ์์ฌ)์ผ๋ก ๊ฐ์งํ๋ ์์คํ ์ ์ ๊ณตํฉ๋๋ค.
- ์ ์ฒ๋ฆฌ(Preprocessing): ์์ ํ๋ ์์์ ๋นจ๊ฐ ๋ง์ปค ์ขํ๋ฅผ ์ถ์ถยท์ ๊ทํ
- ์ํ์ค ์์ฑ: 30ํ๋ ์ ๋จ์๋ก ์ขํ๋ฅผ ๋ฌถ์ด ์๊ณ์ด ๋ฐ์ดํฐ ์์ฑ
- ๋น์ง๋ ํ์ต: ์ ์ ๊ถค์ ๋ง์ผ๋ก AutoEncoder ํ์ต (๋ผ๋ฒจ ๋ถํ์)
- ์ด์ ํ์ง: ์ฌ๊ตฌ์ฑ MSE ๊ธฐ์ค(ํ๊ท + 3ฯ) ์ด๊ณผ ์ ์ด์์ผ๋ก ํ๋จ
# 1. ๋ฆฌํฌ์งํ ๋ฆฌ ํด๋ก
git clone https://github.com/yourusername/valorant-ML.git
cd valorant-ML
# 2. ๊ฐ์ํ๊ฒฝ ์์ฑ ๋ฐ ํ์ฑํ
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/macOS
source .venv/bin/activate
# 3. ์์กด์ฑ ์ค์น
pip install -r requirements.txt-
ํ์ต ๋ฐ ์ด์ ํ์ง
python main.py
-
๊ฐ๋ณ ์์ ์ด์ ํ์ง
python -c "from detect.detect_anomaly import detect_anomaly; detect_anomaly('data/clip_007.mp4', model_path='trained_model.pth')"
Project/
โโโ data/ # ๋นจ๊ฐ ๋ง์ปค ์ฒ๋ฆฌ๋ ์์ ํด๋ฆฝ
โโโ preprocess/ # ๋ง์ปค ์ถ์ถ ๋ฐ ์ํ์ค ์์ฑ ๋ชจ๋
โโโ model/ # LSTM AutoEncoder ์ ์
โโโ train/ # AutoEncoder ํ์ต ์คํฌ๋ฆฝํธ
โโโ detect/ # ์ด์ ํ์ง(inference) ๋ชจ๋
โโโ report/ # ์์ฑ๋ HTMLยทPNG ๋ณด๊ณ ์
โโโ outputs/ # ๋ก๊ทธ ๋ฐ ์ค๊ฐ ๊ฒฐ๊ณผ
โโโ main.py # ์ ์ฒด ํ์ดํ๋ผ์ธ ์คํ ์คํฌ๋ฆฝํธ
โโโ generate_report.py # ๋ณด๊ณ ์ ์๋ ์์ฑ ์คํฌ๋ฆฝํธ
โโโ requirements.txt # ์์กด์ฑ ๋ชฉ๋ก
โโโ README.md # ํ๋ก์ ํธ ๋ฌธ์ (ํ๊ธ)
- window_size:
preprocess๋ชจ๋์ ๊ธฐ๋ณธ ์ํ์ค ๊ธธ์ด(30) ๋ณ๊ฒฝ ๊ฐ๋ฅ - threshold:
detect.detect_anomaly()์์ ํ๊ท + kฯ ๋ฐฉ์์ผ๋ก ์๋ ๊ณ์ฐ ๋๋ ๊ณ ์ ๊ฐ ์ค์