프로젝트 개요
어린이집 폭력감지 CCTV로, yolov7을 사용하여, 교사가 아이를 학대할 경우 부모님 핸드폰으로 해당 폭력 영상을 전송하여, 어린이집 학대 사건이 일어났을 경우 증거인멸을 하지 못하게 하며, 빠른 시일 내에 부모님이 아이가 학대받는지 아닌지 알 수 있도록 하기 위해 이번 프로젝트를 진행하게 되었습니다. 거꾸로 어린이집 교사 입장에서는 아이가 작은 생채기가 생겨도 교사의 학대에 의한 것이 아닌, 아이의 실수에 의해 상처가 났다는 등 억울한 일이 생기지 않도록 도와줄 수 있습니다.
프로젝트 현위치
저는 Yolov7의 pre-trained된 pose-estimation을 활용하여 keypoint값을 추출한 후, 해당 값을 LSTM에 학습시켜 폭력 감지 하는 딥러닝 파트를 담당하여 진행하고 있습니다. 현재 keypoint값을 추출하였고, LSTM 초기 학습은 성공하여, 추가 데이터로 학습에 진행중입니다.
Loss
loss는 loss function, 즉 손실함수에서 나온 값을 의미한다. 지도학습의 경우 데이터에 정답레이블이 달려있다. 사람이 수학 문제를 푸는 것처럼 모델이 정답을 예측하면, 예측한 답과 실제 정답의 차이를 안 후, 차이가 덜 나도록 학습하는데 이 때 모델이 예측한 답과 실제 정답의 차이를 비교할 때 쓰이는 함수를 loss function(손실함수)이라고 한다.
Optimization
항상 loss function과 헷갈리는 Optimization에 대해 더 알아보자. loss function에서 모델의 예측값과 정답의 오차를 계산한다. loss function에서 나온 차이 결과값을 최소화 할 수 있도록 loss function의 최솟값을 찾는 것이 Optimization의 방식이다. Optimization을 알고리즘화 한 것을 Optimizer라고 하고 예시로는 경사하강법(GD)이 있다.
activation Function
그렇다면, 딥러닝에서 활성화함수는 어떤 일을 할까? 활성화함수는 딥러닝 퍼셉트론(노드들)의 출력값을 결정하는 비선형 함수이다. 입력값을 출력할 지 말지, 어떤 값으로 변환하여 출력할 지 정하는 함수이다. backward propagation에서 많이 사용되는 loss와 optimization과는 다르게 foward propagation에서 사용된다는 차이점이 있다.
Nomalization
Nomalization이란 정규화라는 뜻으로, 데이터의 범위를 사용자가 원하는 범위로 제한하는 것을 말한다.
지금 내가 진행하고 있는 모델은 loss값이 아예 안나온다. 즉, 출력값과 정답값의 차이를 계산하지 못하고 있음을 알 수 있다. 아무래도 어제는 되었던 loss값이 오늘은 nan이 나오는 게 이상해서 데이터를 다 까보았다. 데이터 내에 nan이 있으면 아예 loss값이 나오지 않는 것이 내 데이터의 원인이었다.
numpy nan값 0으로 바꾸기
우선, 내 데이터 안에 nan값이 있는지 알아보아야 한다.
print(np.isnan(x_train).any())
print(np.isnan(y_train).any())
numpy의 내장 함수인 isnan을 활용하여 nan값이 배열 안에 하나라도 있으면 True가 출력되고, 없으면 False가 출력되도록 한다.
나는 y 데이터에서 True가 출력되어서 nan값을 0으로 바꾸는 과정을 진행하였다.
y_train = np.nan_to_num(y_train)
numpy에 내장된 함수 중 nan값을 숫자 0으로 바꾸어주는 nan_to_num()함수를 사용하였다.
그 결과 어제 그대로 과적합은 있지만, loss값은 잘 나오는 결과를 보았다. overfitting은 되었지만, 결과가 어떻게 나오는지 확인해보자.
그래도 test loss값도 나쁘지 않고, test accuracy값도 나쁘지 않다. loss값이 급속도로 낮아지길래 걱정했는데 나쁘지 않은 것 같아서 다행이다.
'사물인터넷 졸업프로젝트' 카테고리의 다른 글
[사물인터넷 캡스톤 디자인] 폭력감지 CCTV 프로젝트 일지 ⑤ (0) | 2023.06.09 |
---|---|
[사물인터넷 캡스톤디자인] 폭력감지 CCTV 프로젝트 일지 ③ (0) | 2023.05.23 |
[사물인터넷 졸업 프로젝트] 폭력감지 CCTV 프로젝트 일지 ② (0) | 2023.05.23 |
[사물인터넷 캡스톤 디자인] CCTV 프로젝트 일지 ① (0) | 2023.05.23 |