일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 조립식 컴퓨터
- 피아노커버
- 서현우의 C프로그래밍 정복
- 논문 파파고
- C
- 논문 구글번역
- python piano
- 수소
- SRGAN
- 함수 원형
- 씀
- mri
- 너의 이름은 ost
- piano cover
- 구글번역
- 피아노 커버
- 재귀호출
- Python
- function
- 유재하
- C언어
- 중성자
- pdf 파파고
- magnetic field
- pdf 복붙
- 원소
- 이것이 C언어다
- 자기장
- pdf복붙
- super resolution
- Today
- Total
로봇이 되고픈 부엉이
Super Resolution Convolution Neural Networks(SRCNN) 학습시켜보기1 본문
Super Resolution Convolution Neural Networks(SRCNN) 학습시켜보기1
탈모탈모대작전 2019. 1. 29. 14:29SRCNN 학습시켜보기1 - SRCNN에 대한 유래
SR, 즉 초해상도에 대하여 앞에서 설명한 바가 있다.
https://biomnic.tistory.com/category/Deep%20Learning
그런데 SR을 하는 방법에는 수많은 방법이 있다고 한다.
선행된 논문에 따르면, 대표적으로
1. exampled based Super Resolution
2. sparse coding based method Super Resolution
두개가 존재해왔다.
그런데 2015년 Deep Learning에 대한 사람들의 관심과 더불어
Deep Learning을 Super Resolution에 접목시키는 방법을 생각해 냈다.
그것이 바로 아래 링크에 들어가면 있는 SRCNN이다.
https://arxiv.org/abs/1501.00092(오른쪽 상단에 PDF 다운로드 하는 곳이 있다.)
(물론 영어다. 영어를 잘 읽지 못하는 사람은 아래 링크를 참고하라. SRCNN을 아주 잘 공부한 사람의 블로그이다. 한글로 위 논문을 해석해 놓았다.)
https://jamiekang.github.io/2017/04/24/image-super-resolution-using-deep-convolutional-networks
SRCNN이 무엇이냐고 묻는다면, 위에서 언급했듯이,
Super Resolution 초해상도로 만드는 작업을 하는데, Convolution Neural Network를 이용한다는 말이다.
줄여서 CNN이라 부른다. 이 CNN의 단어들을 살펴보자.
우선 Convolution 이란 합성곱이라는 뜻이다. (무슨 말인지 안다면 미친것이다.)
영상을 다룰 때, 합성곱이라는 연산을 사용했더니 영상의 회전, 임의의 작업을 하는 데 용이했다고 한다. 따라서 합성곱을 사용한다.
더 알고 싶어하는 사람들은 다음을 보고, 그렇지 않은 사람들은 넘어가길 바란다.=
합성곱을 시키는 게 어려운게 아니다. 위 두 함수가 있다.
이 두개 중 하나를 Y축 대칭을 시켜서 아래처럼 만들 수 있다.
여기서는 함수g 를 대칭시킨 것이다.
그래서 안에 수식이 (타우-t)인 것이다.
타우는 a 같은 상수 미지수다.
이제 타우를 변경시키면 빨간 그래프에서 1자로 된 부위가 좌우로 움직인다.
나는 저 빨간 아이를 점점 오른쪽으로 옮길 것이다.
타우(미지수라 했다)를 점점 증가시키면 빨간색 그래프는 원점부터 시작되는
파란 놈과 만나게 된다.
타우를 계속 증가시키면 만나고 통과하며 지나가는데
위도 같다. 계속 통과해서 지나갈 것이다.
결국 컨벌루션이란 타우를 조금 증가킨 뒤 두 그래프가 공유하는 부분의 면적을 기록하여
더하는 작업이라 할 수 있다.
이어서 말하자면, CNN의 중간과 끝에는 Neural Network 가 있다.
말을 파헤쳐보자면, 뉴럴은 뉴런이 떠오른다. 뉴런이란 신경세포를 뜻한다.
게다가 네트워크라고 한다면 신경세포의 구조라고 할 수 있다.
다음은 실제 신경세포의 구조이다.
인공지능의 Deep Learning은 하나로 부터 여러 갈래로 나누어 또 다른 곳으로 들어간다는 신경세포 구조를 빌려왔다. 그 구조를 인공적으로 만들었다 하여 인공신경망 즉, Neural Network 뉴럴 네트워크 라고 부른다.
다음은 인공신경망을 표현한 사진이다.
(솔직히 비슷하다 못해 아주 이론을 잘 빌려왔다고 해도 무방한 것 같다.)
결과적으로, CNN이란 위에서 말했던
인공신경망 처럼 생긴 구조 안에 컨벌루션 과정을 집어넣어 영상을 다루기에 용이하게 하는 것을 뜻한다.
따라서 SRCNN이란, CNN이라는 방법을 가지고 SR 초해상도를 만들어 보겠다는 뜻이다.
Reference
1. Pull Requests to Tomorrow Jamie Kang's weblog on computing
https://jamiekang.github.io/2017/04/24/image-super-resolution-using-deep-convolutional-networks
2.
Computer Science > Computer Vision and Pattern Recognition
Image Super-Resolution Using Deep Convolutional Networks
https://arxiv.org/abs/1501.00092
3. 위키백과, 합성곱
https://ko.wikipedia.org/wiki/%ED%95%A9%EC%84%B1%EA%B3%B1
4. 뇌세포 - 뉴런 또는 신경세포(네이버 블로그)
https://m.blog.naver.com/PostView.nhn?blogId=neurosci97&logNo=150167233239&proxyReferer=https%3A%2F%2Fwww.google.com%2F
5. 위키백과, 인공신경망
https://ko.wikipedia.org/wiki/%EC%9D%B8%EA%B3%B5_%EC%8B%A0%EA%B2%BD%EB%A7%9D
'Deep Learning > Super Resolution 초해상도' 카테고리의 다른 글
(SRGAN) Super Resolution Generative Adversarial Network code 돌려보기3 (0) | 2019.11.01 |
---|---|
(SRGAN) Super Resolution Generative Adversarial Network code 돌려보기2 (0) | 2019.10.31 |
(SRGAN) Super Resolution Generative Adversarial Network code 돌려보기1 (0) | 2019.06.14 |
첫번째 논문 클럽 : Perceptual Losses for Real-Time Style Transfer and Super-Resolution(1) (0) | 2019.03.10 |
도데체 왜 Super Resolution을 공부하는 걸까? (0) | 2019.01.24 |