암행어사 프로젝트

2019. 9. 24. 23:27카테고리 없음

'고기잡을 어(漁)' 를 합성한 언어유희..가 틀림없다.

 

암행어사 프로젝트란,

2018 SW융합 해커톤 대회에서 진행했던 프로젝트명입니다.

↓해커톤 관련 링크

https://msit.go.kr/web/msipContents/contentsView.do?cateId=mssw311&artId=1402797

우리 팀은 잦은 전염을 일으키는 '백점병'을 조기에 식별하여

양식장의 생산량 제고에 도움이 되는 방향으로 주제를 잡았습니다.

 

 

질병으로 인한 생산량 감소가 많은 영향을 끼친다는 사실을 알 수 있다.

 

기획단계에서 관련 정보를 조사하던 중에 

백점병에 걸린 양식어들의 외형에는 점무늬를 띈다는 사실을 입수하였습니다.

그리하여 이를 인식하기 위한 영상처리 기술과

해당 기술이 적용된 양식장이 필요하다는 결론이 나왔습니다.

 

 

YOLO의 대표 예제 사진. 기존 가중치만으로도 개과 자전거 그리고, 트럭이 인식된다.

 

기획 초기 단계에서 순수한 알고리즘으로 영상처리를 구현하기로 했으나

다양한 데이터가 들어왔을 때 높은 신뢰도를 보장할 수 없을 것이라 생각되었습니다.

그리하여 딥러닝 라이브러리를 활용하는 방향으로 변경하였습니다.

사용된 환경 및 기술 :ubuntu, 'YOLO(You Only Live Once)', php, apache

 

 

모의 양식장 모형도 및 설명
실제로 제작한 모의 양식장 모습
프로젝트 기능 순서도

 

양식장에는 인식된 양식어들을 분리할 공간을 따로 만들었습니다.

분리된 공간에는 그물망이 회전되면서 전염된 개체들만이 유도되어 위치하게 됩니다.

 

검출 과정을 요약하자면,

관의 상부에 위치한 웹캠이 학습된 데이터를 기반으로 개체들을 찾게 됩니다.

 

찾았을 때, 개체를 카운트함과 동시에 연결된 아두이노의 모터에 작동 지시를 내립니다.

모터는 T자 관 속에 들어있는 회전문을 돌리면서 경우에 맞는 양식어들을 이동시키게 합니다.

최종적으로 어플에서 전염된 양식어들의 수와 수온 등을 확인할 수 있게 하는 것입니다.

 

 

 

실제 금붕어를 학습시켰을 때 인식되는 영상

시연 영상은 용량 초과로 인해 첨부하지 못하였습니다.

추후 url방식으로 연결하도록 하겠습니다.

 

 

아쉽게 대회에서는 입상하지 못하였습니다.

금붕어를 대상으로 유도가 안된다거나, 인식의 카운트 문제,

수많은 개체들이 이동할 때 어떻게 카운팅 할 것인지 등

문제가 발생하였고 위험요소가 예측되었습니다.

당연한 결과라고 생각하며 추후 보완할 점들을 세웠습니다.

 

보완할 점들

1)  기획 단계의 중요성 인식

  - 서비스를 어떻게 제공할지 너무 불분명했다.(DB, 앱, 가공, 서비스 형태 등), 

  - 역할 분배를 어떻게 할 것인지 불분명했다(혼자 한다는 생각은 홧병을 초래할 수 있다)

  - 기획 단계에 시간을 투자할수록 방향이 선명해지고 완성도가 높아진다.

2)  어설픈 추측은 확실한 사실과 정보 확보 이후에 할 것

  - 무지한 분야에 대한 충분하지 않은 정보가 완성도를 저하시켰다.(물고기 유도 문제) 

3)  서비스는 완성된 상태에서 사용자에게 편리함을 제공해야한다.

  - 서비스에 대한 정의와 개념이 부족했으며, 단순한 기능에만 집중하였다.

4)  독자적인 강행과 토의 그리고, 기획은 매우 위험하다.

  - 혼자 하는 것만큼 위험한 것이 없으며, 1인 프로젝트라 할지라도 주위의 조언과 평을 구하자. 

5)  역할의 분배는 완성도를 높일 수 있는 핵심

  - 혼자만의 생각을 독점했기 때문에 발생한 문제,