일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 중학1-1
- CSS
- 데이터입출력구현
- 텍스트마이닝
- 혼공머신
- 딥러닝
- 머신러닝
- JSP/Servlet
- 데이터베이스
- 컴퓨터구조
- 코딩테스트
- 운영체제
- 영어공부
- 정보처리기사필기
- 자바 실습
- 정수와유리수
- 데이터분석
- html/css
- numpy/pandas
- CNN
- 파이썬라이브러리
- 중학수학
- pandas
- 파이썬
- 연습문제
- 컴퓨터비전
- 정보처리기사실기
- SQL
- 자바
- C++
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
CNN 12 - Image Segemtation 3 : 차량 파손범위 예측 실습하기 전에 알아두어야 할 사항 본문
어제 AICON 행사가 끝나고 집에 왔는데 8시가 넘었다. 그리고 저녁을 먹자마자 얼마나 졸리던지 도저히 눈을 뜰 수가 없어 저녁 공부는 하지 않고 바로 잠을 잤다. 9시부터 취침을 했나.. 보통 하루에 적어도 7개 이상의 블로그를 올리는데 어제는 내가 블로그 활동을 시작한 이후로 가장 적은 양인 2개를 올린 날이었다.
그리고 오늘 새벽 3시 반에 일어나서 잠을 깨고 다시 공부를 시작해 본다. 일어나서 15분 정도는 천천히 공부를 시작하느라 벌써 4시가 다 되어서 아쉬움이 들지만 오늘은 하루종일 공부를 할 예정이다.
아침에 있는 마니 아카데미 특강에 참여할지 여전히 고민이 되지만 오늘 새벽에 해야 할 공부 분량을 잘 마치면 한번 고민해 봐야겠다. 이번주에는 외부 행사가 많아서 공부 목표를 거의 채우지 못했다.
커스텀 데이터를 활용한 차량 파손범위 예측 실습 전 개념과 이론 알아보기
쏘카에서는 차량 파손 사례가 문제로 대두되었는데 수동으로 하니 여러 문제가 발생했다.
하루에 보통 7~8만 장의 사진을 계속해서 검수했다고 한다. 투여되는 인력을 많았을 것이고, 사람이 하다 보니 실수도 있었을 것이다. 이것을 딥러닝으로 자동화하여 해결하고자 하는 동기로 이 프로젝트를 시작했다고 한다.
이미지 단위로 파손을 판단한 것과 픽셀 단위로 판단한 것이 있다. 즉 차량 한 장에 파손 여부가 있는지 없는지 판단하는 작업을 했다는 의미이다. 그리고 두 번째 내용은 픽셀 단위로 파손된 것인지 아닌지 작업을 했다는 것이다. 왜 모델을 두 개로 만들었을까? 업무 효율 속도 때문이다.
AI 모델 하나로 모든 것을 해결하면 좋지만 현실적으로는 그렇게 되지 않는 경우가 있다. 한 장당 이미지 분할하는데 15초가 걸리기에 전체 사진 중에서 파손이 있는 차량인지 아닌지 여부를 판단하는 모델을 먼저 돌렸다. 하지만 임계치를 높여서(예를 들면 80%) 계산했을 것으로 생각된다.
우리가 배울 때는 0.5 이상은 양성, 미만은 음성으로 판단한다고 하지만, 개발자가 임계치를 조정해서 사용하면 더 효과적인 작업이 된다.
사용자들이 차량을 찍을 때 흐리거나 빗겨나간 사진을 올려주기도 한다. 이 문제를 해결하기 위해 사용자들에게 사진 촬영에 대한 안내를 하거나 모델에게 일부러 정확하지 않은 데이터를 넣어 강건하게 학습을 시켰다.
모델을 3가지를 돌렸는데 두 가지는 조금 전에 언급했던 것들이고, 다른 하나는 YOLO v3로 만들었다. 즉 객체의 위치를 판별하는 YOLO, 차량 파손 여부를 판별하는 Global Damage Classifier 그리고 정확한 위치 영역을 판단하게 하는 Segemtation Network이다. 지금은 이들을 한 번에 처리하는 기술이 있지만 이 당시에는 단계별로 진행했다.
성능 평가에서 실제 자동차의 영역과 모델이 예측 영역이 이렇게 표시될 때, 객체 탐지에서는 실제와 예측이 겹치는 정도로 파악한다. 이것을 IoU라고 한다. 즉, 2개 데이터의 합집합 분의 교집합을 계산한 값이다.
보통은 0.5를 기준으로 하지만 임계치를 높일 수도 있다. 이것으로 객체 탐지의 정확도를 판단한다.
하지만 실제 현장에서는 0.5로 정확하게 맞추기가 어려우니 사진을 늘릴수록 임계치를 0.5에서 0.6 등 점점 올리면서 판단한다. 이것을 Ap라고 한다.
임계치를 바꾸어가면서 평가를 내리는 것을 AP라고 하고, m은 각 객체의 평균을 낸 것이다. 예를 들면 이미지에는 자동차뿐 아니라 사람이 있을 수도 있다. 이런 자동차 점수와 사람의 점수를 합산해서 평규을 낸 것이 mAP이다. 즉 평균의 평균이다. AP 옆에 box, mask가 있는데 박스와 마스크끼리 겹쳐지는 정도를 말한다.
학습을 마치고
이번 시간에는 차량 파손에 대한 프로젝트 관련 블로그를 보면서 이론적인 내용을 학습했다. 조금은 지루한 내용이었지만 나중에 필요할 수도 있기에 넘기지 않고 대부분 기록하려고 했다.
이 선생님은 별로 중요하지 않은 이야기도 마치 중요한 것처럼 매우 자세하게 설명하는 경향이 있었다. 내가 볼 때는 하나도 중요치 않아 보이는데 선생님의 기준은 다를 수도 있겠다.