유진의 코딩스토리
Azure Custom vision 실습 [이미지 분류 AI 모델] 본문
모델 학습
학습 결과 출력
테스트
하단에 예측 결과가 출력
위 암석은 Basalt일 확률 59%, Highland일 확률 40%로 예측된다.
커스텀 비전으로 이미지 분류 AI 모델을 만들 때 각 이미지당 최소 5장 이상 학습시켜야 한다.
이미지 분류 AI 모델은 많은 데이터로 학습시킬수록 정확하게 동작하므로 예측결과가 좋지 않은 것은 학습 이미지 데이터가 10개도 안되어 학습이 제대로 이뤄지지 않은 것으로 판단.
Custom vision을 외부에서 활용하기
Azure의 Custom Vision은 Azure Portal과는 독립된 별도의 사이트에서 제공되는 서비스로 사용자가 만든 컴퓨터 비전 모델을 바로 확인할 수 있는 UI를 제공한다.
REST API 호출을 통해서 사용자가 만든 Custom Vision 모델을 외부 프로그램에서 활용할 수 있다.
이미지 분류 서비스와 연동하기
방금 만든 모델을 Publish하여 외부에서 사용할 수 있도록 한다.
Publish Model에서 내가 만든 예측 리소스를 선택
Publish가 완료되면 아래와 같이 ‘PUBLISHED’라는 표시가 나오고, Prediction URL 버튼이 활성화된다.
Prediction URL을 눌러서 나오는 빨간 네모 박스 속 내용을 뒤에서 사용하므로 복사!!
# Azure의 Custom Vision 라이브러리를 추가. 예측을 위하여 prediction을 포함
from azure.cognitiveservices.vision.customvision.prediction import CustomVisionPredictionClient
# OpenAPI 스펙에 맞춰서 Authentication을 처리할 수 있도록 해주는 코드
from msrest.authentication import ApiKeyCredentials
# 사용자가 만든 AI 모델의 예측 기능을 사용하기 위한 endpoint 지정
prediction_endpoint = "https://5b037findcustomvision-prediction.cognitiveservices.azure.com"
# KEY 값 지정
prediction_key = "5BsUiDDPR87phDZYxd8OEE4EdYKGceEC5RcozoQ3OkLSPD5oazjPJQQJ99AJACPV0roXJ3w3AAAIACOGSFBw"
# 프로젝트 ID 지정
project_id = "daf82dde-ebd0-430d-bcdf-a69f922ef40b"
# 모델명 지정
model_name = "Iteration1"
# 앞에서 지정한 API KEY를 써서 커스텀 비전 모델을 사용할 클라이언트를 인증
credentials = ApiKeyCredentials(in_headers={"Prediction-key": prediction_key})
# endpoint를 써서 클라이언트 등록
predictor = CustomVisionPredictionClient(endpoint=prediction_endpoint, credentials=credentials)
# 테스트 이미지를 Codespace workspace에 추가한 후 image_file 변수로 지정
image_file = "/workspaces/PyTorch_excersize/data/Highland/Crustal_Anorthosite_s71-42953.jpg"
# 테스트 이미지를 열고 모델에 적용해서 결과를 저장
with open(image_file, mode="rb") as image_data:
results = predictor.classify_image(project_id, model_name, image_data)
# 예측한 결과를 출력
for prediction in results.predictions:
print(f"Tag: {prediction.tag_name}, Probability: {prediction.probability:.2f}")
[출력 결과]
Tag: Highland, Probability: 0.98
Tag: Basalt, Probability: 0.02
'Azure 실습 > Azure Custom Vision' 카테고리의 다른 글
Azure Custom Vision 실습 [객체 감지 AI 모델] (0) | 2024.10.29 |
---|