[Pill So Good] 비전인식을 이용한 알약 분류기 (교내 창의적 종합설계 경진대회 - 동상)

작성자
정연성
작성일
2020-11-26 23:36
조회
1048

비전인식을 이용한 알약 분류기

교내 창의적 종합설계 경진대회 – 동상🥉 수상작

Pill So Good💊 팀 (정연성, 이윤서, 이형욱, 김승년)


비전인식을 이용한 알약 분류기, [Pill So Good]은 알약을 시각적으로 구분할 수 없는 시각장애인들과 노약자들이 처방 받은 알약 또는 영양제를 섭취할 때 도움을 줄 수 있도록 고안한 장치입니다. 투입구에 알약 및 영양제를 한꺼번에 투입하면, 딥러닝 기반 비전 인식 기술을 이용해 알약을 분류하여 사용자가 원할 때 복용량 만큼의 알약을 제공합니다.

 

작동법 개요



우선 기기에 알약을 투입하면 카메라로 그 장면을 촬영합니다. 웹 앱에서 Image Classification 과정을 거치며 알약을 구분하고, 그 정보를 아두이노에게 시리얼통신으로 넘겨줍니다. 이 정보를 활용하여 분류기가 알약을 분류합니다. 이후 시용자가 알약을 먹기 위해 손이나 컵 등을 가까이 대면, 적외선센서를 이용해 이를 감지하여 분류된 알약들을 제공합니다.

 

하드웨어



하드웨어는 Autodesk Inventor을 이용하여 설계한 뒤, 동아리방에 구비된 3D프린터 CR10S Pro를 사용하여 프린팅했습니다. 알약을 쏟아 넣어도 하나씩 확인할 수 있게끔 상단 디스펜서부를 제작했고 카메라 거치대를 만들었습니다. 중단의 분류기에서 알약의 종류에 따라 분류하고 하단부의 보관함에 저장할 수 있도록 했습니다. 최하단에는 배출구를 만들어 알약을 제공합니다.

 

소프트웨어





Node.js를 이용한 웹 어플리케이션으로 알약을 분류합니다. 우선 Node.js http 모듈을 이용하여 웹 서버를 만든 뒤, 브라우저로 접속합니다. 카메라에서 영상 정보를 웹브라우저에게 보내면, Tensorflow.js를 이용해 미리 학습시켜 둔 모델을 사용하여 Image Classification을 합니다. 이때, 알약을 탐지할 때 마다 서버에 그 Class의 정보를 http get request를 이용해 보냅니다. 서버에서는 이를 받아 아두이노에게 데이터를 넘겨줍니다.



아두이노에서는 시리얼 통신으로 받은 데이터를 이용하여 분류작업을 수행함과 동시에, 사용자의 손이나 컵 등의 감지를 대기합니다. 적외선 센서가 감지된다면, 미리 설정된 투약 스케줄에 따라서 사용자에게 알약을 제공해 줍니다.

 

시연영상

전체 3

  • 2020-12-03 22:38

    일단은 색으로만 구별하는 건가요?
    발전시킨다면 크기와 모양과 새겨진 글씨도 구분할 수 있을까요?


    • 2020-12-06 02:45

      넵 일단은 색으로만 구별하는 방식으로 구현했습니다.
      하지만 딥러닝 방식을 이용한 Image Classification을 이용하기 때문에, 발전시킨다면 충분히 크기/모양/글씨 등도 구분할 수 있을 것 같습니다!


  • 2022-02-09 19:13

    https://opengov.seoul.go.kr/mediahub/23885962
    폐알약은 일반쓰레기에 버리면 안됩니다. 약국에 분리배출해야합니다. 그 이유는 알약이 가진 화학물질은 생태계에 악영향을 미칠 수 있기 때문에 따로 화학처리를 해야한다고 합니다. 또한 알약마다 가진 구성성분이 달라 무독화 하는 과정이 알약마다 상이하다고 합니다. 그렇기 때문에 위 시스템에서 만든 알약을 분류하고 배출하는 과정이 매우 중요하다고 할수 있습니다. 위의 시나리오를 대회 전에 알았더라면 개발한 시스템의 필요성과 당위성에 좀더 높은 점수를 받을 수 있었을 것 같습니다. 아쉽습니다 ㅠㅠ