작업사항 정리/UnrealC++
UnrealC++ PP 20240703_12
WDmil
2024. 7. 3. 02:48
728x90
ImageAiCon PP
진행중
- Unreal ImageRetargeting 코드제작
- TCP방식으로 데이터 통신처리를 진행
- 1. 서버커넥팅을 위한 TCP프로토콜 제작중...
- TCP방식으로 데이터 통신처리를 진행
간단한 구조도
GameMode -> GameServer Chack
GameServer == NULL ? CreateCallServer.py Run : ConnectionServer;
쓰레드 형태로 AIControler를 생성.
TCP통신으로 현재 뷰 타겟이미지의 데이터를 TCP로 DQN 알고리즘에 데이터를 넘긴다.
그후에 DQN에서 결과값을 리턴한다.
객체의 Controler의 버퍼를 감지하여, 값을 받았을 경우 쓰레드 반환 후 메세지버퍼에 데이터를 기입.
쓰레드 반환시, DQN알고리즘에 해당 학습가중치의 결과값을 반환후 End한다.
학습이 완료될 때 까지 반복.
GameMode에서 WinsockHelper를 통해 SOCKET을 생성한뒤 해당 SOCKET을 사용해서 쓰레드통신을 진행한다.
통신방식은 Winsock API를 활용하여 통신한다.
진행 예정 작업
- Unreal ImageRetargeting 코드제작
- 언리얼 함수 상으로 지정된 카메라의 타겟뷰를 이미지값으로 저장 반환하는 방식이 존재함.
- TCP방식으로 데이터 통신처리를 진행
- TensorFlow를 사용하여 전달받은 이미지로 학습 알고리즘 연산.
- 연산결과를 다시 언리얼로 전달하여 학습된 데이터를 갱신.
- 4번과 3번을 반복
- 학습결과확인 후 재학습
- 5와 6을 원하는 AI행동패턴이 나타날때까지 반복
목표
- TensorFlow를 사용하여 알고리즘이 동작하는지 직접적인 확인을 진행.
- TensorFlow 를 사용하지 않고, 스스로의 C++코드로 알고리즘 함수 구현부를 직접 제작하여 사용하는것
(파이썬만으로 k means clustering를 구현하였을 때, 구현객체가 C++의 연산처리속도를 따라잡지 못하는 상황이 있었음) - UI관련 제작방식은 C#으로, 함수부는 DLL파일로 포팅하여 언리얼 엔진에 집어넣기.
완료된 작업
- Unreal의 ImageAI공부하기
- CNN알고리즘 다시 복기하기
- 알고리즘 선별(DQN)
- 알고리즘 관련 강의 학습
728x90