Select a domain for a Custom Vision project

This guide shows you how to select a domain for your project in the Custom Vision Service.

From the settings tab of your project on the Custom Vision web portal, you can select a model domain for your project. You'll want to choose the domain that's closest to your use case scenario. If you're accessing Custom Vision through a client library or REST API, you'll need to specify a domain ID when creating the project. You can get a list of domain IDs with Get Domains. Or, use the table below.

Image Classification domains

Domain Purpose
General Optimized for a broad range of image classification tasks. If none of the other specific domains are appropriate, or if you're unsure of which domain to choose, select one of the General domains. ID: ee85a74c-405e-4adc-bb47-ffa8ca0c9f31
General [A1] Optimized for better accuracy with comparable inference time as General domain. Recommended for larger datasets or more difficult user scenarios. This domain requires more training time. ID: a8e3c40f-fb4a-466f-832a-5e457ae4a344
General [A2] Optimized for better accuracy with faster inference time than General[A1] and General domains. Recommended for most datasets. This domain requires less training time than General and General [A1] domains. ID: 2e37d7fb-3a54-486a-b4d6-cfc369af0018
Food Optimized for photographs of dishes as you would see them on a restaurant menu. If you want to classify photographs of individual fruits or vegetables, use the Food domain. ID: c151d5b5-dd07-472a-acc8-15d29dea8518
Landmarks Optimized for recognizable landmarks, both natural and artificial. This domain works best when the landmark is clearly visible in the photograph. This domain works even if the landmark is slightly obstructed by people in front of it. ID: ca455789-012d-4b50-9fec-5bb63841c793
Retail Optimized for images that are found in a shopping catalog or shopping website. If you want high-precision classifying between dresses, pants, and shirts, use this domain. ID: b30a91ae-e3c1-4f73-a81e-c270bff27c39
Compact domains Optimized for the constraints of real-time classification on edge devices.

Note

The General[A1] and General[A2] domains can be used for a broad set of scenarios and are optimized for accuracy. Use the General[A2] model for better inference speed and shorter training time. For larger datasets, you may want to use General[A1] to render better accuracy than General[A2], though it requires more training and inference time. The General model requires more inference time than both General[A1] and General[A2].

Object Detection domains

Domain Purpose
General Optimized for a broad range of object detection tasks. If none of the other domains are appropriate, or you are unsure of which domain to choose, select the General domain. ID: da2e3a8a-40a5-4171-82f4-58522f70fbc1
General [A1] Optimized for better accuracy with comparable inference time as General domain. Recommended for more accurate region location needs, larger datasets, or more difficult user scenarios. This domain requires more training time, and results are not deterministic: expect a +-1% mean Average Precision (mAP) difference with the same training data provided. ID: 9c616dff-2e7d-ea11-af59-1866da359ce6
Logo Optimized for finding brand logos in images. ID: 1d8ffafe-ec40-4fb2-8f90-72b3b6cecea4
Products on shelves Optimized for detecting and classifying products on shelves. ID: 3780a898-81c3-4516-81ae-3a139614e1f3
Compact domains Optimized for the constraints of real-time object detection on edge devices.

Compact domains

The models generated by compact domains can be exported to run locally. In the Custom Vision 3.4 public preview API, you can get a list of the exportable platforms for compact domains by calling the GetDomains API.

All of the following domains support export in ONNX, TensorFlow,TensorFlowLite, TensorFlow.js, CoreML, and VAIDK formats, with the exception that the Object Detection General (compact) domain does not support VAIDK.

Model performance varies by selected domain. In the table below, we report the model size and inference time on Intel Desktop CPU and NVidia GPU [1]. These numbers don't include preprocessing and postprocessing time.

Task Domain ID Model Size CPU inference time GPU inference time
Classification General (compact) 0732100f-1a38-4e49-a514-c9b44c697ab5 6 MB 10 ms 5 ms
Classification General (compact) [S1] a1db07ca-a19a-4830-bae8-e004a42dc863 43 MB 50 ms 5 ms
Object Detection General (compact) a27d5ca5-bb19-49d8-a70a-fec086c47f5b 45 MB 35 ms 5 ms
Object Detection General (compact) [S1] 7ec2ac80-887b-48a6-8df9-8b1357765430 14 MB 27 ms 7 ms

Note

The General (compact) domain for Object Detection requires special postprocessing logic. For the detail, please see an example script in the exported zip package. If you need a model without the postprocessing logic, use General (compact) [S1].

Important

There is no guarantee that the exported models give the exactly same result as the prediction API on the cloud. Slight difference in the running platform or the preprocessing implementation can cause larger difference in the model outputs. For the detail of the preprocessing logic, please see this document.

[1] Intel Xeon E5-2690 CPU and NVIDIA Tesla M60

Next steps

Follow a quickstart to get started creating and training a Custom Vision project.