작업사항 정리/UnrealC++

UnrealC++ PP 20240705_13

WDmil 2024. 7. 5. 03:12
728x90

ImageAiCon PP

진행중

  1. Unreal ImageRetargeting 코드제작
    1. TCP방식으로 데이터 통신처리를 진행
      1. 1. 서버커넥팅을 위한 TCP프로토콜 제작중...
      2. 테스트 진행중.

Winsock.7z
0.00MB

 

컴파일 상 오류는 안남

 

간단한 구조도

 

GameMode -> GameServer Chack

 

GameServer == NULL ? CreateCallServer.py Run : ConnectionServer;

 

쓰레드 형태로 AIControler를 생성.

 

TCP통신으로 현재 뷰 타겟이미지의 데이터를 TCP로 DQN 알고리즘에 데이터를 넘긴다.

그후에 DQN에서 결과값을 리턴한다.

 

객체의 Controler의 버퍼를 감지하여, 값을 받았을 경우 쓰레드 반환 후 메세지버퍼에 데이터를 기입.

 

쓰레드 반환시, DQN알고리즘에 해당 학습가중치의 결과값을 반환후 End한다.

 

학습이 완료될 때 까지 반복.

 

GameMode에서 WinsockHelper를 통해 SOCKET을 생성한뒤 해당 SOCKET을 사용해서 쓰레드통신을 진행한다.

통신방식은 Winsock API를 활용하여 통신한다.

 

자세한 내용은 서버 구축과 커넥션 후 재정리 예정


진행 예정 작업

  1. Unreal ImageRetargeting 코드제작
    1. 언리얼 함수 상으로 지정된 카메라의 타겟뷰를 이미지값으로 저장 반환하는 방식이 존재함.
    2. TCP방식으로 데이터 통신처리를 진행
    3. TensorFlow를 사용하여 전달받은 이미지로 학습 알고리즘 연산.
    4. 연산결과를 다시 언리얼로 전달하여 학습된 데이터를 갱신.
    5. 4번과 3번을 반복
  2. 학습결과확인 후 재학습
  3.  5와 6을 원하는 AI행동패턴이 나타날때까지 반복

목표

  1. TensorFlow를 사용하여 알고리즘이 동작하는지 직접적인 확인을 진행.
  2. TensorFlow 를 사용하지 않고, 스스로의 C++코드로 알고리즘 함수 구현부를 직접 제작하여 사용하는것
    (파이썬만으로 k means clustering를 구현하였을 때, 구현객체가 C++의 연산처리속도를 따라잡지 못하는 상황이 있었음)
  3. UI관련 제작방식은 C#으로, 함수부는 DLL파일로 포팅하여 언리얼 엔진에 집어넣기.

완료된 작업

 

  1. Unreal의 ImageAI공부하기
    1. CNN알고리즘 다시 복기하기
    2. 알고리즘 선별(DQN)
    3. 알고리즘 관련 강의 학습

 

728x90