작업사항 정리/UnrealC++

UnrealC++ PP 20240618_6

WDmil 2024. 6. 18. 04:08
728x90

ImageAiCon PP

진행중

  1. Unreal의 ImageAI공부하기
    1. 알고리즘 관련 강의 학습

사전지식

더보기

https://inradestrt.tistory.com/669

 

인공신경망(Artificial Neural Networks[ANN])

퍼셉트론이전에 인공신경망의 개념을 제안하였지만, 개념적인 시도로써 공학적인 구현을 최초로 제안한 개념무려 1958년에 나온 논문이다. 퍼셉트론 은 생물학적 뉴런을 공학적인 구조로 변형

inradestrt.tistory.com

https://inradestrt.tistory.com/671

 

오토인코더(Autoencoder)

오토인코더 는 대표적인 비지도 학습을 위한 인공신경망 구조 중 하나이다.비지도 학습은 어떤값을 예측하거나 분류하는 목적인 지도학습 과 는 다르게 데이터의 숨겨진 구조를 발견하는 것이

inradestrt.tistory.com

 

https://inradestrt.tistory.com/673

 

CNN기반 컴퓨터비전처리

컴퓨터 비전, 즉 컴퓨터가 이미지를 인식하고 이해하는 과정은 여러 가지 어려움이 있다. 밝기 변화사진을 찍는 환경에 따라 이미지의 밝기가 달라질 수 있다.예를 들어, 같은 물체라도 낮에 찍

inradestrt.tistory.com

https://inradestrt.tistory.com/674

 

컨볼루션(COnvolution), 풀링(Polling)

컨볼루션 신경망(CNN) 컨볼루션 신경망은 이미지 분야를 다루기에 최적화된 구조이다. 컨볼루선 신경망은 크게 컨볼루션층(COnvolution Layer)과 풀링층(Polling[Subsampling])Layer로 구성된다.풀링은 서브

inradestrt.tistory.com

https://inradestrt.tistory.com/676

 

드랍아웃(Dropout)

대표적인 Regulazation 기법이다. 오버피팅(OverFitting)을 방지할 수 있도록 만들어주는 기법을 총칭해서 Regularization기법 이라고 부른다. 드롭아웃(Dropout)은 대표적인 Regularization 기법 중 하나이다. 

inradestrt.tistory.com

https://inradestrt.tistory.com/678

 

순환신경망 (RNN)[Recurrent Neural Network]

순환신경망 (RNN)[Recurrent Neural Network]은 자연어 처리문제와 시계열 데이터를 다루기에 최적화된 인공신경망이다. 시계열 데이터시간 축을 중심으로 현재 시간의 데이터가 이전 및 이후 시간의

inradestrt.tistory.com

 

 

 

 


결과물

 

https://inradestrt.tistory.com/670

 

TensorFlow 2.0을 이용한 ANN MNIST 숫자분류기 구현

import tensorflow as tf# MNIST 데이터를 다운로드(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()x_train, x_test = x_train.astype('float32'), x_test.astype('float32')x_train, x_test = x_train.reshape([-1, 784]), x_test.resh

inradestrt.tistory.com

 

https://inradestrt.tistory.com/672

 

AutoEncoder를 사용한 MNIST 데이터 재구축

import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt# MNIST 데이터를 다운로드(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()x_train, x_test = x_train.astype('float32'), x_test.astype('float32')x_train,

inradestrt.tistory.com

https://inradestrt.tistory.com/675

 

CNN을 사용한 MNIST숫자분류기 구현

import tensorflow as tf# MNIST 데이터를 다운로드 합니다.(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()# 이미지들을 float32 데이터 타입으로 변경합니다.x_train, x_test = x_train.astype('float32'), x_tes

inradestrt.tistory.com

https://inradestrt.tistory.com/677

 

TensorFlow 2.0을 이용한 CIFAR-10 이미지 분류 CNN구현

CIFAR-10 데이터셋은 10개의 클래스, 50,000개의 traing images, 10,000 개의 testing images로 구성되어있다. 이미지크기 : 32x32x3 pixels(Color Image) 레이블 : airplane, automobile, bird, cat, deer, dog, frog, horse, ship, truck. 

inradestrt.tistory.com

 


진행 예정 작업

  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파일로 포팅하여 언리얼 엔진에 집어넣기.

완료된 작업

 

Unreal의 ImageAI공부하기

  1. CNN알고리즘 다시 복기하기
  2. 알고리즘 선별(DQN)
728x90