연습 - Azure Custom Vision 통합

완료됨

이 모듈에서는 Azure Custom Vision을 사용하는 방법을 알아봅니다. 추적된 개체의 사진 세트를 찍어 Custom Vision 서비스에 업로드하고 교육 프로세스를 시작합니다. 그런 다음 이 서비스를 사용하여 웹캠 피드에서 사진을 캡처하여 추적된 개체를 검색합니다.

Azure AI Custom Vision 이해

Azure AI Custom Vision은 Cognitive Services 제품군의 일부이며 이미지 분류자를 학습시키는 데 사용됩니다. 이미지 분류자는 학습된 모델을 사용하여 일치하는 태그를 적용하는 AI 서비스입니다. 우리 애플리케이션은 이 분류 기능을 사용하여 추적된 개체를 검색합니다.

Custom Vision에 대해 자세히 알아보세요.

Custom Vision 준비

시작하기 전에 Custom Vision 프로젝트를 만들어야 합니다. Custom Vision 프로젝트를 만드는 가장 빠른 방법은 Custom Vision 포털을 사용하는 것입니다.

빠른 시작 자습서에 따라 계정 및 프로젝트를 설정합니다. 이미지 업로드 및 태그 지정 섹션까지 단계를 수행합니다. 5개의 이미지가 있는 하나의 태그를 만들어야 합니다.

Warning

모델을 학습하려면 태그 2개 이상과 태그당 5개의 이미지가 있어야 합니다. 나중에 애플리케이션을 통해 더 많은 이미지를 추가합니다. 그러나 이 애플리케이션을 사용하려면 나중에 학습 프로세스가 실패하지 않도록 5개의 이미지가 있는 태그를 하나 이상 만들어야 합니다.

장면 준비

  1. 프로젝트 창에서 Assets>MRTK.Tutorials.AzureCloudServices>Prefabs>Manager 폴더로 이동합니다.

    Screenshot of Unity with Project window showing path to ObjectDetectionManager prefab.

  2. 여기에서 ObjectDetectionManager 프리팹을 장면 계층 구조로 끕니다.

    Screenshot of Unity with ObjectDetectionManager script component configuration fields shown in Inspector.

  3. 계층 구조 창에서 ObjectDetectionManager 개체를 찾아 선택합니다. ObjectDetectionManager 프리팹에는 ObjectDetectionManager(스크립트) 구성 요소가 포함되어 있으며 검사기 창에서 볼 수 있듯이 Azure 설정 및 프로젝트 설정에 따라 달라집니다.

Azure API 리소스 자격 증명 검색

Azure Portal 및 Custom Vision 포털에서 ObjectDetectionManager(스크립트) 설정에 필요한 자격 증명을 검색할 수 있습니다.

Azure 설정 자격 증명 검색

이 자습서의 장면 준비 섹션에서 만든 Cognitive Services 유형의 Custom Vision 리소스를 찾아 찾습니다. 개요 또는 키 및 엔드포인트를 선택하여 필요한 자격 증명을 검색합니다.

  • Azure 리소스 구독 ID: 개요 섹션의 구독 ID를 사용합니다.
  • Azure 리소스 그룹 이름: 개요 섹션의 리소스 그룹 이름을 사용합니다.

Cognitive Service 그룹 이름의 경우 -Prediction 뒤에 나타나는 Custom Vision 리소스 이름을 사용합니다.

  • 리소스 기본 예측 엔드포인트: Custom Vision -Prediction 리소스의 키 및 엔드포인트에서 엔드포인트를 사용합니다.
  • API 예측 키: Custom Vision -Prediction 리소스의 키 및 엔드포인트에서 키 1을 사용합니다.

프로젝트 설정 자격 증명 검색

Custom Vision 대시보드에서 이 자습서에 대해 만든 프로젝트를 연 다음 페이지의 오른쪽 위 모서리에 있는 설정(기어) 아이콘을 선택하여 설정 페이지를 엽니다. 오른쪽의 리소스 섹션과 왼쪽의 일반 섹션에서 필요한 자격 증명을 찾을 수 있습니다.

  • 리소스 기본 엔드포인트: 리소스 섹션의 엔드포인트를 사용합니다. Custom Vision 리소스의 키 및 엔드포인트 아래 의 엔드포인트 와 일치해야 합니다.
  • API 키: 리소스 섹션의 키를 사용합니다. Custom Vision 리소스의 키 및 엔드포인트 아래에 있는 키와 일치해야 합니다.
  • 프로젝트 ID: 일반 섹션의 프로젝트 ID를 사용합니다.
  1. 이제 ObjectDetectionManager(스크립트)가 올바르게 설정된 상태에서 장면 계층 구조에서 SceneController 개체를 찾아 선택합니다.

    Screenshot of Unity with SceneController script component configuration fields shown in Inspector.

  2. SceneController 구성 요소의 개체 검색 관리자 필드가 비어 있습니다. 계층 구조에서 ObjectDetectionManagerSceneController 구성 요소로 끌어와 장면을 저장합니다.

    Screenshot of Unity with SceneController script component configured.

이미지 가져오기 및 업로드

  1. 장면을 실행하고 개체 설정을 선택합니다. 이전 단원에서 만든 추적된 개체 중 하나의 이름을 입력합니다. 개체 카드 아래쪽에 있는 Computer Vision 단추를 선택합니다.

  2. 새 창이 열립니다. 사진 6장을 찍어 이미지 인식을 위한 모델을 학습합니다. 카메라 단추를 선택하고 추적하려는 개체를 확인하는 AirTap을 수행합니다. 이 작업을 6번 수행합니다.

    모델 학습을 개선하려면 각 이미지를 다양한 각도 및 조명 조건에서 가져와야 합니다.

  3. 이미지가 충분하면 학습 단추를 선택하여 클라우드에서 모델 학습 프로세스를 시작합니다. 그러면 모든 이미지가 업로드되고 학습이 시작됩니다. 이 프로세스는 몇 분 정도 걸릴 수 있습니다. 메뉴 내의 메시지는 현재 진행률을 나타냅니다. 프로세스가 완료되었음이 표시되면 애플리케이션을 중지해도 됩니다.

    ObjectDetectionManager(스크립트) 는 찍힌 이미지를 Custom Vision 서비스에 직접 업로드합니다. 또는 Custom Vision API는 이미지에 대한 URL을 허용합니다. 연습에서는 ObjectDetectionManager(스크립트)를 수정하여 이미지를 Blob Storage에 업로드할 수 있습니다.

Warning

학습이 실패하면 Custom Vision 대시보드를 검사 태그가 두 개 이상 있고 각 태그에 5개 이상의 이미지가 있는지 확인합니다.

개체 감지

이제 학습된 모델을 테스트할 수 있습니다. 애플리케이션을 실행합니다. 주 메뉴에서 검색 개체를 선택하고 해당 추적된 개체의 이름을 입력합니다. 개체 카드가 나타납니다. 다음으로 Custom Vision 단추를 선택합니다. *ObjectDetectionManager는 카메라에서 백그라운드에서 이미지 캡처를 촬영하기 시작합니다. 이 메뉴는 애플리케이션 진행률을 나타냅니다. 카메라를 모델 학습에 사용한 개체로 향하게 합니다. 곧 개체를 검색해야 합니다.