Azure에서 이미지 분류 시작

완료됨

Azure AI 서비스 제품의 일부로 제공되는 Azure AI Custom Vision을 사용하여 이미지 분류를 수행할 수 있습니다. 일반적으로 모델 학습 코드를 작성하는 것보다 쉽고 빠르게 수행할 수 있으며, 기계 학습 전문 지식이 거의 없거나 전혀 없는 사람도 효과적인 이미지 분류 솔루션을 만들 수 있습니다.

Azure AI Custom Vision용 Azure 리소스

Azure AI Custom Vision을 이용하여 이미지 분류 솔루션을 만드는 과정은 두 가지 주요 작업으로 이루어집니다. 먼저 기존 이미지를 사용하여 모델을 학습시킨 다음 클라이언트 애플리케이션에서 예측을 할 수 있도록 모델을 게시해야 합니다.

각 작업을 위해서는 Azure 구독의 리소스가 필요합니다. 다음과 같은 유형의 리소스를 사용할 수 있습니다.

  • Custom Vision: Custom Vision 서비스 전용 리소스는 학습 리소스, 예측 리소스 또는 두 리소스 모두가 될 수 있습니다.
  • Azure AI 서비스: 다른 많은 Azure AI 서비스와 함께 Azure AI Custom Vision을 포함하는 일반 리소스입니다. 이러한 유형의 리소스를 학습, 예측 또는 둘 다에 사용할 수 있습니다.

학습 리소스와 예측 리소스의 분리는 모델을 사용하여 이미지 클래스를 예측하는 클라이언트 애플리케이션과는 별도로 모델 학습의 리소스 사용률을 추적하려는 경우에 유용합니다. 그러나 이미지 분류 솔루션 개발이 약간 혼란스러워질 수 있습니다.

가장 간단한 접근 방식은 학습과 예측 모두에 일반 Azure AI 서비스 리소스를 사용하는 것입니다. 즉, 하나의 엔드포인트(서비스가 호스팅되는 HTTP 주소)와 키(클라이언트 애플리케이션에서 자체 인증 목적으로 사용하는 비밀 값)에만 신경 쓰면 됩니다.

Custom Vision 리소스를 만들도록 선택하면 학습, 예측 또는 둘 다를 선택하라는 메시지가 표시되며, “둘 다”를 선택하면 학습 및 예측을 위해 두 개의 리소스가 각각 하나씩 생성됩니다.

학습에는 전용 Custom Vision 리소스를 사용하고 예측에는 모델을 Azure AI 서비스 리소스에 배포하는 혼합 및 일치 접근 방식을 이용할 수도 있습니다. 이렇게 하려면 학습 및 예측 리소스가 동일한 지역에 만들어져야 합니다.

모델 학습

분류 모델을 학습시키려면 학습 리소스에 이미지를 업로드하고 적절한 클래스 레이블로 레이블을 지정해야 합니다. 그런 다음 모델을 학습시키고 학습 결과를 평가해야 합니다.

이러한 작업을 Custom Vision 포털에서 수행할 수도 있고, 필요한 코딩 경험이 있다면 Azure AI Custom Vision 서비스 프로그래밍 언어별 SDK(소프트웨어 개발 키트) 중 하나를 사용할 수도 있습니다.

분류를 위해 이미지를 사용할 때 고려해야 할 주요 사항 중 하나는 해당 개체에 대한 이미지가 충분한지 확인하는 것이며, 그러한 이미지는 다양한 각도에서 본 객체에 대한 것이어야 합니다.

모델 평가

모델 학습 프로세스는 Azure AI Custom Vision 서비스가 데이터 중 일부를 사용하여 모델을 반복적으로 학습시키는 반복적 프로세스이지만 일부는 모델 평가를 위해 보류합니다. 학습 프로세스가 끝날 때 학습된 모델의 성능은 다음과 같은 평가 메트릭에 의해 표시됩니다.

  • 정밀도: 모델에서 올바르게 이루어진 클래스 예측의 비율은 얼마인가요? 예를 들어 모델에서 10개의 이미지가 오렌지로 예측되고 8개의 이미지가 실제로 오렌지인 경우 정밀도는 0.8(80%)입니다.
  • 재현율: 모델에서 올바르게 식별된 클래스 예측의 비율은 얼마인가요? 예를 들어 사과 이미지 10개가 있고 모델에서 그중 7개의 이미지를 찾은 경우 재현율은 0.7(70%)입니다.
  • AP(평균 정밀도): 정밀도와 재현율을 모두 고려한 전체 메트릭입니다.

예측을 위한 모델 사용

모델을 학습시키고 평가된 성능에 만족하면 모델을 예측 리소스에 게시할 수 있습니다. 모델을 게시할 때 이름을 지정할 수 있습니다(기본값은 X가 모델을 학습한 횟수인 "반복X"입니다).

모델을 사용하려면 클라이언트 애플리케이션 개발자는 다음 정보가 필요합니다.

  • 프로젝트 ID: 모델을 학습시키기 위해 만든 Custom Vision 프로젝트의 고유 ID입니다.
  • 모델 이름: 게시하는 동안 모델에 할당된 이름입니다.
  • 예측 엔드포인트: 모델을 게시한 예측 리소스(학습 리소스가 아님)에 대한 엔드포인트의 HTTP 주소입니다.
  • 예측 키: 모델을 게시한 예측 리소스(학습 리소스가 아님)의 인증 키입니다.