본문 바로가기
728x90

전체 글426

Digital Image Processing - Pixel Processing / 히스토그램 Pixel processing example Image negatives: 픽셀 값을 최대값에서 뺀다. 밝은 영역이 어둡게, 어두운 영역이 밝게 변한다. 공식:s = T(r) = L-1-r Log transform: 픽셀 값을 로그 함수에 적용한다. 어두운 영역의 명암 대비가 증가하고 밝은 영역은 덜 변한다. 공식: s = T(r) = clog(1+r) Contrast Stretching: 픽셀 값을 일정한 범위에 매핑하여 명암 대비를 조절한다. 어두운 영역을 더 어둡게, 밝은 영역을 더 밝게 만들 수 있다. Color transform: 색조, 채도, 명도를 조절하여 영상의 색상을 변환한다. 다양한 색상 효과를 만들 수 있다. Gamma correction: 영상의 밝기 비선형성을 보정한다. 어둡거나 .. 2024. 3. 26.
Algorithm Design - Parallel Sorting Algorithm / 바이토닉 정렬 / 홀짝 정렬 CPU vs GPUGPU는 CPU와 다르게 수천 수만개의 코어가 존재하여 hardware multithreading이나 SIMD(Single Input, Multiple Data)과 같은 병렬처리에서 강력한 모습을 보인다.CPU는 큰 캐시를 갖고 있어서  긴 대기 시간 메모리 액세스를 짧은 대기 시간 캐시 액세스로 변환하는 능력이 있다. 고도화된 제어능력이 있어서 분기 지연 시간 감소를 위한 분기 예측능력과 데이터 지연 시간 단축을 위한 데이터 포워딩도 할 수 있다. 또한 강력한 ALU로 작업 지연 시간을 단축한다.GPU는 작은 캐시가 특징이다. 메모리 처리량을 높이기 위한 것이다. 분기 예측이나 데이터 포워딩이 없다. 에너지 효율이 높은 ALU가 있어서 지연 시간이 길지만 높은 처리량을 위.. 2024. 3. 26.
Algorithm Design - 셸 정렬 / 퀵 정렬 / 힙 정렬 / 계수 정렬 / 기수 정렬 Shell Sort 셸 정렬(Shell Sort)은 삽입 정렬을 개선한 버전으로, 1959년 도널드 셸(Donald Shell)에 의해 발표되었다. 삽입 정렬이 이웃하는 요소들과의 비교만을 수행하는 반면, 셸 정렬은 떨어진 요소들과의 비교를 통해 더 빠른 정렬을 가능하게 한다. Stable하고 In-place정렬법이라는 장점이 있다. 우선 정렬 과정을 직접 보자. 정렬과정에서 볼 수 있듯이 셸 정렬에서는 '간격(gap)'이라는 개념을 사용하여, 간격만큼 떨어진 요소들을 서로 비교하고 정렬한다. 초기 간격은 보통 배열 크기의 절반으로 설정하고, 각 단계마다 간격을 줄여나간다. 설정된 간격에 따라 배열을 여러 부분 리스트로 나누고, 각 부분 리스트에 대해 독립적으로 삽입 정렬을 수행한다. 간격을 줄여가며 위.. 2024. 3. 22.
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.
728x90