일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코드트리
- 2019카카오코테
- 이것이자바다9장
- 백준괄호
- 윤곽선검출
- 백준9012
- 백준스택
- 확인문제
- 카카오코테
- 웹개발기초
- 백준평범한배낭
- 백준온라인저지
- 딥러닝
- BOJ1655
- java
- KT포트포워딩
- 냅색알고리즘
- 코테
- 백준10828
- 가운데를말해요
- 백준가운데를말해요
- 컴퓨터비전
- 이것이자바다확인문제
- 백준
- 스파르타코딩클럽
- BOJ
- 합성곱연산
- 코딩테스트실력진단
- 이것이자바다
- 운영체제
- Today
- Total
코딩하는 락커
[Week4] 물체 로컬리제이션 + 특징점 탐지 본문
https://www.youtube.com/watch?v=GSwYGkTfOKk
컴퓨터가 물체를 인식하게 하기 위해서는 일단 물체 로컬리제이션이라는 걸 알아야 한다.
일단 Image classification이 뭘까? 쉽게 말해 '차'를 보고 '차다!'라고 말하는 것이다.
그렇다면 Object localization은? 차를 보고 '차다!' 라고 말하는 것 + '차는 여기 있음' 하고 차에 바운딩 박스를 표시해주는 것과 같은 것이다. 물체 분류에서 족금 더 나아갔다고 할 수 있다.
이런 Object localization에서 더 나아간 것이 Object detection이다. 간단하게 말하자면 사진 속의 모든 차를 보고 '차다!' +'차는 여기있음' 하는 것이다. 그리고 단순히 '차'만이 그 대상이 되는 것이 아니라 보행자나 오토바이와 같은 물체가 그 대상이 될 수도 있다. 즉, Object detection에서 대상은 더 이상 Image classification이나 Obejct detection처럼 한 개에 한 종류가 아니라는 뜻이다.
신경망이 물체의 위치를 찾아내기 위해서 bounding box를 출력하도록 4개의 추가적인 출력을 갖도록 신경망을 변형해야 한다. 경계상자의 중점 (b_x, b_y)와 경계상자의 높이와 너비 (b_h, b_w)이다.
예를 들어 위와 같은 이미지에서 Object localization을 한다고 할 때, 목표 레이블 y는 원하는 물체가 있는지 없는지를 의미(물체 분류에 대한 확률)하는 p_c, 원하는 물체가 있을 경우의 bounding box의 값 b_x, b_y, b_h, b_w, 그리고 물체에 대한 분류값인 c1, c2, c3(pedestrian, car, motorcycle)가 있다.
그리고 만약 훈련 세트를 만든다고 할 때, bounding box에 대한 레이블 작업이 필요하다. 아주 귀찮은 작업이다...ㅂㄷㅂㄷ
그래서 위 이미지와 같은 목표 레이블 행렬이 나오게 된다.
그리고 손실함수 값은 제곱 오차를 사용하여 y = 1인 경우, 즉 물체가 존재하는 경우에는 ( y^1 - y1)^2 + ( y^2 - y2)^2+ ... + ( y^8- y8)^2이 된다. 그리고 물체가 존재하지 않는 경우인 y = 0인 경우 손실 값은 (y^1 - y1)^2가 된다. 왜냐하면 y1을 제외한 모든 나머지 요소들은 무관하기 때문이다.
일반적으로 신경망에서는 이미지의 특징점을 찾아 (x,y)의 값으로 나타낸다. 따라서 신경망은 마지막 층에서 (l_x, l_y)와 같은 2개의 값을 갖게 된다. 그렇다면 특징점 값을 2개 이상의 여러 개의 값으로 출력하고 싶다면 어떨까?
일단 그러기 위해서는 그 여러 개의 특징점 값을 포함하는 레이블 트레이닝 셋을 만들어야 한다... 아주 귀찮은 작업이란 뜻이다.
예를 들어 위 이미지에서 64개의 얼굴의 특징점을 뽑는다고 한다면 저번 포스팅에서 했듯 결과 레이블 y는 이란 얼굴이 있는지 없는지를 나타내는 출력값 p_c, 그리고 p_c가 참값일때의 특징점 값 l_1x, l_1y ... l_64x, l_64y까지 총 129개의 출력값을 갖게 된다. 이것이 바로 감정 인식의 기본 설계가 된다. 만약 얼굴이 아니라 자세 감지를 한다고 해도 어려운 것은 없다. 가슴 중앙이나 어깨, 팔꿈치, 손목 등과 같은 몇 가지 중요한 특징점을 출력 값으로 받으면 된다.
'[2020] 📚 DSC 겨울방학 스터디' 카테고리의 다른 글
[Week4] 경계 상자 예측하기 + 합집합 위의 교집합(IOU) (0) | 2020.02.07 |
---|---|
[Week4] 물체 인식 + 합성곱으로 슬라이딩 윈도 구현하기 (0) | 2020.02.06 |
[Week3] 왜 케이스 스터디를 하나요? + 고전적인 네트워크들 (0) | 2020.02.01 |
[Week3] 왜 합성곱을 사용할까요? (0) | 2020.02.01 |
[Week3] CNN 예시 (0) | 2020.02.01 |