Azure AI Video Indexer BYO(Bring Your Own) AI 모델 개요
이 문서는 Azure AI Video Indexer 사용자 고유의 AI 모델을 가져오는 개요입니다.
소개
타사, 분류 및 검색 모델을 비롯한 다른 원본의 인사이트를 결합하여 미디어 데이터에 대한 자세한 분석을 생성할 수 있습니다. Microsoft에서 제공하는 모델, 외부 사용자 지정 모델 또는 Azure Video Indexer에서 제공하는 사용자 지정 사람, 브랜드, 음성 또는 언어 모델을 하나 이상 사용할 수 있습니다.
이 기능은 Arc에서 사용하도록 설정된 VI에도 사용할 수 있습니다.
고지 사항: Azure OpenAI 서비스에 대한 Microsoft의 행동 강령은 사용자 고유의 모델 가져오기 기능을 사용하는 데 적용되며, 여기에는 비준수에 대한 Microsoft의 액세스 및 사용을 중단할 수 있는 Microsoft의 권리가 포함됩니다.
가격 책정
Video Indexer BYO 모델을 사용하면 사용자는 인덱싱 프로세스의 나열된 비용을 초과하여 추가 비용을 발생시키지 않고도 비디오 인사이트 개체에 사용자 지정 인사이트를 추가할 수 있습니다. 그러나 외부 환경 및 모델과 관련된 비용은 Video Indexer 청구 가격의 일부로 간주해서는 안 됩니다. 외부 논리를 최적화하고 비용을 절감하려면 모범 사례 섹션을 검토하는 것이 좋습니다.
일반 워크플로
- 비디오는 Azure AI Video Indexer를 사용하여 업로드 및 인덱싱됩니다.
- 인덱싱 프로세스가 완료되면 이벤트가 생성됩니다.
- 사용자 지정 코드는 이벤트를 수신 대기하고 비디오 후처리 프로세스를 시작합니다.
- Video Indexer에서 추출한 인사이트를 가져옵니다.
- 비디오 섹션의 키 프레임을 가져옵니다.
- 키 프레임을 사용자 지정 AI 모델로 보냅니다.
- 사용자 지정 인사이트를 Video Indexer에 다시 패치합니다.
필수 조건
Azure AI Video Indexer에서 BYO 모델 기능을 사용하려면 먼저 다음을 수행해야 합니다.
- 비디오 자산을 수신하고 인사이트를 반환하는 외부 AI 모델을 학습하거나 가져옵니다.
- 다음과 같은 사용자 지정 코드를 만듭니다.
- Event Hubss 이벤트를 수신 대기합니다.
- 이벤트에서 추출합니다
video id
. - VI API를 호출하여 관련 자산을 검색합니다. 이 시나리오에서는 비디오 인덱스 가져오기 및 프레임 가져오기 SAS URL을 요청합니다.
- 외부 AI 모델에 자산을 보냅니다.
- 사용자 지정 AI 모델에서 검색된 인사이트를 기반으로 JSON 개체를 만듭니다.
- 패치 업데이트 비디오 인덱스를 요청합니다.
스키마
사용자 지정 데이터를 채우기 위한 값은 다음과 같습니다.
속성 | 설명 | 필수 |
---|---|---|
이름 | 외부 AI 모델 이름 | true |
displayName | Video Indexer에 표시할 인사이트 그룹 이름 | true |
displayType | 이 특정 인사이트 그룹에 대한 UI 표현의 형식을 정의합니다. 기본값: 캡슐 가능한 형식: 캡슐 – 한 수준 텍스트만 CapsuleAndTags -2개 수준 텍스트는 나중에 더 추가될 예정입니다. |
false |
결과 | 외부 AI 모델에서 검색한 인사이트를 나타내는 개체 배열 | true |
results.id | 결과 개체의 사용자 제공 ID는 결과 범위 내에서 고유해야 합니다. | true |
results.type | 이 필드는 외부 AI 모델로 분류된 인사이트 유형을 나타냅니다. 일반적인 인사이트 범주를 나타내는 데 사용됩니다. 즉, 특정 프레임에서 식별된 이 형식의 여러 인사이트가 있을 수 있습니다. 인사이트 유형의 예로는 "농구", "군중 박수", "흰색 셔츠"가 있습니다. | true |
results.subType | 이 필드는 외부 AI 모델로 분류된 인사이트 유형을 나타냅니다. 특정 인사이트 범주를 나타내는 데 사용됩니다. 즉, 특정 프레임에서 식별된 이 형식의 단일 인사이트만 있을 수 있습니다. 인사이트 유형의 예로는 "농구 #23", "John clapping", "Dana's white shirt"가 있습니다. | false |
results.metaData | 인사이트에 대한 추가 데이터 | false |
results.instances | 인사이트가 검색된 시간을 나타내는 배열입니다. | true |
results.instances.confidence | 외부 모델에서 반환된 신뢰도 점수로 설정 | false |
results.instances.start | 비디오에서 인스턴스의 시작 시간입니다. 형식: hh.mm.ss.ff |
false |
results.instances.end | 비디오에서 인스턴스의 종료 시간입니다. 형식: hh.mm.ss.ff |
false |
results.instances.adjustedStart | 시작의 값으로 설정된 UI에 표시될 때 사용됩니다. | false |
results.instances.adjustedEnd | UI에 표시될 때 사용되며 End의 값으로 설정됩니다. | false |
프레임 전송률
Azure AI Video Indexer는 기본/표준 비디오 수준에 FPS 1개, 고급 수준의 경우 4개의 FPS를 지원합니다. 더 높은 프레임 속도는 지원되지 않습니다. 다음을 통해 인덱싱을 최적화할 수 있습니다.
- 감지된 소리, 개체 또는 사람을 포함하는 프레임과 같이 관심 있는 특정 세그먼트만 처리하거나
- 예를 들어 5초마다 더 낮은 FPS를 샘플링합니다.
프레임 선택
시간 선택에는 건너뛰기 프레임 및 페이지 크기 매개 변수를 사용할 수 있습니다. 수식은 FPS를 곱한 건너뛰기 프레임 값과 FPS를 곱한 페이지 크기 값을 사용하여 시간 범위를 확인할 수 있습니다.
URL: https://api.videoindexer.ai/{location}/Accounts/{accountId}/Videos/{videoId}/FramesFilePaths[?urlsLifetimeSeconds][&pageSize][&skip][&accessToken]
매개 변수:
속성 | 설명 | 필수 |
---|---|---|
videoId | 비디오의 ID | true |
urlsLifetimeSeconds | URL의 수명(초) | true |
pageSize | 모든 호출을 반환할 최대 프레임 수 | false |
skip | 건너뛸 프레임 | false |
accessToken | URL 쿼리 문자열 또는 권한 부여 헤더에서 전달자 토큰으로 매개 변수로 지정해야 합니다. 액세스 토큰 범위는 계정이어야 하며 권한은 읽기 권한자여야 합니다. | true |
응답: FrameFilePathsResult
속성 | 설명 | 필수 |
---|---|---|
결과 | FrameUriData 목록 | False |
NextPage | 데이터 페이징(skip, pageSize, isDone) | False |
FrameFilePathData
속성 | 설명 |
---|---|
이름 | 프레임 파일의 이름 |
frameIndex | 프레임의 인덱스 |
StartTime | 비디오의 프레임 시작 시간 |
EndTime | 비디오의 프레임 종료 시간 |
filePath | 클라우드 환경에서 프레임의 Sas URI 또는 에지 환경의 파일 경로 |
사용자 지정 애플리케이션에서 스키마 형식으로 전송된 샘플 데이터
"customInsights": [
{
"Name": "tattoo",
"displayName": "Tattoo’s model",
"displayType": "CapsuleAndTag",
"Results": [
{
"id": 1,
"Type": "Dragon",
"WikiDataId": "57F",
"SubType": "Leg tattoo",
"Metadata": "",
"Instances": [
{
"Confidence": 0.49,
"AdjustedStart": "0:00:32.72",
"AdjustedEnd": "0:00:42.72",
"start": "0:00:32.72",
"end": "0:00:42.72",
}
]
}
]
}...