티스토리 뷰
대항해시대3 라는 1997년에 출시된 게임을 대상으로 AI모델을 만들어 보는 과정을 기록 해보겠습니다.
게임에서 이동을 하면 아래 빨간줄 친 위도 경도가 바뀌는데요 이것을 인식 해서 자동으로 이동하도록 하는 기능을 구현 해볼 것입니다.

먼저 이미지에서 위도 경도를 인식하는 모델을 만들려고 합니다.
목표
이 게임에서 자동플레이에 꼭 필요한 것은 위도 경도를 보고 배나 말을 이동 시키는 것 입니다. 이동은 마우스 또는 키보드로 8개 방향 중 하나를 정해주면 알아서 이동 합니다.
학습 시키기
이 부분을 학습 시켜야 하는데요 학습시켜서 뭘 만들거냐면 위도가 북위인지 남위인지, 경도가 서경인지 동경인지 각각 값이 얼마인지를 인식하는 모델을 만들 것입니다.

이미지에서 문자와 숫자를 인식 해주는 모델을 써서 1초에 한번씩 게임화면을 찍어서 만든 스샷을 라벨링 한 후에 학습을 시키면 될 것 같다는 생각이 들었습니다.
AI 플랜
위 내용을 입력하니 AI가 플랜을 짜줍니다.
기존 OCR 모델로 자동 라벨링 → TorchSharp CNN 학습
전체 파이프라인
[1단계] 데이터 수집
- 항해 중 1초마다 상단바 좌표 영역만 크롭하여 저장
[2단계] 자동 라벨링 (기존 OCR 모델 활용)
- Windows.Media.Ocr (한국어 지원, 별도 설치 불필요)
또는
- Tesseract.NET (NuGet: Tesseract)
→ 크롭 이미지에서 "북위 38 서경 10" 텍스트 추출
→ CSV로 저장: image_path, lat_dir(N/S), lat_val, lon_dir(E/W), lon_val
[3단계] TorchSharp CNN 모델 학습
- 입력: 크롭된 좌표 영역 이미지 (약 150x20 픽셀)
- 출력: [lat_dir(2), lat_val(91), lon_dir(2), lon_val(181)]
- 분류 문제로 풀기 (방향 2클래스 + 숫자 0~90/0~180 클래스)
[4단계] 추론
- AutoPlayService에서 TorchSharp 모델 로드 → 실시간 좌표 인식
ROI(Region of Interest 관심 영역)
북위 또는 남위를 기준으로 좌표를 찾아서 인식을 하기 위해서는 저 글자가 화면상에 어디에 위치 하는지를 먼저 찾아야 합니다.

상단바 이미지 수집


라벨링
ai가 추천 해준 대로 윈도 ocr로 했습니다.

학습
위에서 수집하고 라벨링 한 데이터로 학습 시켰습니다.

결과
결과가 너무 안좋아서 모델 안쓰고 라벨링 할때 썼던 OCR로 했습니다. 인식이 잘 되고 있습니다.

다음으로는 자동으로 방향을 정하는 모델을 만들어 봐야겠네요.
- Total
- Today
- Yesterday
- vim
- docker container tissue box
- docker container case
- 도커각티슈박스
- 도커티슈케이스
- 도커각티슈케이스
- 개발자
- 도커티슈박스
- docker container tissue
- docker container
- Sh
- 이직
- Linux
- 2017 티스토리 결산
- shellscript
- docker container whale
- 도커컨테이너
- 싱가폴
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |