본문 바로가기
728x90

전체 글423

Digital Image Processing - 기본지식(2) Internal Processing of Digital Camera 위와 같이 H/W적인 과정과 S/W적인 과정이 모두 나타난 종합적인 Digital camera의 작동 과정이 요약되어 설명되어있다. digital image는 위 그림과 같이 pixel(picture element)로 이루어져 있다. 좌측 그림을 sampling, quantization하면 우측그림처럼된다. Image resolution 이미지 해상도는 디지털 이미지의 세밀함과 정확도를 결정하는 중요한 요소다. 해상도는 크게 두 가지로 나뉜다: 공간 해상도와 강도 해상도다. 공간 해상도는 이미지를 구성하는 픽셀의 밀도로, 특정 단위 면적 당 픽셀의 수를 의미한다. 일반적으로 dpi(dots per inch)라는 단위로 표현되며, 인쇄물에.. 2024. 3. 22.
알고리즘 설계 실습 - 두 정삼각형 문제 첫 번째 줄에는 1개의 수를, 두 번째 줄에는 2개의 수를, …, N번째 줄에는 N개의 수를 아래 그림 과 같이 배치한 같은 크기의 정삼각형 A, B가 주어진다. 각 위치에 있는 수는 0 또는 1이다. 정삼각형을 시계방향 또는 반시계 방향으로 120도 회전시키거나 좌우로 대칭시킬 수 있다. 예를 들어, 위 그림의 정삼각형 A를 회전시켜서 얻을 수 있는 정삼각형들은 다음과 같다. A를 횟수 제한 없이 회전시키거나 대칭시켜 B와 차이가 최소로 나게 하라. 이때 차이가 얼마인지 구하라. 차이라는 것은 일치하지 않는 부분의 개수이다. 입력 첫 번째 줄에 A, B의 크기 N이 주어집니다. 두 번째 줄부터 N+1번째 줄까지, 정삼각형 A의 각 위치에 있는 수들이 주어집니다. i+1 (1≤i≤N)번째 줄에는 정.. 2024. 3. 21.
Multi-modal Learning Intro Multi-modal Learning은 말그대로 여러개의 modality, 즉 여러개의 데이터 형식으로부터 학습하는 인공지능을 말한다. 예를들어 이미지+텍스트를 input으로 넣어서 사람의 표정과 그 상황을 기반으로 더 정확한 감성분석을 진행할 수 있겠다. 흔히 modality의 종류는 VARK(Visual, Auditory, Read/Write, Kinesthetic) 4가지정도로 추려진다. 멀티모달의 종류 멀티모달에는 크게 Early Fusion, Late Fusion, Joint or Intermediate Fusion 3가지 종류가 있다. Early Fusion은 다양한 모달리티의 데이터를 입력 단계에서 결합한다. 여러 유형의 데이터를 하나의 통합된 특성 벡터로 변환해 모델에 입력하는 .. 2024. 3. 20.
Digital Image Processing - 기본 지식(1) Human Eye Cornea - 각막 Iris - 홍채 Anterior chamber - 전안방 Ciliary body - 모양체 Lens - 수정체 Vitreous humor - 초자체 Fovea - 중심와 Blind spot - 맹점 Retina - 망막 Sclera - 공막 Choroid - 맥락막 Cones vs. Rods Cone cell - 원추세포: Color sensing, >4.5M -장파장(Red), 중파장(Green), 단파장(Blue)에 반응하는 3가지 종류가 있다. Rod cell - 간상세포: 덜 강한 빛을 감지하는 세포이다. >90M Brightness Adaptation 인각의 시각 시스템의 범위는 10^-6부터 10^4로 밝기 인식이 가능한 범위가 매우 크다. 그러나 이 .. 2024. 3. 17.
Algorithm Design - Master Theorem 마스터 정리T(n) = aT(n/b) + f(n)와 같은 모양을 가진 점화식은 마스터 정리에 의해 바로 분석할 수 있다. 이번 수업시간에 다룬 내용이어서 정리를 하긴하겠으나 마스터 정리는 이전에도 정리를 했었기에 가볍게 정리하고 넘어가자.n^(logb a) = h(n)이라 하면 아래와 같이 복잡도를 구할 수 있다.  이걸 직관적으로 표현하면 아래와 같다. 1. h(n)이 더 무거우면 h(n)이 수행시간을 결정한다.2. f(n)이 더 무거우면 f(n)이 수행시간을 결정한다.3. h(n)과 f(n)이 같은 무게이면 h(n)에 logn을 곱한 것이 수행시간이 된다. 이때 마스터 정리를 이용할 수 있는 조건이 존재한다. 1. f(n)은 asymptotically positive funct.. 2024. 3. 14.
Algorithm Design - 실습(GDC_LCM, Sort) GDC_LCM 최대공약수, 최소공배수를 구하는 과제이다. #include using namespace std; // 최대공약수를 계산하는 함수 int gcd(int a, int b) { int min, ans = 0; if(a>b){ min = b; } else{ min = a; } for (int i=1; ib){ base = a; } else{ base = b; } for (int i=base; ;i++) { if ((i%a == 0) && (i%b == 0)) { return i; } } } int main() { int a, b; cin >> a >>b; cout n; // 첫 번째 줄에서 n 을 입력받음 int* numbers = new int[n]; // 동적으로 정수 배열을 할당 // 두 번.. 2024. 3. 13.
Digital Image Processing - Intro Intro 디지털 영상 처리란 x,y라는 공간좌표를 이용한 f(x,y)함수로 표현된 2D 이미지를 다루는 것이다. 과정을 살펴보면 이미지를 sensor를 통해 sampling하고 quantization하여 matrix로 표현하여 처리하는 것이다. matrix를 다루는 단순한 코드를 살펴보면 아래와 같다. int i, j, k; int nr, // number of rows nc, // number of columns nchan; // number of channels nr = 128; nc = 128; nchan = 3; for (i=0; i 2024. 3. 13.
Algorithm Design - 복잡도 분석 Big O Big O notation으로 어떻게 표현되는 알고리즘이느냐에 따라 아예 수행이 불가능한 알고리즘이 될 수도 있다. 점근적 상한(Asymptotic Upper Bound) 방법을 이용하여 정의되고 표현한다. 주어진 복잡도 함수 f(n)에 대해서 g(n)∈O(f(n)) 이면 다음을 만족한다. n≥N인 모든 정수n에 대해서 g(n) ≤ c x f(n)이 성립하는 실수 c>0와 음이 아닌 정수 N이 존재한다. 이는 아래와 같이 그래프를 통해 살펴볼 수 있다. 어떤 함수 g(n)이O(n^2)에 속한다는 말은 그 함수는 어떤 임의의 N값보다 큰 값에 대해서는 어떤 2차함수 cn^2 보다는 작은 값을 가지게 된다는 것을 뜻한다. (그래프 상에서는 아래에 위치) 반대로 어떤 알고리즘의 시간복잡도가 O(f(.. 2024. 3. 13.
[논문 리뷰] DDPM (Denoising Diffusion Probabilistic Models) Intro DDPM은 고품질 샘플을 생성할 수 있는 새로운 접근 방식으로 주목받는 생성 모델의 한획을 그은 논문이다. 순수한 노이즈에서 시작하여 점차적으로 구조를 추가하면서 신호를 점진적으로 제거하는 방식으로 작동한다. 이 과정은 일련의 노이즈 수준에 대한 학습된 분포에 의해 전개되기 때문에, 이 모델들은 샘플의 품질과 다양성에 영향을 받는다. 최근 VR기기와 XR시장이 커지면서 3D generative model도 굉장히 각광받는 시장일 것이라고 생각이 되어 이미지 생성형 모델의 시초가 되는 diffusion model에 대해서 공부해보고 싶었다. Background Knowledge - VAE VAE는 컴퓨터 비전 분야에 한 획을 그은 방법론이다. 특히 이미지 생성 분야에서는 그 임팩트가 엄청났다. .. 2024. 3. 12.
[논문 리뷰] Auto-Encoding Variational Bayes(VAE) Intro 연속적인 또는 이산적인 독립변수 x를 N개 가지고 있는 Dataset X를 정의하고 이때 data는 관찰되지 않은 랜덤한 연속변수 z에 의해서 생성된다고 하자. 그렇다면 해당 process는 2단계로 이루어질 수 있다. 1. 랜덤변수 z는 사전분포 P_θ(z)에 의해서 생성된다. 2. data x는 조건분포 P_θ(x|z)에 의해 생성된다. (추가적으로 해당 함수들은 미분가능하다) 위 문제를 기존의 방법으로는 다루기가 어렵다. 첫번째로 marginal likelihood의 수식을 보면 알 수 있다. 당연히 data X가 P_θ function으로부터 나와야 하지만, 해당 수식은 정의되지 않은 분포 z를 이용하기 때문에 추정하기 매우 어렵다. (그렇기 때문에 MAP(maximum a poster.. 2024. 3. 9.
Algorithm Design - Intro/Data structure Intro 이전에도 타과의 알고리즘 강의를 청강해서 들었으나 실습이 포함된 실습과목을 통해 직접 코드 설계하는 실력도키우고 설계학점도 채울겸 알고리즘 설계 수업을 수강하게 되었고 해당 수업 내용을 정리하는 시리즈가 될 것이다. 우선 알고리즘이란 특정문제를 해결하기 위해 기술한 일련의 명령문이다. 본격적으로 구체적인 알고리즘들을 학습하기전에 복습겸 간단한 기초와 데이터 구조에 대해서 살펴보자. 알고리즘의 요건으로는 크게 세가지 정도로 볼 수 있다. - 완전성과 명확성: 수행결과와 순서가 완전하고 명확하게 명세되어야하고 순수하게 알고리즘이 지시하는대로 실행하기만하면 의도한 결과가 얻어져야하는 것이다. - 입력과 출력: 입력은 알고리즘이 처리해야할 대상으로 제공되는 데이터이고 출력은 입력데이타를 처리하여 얻은.. 2024. 3. 9.
[논문 리뷰] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis Abstract 이 논문은 Ben Mildenhall, Pratul P. Srinivasan, Matthew Tancik, Jonathan T. Barron, Ravi Ramamoorthi, Ren Ng이 공동으로 진행한 연구에 관한 논문으로, 신경 방사성 필드(Neural Radiance Fields, NeRF)를 사용하여 3D 장면을 표현하고, 이를 바탕으로 높은 품질의 뷰 합성(view synthesis)을 달성하는 새로운 방법을 제시한다. 복잡한 장면의 새로운 시점을 합성하기 위해, 소수의 입력 뷰를 사용하여 연속적인 볼륨 장면 함수를 최적화함으로써 최첨단 결과를 달성하는 방법을 제시한다. 이 알고리즘은 장면을 Fully Connected(비컨볼루셔널) 깊은 네트워크를 사용하여 표현하며, 이 네.. 2024. 3. 2.
728x90