Custom Vision
Microsoft · 이미지
Custom Vision은 Microsoft Azure의 이미지 인식 서비스다. 라벨을 붙인 사진을 올려 분류기나 탐지기를 학습시킨 뒤 API로 호출하거나 내보내서 오프라인으로 돌린다.

Custom Vision 소개
What Is Custom Vision
Custom Vision은 자체 데이터로 이미지 인식 서비스를 만드는 Microsoft의 관리형 서비스다. 사진을 준비하고 원하는 라벨을 붙이면 플랫폼이 맞춤형 이미지 식별기를 학습해 새 이미지를 그 라벨에 비추어 점수화한다. 프로젝트는 두 종류다. 이미지 분류는 사진 한 장에 라벨 하나 또는 여러 개를 붙이고, 객체 탐지는 찾은 객체마다 상자 위치까지 돌려준다.
작업은 브라우저의 customvision.ai에서 끝난다. SDK와 REST API를 쓰면 과정을 코드로 자동화할 수 있다. 학습은 시간당 과금되는 Azure 컴퓨팅에서 돌고, 추론은 별도 리소스로 분리된다. 트래픽이 많은 운영 엔드포인트가 실험과 자원을 다투지 않는다는 뜻이다. 컴팩트 도메인에서 학습한 모델은 휴대폰, 카메라, 사내 서버로 내보낼 수 있다. 순수 클라우드 API 대신 이 서비스를 고르는 이유가 대개 여기에 있다.
문제는 일정이다. Microsoft는 Azure Custom Vision의 서비스 종료를 발표했고 기존 고객은 2028년 9월 25일까지 전체 지원을 받는다. 여유는 있다. 그래도 컴퓨터 비전 모델 학습을 새로 시작한다면 이전 경로를 먼저 따져봐야 한다. 정확도에도 현실적인 한계가 있다. 깨끗하고 일관되게 라벨을 붙인 100장이 대충 붙인 1,000장을 이기는 경우가 많고, 스튜디오 사진으로 학습한 모델은 현장에서 찍은 흔들린 사진에 약하다.
Getting Started
- Azure 포털에서 Custom Vision 학습 리소스를 만들고 데이터와 가까운 지역을 고른다.
- customvision.ai를 열어 분류 또는 탐지 프로젝트를 만들고 도메인을 선택한다.
- 이미지를 올리고 라벨을 붙인다. 첫 학습 전에는 라벨마다 15에서 30장을 목표로 한다.
- 학습을 돌리고 라벨별 정밀도와 재현율을 확인한 뒤 태그를 고치거나 사진을 더해 다시 학습한다.
- 반복을 추론 리소스에 게시하고 앱에서 엔드포인트를 호출한다.
제품 정보
Custom Vision의 요금, 지원 플랫폼, 성능을 한눈에 확인해 보세요.
추천 대상
이 도구가 가장 잘 맞는 사용자, 작업, 상황입니다.
사용자
- 기존 앱에 이미지 분류를 붙이려는 개발자. REST API와 SDK가 .NET, Python, Java, Node.js 코드에 바로 들어간다. 데이터 과학 팀은 필요 없다.
- 작은 공장의 운영 팀. 탐지 모델이 라인에서 빠진 부품을 알려준다. 실제 불량 사진을 누군가 계속 넣어준다는 조건이 붙는다.
- 상품 카탈로그와 유통 담당자. 분류로 상품 사진을 정리하고 진열 상태를 확인할 수 있다. 조명이 들쭉날쭉한 현장은 전용 학습 데이터가 따로 필요하다.
작업
- 사용자가 올린 파일을 내용으로 분류한다. 영수증, 신분증, 반려동물 사진 같은 라벨을 학습시키고 파일을 맞는 대기열로 보낸다.
- 부품이 있는지 없는지 확인한다. 탐지가 상자와 신뢰도를 돌려주므로 단순한 임계값으로 사람 검토를 띄울 수 있다.
- 고정 카메라의 상태를 읽는다. 클라우드 왕복이 너무 느린 현장에서는 컴팩트 모델을 내보내 기기에서 추론한다.
- 이미지 아이디어를 일주일 안에 검증한다. 무료 등급의 프로젝트 2개와 월 10,000회 추론이면 개념 증명은 충분하다.
활용 상황
- 신호가 없는 현장에서 쓰는 점검 앱. 컴팩트 모델을 CoreML이나 ONNX로 내보내 기기에서 바로 추론한다.
- 지원팀이 스크린샷을 유형별로 나누는 흐름. 분류가 붙인 라벨을 티켓 시스템이 그대로 쓴다.
- 큰 개발 전의 예비 검증. 라벨 조합이 학습 가능한지 Custom Vision으로 확인하고 운영 단계에서는 Azure Machine Learning AutoML로 옮긴다.
주요 기능
자체 라벨로 하는 이미지 분류
라벨은 직접 정하고 이미지 분류 모델이 그 모습을 익힌다. 멀티클래스 프로젝트는 사진 한 장에 라벨 하나를 고르고, 멀티라벨은 여러 개를 동시에 허용한다. 한 장에 중요한 요소가 둘 이상인 사진에 맞다. 학습이 끝나면 추론마다 라벨별 확률이 나오고, 경계는 코드에서 정한다.
객체 탐지와 경계 상자
탐지 프로젝트는 라벨의 존재 여부만 아니라 각 인스턴스의 위치를 돌려준다. 개수를 세거나 라인에서 방향을 확인하거나 다음 단계를 위해 영역을 잘라낼 때 필요하다. 포털에서 상자를 그리면 학습된 객체 탐지 모델이 일치하는 곳마다 좌표와 신뢰도를 보고한다.
용도별 도메인으로 학습 단축
빈 범용 모델에서 시작하는 대신 내용에 맞는 도메인을 고를 수 있다. 음식, 랜드마크, 유통, 그리고 내보내기용 컴팩트 버전이다. 출발점이 가까울수록 쓸 만한 정확도까지 필요한 사진 수가 줄어든다. 대신 컴팩트 도메인은 모델 크기를 제한하므로 클라우드의 전체 도메인만큼 정확도를 끌어올리지는 못한다.
반복, 지표, 임계값
학습할 때마다 이름이 붙은 반복이 생기고 서로 비교할 수 있다. 포털은 라벨별 정밀도, 재현율, 평균 정밀도를 보여준다. 라벨마다 확률 임계값을 정해 오탐과 놓침 사이에서 균형을 잡을 수 있다. 게시는 별도 단계라서 실패한 실험이 운영 중인 엔드포인트를 건드리지 않는다.
엣지와 컨테이너로 내보내기
컴팩트 도메인 모델은 TensorFlow, CoreML, ONNX, 또는 Linux와 Windows용 Docker 이미지로 나간다. 맞춤형 이미지 식별기를 휴대폰, 라즈베리 파이, 산업용 PC에서 오프라인으로 돌릴 수 있다. 내보낸 모델은 외부로 통신하지 않는다. 데이터를 현장 밖으로 보낼 수 없는 곳에서 유용하다.
포털, SDK, REST API
웹 포털만으로 라벨링, 학습, 테스트를 코드 없이 처리한다. 반복 실행이 필요한 흐름은 REST API와 .NET, Python, Java, Node.js 클라이언트 라이브러리가 같은 작업을 프로그램으로 수행한다. 학습과 추론은 별도 Azure 리소스에 두므로 실험은 저렴한 지역에 남기고 운영 트래픽은 사용자와 가까운 지역에서 처리할 수 있다.
장단점
장점
- 라벨 붙인 사진에서 동작하는 엔드포인트까지 학습 코드 없이 간다.
- 무료 등급에 프로젝트 2개, 월 1시간 학습, 추론 10,000회가 포함된다.
- 컴팩트 모델을 CoreML, ONNX, TensorFlow, Docker로 내보내 오프라인 추론이 가능하다.
- 학습과 추론 리소스가 따로 과금되어 멈춰 있는 실험 비용은 작다.
- 과금, 접근 제어, 모니터링이 이미 쓰는 Azure 구독 안에서 끝난다.
단점
- Microsoft가 2028년 9월 25일에 서비스를 종료하므로 모든 배포에 이전 계획이 필요하다.
- 라벨이 적거나 표기가 일관되지 않으면 정확도가 무너진다. 고치려면 수작업 라벨링이 늘어난다.
- 내보내기는 컴팩트 도메인에서만 되고, 클라우드 전체 모델보다 정확도가 조금 떨어진다.
- 추론 비용은 1,000건당 2달러로 트래픽에 비례한다. 사용량이 많은 앱에서는 부담이 커진다.
자주 묻는 질문
직접 라벨을 붙인 사진으로 이미지 모델을 학습한다. 상품 이미지 정리, 생산 라인 불량 표시, 고정 카메라 상태 읽기, 사용자 업로드 파일의 내용별 분류가 대표적인 용도다.
관련 콘텐츠
Custom Vision와 관련된 도구, 스킬, 아티클을 살펴보세요.
Custom Vision 대안
Google EmbeddingGemma 2
Google DeepMind · 글쓰기 · 이미지 · 코딩Google EmbeddingGemma 2는 7억 4000만 파라미터의 오픈 모델로, 텍스트와 코드, 이미지, 오디오, 영상 프레임을 하나의 768차원 공간에 벡터로 바꿔 스마트폰과 노트북에서 실행한다.
Tractionwave
TractionWave · 이미지 · 마케팅TractionWave는 정적 광고용 AI 어텐션 히트맵 도구다. PNG나 JPG를 올리면 예측된 시선 위치, 순위가 매겨진 핫스팟, 수정안이 나온다. 예산을 집행하기 전에 판단하는 데 쓴다.
Imejis.io
Imejis.io · 이미지 · 마케팅Imejis.io는 에이전트와 마케팅 팀을 위한 AI 디자인 스튜디오다. 평소 쓰는 말로 이미지를 설명하면 문구를 쓰고 레이아웃을 잡은 뒤 모든 크기로 다시 배치하고 완성 파일을 내보낸다.
