본문 바로가기

전체 글

(75)
[Graphics] 03. 윈도우 클리핑 우리는 어떤 화면을 통해 컴퓨터가 그려내는 이미지 세상을 본다. 즉 화면에는 이 화면에 맞는 내용만 출력이 되어야한다는 뜻이며, 이 외의 나머지 물체나 배경은 출력이 되선 안 된다. 이 것을 바로 Window clipping이라고 한다. 어떠한 Min(Xmin, Ymin)부터 Max(Xmax, Ymax)까지로 한정된 Window 내부에 있는 부분만 잘라서 그리는데 과연 어떤 알고리즘이 필요한 지 알아보자. 1. Line Clipping (라인 클리핑) 예로들어 선분이 윈도우에 다음과 같이 걸쳐있다고 가정하자. 이 때 두 점 p1(x1, y1)과 p2(x2, y2)를 잇는 선분의 w의 내부만을 어떻게 그릴 것인가. 여기서는 보통 2가지 알고리즘이 사용된다. 1. Cohen-sutherland 알고리즘 일단..
[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라는 확률 변수로 표현하면 정의역은 다음과 같습니다. 일단..