본문 바로가기
IT/개발

뻘짓 개발 일기

by GGT 2020. 11. 23.

이번 여름 전에 취업에 대한 불안감으로

여러가지 일들을 벌려 놓았는데 그 중에서도 가장 진전이 없던 것이 바로 한이음 프로젝트

 

인턴하랴 창업지원사업 참여하랴 살인적인 여름 일정에 7-9월이 날아가고

학기가 시작되면서 생긴 또 다른 전공 프로젝트가 겹쳐

한이음은 끝날 시작할 기미가 안보였다.

 

25일까지 결과보고서를 제출해달라는 충격적인 소식에 

다급하게 시작된 프로젝트

 

해야하는 프로젝트는 그냥 트럭에 적재된 소금의 양을 카메라로 인식해서

어느정도 꽉 차게 되면 알람을 해주면 된다.

 

욜로마크로 디지털 막노동 중

그래서 나는 요로코롬 적절하게 소금이 올라간 사진들로 트레이닝 시키면 되지 않을까 해서 

바로 실천으로 옮겼다.

중간 중간에 비어있거나 적정량 미만으로 적재된 트럭의 사진을 넣으면 

얘가 똑똑해지지 않을까 해서 함정카드들도 넣어봤다.

 

영상인식, 머신러닝에 대해 잘 모르기 때문에 뇌피셜

 

여러 차례 끝에 좌측의 손실 그래프를 얻을 수 있었고

여기서 anchor값을 조절하고 빈 트럭 사진 좀 추가하고 하니

최종적으로 오른쪽 그래프를 얻을 수 있었다.

데이터셋이라고 해봐야 6~800장 정도이지만 혼자 데이터를 수집하고 라벨링하다보니

도저히 몇천이 넘는 데이터를 쌓는건 시도할 수 없었다.

 

아 참고로 직접 사진을 촬영하는 것도, 영상을 캡쳐하는 것도 일이라 생각해서

Keras ImageDataGenerator로 조금씩 각도, 밝기, 확대 등을 조절하여 변형 데이터를 생성해

테스트 셋으로 만들었다.

 

Yolo mark로 막노동한 결과
결과

결국 짠 이렇게 일정량 이상의 소금이 적재된 트럭이 인식되게 된다.

직접 소금을 부어가며 테스트 해본 결과 비어있거나 조금 담겨있는 경우에는 인식되지 않는다.

 

알람같은 경우에는 한번 인식되면 계속 알람 보내는 것이 아니라

1분의 쿨타임을 두어서 계속 시끄럽게 만드는 불상사를 없앴고

 

알람 소리 재생이 알아서 병렬적으로 실행될 줄 알았는데

재생 시간 동안 블로킹되어 있어서 해당 함수는 스레딩으로 돌렸다.

 

촉박한 시간에 급하게 마무리했지만 그래도

직접 데이터 수집 - 라벨링 - 모델 트레이닝 - 응용 까지 해본건 처음이라

영상인식 겉핡기로는 좋은 경험이였던 것 같다...

반응형

댓글