Skip to content

Latest commit

ย 

History

History
79 lines (57 loc) ยท 2.79 KB

File metadata and controls

79 lines (57 loc) ยท 2.79 KB

Valorant ๋งˆ์ปค ์ด์ƒ ํƒ์ง€ ํ”„๋กœ์ ํŠธ

ํŒŒ์ดํ† ์น˜(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

๐ŸŽฎ ์‚ฌ์šฉ ์˜ˆ์‹œ

  1. ํ•™์Šต ๋ฐ ์ด์ƒ ํƒ์ง€

    python main.py
  2. ๊ฐœ๋ณ„ ์˜์ƒ ์ด์ƒ ํƒ์ง€

    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ฯƒ ๋ฐฉ์‹์œผ๋กœ ์ž๋™ ๊ณ„์‚ฐ ๋˜๋Š” ๊ณ ์ •๊ฐ’ ์„ค์ •