일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- KT포트포워딩
- 백준
- 이것이자바다9장
- 백준10828
- 윤곽선검출
- 2019카카오코테
- BOJ1655
- 백준가운데를말해요
- 백준스택
- 합성곱연산
- 백준평범한배낭
- 컴퓨터비전
- 이것이자바다
- BOJ
- 카카오코테
- 웹개발기초
- 냅색알고리즘
- 스파르타코딩클럽
- 백준괄호
- 이것이자바다확인문제
- java
- 운영체제
- 가운데를말해요
- 확인문제
- 코드트리
- 딥러닝
- 코테
- 백준온라인저지
- 코딩테스트실력진단
- 백준9012
- Today
- Total
목록[2020] 📚 DSC 겨울방학 스터디 (15)
코딩하는 락커

https://youtu.be/VAo84c1hQX8https://youtu.be/RTlwl2bv0Tghttps://youtu.be/9s_FpMpdYW8 비-최대값 억제Non-max suppression example는 알고리즘이 각 물체를 한 번씩만 감지하게 해준다. 즉, 찾아낸 많은 bounding box들 중 가장 정확한 것을 제외하고 지우는 역할을 하는 것이다. 비-최대값 억제를 하기 위해서는 먼저 각 bounding box의 감지 확률 p_c을 계산한다. 그리고 감지 확률이 가장 높은 것(위 이미지에서는 0.9, 초록색 bounding box) 에서 object를 찾았다고 가정한 뒤 나머지 bounding 를 검사하여 가정한 부분과 많이 겹치는, 즉 IOU가 높은 bounding box들(0.7,..

https://youtu.be/yo9S3eNtkXc https://youtu.be/ANIzQ5G-XPE 앞선 포스팅에서 sliding window를 통해 input이미지의 object detection을 알아보았지만, 여전히 문제는 남아있다. 픽셀상의 문제로 bounding box가 object와 정확하게 일치하지 않는 것이다. 이 문제를 해결하기 위해서는 YOLO(You Only Look Once) 알고리즘을 사용해야 한다. 기본적인 원리는 image classiffy나 object localization과 동일하다. 우선 훈련 셋을 만들기 위해 output 레이블 y를 정의한다. YOLO 알고리즘은 두 객체의 중간 점을 취한 다음, 중간 점을 포함하는 영역에 이 객체를 해당하는 것이다. 그렇게 되면 ..

https://youtu.be/5e5pjeojznk https://youtu.be/XdsmlBGOK-k 이번엔 Object localization과 land mark를 사용한 Object detection의 알고리즘에 대해 알아보자. 바로 Sliding windows 알고리즘이다. 모든 신경망 구축에서 그렇듯 Sliding window algorithm을 하기 위해서는 먼저 레이블 트레이닝 셋을 만들어야 하는데, 위 이미지처럼 딱 맞게 짤린 이미지를 사용한다. 그리고 이러한 트레이닝 셋을 합성곱 신경망에 집어넣으면 그 결과로 손실 값 y가 출력된다. 예를 들어 위 이미지의 좌측 이미지에서 차를 찾는다고 할 때, 먼저 빨간색 사각형과 같은 특정 window를 사용하여 input이미지의 왼쪽부터 window..

https://www.youtube.com/watch?v=GSwYGkTfOKk https://youtu.be/rRB9iymNy1w 컴퓨터가 물체를 인식하게 하기 위해서는 일단 물체 로컬리제이션이라는 걸 알아야 한다. 일단 Image classification이 뭘까? 쉽게 말해 '차'를 보고 '차다!'라고 말하는 것이다. 그렇다면 Object localization은? 차를 보고 '차다!' 라고 말하는 것 + '차는 여기 있음' 하고 차에 바운딩 박스를 표시해주는 것과 같은 것이다. 물체 분류에서 족금 더 나아갔다고 할 수 있다. 이런 Object localization에서 더 나아간 것이 Object detection이다. 간단하게 말하자면 사진 속의 모든 차를 보고 '차다!' +'차는 여기있음' 하는..

합성곱 신경망을 잘 구축하기 위해서는 다른 효율적인 신경망 구조의 케이스를 살펴봐야 한다. 마치 우리가 다른 사람의 코드를 살펴보며 공부하듯 말이다. 그래서 이번엔 몇몇의 대표적인 신경망에 대해 공부해도록 하겠다! https://youtu.be/dZVkygnKh1M 이것은 LeNet5라고 하는 손글씨의 숫자를 인식하는 목적의 신경망이다. 위 이미지와 같은 구조를 가지며, 흑백 이미지를 학습하기 때문에 32 x 32 x 1의 입력 이미지를 갖는다. 요즘에 소프트맥스를 사용하여 10개의 예측값이 나오게 하지만, LeNet5는 요즘은 잘 안쓰는 분류기를 출력층에서 사용한다고 한다. LeNet5는 요즘 기준으로는 적은 6만개의 변수를 가지며, 논문에서는 Pooling 층 뒤에 ReLU가 아닌 Sigmoid 비선..

https://youtu.be/ay3zYUeuyhU 뭔가 순서가 바뀌었다고 생각할 수도 있지만 이제 우리는 왜 신경망에서 합성곱을 사용하는 것이 유용한지에 대해 알아보자. Fully Connected Layer 대신 합성곱 층을 사용할 때 두 가지 이점이 있다. 변수 공유와 희소 연결이다. 예를 들어 일반적인 신경망에서 32 x 32 x 3 이미지를 5 x 5 x 6 사이즈 필터로 28 x 28 x 6의 출력 이미지로 합성곱 연산을 했을 경우 32 x 32 x 3 = 3072의 유닛과 28 x 28 x 6 = 4704의 유닛을 연결하여 3072 x 4704 + 4704 = ...약 1400만개의 변수가 필요하다. 하지만 합성곱 신경망에서는 5 x 5의 필터이므로 25개의 변수를 가지고 여기에 Bias를 ..

https://youtu.be/bXJx7y51cl0 지금까지 합성곱 신경망을 구성하는 대부분의 구성요소를 배웠으니 이제 예시를 한번 봐보자! 32 x 32 x 3(R,G,B) 이미지가 있고, 0부터 9까지의 숫자를 알아보는 신경망을 LeNet-5라는 클래식한 신경망과 유사하게 구성한다고 해보자. 첫 번째 층이 f=5, s=1에 p=0인 필터를 사용한다고 할 때, 출력은 28 x 28 x 6이다. (Conv1) Max Pooling을 사용한 두 번째 층이 f=2, s=2, p=0인 필터를 사용할 때, 저번 포스팅에서 했던 내용처럼 높이와 너비의 값이 절반으로 줄어들게 되므로 출력은 14 x 14 x 6이 된다. (Pool1) 이 때 합성곱 신경망 분야의 관습에 따라 Covn1층과 Pool1층을 한 레이어로..

https://youtu.be/8oOgPUO-TBY 풀링은 합성곱 연산을 할 때 표현 크기를 줄임으로써 계산속도를 높이고 특성을 더 잘 검출해내는 방법이다. Max Pooling은 이미지의 구역을 뒤, 그 구역에서의 최대값을 출력값으로 지정하여 결과행렬을 도출해내는 것이다. 이것은 마치 2 x 2 사이즈에 stride=2 짜리 필터를 사용하는 것과 같다. 그렇다면 Max Pooling은 왜 사용하냐? 음...그것은 최대값이 원본 이미지의 어떤 특성을 나타낼 수 있기 때문이다. 마치 고양이의 눈처럼 말이다. Max Pooling을 사용하는 것은 대부분 구역의 최대값을 통해 구역별 이미지의 특성을 직관적으로 볼 수 있기 때문이라는 것과, 성능이 좋다는 데에 이유가 있다. Max Pooling의 또 한가지 특..