ImageFeatureValue 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
모델에 전달하는 데 사용되는 이미지의 속성을 설명합니다.
public ref class ImageFeatureValue sealed : ILearningModelFeatureValue
/// [Windows.Foundation.Metadata.ContractVersion(Windows.AI.MachineLearning.MachineLearningContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ImageFeatureValue final : ILearningModelFeatureValue
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.AI.MachineLearning.MachineLearningContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ImageFeatureValue : ILearningModelFeatureValue
Public NotInheritable Class ImageFeatureValue
Implements ILearningModelFeatureValue
- 상속
- 특성
- 구현
Windows 요구 사항
디바이스 패밀리 |
Windows 10, version 1809 (10.0.17763.0에서 도입되었습니다.)
|
API contract |
Windows.AI.MachineLearning.MachineLearningContract (v1.0에서 도입되었습니다.)
|
예제
다음 예제에서는 LearningModelSession 및 LearningModelBinding을 만들고, 입력을 VideoFrame에서 만든 ImageFeatureValue에 바인딩한 다음 출력을 바인딩합니다.
#include <winrt/Windows.AI.MachineLearning.h>
#include <winrt/Windows.Media.h>
using namespace winrt;
using namespace Windows::AI::MachineLearning;
using namespace Windows::Media;
...
void BindModel(
LearningModel model,
LearningModelDeviceKind deviceKind,
winrt::hstring inputName,
winrt::hstring outputName,
VideoFrame imageFrame)
{
// Create a session and binding.
LearningModelSession session = LearningModelSession{ model, LearningModelDevice(deviceKind) };
LearningModelBinding binding = LearningModelBinding{ session };
// Bind the intput image.
binding.Bind(inputName, ImageFeatureValue::CreateFromVideoFrame(imageFrame));
// Bind the output.
std::vector<int64_t> shape({ 1, 1000, 1, 1 });
binding.Bind(outputName, TensorFloat::Create(shape));
}
설명
이는 이미지를 입력 및 출력으로 전달하는 데 권장되는 방법입니다. 이를 통해 이미지에 집중할 수 있으며 변환 또는 텐서화에 대해 걱정할 필요가 없습니다. ImageFeatureValue.CreateFromVideoFrame 메서드를 사용하여 ImageFeatureValue를 만들 수 있습니다.
Windows ML은 SoftwareBitmap 및 IDirect3DSurface라는 두 가지 유형의 VideoFrame을 지원합니다. 시스템은 모델에 필요한 형식과 일치하도록 이미지의 변환 및 텐서화를 모두 처리합니다. 현재 지원되는 모델 형식은 Gray8, Rgb8 및Bgr8이며 현재 지원되는 픽셀 범위는 0-255입니다.
Windows Server
Windows Server에서 이 API를 사용하려면 데스크톱 환경과 함께 Windows Server 2019를 사용해야 합니다.
스레드로부터의 안전성
이 API는 스레드로부터 안전합니다.
속성
Kind |
기능과 연결된 Kind를 반환합니다. |
VideoFrame |
비디오 프레임을 가져옵니다. |
메서드
CreateFromVideoFrame(VideoFrame) |
지정된 비디오 프레임을 사용하여 ImageFeatureValue 를 만듭니다. |