ImageAiCon PP
진행중
- Unreal의 ImageAI공부하기
- 알고리즘 관련 강의 학습
사전지식
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
진행 예정 작업
- Unreal ImageRetargeting 코드제작
- 언리얼 함수 상으로 지정된 카메라의 타겟뷰를 이미지값으로 저장 반환하는 방식이 존재함.
- TCP방식으로 데이터 통신처리를 진행
- TensorFlow를 사용하여 전달받은 이미지로 학습 알고리즘 연산.
- 연산결과를 다시 언리얼로 전달하여 학습된 데이터를 갱신.
- 4번과 3번을 반복
- 학습결과확인 후 재학습
- 5와 6을 원하는 AI행동패턴이 나타날때까지 반복
목표
- TensorFlow를 사용하여 알고리즘이 동작하는지 직접적인 확인을 진행.
- TensorFlow 를 사용하지 않고, 스스로의 C++코드로 알고리즘 함수 구현부를 직접 제작하여 사용하는것
(파이썬만으로 k means clustering를 구현하였을 때, 구현객체가 C++의 연산처리속도를 따라잡지 못하는 상황이 있었음) - UI관련 제작방식은 C#으로, 함수부는 DLL파일로 포팅하여 언리얼 엔진에 집어넣기.
완료된 작업
Unreal의 ImageAI공부하기
- CNN알고리즘 다시 복기하기
- 알고리즘 선별(DQN)
'작업사항 정리 > UnrealC++' 카테고리의 다른 글
UnrealC++ PP 20240624_8 (0) | 2024.06.24 |
---|---|
UnrealC++ PP 20240621_7 (0) | 2024.06.21 |
UnrealC++ PP 20240614_5 (0) | 2024.06.14 |
UnrealC++ PP 20240609_4 (1) | 2024.06.09 |
UnrealC++ PP 20240606_3 (0) | 2024.06.06 |