Project/[약올림] Final Project

[DeepLearning] 스마트폰으로 촬영된 알약 이미지 인식 알고리즘 개발을 위한 Reference 정리

HJChung 2021. 1. 22. 09:02

※ 모든 내용은 reference 옆에 첨부한 원본에 있습니다. 

reference1. 알약 자동 인식을 위한 딥러닝 모델간 비교 및 검증

1. 필요성

약사는 이렇게 회수된 수백 종류의 알약을 재분류하는 작업을 하고 있다. 재분류 작업은 약사가 육안으로 직접 확인하여 수작 업으로 이루어진다. 이는 약사들의 노동 손실뿐만 아 니라, 분류 과정에서 실수가 발생할 가능성도 높다. 최근에는 이와 같은 문제점을 해결하기 위해 영상 처리 기술을 통해 알약 분류를 자동화하기 위한 연구 들이 다수 보고되고 있다.

2. 접근 방법

본 논문에서는 별도의 영상처리 기술을 거치 지 않고, 검출과 분류를 동시에 수행하는데 특화된 딥러닝 모델을 사용하여 알약을 자동으로 검출 및 분류하고자 하였다. 또한 YOLO, Faster R-CNN, RetinaNet과 같이 다양한 딥러닝 모델들을 통해 알 약을 검출 및 분류하고, 알약 분류에 적합한 딥러닝 모델을 찾기 위해 각 모델 간의 성능을 비교 검증해 보고자 하였다.

3. 데이터

    • 알약 이미지를 한 클래스당 100 개의 이미지를 사용하였고, 총 10개의 클래스로 구성 하였다.

  • 알약의 특징 추출을 하기 위해, 카메라와 알약의 거리, 조도와 배경을 같은 환경으로 설정하여 이미지를 촬영
  • 각인된 알약의 이름은 알약을 구별하기 위한 특징 중 하나로, 약의 이름이 각인된 표면을 촬영
  • 학습에 사용된 데이터의 수는 전체 데이터의 90%이며, 검증에 사용된 데이터는 10%로 나누어 데 이터를 설정

4. 모델학습

  1. YOLO v3:  학습 환경은 배치 사이즈(Batch Size) 64, 에폭(ephocs) 100을 고 정하고, 학습률(Learning Rate)은 0.0001로 설정
  2. Faster R-CNN: 학습 환경은 배치 사이즈 16, 에폭은 100으로 고정하고, 학습률은 0.00001로 설정하여 학습
  3. RetinaNet:  학습 환경 은 배치 사이즈는 16, 에폭은 100 으로 고정하고, 학 습률은 0.00001로 설정하여 학습

5. 평가방식

10-fold cross validation을 검증데이터를 적용하고, 그 결과의 평가척도로 객체 검출에서 알고리즘의 성능을 평가하기 위해 사용하는 지표인 IOU(intersection over union)를 사용하였고, IOU> =0.5로 설정하였다. 각 딥러닝 모델의 객관적인 평가를 위해 FROC Curve를 이용. 실험결과 YOLO 모 델의 민감도는 91.05%, Faster R-CNN모델의 민감 도는 99.6%, RetinaNet모델의 민감도는 98.31%이다.

6. Discussion

1. 각 모델별 검출 및 분류에 실패한 영상들을 살펴 보면 주로 흰색의 원형 알약의 경우가 많았다. 이는 흰색의 원형 알약이 표면에 새겨진 문자만 다르고 크기가 작고 형태가 비슷하기 때문인 것으로 파악된다.

2. 본 실험에 사용된 데이터의 개수가 10 종류 의 알약을 분류하기에는 다소 부족하다. 따라서 향후 흰색 알약을 포함하여 각 알약들의 데이터들에 대하 여 다양한 환경에서 촬영된 영상들을 추가적으로 수 집하여 일반화된 데이터를 구축하고, 이를 통해 학습 모델을 보완할 필요가 있다.

 

reference2. 심화학습 기반 의약품 영상 자동식별 애플리케이션 개발

1. 필요성

사용자가 필요로 하는 복약 정보를 추 가적으로 제공하여 약물 오용으로 발생할 수 있는 위험 상황을 미연에 방지하고 올바르게 처방/섭취 할 수 있도록 하는 연구

사용자의 이용상 편의성 을 높이며, 모바일 단말용 애플리케이션을 개발하여 사용자가 사용하기 쉬우면서 픽토그 램을 포함한 다양한 정보를 제공하도록 하고, 약품 데이터베이스를 구축하여 효율적인 정 보 전달 및 관리가 가능하도록 하고자 함 

2. 접근 방법

1. 약품의 정렬을 위한 영상처리 알고리즘 개발

  • 배경을 제거
    • 1) 원본 사진을 R, G, B 채널로 나눠 Otsu 이진화 기법 적용
    • 2) 가장 적합한 채널의 이진화 결과를 이용해 영상을 레이블링
    • 3) 검은 배경을 생성하고 원본 사진에서 레이블 영역의 색 정보만을 불러옴
  • 학습자료와 다른 방향으로 취득된 영상에 대한 정규화에 적용
    • 1) 알약의 Edge 사진을 구함
    • 2) 영상처리를 위한 Opencv 라이브러리를 이용하여 Edge 사진에서 장축을 구함

 

 

 

 

 

 

 

 

 

  • Angular Radial Transform(ART)기반 알약 정렬

2. 정제와 캡슐 약품을 인식 할 수 있는 CNN 모델을 새로이 제안하고 개발함

  • ON/OFF ReLU를 적용한 CNN을 구현하고 알약인식
  • 데이터 Augmentation 및 모델 이분화
    • 1) 다양한 조도, 촬영 각도의 변이를 반영하여 학습 자료를 재생성.
    • 2)각 사진마다 각도를 5도~10도씩 회전시키면서 학습 자료를 재생성시켜 총 100,000개로 학습 자료를 증가
  • 기존 ReLU기반 성능보다 1.5~2%가량 성능 향상을 얻음

4. 데이터

  • 약품 데이터베이스 구축
    • - 의약품 영상정보 수집을 위한 이미지센서 장치 연구
    • - 정제/캡슐의 색깔 및 형태, 조도 등 환경 변수에 따라 영상정보 반자동수집
  • 다빈도처방의약품 정제/캡슐 100종 선정(정제 60종/캡슐 40종) 클라우드 기반 저장
  • 100여종의 알약에 대하여 촬영각도, 조도, 앞면과 뒷면을 달리하여 영상을 촬영

 

 

5. 모델학습  6. 평가방식, 7. Discussion

- 기존 ReLU기반 성능보다 1.5~2%가량 성능 향상을 얻음

중요한 insight!!

- 알약 데이터는 모양이 비슷하고 글자만 다른 경우가 많음.

모든 데이터를 한 번에 학습 시 합성곱 신경망 모델이 색, 모양과 같이 쉬운 feature만으로 데이터를 분류하 려는 경향을 가지기 때문에 모델을 원형과 타원형으로 나눠서 학습시켰음. 데이터를 함께 학습시켰을 때 97.5± 의 정확도를 보였고 데이터를 나눠서 학습시켰을 때는 원형의 경 우 99.5% 타원의 경우 97.4%의 정확도를 보임. 이는 원형 알약끼리 모았을 때는 CNN이 형태는 고려하지 않고 색과 알약 내부의 패턴에 집중할 수 있었기 에 성능이 좋다는 해석이 가능. 타원형 알약의 경우 색이 여러 가지가 많이 섞여 있고 타원의 형태도 다양 하기 때문에(장축과 단축의 비율이 다르기 때문에) CNN이 색, 형태 등을 분간하기 위해 알약 내부의 글자 정보를 충분히 참조하지 못한 것으로 해석 가능함.

reference3. MobileDeepPill: A Small-Footprint Mobile Deep Learning System for Recognizing Unconstrained Pill Images 

Side reference MobilePill: Accurate Pill Image Classification via Deep Learning on Mobile

1. 필요성

Correct identification of prescription pills based on their visual appearance is a key step required to assure patient safety and facilitate more effective patient care.

In 2016, the U.S. National Library of Medicine (NLM) of the National Institutes of Health (NIH) announced a nationwide competition, calling for the creation of a mobile vision system that can recognize pills automatically from a mobile phone picture under unconstrained real-world settings. This competition is motivated by the imperative need for a mobile pill recognition tool that can provide a simple way to recognize mystery pills, prevent unnecessary medication errors, and most importantly, save people’s lives in urgent cases.

 

2. 접근 방법

For challenging: In mobile unconstrained scenarios, the quality of photos taken by mobile phones can be easily deteriorated by a variety of factors such as illumination, shading, background, and phone orientation.

First,MobileDeepPill employs a triplet loss function to attain invariances to real world noisiness that deteriorates the quality of pill images taken by mobile phones.

Second, MobileDeepPill involves a novel pill image recognition algorithm based on deep Convolutional Neural Network (CNN)

Third, The model compression technique

 

3. 모델학습

chal1) Differences between Reference and Consumer Images: shading, blur, illumination and background, consumer image and reference image of the same pill look very different.

=> sol) triplet loss function to learn features that attain invariances to the noisiness illustrated in Figure 2 using CNNs. As such, MobileDeepPill can accurately match consumer images and reference images of the same pills even if they look different.

 

chal2) Unreliable Pill Characteristics

=> sol) generate the gray and gradient images of the original color pill images
to train three independent CNNs. CNNs trained on gray and gradient images not only alleviate the dependency on color information which can be deteriorated in unconstrained conditions, but also attain enhanced shape and imprint information which is helpful in

 

chal3)Resource Constraints of Mobile Devices: To best protect the privacy of the user, pill images need to be completely processed inside mobile devices without cloud offloading.

=> sol) , we propose a novel deep neural network model compression technique based on Knowledge Distillation [15], which significantly reduces the memory footprint and FLOPS of CNNs without deteriorating the recognition accuracy. As such, MobileDeepPill can be efficiently running on today’s commodity mobile phones while still achieving state-of-theart recognition accuracy.

 

4. 데이터

Reference Images: This category contains 2000 reference images of the 1000 pills, with one image for the front side of the pill and one image for the back side of the pill.

Consumer Images: This category contains 5000 consumer images of the 1000 pills. These images were taken by digital cameras in mobile phones in real-world settings. For each of the 1000 pills, there are five consumer images taken under different conditions with variations in camera angle, illumination, and background.

 

5. 평가방법

To evaluate the pill recognition performance of MobileDeepPill, we use the Mean Average Precision (MAP) and Top-K accuracy as the evaluation metrics.

In the one-side pill recognition scheme, MobileDeepPill achieves an average 52.7% Top-1 accuracy and 81.7% Top-5 accuracy.

In the two-side pill recognition scheme, MobileDeepPill achieves an average 73.7% Top-1 accuracy and 95.6% Top-5 accuracy.

 

reference 4. 스마트폰으로 촬영된 알약 영상의 글자 및 형상 인식 방법

1. 필요성

약을 자주 복용하게 되는 노인들은 알약에 작은 글씨로 쓰여 있는 글자를 읽는 것이 쉽지 않기 때문에 약을 구분하는 능력이 일반인들보다 더 떨어진다. 또한 이미지를 통해 알약을 쉽게 검색할 수 있다면 알약의 오용 및 남용 문제를 줄이는 방법이 될 수 있다. 

2. 접근 방법

1) 알약 주변부 획득

알약 영상은 11 일반적으로 스마트폰을 사용할 경우, 3000x4000정도의 크기로 저장되기 때문에 이 상태로 영상 처리를 진행하는 경우 전체 시스템의 속도가 느려질 수 있다. 따라서 알약이 촬영된 배경과 알약을 대략적으로 구분하고 알약 주변부를 획득한다. 그 뒤 알약 영역을 정확하게 추출하기 위해서 그림자 및 주변 빛 효과를 제거한다.

 

Saliency Map에서 Otsu Threshold 를 적용하여 영상을 이진화하면 알약 주변부 영역을 획득할 수 있다.

이 때, 노이즈가 섞일 수 있고, 일부 알약이 잘릴 수 있기 때문에 이진 영 역에서 가장 큰 영역을 알약 영역으로 가정하고, 이를 둘러싸는 박스를 추출한 뒤, 상하좌우로 300픽셀씩 넓혀서 잘라낸다.

2) 알약 영역 추출

1. Canny Edge를 통한 방법이다. 알약의 경계는 배경 과의 밝기 차이에서 비롯된다는 사실에 착안한다. 알약의 경계가 완전한 Closed Loop으로 나오면 Loop이 알약의 형상 외곽선이 된다. 

2. LAB 색상 공간을 이용한다. 배경과 알약의 색깔 차이가 있다면 LAB 색상공간에서 A와 B 둘 중 하나는 값의 차이가 크게 발생한다. 이 를 이용하면 알약 형상을 획득할 수 있다

3. Gradient 영상 에 Adaptive Threshold를 적용한다. 이는 밝기도 유사하고 색상도 유사 한 경우에, 넓은 범위에서 경계가 될 만한 영역을 가늠하고 이렇게 찾아 진 부분 부분의 외곽선을 서로 이어주는 방법이다.

3) 영상 정보 획득

배경과의 색상 차이 및 Canny Edge를 이용하여 알약 영역을 추출하고 Zernike Moment를 이용해 형상 정보를 획득한다.

4) 글자부 획득

알약 영역은 다시 Gradient filter를 이용해 글자부를 강조하고 글자부의 Bounding Box를 획득한다.

획득된 알약 영역 이미지에 서 이미지의 밝기를 조정한 다음 Gaussian Filter를 적용

 

글자 각인 영역의 밝기 차가 뚜렷하지 않은 경우를 보완하기 위해, Intensity Adjustment를 수행

 

일반적인 표면과 글자 영역을 구분해낼 필요가 있다. 일반적인 표 면에서 발생하는 밝기 차이는 글자 영역에서 발생하는 밝기 차이의 영역 에 비해 상대적으로 작기 때문에 Gaussian Filter를 이용하여 노이즈를 제거

방향과 획의 방향에 무관하면서 글자의 획을 뚜렷하게 보이도록 강화하기 위하여 Gradient의 크기 값을 사용

그 뒤, 히스토그램에 기반한 Otsu Threshold를 적용하여 영상 을 이진화 하고 노이즈들을 정리

 

3. 모델학습

글자 학습 및 인식

글자 학습을 따로 하여 각인 글자에 특화 된 OCR

글자 인식은 Deep Learning 학습을 기반으로 앞서 잘라진 각각의 글자부를 읽음으로써 글자 정보를 획득한다. 최종적으로 모양 정보와 글자 정보를 종합하여 알약을 인식한다.

4. 데이터

National Library of Medicine(NLM)에서 제공하는 데이터 베이스를 사용

5. 평가방법

결과는 총 5가지로 분석

모양 정보, 글자가 있는 영역을 찾아내는 능력, 각인 글자 박스에서 정확한 글자로 인식하는지, 글자 인식 성공률, 모양과 글 자를 조합한 알약 인식 성공률