전체 글
-
[BOJ] 16236번 아기 상어공부/Algorithm 2021. 8. 16. 21:08
처음 DFS로 접근했다가 갈아엎게 됐다... 역시 문제 해석에 많은 시간을 투자해서 가닥을 잘 잡아야 함을 뼈저리게 느꼈다. 본 문제를 풀면서 BFS로 방향 탐색조건을 단순히 상, 좌, 우, 하 로 하여 탐색된 물고기 후보들 중 첫번째 것을 선택하면 되리라 생각하고 풀었지만 그런 단순한 조건으로 풀리는 문제는 아니었다. 주의할 점 해당 문제는 최소 거리가 가장 우선순위 조건인 문제로, DFS보다는 BFS가 적합하다. 상어로부터 동일한 거리를 갖는 물고기들에 대해 아래를 주의해야 한다. 문제에서 언급한 조건은 단순히 행 인덱스가 가장 낮은, 그 중에서도 열 인덱스가 가장 낮은 물고기를 의미하므로, BFS로 탐색한 물고기 순서를 그대로 사용하면 안됨! (BFS로 탐색한 순서는, 상어로부터 출발한 물고기들의 ..
-
C - strncat() 함수 제대로 사용하기 (버퍼 오버플로우 방지)공부/Algorithm 2021. 7. 22. 12:25
Dependency #include 내용 설명 실무에서 strncat() 함수는 strcat()의 사용으로부터 발생할 수 있는 버퍼오버플로우를 방지하여 안전하게 사용하기 위해 사용한다. 배경 지식 char a[32] = "Hello" char b[32] = "World!" a는 1바이트씩 다음과 같이 저장되어 있다. -> H, e, l, l, o, \0(Null terminator) b는 1바이트씩 다음과 같이 저장되어 있다. -> W, o, r, l, d, \0(Null terminator) 예를 들어 printf나 sprintf와 같은 문자열 출력 함수를 이용해 아래와 같은 구문으로 문자열을 출력한다고 하였을 때 printf(a) // Hello printf(b) // World! 컴파일러는 a, b..
-
1. 시작하기카테고리 없음 2021. 6. 27. 16:06
본 카테고리의 글들은 Forecasting: Principles and Practice (otexts.com) 를 개인적으로 공부한 내용 중 중요하다고 생각되는 부분들을 기록하기 위해 작성한다. 용어정리 외삽(extrapolate) : [수학] 어떤 변역 안에서 몇 개의 변숫값에 대한 함숫값이 알려져 있을 때 이 변역 외의 변숫값에 대한 함숫값을 추정하는 방법. 1.1 예측 될 수 있는 것이란? 종종 예측에 있어서 핵심적인 과정은 정확한 예측이 가능한 때가 언제인지와, 그리고 예측이 큰 의미가 없을 때(예측을 하는 것이 동전을 던진 결과로 의사결정을 하는 것보다 나을 것이 없을 때)가 언제인지를 아는 것입니다. 좋은 예측은 과거 데이터에서 존재하는 진짜 패턴과 관계를 잡아내지만, 다시 반복되지 않을 과거..
-
[논문 리뷰] (CycleGAN) Unpaired Image-to-Image Translationusing Cycle-Consistent Adversarial Networks공부/CV & DL 논문 리뷰 2021. 6. 19. 16:39
본 논문은 unpaired dataset을 다뤄야하는 많은 NN 문제들에 적용해볼 수 있는 cycle-consistency loss에 대해 다룬다. https://www.youtube.com/watch?v=Fkqf3dS9Cqw CycleGAN의 저자이신 Taesung Park 님의 네이버 발표 영상이다. 핵심에 대해 넘나 친절하고 자세히 설명해 주셨는데, GAN이 신기하고 잘 되는 핵심은 loss가 고정된 것이 아닌 유동적이기 때문일 수 있다 -> adversarial loss의 계산에 활용되는 discriminator 또한 학습과정에서 변화함. 본 연구에서는 Unpaired dataset 으로 translation 하는 방법에 대해 연구한다. 그렇다면, 입력 x에 대한 타겟 y가 정해지지 않았다는 말인..
-
Non local means 알고리즘, MATLAB 구현 코드 포함공부/Digital Image Processing 2020. 7. 16. 23:55
Non local means algorithm은 노이즈 제거에 강력한 성능을 보여주는 denoising 알고리즘이다. 일반적으로, gaussian smoothing과 같은 노이즈 제거 알고리즘을 많이 사용하는데 이러한 smoothing 방식은 local한 데이터들, 즉 해당 픽셀 주변의 정보들만을 이용한다는데에 그 한계가 있다. 그렇기 때문에 edge등이 소실되기 마련이고, 텍스쳐가 뭉개지는등의 단점이 있다. 이를 통해 노이즈가 제거되기도 하지만, 영상의 디테일 또한 소실되는 문제점이 있다. NL means 알고리즘은 다음과같은 아이디어에서 시작된다. 해당 픽셀의 gaussian kernel에 해당하는 local 영역의 픽셀값 대신, 영상내에서 해당 픽셀 주변 영역과 비슷한 패턴을 갖는 영역들을 찾아내 ..
-
Hash, Hash function는 무엇일까? (해시 값 및 해시 함수 설명)공부/Algorithm 2020. 5. 30. 20:44
우선 위키피디아에 검색하면 다음처럼 설명한다. 해시 함수란, '임의의 길이의 데이터'를 '고정된 길이의 데이터'로 매핑하는 함수이다. 이렇게 매핑된 함수의 출력을 '해시'라고 부른다. 이러한 해시 함수는, 매우 빠른 데이터 검색을 위한 컴퓨터 소프트웨어에 널리 사용된다. 즉, 예를 들어 32bit, 64bit, 128bit 등 임의의 N-bit 데이터를 갖고있을때, 이 데이터를 16bit와 같은 적은 bit의 데이터로 매핑하는 방법에 대한 설명이다. 64bit 데이터를 16bit의 데이터로 변환하는 간단한 해시 함수는 다음과 같다. int16 hashfunction( int64 i ) { int16 hash = (int16)(i & 0xFFFF); hash ^= (int16)((i >> 16) & 0xF..
-
(Remote Sensing) Multispectral, Hyperspectral image의 차이공부/Algorithm 2020. 5. 5. 15:06
인간의 눈은 가시광선 (380nm ~ 700nm) 스펙트럼내의 빛을 식별할 수 있다. 하지만, 인간이 아닌 다른 동물들은 저마다 다른 스펙트럼대의 빛을 식별할 수 있는데, 금붕어는 적외선 (700nm ~ 1mm) 스펙트럼내의 빛을 식별할 수 있으며 꿀벌은 자외선 (10nm ~ 380nm) 스펙트럼내의 빛을 식별할 수 있다. 그렇다면, 금붕어와 인간, 꿀벌의 눈을 합치면 적외선, 자외선, 가시광선 모두 볼 수 있다는 뜻이 되는데 인간들은 이를 sensor를 통해 해결하고자 한 것이다. 그렇게 시작된 개념이 Multispectral, Hyperspectral image 이다. Multispectral(MS)과 Hyperspectral(HS)의 차이는 스펙트럼을 나누는 밴드의 갯수와 그 밴드의 폭에 의해 차이..
-
(Remote Sensing) Pansharpening, Pansharpened image 는 무엇일까?공부/Algorithm 2020. 5. 5. 13:19
대학원 전공강의로 Remote sensing 강의를 수강중인데 Pansharpening에 대해 공부하게되어 글을 남긴다. Remote sensing에서 많이 사용되는 Pansharpening이란, wikipedia에서 다음과같이 설명한다. Low-res color bands (MS image) + High-res grayscale band (Pancromatic image(PAN)) = Hi-res color image 예를 들어, SPOT 6, 7 위성은 각각 1.5m와 6m의 공간해상도를 갖는 single-band panchromatic 이미지와 4-band multispectral 이미지를 촬영할 수 있으며, WorldView-4 위성은 각각 0.31m와 1.24m의 공간해상도를 갖는 single-..