# CustomObjectDetectorOptions.Builder

public static class **CustomObjectDetectorOptions.Builder** extends [Object](https://developer.android.com/reference/java/lang/Object.html)  
Builder of `https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions`.

### Public Constructor Summary

|---|---|
|   | [Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder#Builder(com.google.mlkit.common.model.LocalModel))(LocalModel localModel) Creates a new builder to build `https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions` with `https://developers.google.com/android/reference/com/google/mlkit/common/model/LocalModel`. |
|   | [Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder#Builder(com.google.mlkit.common.model.CustomRemoteModel))(CustomRemoteModel remoteModel) Creates a new builder to build `https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions` with `https://developers.google.com/android/reference/com/google/mlkit/common/model/CustomRemoteModel`. |

### Public Method Summary

|---|---|
| [CustomObjectDetectorOptions](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions) | [build](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder#build())() |
| [CustomObjectDetectorOptions.Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder) | [enableClassification](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder#enableClassification())() Enables classification. |
| [CustomObjectDetectorOptions.Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder) | [enableMultipleObjects](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder#enableMultipleObjects())() Enables multiple objects for detection. |
| [CustomObjectDetectorOptions.Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder) | [setClassificationConfidenceThreshold](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder#setClassificationConfidenceThreshold(float))(float classificationConfidenceThreshold) Sets the classification confidence threshold of labels to be detected. |
| [CustomObjectDetectorOptions.Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder) | [setDetectorMode](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder#setDetectorMode(int))(int detectorMode) Sets the `https://developers.google.com/android/reference/com/google/mlkit/vision/objects/ObjectDetectorOptionsBase.DetectorMode`, which contains two modes, `https://developers.google.com/android/reference/com/google/mlkit/vision/objects/ObjectDetectorOptionsBase#STREAM_MODE` and `https://developers.google.com/android/reference/com/google/mlkit/vision/objects/ObjectDetectorOptionsBase#SINGLE_IMAGE_MODE`. |
| [CustomObjectDetectorOptions.Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder) | [setExecutor](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder#setExecutor(java.util.concurrent.Executor))([Executor](https://developer.android.com/reference/java/util/concurrent/Executor.html) executor) Sets the custom `https://developer.android.com/reference/java/util/concurrent/Executor.html` to use. |
| [CustomObjectDetectorOptions.Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder) | [setMaxPerObjectLabelCount](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder#setMaxPerObjectLabelCount(int))(int maxPerObjectLabelCount) Sets the maximum number of labels per object that the detector will return. |

### Inherited Method Summary

From class java.lang.Object

|---|---|
| [Object](https://developer.android.com/reference/java/lang/Object.html) | clone() |
| boolean | equals([Object](https://developer.android.com/reference/java/lang/Object.html) arg0) |
| void | finalize() |
| final [Class](https://developer.android.com/reference/java/lang/Class.html)\<?\> | getClass() |
| int | hashCode() |
| final void | notify() |
| final void | notifyAll() |
| [String](https://developer.android.com/reference/java/lang/String.html) | toString() |
| final void | wait(long arg0, int arg1) |
| final void | wait(long arg0) |
| final void | wait() |

## Public Constructors

#### public **Builder** (LocalModel localModel)

Creates a new builder to build `https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions` with `https://developers.google.com/android/reference/com/google/mlkit/common/model/LocalModel`.

#### public **Builder** (CustomRemoteModel remoteModel)

Creates a new builder to build `https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions` with `https://developers.google.com/android/reference/com/google/mlkit/common/model/CustomRemoteModel`.

## Public Methods

#### public [CustomObjectDetectorOptions](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions) **build**
()

#### public [CustomObjectDetectorOptions.Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder) **enableClassification** ()

Enables classification.

By default, the classification is off.

#### public [CustomObjectDetectorOptions.Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder) **enableMultipleObjects** ()

Enables multiple objects for detection.

When enabled, the maximum number of detected objects per image is 5.

By default, the detector detects prominent object only.

#### public [CustomObjectDetectorOptions.Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder) **setClassificationConfidenceThreshold** (float classificationConfidenceThreshold)

Sets the classification confidence threshold of labels to be detected.

If not set, any classifier threshold specified by the model's metadata will be used,
or 0.0 will be used if no such metadata or threshold.

#### public [CustomObjectDetectorOptions.Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder) **setDetectorMode** (int detectorMode)

Sets the `https://developers.google.com/android/reference/com/google/mlkit/vision/objects/ObjectDetectorOptionsBase.DetectorMode`, which contains two modes, `https://developers.google.com/android/reference/com/google/mlkit/vision/objects/ObjectDetectorOptionsBase#STREAM_MODE` and `https://developers.google.com/android/reference/com/google/mlkit/vision/objects/ObjectDetectorOptionsBase#SINGLE_IMAGE_MODE`. For more details, please see
comments for `https://developers.google.com/android/reference/com/google/mlkit/vision/objects/ObjectDetectorOptionsBase#STREAM_MODE` and `https://developers.google.com/android/reference/com/google/mlkit/vision/objects/ObjectDetectorOptionsBase#SINGLE_IMAGE_MODE`.

By default, it is `https://developers.google.com/android/reference/com/google/mlkit/vision/objects/ObjectDetectorOptionsBase#STREAM_MODE`.

#### public [CustomObjectDetectorOptions.Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder) **setExecutor** ([Executor](https://developer.android.com/reference/java/util/concurrent/Executor.html) executor)

Sets the custom `https://developer.android.com/reference/java/util/concurrent/Executor.html`
to use. If no `https://developer.android.com/reference/java/util/concurrent/Executor.html`
is set, an internal background thread pool will be used.

Most clients should not need to call this method.

##### Parameters

| executor | the `https://developer.android.com/reference/java/util/concurrent/Executor.html` to use |
|---|---|

##### Returns

- this object, for chaining method calls

#### public [CustomObjectDetectorOptions.Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions.Builder) **setMaxPerObjectLabelCount** (int maxPerObjectLabelCount)

Sets the maximum number of labels per object that the detector will return.

If not set, the default value of 10 will be used.