본문 바로가기

분류 전체보기

(74)
[Graphics] 02. 디스플레이와 그리기 방정식 디스플레이는 다양하다. CRT, LCD/LED, Plasma panel 등등이 있다. 이러한 장비에 어떻게 그래픽적인 디테일을 담을 수 있을까를 고민해보자. 기본적으로 모니터는 픽셀들의 집합으로 장면, 도형 등을 표현한다. 이 러한 픽셀들의 집합으로 그림을 그리는 것을 래스터 그래픽스라고도 한다. 래스터 그래픽스상에서 직선을 표현하는 방식은 두 가지이다. 두 영상의 차이를 알겠는가? 그렇다. 왼쪽은 픽셀이 적고 이러한 방식은 축소하면 선의 연결도가 약하며, 오른쪽은 픽셀이 많고 선이 선명하다. 왼쪽과 같은 방식을 Simple DDA(Digital Diffrential(적분) Analyzer)이라고 하며, 오른쪽을 Symmetric DDA이라 부른다. 그리고 보통 용량이 적으며, 표현할 수 있는 것들은 왠..
[Graphics] 01. 컴퓨터 그래픽스의 중심. 영상과 색 컴퓨터 상 영상(Image)를 다루는 분야는 크게 3가지가 있다. 1. 컴퓨터가 현실에 있는 물체 즉 시각 정보를 인식하는 컴퓨터 비전 분야 2. 컴퓨터가 영상을 우리의 용도에 맞게 다양하게 처리하는 영상처리(Image Processing) 분야 3. 컴퓨터가 영상을 만들어서 이를 세상에 보여주는 컴퓨터 그래픽스 분야. 내가 말하고 싶은 것은 이 중 3번에서 사용되는 기술이다. 대표적인 예로는 Virtual Reality 줄여서 VR이다. 이 분야는 대체적으로 HMD(Head Mount Display)라는 기기에 실시간으로 영상을 뿌리는 분야로 Flight Simulator, 군사 트레이닝 장비 등으로 사용된다. 또한 영화에서는 정밀하고도 리얼한 무언가를 렌더링해서 사용을 한다. Parasite - VF..
[Graphics] 쉐이더란 무엇인가 주의 : 이 글은 Pope Kim님이 쓰신 『셰이더 프로그래밍 입문』이란 책을 정리 차 작성했으며, 문제 발생시 바로 내릴 것입니다. 셰이더의 역사 셰이더를 말하려면 일단 CG의 역사를 공부해보자. 그래픽스 라이브러리가 없던 시절에는 삼각형을 그리고 이 삼각형에 어떤 색을 칠할 것인가에 대해서는 소프트웨어가 직접 계산을 했기 때문에 느릴 수 밖에 없었다. 하지만 3차원에 대한 연산은 점차 늘어나기에 3차원 가속칩이 나오기 시작한다. 그러나 이것 또한 표준화가 안 된다는 문제점이 발생을 했다. 그래서 모든 하드웨어에서 잘 돌아가는 표준을 만들자 해서 나온 것이 바로 Direct3D, OpenGL이다. 하지만 표준화가 되니 대부분의 게임이 똑같아 보이는 단점이 생겼다.(PS2 당시가 그랬었다.) 그렇기에 프..
[Operating System] 1. OS란 무엇인가 OS -> Operating System 컴퓨터 시스템이 돌아가는데 있어서 운영을 하는데 도움을 주는 소프트웨어 컴퓨터? 정보를 처리하기 위한 기계! 그럼 정보는? 컴퓨터 기준에서 2진수로 표현되는 그런 데이터 쪼가리 - 단순히 2진수는 딱히 확실성을 가지고 측정이 되는 그런 물건은 아니다. 컴퓨터는 어떻게 정보를 처리하는가? 정보의 단위? bit(2진수) -> 용량이라는 게 결국 그 프로그램이 가지고 있는 정보의 총량 정보들을 어떻게 다룰까? 0 -> 1 / 1 -> 0 대수! bool -> NOT AND OR 논리 게이트 -> NOT AND OR XOR NAND NOR 논리회로 등등을 이용해서 컴퓨터들은 정보를 처리! -> 무어의 법칙도 따를 것이고, 황의 법칙 등등 정보의 저장이나 또는 전송 : F..
[딥러닝] 신경망 인공 신경망은 생물학적 신경망의 중추신경계인 인간의 뇌가 문제를 처리하는 방식을 모방한 모형으로, 그 시작은 1958년 로젠블랫이 선형 분류를 위한 이층 구조의 퍼셉트론을 개발하면서 시작했습니다. 이후 위드로와 호프는 최소 최소평균제곱 알고리즘이라고 불리는 adaline과 학습규칙을 소개를 했습니다. 우선 신경망의 특징을 살펴보면 다음과 같습니다. 신경망의 각 노드에 미분 가능한 비선형 활성함수를 적용한다. 신경망은 하나 이상의 은닉층을 포함한다. 신경망은 높은 수준의 연결성을 나타낸다. 이때 연결강도는 신경망의 가중치에 의해 결정한다. 그리고 신경망 훈련에서 가장 많이 사용하는 알고리즘은 역전파 알고리즘입니다. 입력 신호는 출력에 도달할 때까지 층별로 전파되며, 반대로 역방향 단계에서는 싱경망 출력을 ..
[딥러닝] 최적화 이론 지금까지 선형대수와 확률과 통계를 공부하며, 기초적인 수학을 공부했습니다. 이제 매개변수 공간을 탐색하고, 미분을 하며 경사하강을 해서 기울기가 0이 될 때까지 학습을 시키는 과정을 공부하겠습니다. 먼저 학습하는데 사용되는 데이터의 차원을 고려해야합니다. 만약 높은 차원의 즉 특징이 많은데 비해 훈련 집합의 크기가 작은 경우 참인 확률 분포를 구하는 일은 불가능에 가까워 집니다. 그렇기 때문에 머신 러닝은 적절한 모델을 선택하고 목적 함수를 정의하고 모델의 매개변수 공간을 탐색해서 목적함수가 최저가 되는 최적점을 찾는 전략을 사용합니다. 즉 특징 공간에서 해야하는 일을 모델의 매개변수 공간에서 하는 일로 대치하는 것입니다. 아래는 이러한 최적화를 이용해서 머신러닝의 문제풀이를 하는 과정을 보입니다. 반대..
[딥러닝, 수학] 확률과 통계 다음과 같은 윷이 있다고 가정을 합시다. 5가지중 한 값을 가지게 되는 확률 변수는 x이고, x의 정의역은 {도, 개, 걸, 윷, 모}가 됩니다. 그리고 이에 대한 확률 분포를 구하면 다음과 같을 것입니다. 그리고 이러한 확률밀도는 아래와 같이 히스토그램으로 그릴 수 있다, 만약 연속적인 입력을 받는 신호인 경우는 오른쪽과 같이 표현한다. 그리고 확률 벡터라는 개념이 있는데, 예로 들어 붓꽃에서 확률 벡터 x는 4차원의 벡터를 얻어낼 수 있습니다. 꽃받침 길이, 너비, 꽃잎 길이, 너비 또 다른 예시로 다음과 같은 번호가 담긴 주머니와 여기서 나오는 번호에 따라 해당 병에서 공을 뽑고 색을 관찰한다고 가정해봅시다. 이 때 번호를 y, 공의 색을 x라는 확률 변수로 표현하면 정의역은 다음과 같습니다. 일단..
[딥러닝, 수학]선형대수와 퍼셉트론 1. 벡터 벡터는 샘플을 n차원의 특징 벡터로 표현합니다. 예로 들어서 데이터에서 꽃받침의 길이, 너비, 꽃잎의 길이, 너비는 4가지 특징이기 때문에 4차원의 특징 벡터로 표현하게 됩니다. 여러 개의 특징 벡터가 존재한다면, 이는 첨자로 구분하게 됩니다. 다음은 행렬입니다. 만약 여러 개의 벡터가 쌓인다면, 이는 행렬로도 표현할 수 있습니다. 예로 들어 붓꽃 데이터가 있는 150개의 샘플이 있따고 하면, 이는 다음과 표현할 수 있습니다. 이러한 행렬도 쌓이면 3차원 이상으로 표현할 수 있습니다. 이를 텐서라고 합니다. 이 텐서는 보통 RGB 컬러 영상들이 쌓이는 경우 이를 표현하기 위한 도구로도 사용됩니다. 지금까지는 데이터를 표현하기 위한 방법에 대해 서술해보았습니다. 이제 벡터와 행렬의 크기를 측정하..