From 3f0ec5969b80325cce616897fb25501d75328a5d Mon Sep 17 00:00:00 2001 From: Prianka Liz Kariat Date: Fri, 25 Aug 2023 18:06:50 +0530 Subject: [PATCH] Updated iOS docs to use swift names in place of objective c names --- .../containers/sources/MPPCategory.h | 4 +- .../sources/MPPClassificationResult.h | 22 +-- .../containers/sources/MPPDetection.h | 18 +- .../containers/sources/MPPLandmark.h | 8 +- .../tasks/ios/vision/core/sources/MPPImage.h | 82 ++++----- .../face_detector/sources/MPPFaceDetector.h | 82 ++++----- .../sources/MPPFaceDetectorOptions.h | 34 ++-- .../sources/MPPFaceDetectorResult.h | 10 +- .../sources/MPPFaceLandmarker.h | 85 ++++------ .../sources/MPPFaceLandmarkerOptions.h | 37 ++-- .../sources/MPPFaceLandmarkerResult.h | 12 +- .../sources/MPPImageClassifier.h | 158 ++++++++---------- .../sources/MPPImageClassifierOptions.h | 34 ++-- .../sources/MPPImageClassifierResult.h | 12 +- .../sources/MPPObjectDetector.h | 80 ++++----- .../sources/MPPObjectDetector.mm | 3 +- .../sources/MPPObjectDetectorOptions.h | 35 ++-- .../sources/MPPObjectDetectorResult.h | 10 +- 18 files changed, 342 insertions(+), 384 deletions(-) diff --git a/mediapipe/tasks/ios/components/containers/sources/MPPCategory.h b/mediapipe/tasks/ios/components/containers/sources/MPPCategory.h index f360d46da..5753c4d3f 100644 --- a/mediapipe/tasks/ios/components/containers/sources/MPPCategory.h +++ b/mediapipe/tasks/ios/components/containers/sources/MPPCategory.h @@ -44,14 +44,14 @@ NS_SWIFT_NAME(ResultCategory) @property(nonatomic, readonly, nullable) NSString *displayName; /** - * Initializes a new `MPPCategory` with the given index, score, category name and display name. + * Initializes a new `Category` with the given index, score, category name and display name. * * @param index The index of the label in the corresponding label file. * @param score The probability score of this label category. * @param categoryName The label of this category object. * @param displayName The display name of the label. * - * @return An instance of `MPPCategory` initialized with the given index, score, category name and + * @return An instance of `Category` initialized with the given index, score, category name and * display name. */ - (instancetype)initWithIndex:(NSInteger)index diff --git a/mediapipe/tasks/ios/components/containers/sources/MPPClassificationResult.h b/mediapipe/tasks/ios/components/containers/sources/MPPClassificationResult.h index bbc9aa8a5..435071050 100644 --- a/mediapipe/tasks/ios/components/containers/sources/MPPClassificationResult.h +++ b/mediapipe/tasks/ios/components/containers/sources/MPPClassificationResult.h @@ -32,32 +32,32 @@ NS_SWIFT_NAME(Classifications) /** The optional name of the classifier head, which is the corresponding tensor metadata name. */ @property(nonatomic, readonly, nullable) NSString *headName; -/** An array of `MPPCategory` objects containing the predicted categories. */ +/** An array of `Category` objects containing the predicted categories. */ @property(nonatomic, readonly) NSArray *categories; /** - * Initializes a new `MPPClassifications` object with the given head index and array of categories. + * Initializes a new `Classifications` object with the given head index and array of categories. * Head name is initialized to `nil`. * * @param headIndex The index of the classifier head. - * @param categories An array of `MPPCategory` objects containing the predicted categories. + * @param categories An array of `Category` objects containing the predicted categories. * - * @return An instance of `MPPClassifications` initialized with the given head index and + * @return An instance of `Classifications` initialized with the given head index and * array of categories. */ - (instancetype)initWithHeadIndex:(NSInteger)headIndex categories:(NSArray *)categories; /** - * Initializes a new `MPPClassifications` with the given head index, head name and array of + * Initializes a new `Classifications` with the given head index, head name and array of * categories. * * @param headIndex The index of the classifier head. * @param headName The name of the classifier head, which is the corresponding tensor metadata * name. - * @param categories An array of `MPPCategory` objects containing the predicted categories. + * @param categories An array of `Category` objects containing the predicted categories. * - * @return An object of `MPPClassifications` initialized with the given head index, head name and + * @return An object of `Classifications` initialized with the given head index, head name and * array of categories. */ - (instancetype)initWithHeadIndex:(NSInteger)headIndex @@ -78,7 +78,7 @@ NS_SWIFT_NAME(ClassificationResult) @interface MPPClassificationResult : NSObject /** - * An Array of `MPPClassifications` objects containing the predicted categories for each head of + * An Array of `Classifications` objects containing the predicted categories for each head of * the model. */ @property(nonatomic, readonly) NSArray *classifications; @@ -93,15 +93,15 @@ NS_SWIFT_NAME(ClassificationResult) @property(nonatomic, readonly) NSInteger timestampInMilliseconds; /** - * Initializes a new `MPPClassificationResult` with the given array of classifications and time + * Initializes a new `ClassificationResult` with the given array of classifications and time * stamp (in milliseconds). * - * @param classifications An Array of `MPPClassifications` objects containing the predicted + * @param classifications An Array of `Classifications` objects containing the predicted * categories for each head of the model. * @param timestampInMilliseconds The timestamp (in milliseconds) of the start of the chunk of data * corresponding to these results. * - * @return An instance of `MPPClassificationResult` initialized with the given array of + * @return An instance of `ClassificationResult` initialized with the given array of * classifications and timestamp (in milliseconds). */ - (instancetype)initWithClassifications:(NSArray *)classifications diff --git a/mediapipe/tasks/ios/components/containers/sources/MPPDetection.h b/mediapipe/tasks/ios/components/containers/sources/MPPDetection.h index e085007a6..0aaad19ef 100644 --- a/mediapipe/tasks/ios/components/containers/sources/MPPDetection.h +++ b/mediapipe/tasks/ios/components/containers/sources/MPPDetection.h @@ -35,7 +35,7 @@ NS_SWIFT_NAME(NormalizedKeypoint) @property(nonatomic, readonly) float score; /** - * Initializes a new `MPPNormalizedKeypoint` object with the given location, label and score. + * Initializes a new `NormalizedKeypoint` object with the given location, label and score. * You must pass 0.0 for `score` if it is not present. * * @param location The (x,y) coordinates location of the normalized keypoint. @@ -43,7 +43,7 @@ NS_SWIFT_NAME(NormalizedKeypoint) * @param score The optional score of the normalized keypoint. You must pass 0.0 for score if it * is not present. * - * @return An instance of `MPPNormalizedKeypoint` initialized with the given given location, label + * @return An instance of `NormalizedKeypoint` initialized with the given given location, label * and score. */ - (instancetype)initWithLocation:(CGPoint)location @@ -56,18 +56,18 @@ NS_SWIFT_NAME(NormalizedKeypoint) @end -/** Represents one detected object in the results of `MPPObjectDetector`. */ +/** Represents one detected object in the results of `ObjectDetector`. */ NS_SWIFT_NAME(Detection) @interface MPPDetection : NSObject -/** An array of `MPPCategory` objects containing the predicted categories. */ +/** An array of `Category` objects containing the predicted categories. */ @property(nonatomic, readonly) NSArray *categories; /** The bounding box of the detected object. */ @property(nonatomic, readonly) CGRect boundingBox; /** - * An optional array of `MPPNormalizedKeypoint` objects associated with the detection. Keypoints + * An optional array of `NormalizedKeypoint` objects associated with the detection. Keypoints * represent interesting points related to the detection. For example, the keypoints represent the * eyes, ear and mouth from the from detection model. In template matching detection, e.g. KNIFT, * they can instead represent the feature points for template matching. @@ -75,18 +75,18 @@ NS_SWIFT_NAME(Detection) @property(nonatomic, readonly, nullable) NSArray *keypoints; /** - * Initializes a new `MPPDetection` object with the given array of categories, bounding box and + * Initializes a new `Detection` object with the given array of categories, bounding box and * optional array of keypoints; * - * @param categories A list of `MPPCategory` objects that contain category name, display name, + * @param categories A list of `Category` objects that contain category name, display name, * score, and the label index. * @param boundingBox A `CGRect` that represents the bounding box. - * @param keypoints: An optional array of `MPPNormalizedKeypoint` objects associated with the + * @param keypoints: An optional array of `NormalizedKeypoint` objects associated with the * detection. Keypoints represent interesting points related to the detection. For example, the * keypoints represent the eyes, ear and mouth from the face detection model. In template matching * detection, e.g. KNIFT, they can instead represent the feature points for template matching. * - * @return An instance of `MPPDetection` initialized with the given array of categories, bounding + * @return An instance of `Detection` initialized with the given array of categories, bounding * box and `nil` keypoints. */ - (instancetype)initWithCategories:(NSArray *)categories diff --git a/mediapipe/tasks/ios/components/containers/sources/MPPLandmark.h b/mediapipe/tasks/ios/components/containers/sources/MPPLandmark.h index f47602fcc..703124d3e 100644 --- a/mediapipe/tasks/ios/components/containers/sources/MPPLandmark.h +++ b/mediapipe/tasks/ios/components/containers/sources/MPPLandmark.h @@ -49,13 +49,13 @@ NS_SWIFT_NAME(Landmark) @property(nonatomic, readonly, nullable) NSNumber *presence; /** - * Initializes a new `MPPLandmark` object with the given x, y and z coordinates. + * Initializes a new `Landmark` object with the given x, y and z coordinates. * * @param x The x coordinates of the landmark. * @param y The y coordinates of the landmark. * @param z The z coordinates of the landmark. * - * @return An instance of `MPPLandmark` initialized with the given x, y and z coordinates. + * @return An instance of `Landmark` initialized with the given x, y and z coordinates. */ - (instancetype)initWithX:(float)x y:(float)y @@ -103,13 +103,13 @@ NS_SWIFT_NAME(NormalizedLandmark) @property(nonatomic, readonly, nullable) NSNumber *presence; /** - * Initializes a new `MPPNormalizedLandmark` object with the given x, y and z coordinates. + * Initializes a new `NormalizedLandmark` object with the given x, y and z coordinates. * * @param x The x coordinates of the landmark. * @param y The y coordinates of the landmark. * @param z The z coordinates of the landmark. * - * @return An instance of `MPPNormalizedLandmark` initialized with the given x, y and z coordinates. + * @return An instance of `NormalizedLandmark` initialized with the given x, y and z coordinates. */ - (instancetype)initWithX:(float)x y:(float)y diff --git a/mediapipe/tasks/ios/vision/core/sources/MPPImage.h b/mediapipe/tasks/ios/vision/core/sources/MPPImage.h index 847efc331..8ab5624c1 100644 --- a/mediapipe/tasks/ios/vision/core/sources/MPPImage.h +++ b/mediapipe/tasks/ios/vision/core/sources/MPPImage.h @@ -40,10 +40,10 @@ NS_SWIFT_NAME(MPImage) @property(nonatomic, readonly) CGFloat height; /** - * The display orientation of the image. If `imageSourceType` is `MPPImageSourceTypeImage`, the + * The display orientation of the image. If `imageSourceType` is `.image`, the * default value is `image.imageOrientation`; otherwise the default value is - * `UIImageOrientationUp`. If the `MPPImage` is being used as input for any MediaPipe vision tasks - * and is set to any orientation other than `UIImageOrientationUp`, inference will be performed on + * `UIImage.Orientation.up`. If the `MPImage` is being used as input for any MediaPipe vision tasks + * and is set to any orientation other than `UIImage.Orientation.up`, inference will be performed on * a rotated copy of the image according to the orientation. */ @property(nonatomic, readonly) UIImageOrientation orientation; @@ -54,46 +54,48 @@ NS_SWIFT_NAME(MPImage) /** The source image. `nil` if `imageSourceType` is not `.image`. */ @property(nonatomic, readonly, nullable) UIImage *image; -/** The source pixel buffer. `nil` if `imageSourceType` is not `.pixelBuffer`. */ +/** The source pixel buffer. `nil` if ``imageSourceType`` is not `.pixelBuffer`. */ @property(nonatomic, readonly, nullable) CVPixelBufferRef pixelBuffer; -/** The source sample buffer. `nil` if `imageSourceType` is not `.sampleBuffer`. */ +/** The source sample buffer. `nil` if ``imageSourceType`` is not `.sampleBuffer`. */ @property(nonatomic, readonly, nullable) CMSampleBufferRef sampleBuffer; /** - * Initializes an `MPPImage` object with the given `UIImage`. - * The orientation of the newly created `MPPImage` will be equal to the `imageOrientation` of + * Initializes an `MPImage` object with the given `UIImage`. + * + * The orientation of the newly created `MPImage` will be equal to the `imageOrientation` of * `UIImage` and when sent to the vision tasks for inference, rotation will be applied accordingly. - * To create an `MPPImage` with an orientation different from its `imageOrientation`, please use - * `[MPPImage initWithImage:orientation:error:]`. + * To create an `MPImage` with an orientation different from its `imageOrientation`, please use + * `MPImage(uiImage:orientation:)s`. * * @param image The image to use as the source. Its `CGImage` property must not be `NULL`. * @param error An optional error parameter populated when there is an error in initializing the - * `MPPImage`. + * `MPImage`. * - * @return A new `MPPImage` instance with the given image as the source. `nil` if the given + * @return A new `MPImage` instance with the given image as the source. `nil` if the given * `image` is `nil` or invalid. */ - (nullable instancetype)initWithUIImage:(UIImage *)image error:(NSError **)error; /** - * Initializes an `MPPImage` object with the given `UIImage` and orientation. The given orientation - * will be used to calculate the rotation to be applied to the `UIImage` before inference is + * Initializes an `MPImage` object with the given `UIImage` and orientation. + * + * The given orientation will be used to calculate the rotation to be applied to the `UIImage` before inference is * performed on it by the vision tasks. The `imageOrientation` stored in the `UIImage` is ignored * when `MPImage` objects created by this method are sent to the vision tasks for inference. Use - * `[MPPImage initWithImage:orientation:error:]` to initialize images with the `imageOrientation` of + * `MPImage(uiImage:)` to initialize images with the `imageOrientation` of * `UIImage`. * - * If the newly created `MPPImage` is used as input for any MediaPipe vision tasks, inference + * If the newly created `MPImage` is used as input for any MediaPipe vision tasks, inference * will be performed on a copy of the image rotated according to the orientation. * * @param image The image to use as the source. Its `CGImage` property must not be `NULL`. * @param orientation The display orientation of the image. This will be stored in the property - * `orientation` `MPPImage` and will override the `imageOrientation` of the passed in `UIImage`. + * `orientation` `MPImage` and will override the `imageOrientation` of the passed in `UIImage`. * @param error An optional error parameter populated when there is an error in initializing the - * `MPPImage`. + * `MPImage`. * - * @return A new `MPPImage` instance with the given image as the source. `nil` if the given + * @return A new `MPImage` instance with the given image as the source. `nil` if the given * `image` is `nil` or invalid. */ - (nullable instancetype)initWithUIImage:(UIImage *)image @@ -101,36 +103,36 @@ NS_SWIFT_NAME(MPImage) error:(NSError **)error NS_DESIGNATED_INITIALIZER; /** - * Initializes an `MPPImage` object with the given pixel buffer. + * Initializes an `MPImage` object with the given pixel buffer. * - * The orientation of the newly created `MPPImage` will be `UIImageOrientationUp`. + * The orientation of the newly created `MPImage` will be `UIImageOrientationUp`. * Hence, if this image is used as input for any MediaPipe vision tasks, inference will be - * performed on the it without any rotation. To create an `MPPImage` with a different - * orientation, please use `[MPPImage initWithPixelBuffer:orientation:error:]`. + * performed on the it without any rotation. To create an `MPImage` with a different + * orientation, please use `MPImage(pixelBuffer:orientation:)`. * * @param pixelBuffer The pixel buffer to use as the source. It will be retained by the new - * `MPPImage` instance for the duration of its lifecycle. + * `MPImage` instance for the duration of its lifecycle. * @param error An optional error parameter populated when there is an error in initializing the - * `MPPImage`. + * `MPImage`. * - * @return A new `MPPImage` instance with the given pixel buffer as the source. `nil` if the + * @return A new `MPImage` instance with the given pixel buffer as the source. `nil` if the * given pixel buffer is `nil` or invalid. */ - (nullable instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer error:(NSError **)error; /** - * Initializes an `MPPImage` object with the given pixel buffer and orientation. + * Initializes an `MPImage` object with the given pixel buffer and orientation. * - * If the newly created `MPPImage` is used as input for any MediaPipe vision tasks, inference + * If the newly created `MPImage` is used as input for any MediaPipe vision tasks, inference * will be performed on a copy of the image rotated according to the orientation. * * @param pixelBuffer The pixel buffer to use as the source. It will be retained by the new - * `MPPImage` instance for the duration of its lifecycle. + * `MPImage` instance for the duration of its lifecycle. * @param orientation The display orientation of the image. * @param error An optional error parameter populated when there is an error in initializing the - * `MPPImage`. + * `MPImage`. * - * @return A new `MPPImage` instance with the given orientation and pixel buffer as the source. + * @return A new `MPImage` instance with the given orientation and pixel buffer as the source. * `nil` if the given pixel buffer is `nil` or invalid. */ - (nullable instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer @@ -138,35 +140,35 @@ NS_SWIFT_NAME(MPImage) error:(NSError **)error NS_DESIGNATED_INITIALIZER; /** - * Initializes an `MPPImage` object with the given sample buffer. + * Initializes an `MPImage` object with the given sample buffer. * - * The orientation of the newly created `MPPImage` will be `UIImageOrientationUp`. + * The orientation of the newly created `MPImage` will be `UIImageOrientationUp`. * Hence, if this image is used as input for any MediaPipe vision tasks, inference will be - * performed on the it without any rotation. To create an `MPPImage` with a different orientation, - * please use `[MPPImage initWithSampleBuffer:orientation:error:]`. + * performed on the it without any rotation. To create an `MPImage` with a different orientation, + * please use `MPImage(sampleBuffer:orientation:)`. * * @param sampleBuffer The sample buffer to use as the source. It will be retained by the new - * `MPPImage` instance for the duration of its lifecycle. The sample buffer must be based on + * `MPImage` instance for the duration of its lifecycle. The sample buffer must be based on * a pixel buffer (not compressed data). In practice, it should be the video output of the * camera on an iOS device, not other arbitrary types of `CMSampleBuffer`s. - * @return A new `MPPImage` instance with the given sample buffer as the source. `nil` if the + * @return A new `MPImage` instance with the given sample buffer as the source. `nil` if the * given sample buffer is `nil` or invalid. */ - (nullable instancetype)initWithSampleBuffer:(CMSampleBufferRef)sampleBuffer error:(NSError **)error; /** - * Initializes an `MPPImage` object with the given sample buffer and orientation. + * Initializes an `MPImage` object with the given sample buffer and orientation. * - * If the newly created `MPPImage` is used as input for any MediaPipe vision tasks, inference + * If the newly created `MPImage` is used as input for any MediaPipe vision tasks, inference * will be performed on a copy of the image rotated according to the orientation. * * @param sampleBuffer The sample buffer to use as the source. It will be retained by the new - * `MPPImage` instance for the duration of its lifecycle. The sample buffer must be based on + * `MPImage` instance for the duration of its lifecycle. The sample buffer must be based on * a pixel buffer (not compressed data). In practice, it should be the video output of the * camera on an iOS device, not other arbitrary types of `CMSampleBuffer`s. * @param orientation The display orientation of the image. - * @return A new `MPPImage` instance with the given orientation and sample buffer as the source. + * @return A new `MPImage` instance with the given orientation and sample buffer as the source. * `nil` if the given sample buffer is `nil` or invalid. */ - (nullable instancetype)initWithSampleBuffer:(CMSampleBufferRef)sampleBuffer diff --git a/mediapipe/tasks/ios/vision/face_detector/sources/MPPFaceDetector.h b/mediapipe/tasks/ios/vision/face_detector/sources/MPPFaceDetector.h index 78f2fafbf..3dec361a6 100644 --- a/mediapipe/tasks/ios/vision/face_detector/sources/MPPFaceDetector.h +++ b/mediapipe/tasks/ios/vision/face_detector/sources/MPPFaceDetector.h @@ -57,27 +57,23 @@ NS_SWIFT_NAME(FaceDetector) @interface MPPFaceDetector : NSObject /** - * Creates a new instance of `MPPFaceDetector` from an absolute path to a TensorFlow Lite model - * file stored locally on the device and the default `MPPFaceDetector`. + * Creates a new instance of `FaceDetector` from an absolute path to a TensorFlow Lite model + * file stored locally on the device and the default `FaceDetector`. * * @param modelPath An absolute path to a TensorFlow Lite model file stored locally on the device. - * @param error An optional error parameter populated when there is an error in initializing the - * face detector. * - * @return A new instance of `MPPFaceDetector` with the given model path. `nil` if there is an + * @return A new instance of `FaceDetector` with the given model path. `nil` if there is an * error in initializing the face detector. */ - (nullable instancetype)initWithModelPath:(NSString *)modelPath error:(NSError **)error; /** - * Creates a new instance of `MPPFaceDetector` from the given `MPPFaceDetectorOptions`. + * Creates a new instance of `FaceDetector` from the given `FaceDetectorOptions`. * - * @param options The options of type `MPPFaceDetectorOptions` to use for configuring the - * `MPPFaceDetector`. - * @param error An optional error parameter populated when there is an error in initializing the - * face detector. + * @param options The options of type `FaceDetectorOptions` to use for configuring the + * `FaceDetector`. * - * @return A new instance of `MPPFaceDetector` with the given options. `nil` if there is an error + * @return A new instance of `FaceDetector` with the given options. `nil` if there is an error * in initializing the face detector. */ - (nullable instancetype)initWithOptions:(MPPFaceDetectorOptions *)options @@ -86,23 +82,21 @@ NS_SWIFT_NAME(FaceDetector) /** * Performs face detection on the provided MPPImage using the whole image as region of * interest. Rotation will be applied according to the `orientation` property of the provided - * `MPPImage`. Only use this method when the `MPPFaceDetector` is created with - * `MPPRunningModeImage`. + * `MPImage`. Only use this method when the `MPPFaceDetector` is created with running mode + * `.image`. * - * This method supports classification of RGBA images. If your `MPPImage` has a source type of - * `MPPImageSourceTypePixelBuffer` or `MPPImageSourceTypeSampleBuffer`, the underlying pixel buffer - * must have one of the following pixel format types: + * This method supports classification of RGBA images. If your `MPImage` has a source type of + * `.pixelBuffer` or `.sampleBuffer`, the underlying pixel buffer must have one of the + * following pixel format types: * 1. kCVPixelFormatType_32BGRA * 2. kCVPixelFormatType_32RGBA * - * If your `MPPImage` has a source type of `MPPImageSourceTypeImage` ensure that the color space is + * If your `MPImage` has a source type of `.image` ensure that the color space is * RGB with an Alpha channel. * - * @param image The `MPPImage` on which face detection is to be performed. - * @param error An optional error parameter populated when there is an error in performing face - * detection on the input image. + * @param image The `MPImage` on which face detection is to be performed. * - * @return An `MPPFaceDetectorResult` face that contains a list of detections, each detection + * @return An `FaceDetectorResult` face that contains a list of detections, each detection * has a bounding box that is expressed in the unrotated input frame of reference coordinates * system, i.e. in `[0,image_width) x [0,image_height)`, which are the dimensions of the underlying * image data. @@ -111,27 +105,25 @@ NS_SWIFT_NAME(FaceDetector) error:(NSError **)error NS_SWIFT_NAME(detect(image:)); /** - * Performs face detection on the provided video frame of type `MPPImage` using the whole + * Performs face detection on the provided video frame of type `MPImage` using the whole * image as region of interest. Rotation will be applied according to the `orientation` property of - * the provided `MPPImage`. Only use this method when the `MPPFaceDetector` is created with - * `MPPRunningModeVideo`. + * the provided `MPImage`. Only use this method when the `FaceDetector` is created with running + * mode `.video`. * - * This method supports classification of RGBA images. If your `MPPImage` has a source type of - * `MPPImageSourceTypePixelBuffer` or `MPPImageSourceTypeSampleBuffer`, the underlying pixel buffer - * must have one of the following pixel format types: + * This method supports classification of RGBA images. If your `MPImage` has a source type of + * `.pixelBuffer` or `.sampleBuffer`, the underlying pixel buffer must have one of the + * following pixel format types: * 1. kCVPixelFormatType_32BGRA * 2. kCVPixelFormatType_32RGBA * - * If your `MPPImage` has a source type of `MPPImageSourceTypeImage` ensure that the color space is - * RGB with an Alpha channel. + * If your `MPImage` has a source type of `.image` ensure that the color space is RGB with an Alpha + * channel. * - * @param image The `MPPImage` on which face detection is to be performed. + * @param image The `MPImage` on which face detection is to be performed. * @param timestampInMilliseconds The video frame's timestamp (in milliseconds). The input * timestamps must be monotonically increasing. - * @param error An optional error parameter populated when there is an error in performing face - * detection on the input image. * - * @return An `MPPFaceDetectorResult` face that contains a list of detections, each detection + * @return An `FaceDetectorResult` face that contains a list of detections, each detection * has a bounding box that is expressed in the unrotated input frame of reference coordinates * system, i.e. in `[0,image_width) x [0,image_height)`, which are the dimensions of the underlying * image data. @@ -142,39 +134,37 @@ NS_SWIFT_NAME(FaceDetector) NS_SWIFT_NAME(detect(videoFrame:timestampInMilliseconds:)); /** - * Sends live stream image data of type `MPPImage` to perform face detection using the whole + * Sends live stream image data of type `MPImage` to perform face detection using the whole * image as region of interest. Rotation will be applied according to the `orientation` property of - * the provided `MPPImage`. Only use this method when the `MPPFaceDetector` is created with - * `MPPRunningModeLiveStream`. + * the provided `MPImage`. Only use this method when the `FaceDetector` is created with + * `.liveStream`. * * The object which needs to be continuously notified of the available results of face - * detection must confirm to `MPPFaceDetectorLiveStreamDelegate` protocol and implement the - * `faceDetector:didFinishDetectionWithResult:timestampInMilliseconds:error:` delegate method. + * detection must confirm to `FaceDetectorLiveStreamDelegate` protocol and implement the + * `faceDetector(_:didFinishDetectionWithResult:timestampInMilliseconds:error:)` delegate method. * * It's required to provide a timestamp (in milliseconds) to indicate when the input image is sent * to the face detector. The input timestamps must be monotonically increasing. * - * This method supports classification of RGBA images. If your `MPPImage` has a source type of - * `MPPImageSourceTypePixelBuffer` or `MPPImageSourceTypeSampleBuffer`, the underlying pixel buffer - * must have one of the following pixel format types: + * This method supports classification of RGBA images. If your `MPImage` has a source type of + * `.pixelBuffer` or `.sampleBuffer`, the underlying pixel buffer must have one of the + * following pixel format types: * 1. kCVPixelFormatType_32BGRA * 2. kCVPixelFormatType_32RGBA * - * If the input `MPPImage` has a source type of `MPPImageSourceTypeImage` ensure that the color + * If the input `MPImage` has a source type of `.image` ensure that the color * space is RGB with an Alpha channel. * * If this method is used for classifying live camera frames using `AVFoundation`, ensure that you * request `AVCaptureVideoDataOutput` to output frames in `kCMPixelFormat_32RGBA` using its * `videoSettings` property. * - * @param image A live stream image data of type `MPPImage` on which face detection is to be + * @param image A live stream image data of type `MPImage` on which face detection is to be * performed. * @param timestampInMilliseconds The timestamp (in milliseconds) which indicates when the input * image is sent to the face detector. The input timestamps must be monotonically increasing. - * @param error An optional error parameter populated when there is an error in performing face - * detection on the input live stream image data. * - * @return `YES` if the image was sent to the task successfully, otherwise `NO`. + * @return `true` if the image was sent to the task successfully, otherwise `false`. */ - (BOOL)detectAsyncInImage:(MPPImage *)image timestampInMilliseconds:(NSInteger)timestampInMilliseconds diff --git a/mediapipe/tasks/ios/vision/face_detector/sources/MPPFaceDetectorOptions.h b/mediapipe/tasks/ios/vision/face_detector/sources/MPPFaceDetectorOptions.h index b5d652683..ec4a4e261 100644 --- a/mediapipe/tasks/ios/vision/face_detector/sources/MPPFaceDetectorOptions.h +++ b/mediapipe/tasks/ios/vision/face_detector/sources/MPPFaceDetectorOptions.h @@ -23,11 +23,11 @@ NS_ASSUME_NONNULL_BEGIN @class MPPFaceDetector; /** - * This protocol defines an interface for the delegates of `MPPFaceDetector` face to receive + * This protocol defines an interface for the delegates of `FaceDetector` face to receive * results of performing asynchronous face detection on images (i.e, when `runningMode` = - * `MPPRunningModeLiveStream`). + * `.liveStream`). * - * The delegate of `MPPFaceDetector` must adopt `MPPFaceDetectorLiveStreamDelegate` protocol. + * The delegate of `FaceDetector` must adopt `FaceDetectorLiveStreamDelegate` protocol. * The methods in this protocol are optional. */ NS_SWIFT_NAME(FaceDetectorLiveStreamDelegate) @@ -37,14 +37,14 @@ NS_SWIFT_NAME(FaceDetectorLiveStreamDelegate) /** * This method notifies a delegate that the results of asynchronous face detection of - * an image submitted to the `MPPFaceDetector` is available. + * an image submitted to the `FaceDetector` is available. * - * This method is called on a private serial dispatch queue created by the `MPPFaceDetector` + * This method is called on a private serial dispatch queue created by the `FaceDetector` * for performing the asynchronous delegates calls. * * @param faceDetector The face detector which performed the face detection. - * This is useful to test equality when there are multiple instances of `MPPFaceDetector`. - * @param result The `MPPFaceDetectorResult` object that contains a list of detections, each + * This is useful to test equality when there are multiple instances of `FaceDetector`. + * @param result The `FaceDetectorResult` object that contains a list of detections, each * detection has a bounding box that is expressed in the unrotated input frame of reference * coordinates system, i.e. in `[0,image_width) x [0,image_height)`, which are the dimensions of the * underlying image data. @@ -60,26 +60,26 @@ NS_SWIFT_NAME(FaceDetectorLiveStreamDelegate) NS_SWIFT_NAME(faceDetector(_:didFinishDetection:timestampInMilliseconds:error:)); @end -/** Options for setting up a `MPPFaceDetector`. */ +/** Options for setting up a `FaceDetector`. */ NS_SWIFT_NAME(FaceDetectorOptions) @interface MPPFaceDetectorOptions : MPPTaskOptions /** - * Running mode of the face detector task. Defaults to `MPPRunningModeImage`. - * `MPPFaceDetector` can be created with one of the following running modes: - * 1. `MPPRunningModeImage`: The mode for performing face detection on single image inputs. - * 2. `MPPRunningModeVideo`: The mode for performing face detection on the decoded frames of a + * Running mode of the face detector task. Defaults to `.image`. + * `FaceDetector` can be created with one of the following running modes: + * 1. `image`: The mode for performing face detection on single image inputs. + * 2. `video`: The mode for performing face detection on the decoded frames of a * video. - * 3. `MPPRunningModeLiveStream`: The mode for performing face detection on a live stream of + * 3. `liveStream`: The mode for performing face detection on a live stream of * input data, such as from the camera. */ @property(nonatomic) MPPRunningMode runningMode; /** - * An object that confirms to `MPPFaceDetectorLiveStreamDelegate` protocol. This object must - * implement `faceDetector:didFinishDetectionWithResult:timestampInMilliseconds:error:` to receive - * the results of performing asynchronous face detection on images (i.e, when `runningMode` = - * `MPPRunningModeLiveStream`). + * An object that confirms to `FaceDetectorLiveStreamDelegate` protocol. This object must + * implement `faceDetector(_:didFinishDetectionWithResult:timestampInMilliseconds:error:)` to + * receive the results of performing asynchronous face detection on images (i.e, when `runningMode` + * = `.liveStream`). */ @property(nonatomic, weak, nullable) id faceDetectorLiveStreamDelegate; diff --git a/mediapipe/tasks/ios/vision/face_detector/sources/MPPFaceDetectorResult.h b/mediapipe/tasks/ios/vision/face_detector/sources/MPPFaceDetectorResult.h index 67a9082af..e2986d063 100644 --- a/mediapipe/tasks/ios/vision/face_detector/sources/MPPFaceDetectorResult.h +++ b/mediapipe/tasks/ios/vision/face_detector/sources/MPPFaceDetectorResult.h @@ -18,27 +18,27 @@ NS_ASSUME_NONNULL_BEGIN -/** Represents the detection results generated by `MPPFaceDetector`. */ +/** Represents the detection results generated by `FaceDetector`. */ NS_SWIFT_NAME(FaceDetectorResult) @interface MPPFaceDetectorResult : MPPTaskResult /** - * The array of `MPPDetection` objects each of which has a bounding box that is expressed in the + * The array of `Detection` objects each of which has a bounding box that is expressed in the * unrotated input frame of reference coordinates system, i.e. in `[0,image_width) x * [0,image_height)`, which are the dimensions of the underlying image data. */ @property(nonatomic, readonly) NSArray *detections; /** - * Initializes a new `MPPFaceDetectorResult` with the given array of detections and timestamp (in + * Initializes a new `FaceDetectorResult` with the given array of detections and timestamp (in * milliseconds). * - * @param detections An array of `MPPDetection` objects each of which has a bounding box that is + * @param detections An array of `Detection` objects each of which has a bounding box that is * expressed in the unrotated input frame of reference coordinates system, i.e. in `[0,image_width) * x [0,image_height)`, which are the dimensions of the underlying image data. * @param timestampInMilliseconds The timestamp (in milliseconds) for this result. * - * @return An instance of `MPPFaceDetectorResult` initialized with the given array of detections + * @return An instance of `FaceDetectorResult` initialized with the given array of detections * and timestamp (in milliseconds). */ - (instancetype)initWithDetections:(NSArray *)detections diff --git a/mediapipe/tasks/ios/vision/face_landmarker/sources/MPPFaceLandmarker.h b/mediapipe/tasks/ios/vision/face_landmarker/sources/MPPFaceLandmarker.h index 02bb84ac2..6c5c37512 100644 --- a/mediapipe/tasks/ios/vision/face_landmarker/sources/MPPFaceLandmarker.h +++ b/mediapipe/tasks/ios/vision/face_landmarker/sources/MPPFaceLandmarker.h @@ -30,27 +30,23 @@ NS_SWIFT_NAME(FaceLandmarker) @interface MPPFaceLandmarker : NSObject /** - * Creates a new instance of `MPPFaceLandmarker` from an absolute path to a TensorFlow Lite model - * file stored locally on the device and the default `MPPFaceLandmarker`. + * Creates a new instance of `FaceLandmarker` from an absolute path to a TensorFlow Lite model + * file stored locally on the device and the default `FaceLandmarker`. * * @param modelPath An absolute path to a TensorFlow Lite model file stored locally on the device. - * @param error An optional error parameter populated when there is an error in initializing the - * face landmaker. * - * @return A new instance of `MPPFaceLandmarker` with the given model path. `nil` if there is an + * @return A new instance of `FaceLandmarker` with the given model path. `nil` if there is an * error in initializing the face landmaker. */ - (nullable instancetype)initWithModelPath:(NSString *)modelPath error:(NSError **)error; /** - * Creates a new instance of `MPPFaceLandmarker` from the given `MPPFaceLandmarkerOptions`. + * Creates a new instance of `FaceLandmarker` from the given `FaceLandmarkerOptions`. * - * @param options The options of type `MPPFaceLandmarkerOptions` to use for configuring the + * @param options The options of type `FaceLandmarkerOptions` to use for configuring the * `MPPFaceLandmarker`. - * @param error An optional error parameter populated when there is an error in initializing the - * face landmaker. * - * @return A new instance of `MPPFaceLandmarker` with the given options. `nil` if there is an error + * @return A new instance of `FaceLandmarker` with the given options. `nil` if there is an error * in initializing the face landmaker. */ - (nullable instancetype)initWithOptions:(MPPFaceLandmarkerOptions *)options @@ -59,49 +55,45 @@ NS_SWIFT_NAME(FaceLandmarker) /** * Performs face landmark detection on the provided MPPImage using the whole image as region of * interest. Rotation will be applied according to the `orientation` property of the provided - * `MPPImage`. Only use this method when the `MPPFaceLandmarker` is created with - * `MPPRunningModeImage`. + * `MPImage`. Only use this method when the `FaceLandmarker` is created with `.image`. * - * This method supports RGBA images. If your `MPPImage` has a source type of - * `MPPImageSourceTypePixelBuffer` or `MPPImageSourceTypeSampleBuffer`, the underlying pixel buffer - * must have one of the following pixel format types: + * This method supports RGBA images. If your `MPPImage` has a source type of `.pixelBuffer` or + * `.sampleBuffer`, the underlying pixel buffer must have one of the following pixel format + * types: * 1. kCVPixelFormatType_32BGRA * 2. kCVPixelFormatType_32RGBA * - * If your `MPPImage` has a source type of `MPPImageSourceTypeImage` ensure that the color space is - * RGB with an Alpha channel. + * If your `MPImage` has a source type of `.image` ensure that the color space is RGB with an + * Alpha channel. * - * @param image The `MPPImage` on which face landmark detection is to be performed. - * @param error An optional error parameter populated when there is an error in performing face - * landmark detection on the input image. + * @param image The `MPImage` on which face landmark detection is to be performed. * - * @return An `MPPFaceLandmarkerResult` that contains a list of landmarks. + * @return An `MPPFaceLandmarkerResult` that contains a list of landmarks. `nil` if there is an + * error in initializing the face landmaker. */ - (nullable MPPFaceLandmarkerResult *)detectInImage:(MPPImage *)image error:(NSError **)error NS_SWIFT_NAME(detect(image:)); /** - * Performs face landmark detection on the provided video frame of type `MPPImage` using the whole + * Performs face landmark detection on the provided video frame of type `MPImage` using the whole * image as region of interest. Rotation will be applied according to the `orientation` property of - * the provided `MPPImage`. Only use this method when the `MPPFaceLandmarker` is created with - * `MPPRunningModeVideo`. + * the provided `MPImage`. Only use this method when the `MPPFaceLandmarker` is created with + * running mode `.video`. * - * This method supports RGBA images. If your `MPPImage` has a source type of - * `MPPImageSourceTypePixelBuffer` or `MPPImageSourceTypeSampleBuffer`, the underlying pixel buffer - * must have one of the following pixel format types: + * This method supports RGBA images. If your `MPImage` has a source type of `.pixelBuffer` or + * `.sampleBuffer`, the underlying pixel buffer must have one of the following pixel format types: * 1. kCVPixelFormatType_32BGRA * 2. kCVPixelFormatType_32RGBA * - * If your `MPPImage` has a source type of `MPPImageSourceTypeImage` ensure that the color space is - * RGB with an Alpha channel. + * If your `MPImage` has a source type of `.image` ensure that the color space is RGB with an Alpha + * channel. * - * @param image The `MPPImage` on which face landmark detection is to be performed. + * @param image The `MPImage` on which face landmark detection is to be performed. * @param timestampInMilliseconds The video frame's timestamp (in milliseconds). The input * timestamps must be monotonically increasing. - * @param error An optional error parameter populated when there is an error in performing face - * landmark detection on the input image. * - * @return An `MPPFaceLandmarkerResult` that contains a list of landmarks. + * @return An `FaceLandmarkerResult` that contains a list of landmarks. `nil` if there is an + * error in initializing the face landmaker. */ - (nullable MPPFaceLandmarkerResult *)detectInVideoFrame:(MPPImage *)image timestampInMilliseconds:(NSInteger)timestampInMilliseconds @@ -109,39 +101,36 @@ NS_SWIFT_NAME(FaceLandmarker) NS_SWIFT_NAME(detect(videoFrame:timestampInMilliseconds:)); /** - * Sends live stream image data of type `MPPImage` to perform face landmark detection using the + * Sends live stream image data of type `MPImage` to perform face landmark detection using the * whole image as region of interest. Rotation will be applied according to the `orientation` - * property of the provided `MPPImage`. Only use this method when the `MPPFaceLandmarker` is created - * with `MPPRunningModeLiveStream`. + * property of the provided `MPImage`. Only use this method when the `FaceLandmarker` is created + * with `.liveStream`. * * The object which needs to be continuously notified of the available results of face - * detection must confirm to `MPPFaceLandmarkerLiveStreamDelegate` protocol and implement the - * `faceLandmarker:didFinishDetectionWithResult:timestampInMilliseconds:error:` delegate method. + * detection must confirm to `FaceLandmarkerLiveStreamDelegate` protocol and implement the + * `faceLandmarker(_:didFinishDetectionWithResult:timestampInMilliseconds:error:)` delegate method. * * It's required to provide a timestamp (in milliseconds) to indicate when the input image is sent * to the face detector. The input timestamps must be monotonically increasing. * - * This method supports RGBA images. If your `MPPImage` has a source type of - * `MPPImageSourceTypePixelBuffer` or `MPPImageSourceTypeSampleBuffer`, the underlying pixel buffer - * must have one of the following pixel format types: + * This method supports RGBA images. If your `MPImage` has a source type of `.pixelBuffer` or + * `.sampleBuffer`, the underlying pixel buffer must have one of the following pixel format types: * 1. kCVPixelFormatType_32BGRA * 2. kCVPixelFormatType_32RGBA * - * If the input `MPPImage` has a source type of `MPPImageSourceTypeImage` ensure that the color - * space is RGB with an Alpha channel. + * If the input `MPImage` has a source type of `.image` ensure that the color space is RGB with an + * Alpha channel. * * If this method is used for classifying live camera frames using `AVFoundation`, ensure that you * request `AVCaptureVideoDataOutput` to output frames in `kCMPixelFormat_32RGBA` using its * `videoSettings` property. * - * @param image A live stream image data of type `MPPImage` on which face landmark detection is to - * be performed. + * @param image A live stream image data of type `MPImage` on which face landmark detection is to be + * performed. * @param timestampInMilliseconds The timestamp (in milliseconds) which indicates when the input * image is sent to the face detector. The input timestamps must be monotonically increasing. - * @param error An optional error parameter populated when there is an error when sending the input - * image to the graph. * - * @return `YES` if the image was sent to the task successfully, otherwise `NO`. + * @return `true` if the image was sent to the task successfully, otherwise `false`. */ - (BOOL)detectAsyncInImage:(MPPImage *)image timestampInMilliseconds:(NSInteger)timestampInMilliseconds diff --git a/mediapipe/tasks/ios/vision/face_landmarker/sources/MPPFaceLandmarkerOptions.h b/mediapipe/tasks/ios/vision/face_landmarker/sources/MPPFaceLandmarkerOptions.h index 34284859f..087359f8f 100644 --- a/mediapipe/tasks/ios/vision/face_landmarker/sources/MPPFaceLandmarkerOptions.h +++ b/mediapipe/tasks/ios/vision/face_landmarker/sources/MPPFaceLandmarkerOptions.h @@ -23,11 +23,11 @@ NS_ASSUME_NONNULL_BEGIN @class MPPFaceLandmarker; /** - * This protocol defines an interface for the delegates of `MPPFaceLandmarker` face to receive + * This protocol defines an interface for the delegates of `FaceLandmarker` face to receive * results of performing asynchronous face detection on images (i.e, when `runningMode` = - * `MPPRunningModeLiveStream`). + * `.liveStream`). * - * The delegate of `MPPFaceLandmarker` must adopt `MPPFaceLandmarkerLiveStreamDelegate` protocol. + * The delegate of `FaceLandmarker` must adopt `FaceLandmarkerLiveStreamDelegate` protocol. * The methods in this protocol are optional. */ NS_SWIFT_NAME(FaceLandmarkerLiveStreamDelegate) @@ -35,14 +35,14 @@ NS_SWIFT_NAME(FaceLandmarkerLiveStreamDelegate) /** * This method notifies a delegate that the results of asynchronous face detection of - * an image submitted to the `MPPFaceLandmarker` is available. + * an image submitted to the `FaceLandmarker` is available. * - * This method is called on a private serial dispatch queue created by the `MPPFaceLandmarker` + * This method is called on a private serial dispatch queue created by the `FaceLandmarker` * for performing the asynchronous delegates calls. * * @param faceLandmarker The face landmarker which performed the face landmark detctions. - * This is useful to test equality when there are multiple instances of `MPPFaceLandmarker`. - * @param result The `MPPFaceLandmarkerResult` object that contains a list of landmarks. + * This is useful to test equality when there are multiple instances of `FaceLandmarker`. + * @param result The `FaceLandmarkerResult` object that contains a list of landmarks. * @param timestampInMilliseconds The timestamp (in milliseconds) which indicates when the input * image was sent to the face detector. * @param error An optional error parameter populated when there is an error in performing face @@ -55,26 +55,25 @@ NS_SWIFT_NAME(FaceLandmarkerLiveStreamDelegate) NS_SWIFT_NAME(faceLandmarker(_:didFinishDetection:timestampInMilliseconds:error:)); @end -/** Options for setting up a `MPPFaceLandmarker`. */ +/** Options for setting up a `FaceLandmarker`. */ NS_SWIFT_NAME(FaceLandmarkerOptions) @interface MPPFaceLandmarkerOptions : MPPTaskOptions /** - * Running mode of the face landmark dection task. Defaults to `MPPRunningModeImage`. - * `MPPFaceLandmarker` can be created with one of the following running modes: - * 1. `MPPRunningModeImage`: The mode for performing face detection on single image inputs. - * 2. `MPPRunningModeVideo`: The mode for performing face detection on the decoded frames of a - * video. - * 3. `MPPRunningModeLiveStream`: The mode for performing face detection on a live stream of - * input data, such as from the camera. + * Running mode of the face landmark dection task. Defaults to `.image`. `FaceLandmarker` can be + * created with one of the following running modes: + * 1. `image`: The mode for performing face detection on single image inputs. + * 2. `video`: The mode for performing face detection on the decoded frames of a video. + * 3. `.liveStream`: The mode for performing face detection on a live stream of input data, such as + * from the camera. */ @property(nonatomic) MPPRunningMode runningMode; /** - * An object that confirms to `MPPFaceLandmarkerLiveStreamDelegate` protocol. This object must - * implement `faceLandmarker:didFinishDetectionWithResult:timestampInMilliseconds:error:` to receive - * the results of performing asynchronous face landmark detection on images (i.e, when `runningMode` - * = `MPPRunningModeLiveStream`). + * An object that confirms to `FaceLandmarkerLiveStreamDelegate` protocol. This object must + * implement `faceLandmarker(_:didFinishDetectionWithResult:timestampInMilliseconds:error:)` to + * receive the results of performing asynchronous face landmark detection on images (i.e, when + * `runningMode` = `.liveStream`). */ @property(nonatomic, weak, nullable) id faceLandmarkerLiveStreamDelegate; diff --git a/mediapipe/tasks/ios/vision/face_landmarker/sources/MPPFaceLandmarkerResult.h b/mediapipe/tasks/ios/vision/face_landmarker/sources/MPPFaceLandmarkerResult.h index c517ec158..8ff8e9845 100644 --- a/mediapipe/tasks/ios/vision/face_landmarker/sources/MPPFaceLandmarkerResult.h +++ b/mediapipe/tasks/ios/vision/face_landmarker/sources/MPPFaceLandmarkerResult.h @@ -54,7 +54,7 @@ NS_SWIFT_NAME(TransformMatrix) @end -/** Represents the detection results generated by `MPPFaceLandmarker`. */ +/** Represents the detection results generated by `FaceLandmarker`. */ NS_SWIFT_NAME(FaceLandmarkerResult) @interface MPPFaceLandmarkerResult : MPPTaskResult @@ -72,16 +72,16 @@ NS_SWIFT_NAME(FaceLandmarkerResult) @property(nonatomic, readonly) NSArray *facialTransformationMatrixes; /** - * Initializes a new `MPPFaceLandmarkerResult` with the given array of landmarks, blendshapes, + * Initializes a new `FaceLandmarkerResult` with the given array of landmarks, blendshapes, * facialTransformationMatrixes and timestamp (in milliseconds). * - * @param faceLandmarks An array of `MPPNormalizedLandmark` objects. - * @param faceBlendshapes An array of `MPPClassifications` objects. + * @param faceLandmarks An array of `NormalizedLandmark` objects. + * @param faceBlendshapes An array of `Classifications` objects. * @param facialTransformationMatrixes An array of flattended matrices. * @param timestampInMilliseconds The timestamp (in milliseconds) for this result. * - * @return An instance of `MPPFaceLandmarkerResult` initialized with the given array of detections - * and timestamp (in milliseconds). + * @return An instance of `FaceLandmarkerResult` initialized with the given array of detections and + * timestamp (in milliseconds). */ - (instancetype)initWithFaceLandmarks:(NSArray *> *)faceLandmarks faceBlendshapes:(NSArray *)faceBlendshapes diff --git a/mediapipe/tasks/ios/vision/image_classifier/sources/MPPImageClassifier.h b/mediapipe/tasks/ios/vision/image_classifier/sources/MPPImageClassifier.h index 6b81a2403..a22dc632d 100644 --- a/mediapipe/tasks/ios/vision/image_classifier/sources/MPPImageClassifier.h +++ b/mediapipe/tasks/ios/vision/image_classifier/sources/MPPImageClassifier.h @@ -53,28 +53,24 @@ NS_SWIFT_NAME(ImageClassifier) @interface MPPImageClassifier : NSObject /** - * Creates a new instance of `MPPImageClassifier` from an absolute path to a TensorFlow Lite model - * file stored locally on the device and the default `MPPImageClassifierOptions`. + * Creates a new instance of `ImageClassifier` from an absolute path to a TensorFlow Lite model file + * stored locally on the device and the default `ImageClassifierOptions`. * * @param modelPath An absolute path to a TensorFlow Lite model file stored locally on the device. - * @param error An optional error parameter populated when there is an error in initializing the - * image classifier. * - * @return A new instance of `MPPImageClassifier` with the given model path. `nil` if there is an + * @return A new instance of `ImageClassifier` with the given model path. `nil` if there is an * error in initializing the image classifier. */ - (nullable instancetype)initWithModelPath:(NSString *)modelPath error:(NSError **)error; /** - * Creates a new instance of `MPPImageClassifier` from the given `MPPImageClassifierOptions`. + * Creates a new instance of `ImageClassifier` from the given `ImageClassifierOptions`. * - * @param options The options of type `MPPImageClassifierOptions` to use for configuring the - * `MPPImageClassifier`. - * @param error An optional error parameter populated when there is an error in initializing the - * image classifier. + * @param options The options of type `ImageClassifierOptions` to use for configuring the + * `ImageClassifier`. * - * @return A new instance of `MPPImageClassifier` with the given options. `nil` if there is an error - * in initializing the image classifier. + * @return A new instance of `ImageClassifier` with the given options. `nil` if there is an error in + * initializing the image classifier. */ - (nullable instancetype)initWithOptions:(MPPImageClassifierOptions *)options error:(NSError **)error NS_DESIGNATED_INITIALIZER; @@ -82,49 +78,46 @@ NS_SWIFT_NAME(ImageClassifier) /** * Performs image classification on the provided MPPImage using the whole image as region of * interest. Rotation will be applied according to the `orientation` property of the provided - * `MPPImage`. Only use this method when the `MPPImageClassifier` is created with - * `MPPRunningModeImage`. - * This method supports classification of RGBA images. If your `MPPImage` has a source type of - * `MPPImageSourceTypePixelBuffer` or `MPPImageSourceTypeSampleBuffer`, the underlying pixel buffer - * must have one of the following pixel format types: + * `MPImage`. Only use this method when the `ImageClassifier` is created with running mode, + * `.image`. + * + * This method supports classification of RGBA images. If your `MPImage` has a source type + * ofm`.pixelBuffer` or `.sampleBuffer`, the underlying pixel buffer must have one of the following + * pixel format types: * 1. kCVPixelFormatType_32BGRA * 2. kCVPixelFormatType_32RGBA * - * If your `MPPImage` has a source type of `MPPImageSourceTypeImage` ensure that the color space is - * RGB with an Alpha channel. + * If your `MPImage` has a source type of `.image` ensure that the color space is RGB with an Alpha + * channel. * * @param image The `MPPImage` on which image classification is to be performed. - * @param error An optional error parameter populated when there is an error in performing image - * classification on the input image. * - * @return An `MPPImageClassifierResult` object that contains a list of image classifications. + * @return An `ImageClassifierResult` object that contains a list of image classifications. */ - (nullable MPPImageClassifierResult *)classifyImage:(MPPImage *)image error:(NSError **)error NS_SWIFT_NAME(classify(image:)); /** - * Performs image classification on the provided `MPPImage` cropped to the specified region of + * Performs image classification on the provided `MPImage` cropped to the specified region of * interest. Rotation will be applied on the cropped image according to the `orientation` property - * of the provided `MPPImage`. Only use this method when the `MPPImageClassifier` is created with - * `MPPRunningModeImage`. + * of the provided `MPImage`. Only use this method when the `MPPImageClassifier` is created with + * running mode, `.image`. * - * This method supports classification of RGBA images. If your `MPPImage` has a source type of - * `MPPImageSourceTypePixelBuffer` or `MPPImageSourceTypeSampleBuffer`, the underlying pixel buffer - * must have one of the following pixel format types: + * This method supports classification of RGBA images. If your `MPImage` has a source type of + * `.pixelBuffer` or `.sampleBuffer`, the underlying pixel buffer must have one of the following + * pixel format types: * 1. kCVPixelFormatType_32BGRA * 2. kCVPixelFormatType_32RGBA * - * If your `MPPImage` has a source type of `MPPImageSourceTypeImage` ensure that the color space is - * RGB with an Alpha channel. + * If your `MPImage` has a source type of `.image` ensure that the color space is RGB with an Alpha + * channel. * - * @param image The `MPPImage` on which image classification is to be performed. - * @param roi A `CGRect` specifying the region of interest within the given `MPPImage`, on which + * @param image The `MPImage` on which image classification is to be performed. + * @param roi A `CGRect` specifying the region of interest within the given `MPImage`, on which * image classification should be performed. - * @param error An optional error parameter populated when there is an error in performing image - * classification on the input image. * - * @return An `MPPImageClassifierResult` object that contains a list of image classifications. + * @return An `ImageClassifierResult` object that contains a list of image classifications. */ - (nullable MPPImageClassifierResult *)classifyImage:(MPPImage *)image regionOfInterest:(CGRect)roi @@ -132,30 +125,28 @@ NS_SWIFT_NAME(ImageClassifier) NS_SWIFT_NAME(classify(image:regionOfInterest:)); /** - * Performs image classification on the provided video frame of type `MPPImage` using the whole + * Performs image classification on the provided video frame of type `MPImage` using the whole * image as region of interest. Rotation will be applied according to the `orientation` property of - * the provided `MPPImage`. Only use this method when the `MPPImageClassifier` is created with - * `MPPRunningModeVideo`. + * the provided `MPImage`. Only use this method when the `MPPImageClassifier` is created with + * running mode `.video`. * * It's required to provide the video frame's timestamp (in milliseconds). The input timestamps must * be monotonically increasing. * - * This method supports classification of RGBA images. If your `MPPImage` has a source type of - * `MPPImageSourceTypePixelBuffer` or `MPPImageSourceTypeSampleBuffer`, the underlying pixel buffer - * must have one of the following pixel format types: + * This method supports classification of RGBA images. If your `MPImage` has a source type of + * `.pixelBuffer` or `.sampleBuffer`, the underlying pixel buffer must have one of the following + * pixel format types: * 1. kCVPixelFormatType_32BGRA * 2. kCVPixelFormatType_32RGBA * - * If your `MPPImage` has a source type of `MPPImageSourceTypeImage` ensure that the color space is - * RGB with an Alpha channel. + * If your `MPImage` has a source type of `.image` ensure that the color space is RGB with an Alpha + * channel. * * @param image The `MPPImage` on which image classification is to be performed. * @param timestampInMilliseconds The video frame's timestamp (in milliseconds). The input * timestamps must be monotonically increasing. - * @param error An optional error parameter populated when there is an error in performing image - * classification on the input video frame. * - * @return An `MPPImageClassifierResult` object that contains a list of image classifications. + * @return An `ImageClassifierResult` object that contains a list of image classifications. */ - (nullable MPPImageClassifierResult *)classifyVideoFrame:(MPPImage *)image timestampInMilliseconds:(NSInteger)timestampInMilliseconds @@ -163,33 +154,30 @@ NS_SWIFT_NAME(ImageClassifier) NS_SWIFT_NAME(classify(videoFrame:timestampInMilliseconds:)); /** - * Performs image classification on the provided video frame of type `MPPImage` cropped to the + * Performs image classification on the provided video frame of type `MPImage` cropped to the * specified region of interest. Rotation will be applied according to the `orientation` property of - * the provided `MPPImage`. Only use this method when the `MPPImageClassifier` is created with - * `MPPRunningModeVideo`. + * the provided `MPImage`. Only use this method when the `ImageClassifier` is created with `.video`. * * It's required to provide the video frame's timestamp (in milliseconds). The input timestamps must * be monotonically increasing. * - * This method supports classification of RGBA images. If your `MPPImage` has a source type of - * `MPPImageSourceTypePixelBuffer` or `MPPImageSourceTypeSampleBuffer`, the underlying pixel buffer - * must have one of the following pixel format types: + * This method supports classification of RGBA images. If your `MPImage` has a source type of + * `.pixelBuffer` or `.sampleBuffer`, the underlying pixel buffer must have one of the following + * pixel format types: * 1. kCVPixelFormatType_32BGRA * 2. kCVPixelFormatType_32RGBA * - * If your `MPPImage` has a source type of `MPPImageSourceTypeImage` ensure that the color space is - * RGB with an Alpha channel. + * If your `MPImage` has a source type of `.image` ensure that the color space is RGB with an Alpha + * channel. * - * @param image A live stream image data of type `MPPImage` on which image classification is to be + * @param image A live stream image data of type `MPImage` on which image classification is to be * performed. * @param timestampInMilliseconds The video frame's timestamp (in milliseconds). The input * timestamps must be monotonically increasing. * @param roi A `CGRect` specifying the region of interest within the video frame of type - * `MPPImage`, on which image classification should be performed. - * @param error An optional error parameter populated when there is an error in performing image - * classification on the input video frame. + * `MPImage`, on which image classification should be performed. * - * @return An `MPPImageClassifierResult` object that contains a list of image classifications. + * @return An `ImageClassifierResult` object that contains a list of image classifications. */ - (nullable MPPImageClassifierResult *)classifyVideoFrame:(MPPImage *)image timestampInMilliseconds:(NSInteger)timestampInMilliseconds @@ -198,40 +186,38 @@ NS_SWIFT_NAME(ImageClassifier) NS_SWIFT_NAME(classify(videoFrame:timestampInMilliseconds:regionOfInterest:)); /** - * Sends live stream image data of type `MPPImage` to perform image classification using the whole + * Sends live stream image data of type `MPImage` to perform image classification using the whole * image as region of interest. Rotation will be applied according to the `orientation` property of - * the provided `MPPImage`. Only use this method when the `MPPImageClassifier` is created with + * the provided `MPImage`. Only use this method when the `ImageClassifier` is created with * `MPPRunningModeLiveStream`. * * The object which needs to be continuously notified of the available results of image - * classification must confirm to `MPPImageClassifierLiveStreamDelegate` protocol and implement the - * `imageClassifier:didFinishClassificationWithResult:timestampInMilliseconds:error:` + * classification must confirm to `ImageClassifierLiveStreamDelegate` protocol and implement the + * `imageClassifier(_:didFinishClassificationWithResult:timestampInMilliseconds:error:)` * delegate method. * * It's required to provide a timestamp (in milliseconds) to indicate when the input image is sent * to the image classifier. The input timestamps must be monotonically increasing. * - * This method supports classification of RGBA images. If your `MPPImage` has a source type of - * `MPPImageSourceTypePixelBuffer` or `MPPImageSourceTypeSampleBuffer`, the underlying pixel buffer - * must have one of the following pixel format types: + * This method supports classification of RGBA images. If your `MPImage` has a source type of + * .pixelBuffer` or `.sampleBuffer`, the underlying pixel buffer must have one of the following + * pixel format types: * 1. kCVPixelFormatType_32BGRA * 2. kCVPixelFormatType_32RGBA * - * If the input `MPPImage` has a source type of `MPPImageSourceTypeImage` ensure that the color - * space is RGB with an Alpha channel. + * If the input `MPImage` has a source type of `.image` ensure that the color space is RGB with an + * Alpha channel. * * If this method is used for classifying live camera frames using `AVFoundation`, ensure that you * request `AVCaptureVideoDataOutput` to output frames in `kCMPixelFormat_32RGBA` using its * `videoSettings` property. * - * @param image A live stream image data of type `MPPImage` on which image classification is to be + * @param image A live stream image data of type `MPImage` on which image classification is to be * performed. * @param timestampInMilliseconds The timestamp (in milliseconds) which indicates when the input * image is sent to the image classifier. The input timestamps must be monotonically increasing. - * @param error An optional error parameter populated when there is an error in performing image - * classification on the input live stream image data. * - * @return `YES` if the image was sent to the task successfully, otherwise `NO`. + * @return `true` if the image was sent to the task successfully, otherwise `false`. */ - (BOOL)classifyAsyncImage:(MPPImage *)image timestampInMilliseconds:(NSInteger)timestampInMilliseconds @@ -239,42 +225,40 @@ NS_SWIFT_NAME(ImageClassifier) NS_SWIFT_NAME(classifyAsync(image:timestampInMilliseconds:)); /** - * Sends live stream image data of type ``MPPImage`` to perform image classification, cropped to the + * Sends live stream image data of type `MPImage` to perform image classification, cropped to the * specified region of interest.. Rotation will be applied according to the `orientation` property - * of the provided `MPPImage`. Only use this method when the `MPPImageClassifier` is created with - * `MPPRunningModeLiveStream`. + * of the provided `MPImage`. Only use this method when the `ImageClassifier` is created with + * `.liveStream`. * * The object which needs to be continuously notified of the available results of image - * classification must confirm to `MPPImageClassifierLiveStreamDelegate` protocol and implement the - * `imageClassifier:didFinishClassificationWithResult:timestampInMilliseconds:error:` delegate + * classification must confirm to `ImageClassifierLiveStreamDelegate` protocol and implement the + * `imageClassifier(_:didFinishClassificationWithResult:timestampInMilliseconds:error:)` delegate * method. * * It's required to provide a timestamp (in milliseconds) to indicate when the input image is sent * to the image classifier. The input timestamps must be monotonically increasing. * - * This method supports classification of RGBA images. If your `MPPImage` has a source type of - * `MPPImageSourceTypePixelBuffer` or `MPPImageSourceTypeSampleBuffer`, the underlying pixel buffer - * must have one of the following pixel format types: + * This method supports classification of RGBA images. If your `MPImage` has a source type of + * `.pixelBuffer` or `.sampleBuffer`, the underlying pixel buffer must have one of the following + * pixel format types: * 1. kCVPixelFormatType_32BGRA * 2. kCVPixelFormatType_32RGBA * - * If the input `MPPImage` has a source type of `MPPImageSourceTypeImage` ensure that the color - * space is RGB with an Alpha channel. + * If the input `MPImage` has a source type of `.image` ensure that the color space is RGB with an + * Alpha channel. * * If this method is used for classifying live camera frames using `AVFoundation`, ensure that you * request `AVCaptureVideoDataOutput` to output frames in `kCMPixelFormat_32RGBA` using its * `videoSettings` property. * - * @param image A live stream image data of type `MPPImage` on which image classification is to be + * @param image A live stream image data of type `MPImage` on which image classification is to be * performed. * @param timestampInMilliseconds The timestamp (in milliseconds) which indicates when the input * image is sent to the image classifier. The input timestamps must be monotonically increasing. * @param roi A `CGRect` specifying the region of interest within the given live stream image data - * of type `MPPImage`, on which image classification should be performed. - * @param error An optional error parameter populated when there is an error in performing image - * classification on the input live stream image data. + * of type `MPImage`, on which image classification should be performed. * - * @return `YES` if the image was sent to the task successfully, otherwise `NO`. + * @return `true` if the image was sent to the task successfully, otherwise `false`. */ - (BOOL)classifyAsyncImage:(MPPImage *)image timestampInMilliseconds:(NSInteger)timestampInMilliseconds diff --git a/mediapipe/tasks/ios/vision/image_classifier/sources/MPPImageClassifierOptions.h b/mediapipe/tasks/ios/vision/image_classifier/sources/MPPImageClassifierOptions.h index 058c21aed..72f8859b5 100644 --- a/mediapipe/tasks/ios/vision/image_classifier/sources/MPPImageClassifierOptions.h +++ b/mediapipe/tasks/ios/vision/image_classifier/sources/MPPImageClassifierOptions.h @@ -23,11 +23,11 @@ NS_ASSUME_NONNULL_BEGIN @class MPPImageClassifier; /** - * This protocol defines an interface for the delegates of `MPPImageClassifier` object to receive + * This protocol defines an interface for the delegates of `ImageClassifier` object to receive * results of asynchronous classification of images (i.e, when `runningMode = - * MPPRunningModeLiveStream`). + * .liveStream`). * - * The delegate of `MPPImageClassifier` must adopt `MPPImageClassifierLiveStreamDelegate` protocol. + * The delegate of `ImageClassifier` must adopt `ImageClassifierLiveStreamDelegate` protocol. * The methods in this protocol are optional. */ NS_SWIFT_NAME(ImageClassifierLiveStreamDelegate) @@ -36,14 +36,14 @@ NS_SWIFT_NAME(ImageClassifierLiveStreamDelegate) @optional /** * This method notifies a delegate that the results of asynchronous classification of - * an image submitted to the `MPPImageClassifier` is available. + * an image submitted to the `ImageClassifier` is available. * - * This method is called on a private serial queue created by the `MPPImageClassifier` + * This method is called on a private serial queue created by the `ImageClassifier` * for performing the asynchronous delegates calls. * * @param imageClassifier The image classifier which performed the classification. - * This is useful to test equality when there are multiple instances of `MPPImageClassifier`. - * @param result An `MPPImageClassifierResult` object that contains a list of image classifications. + * This is useful to test equality when there are multiple instances of `ImageClassifier`. + * @param result An `ImageClassifierResult` object that contains a list of image classifications. * @param timestampInMilliseconds The timestamp (in milliseconds) which indicates when the input * image was sent to the image classifier. * @param error An optional error parameter populated when there is an error in performing image @@ -57,27 +57,27 @@ NS_SWIFT_NAME(ImageClassifierLiveStreamDelegate) @end /** - * Options for setting up a `MPPImageClassifier`. + * Options for setting up a `ImageClassifier`. */ NS_SWIFT_NAME(ImageClassifierOptions) @interface MPPImageClassifierOptions : MPPTaskOptions /** - * Running mode of the image classifier task. Defaults to `MPPRunningModeImage`. - * `MPPImageClassifier` can be created with one of the following running modes: - * 1. `MPPRunningModeImage`: The mode for performing classification on single image inputs. - * 2. `MPPRunningModeVideo`: The mode for performing classification on the decoded frames of a + * Running mode of the image classifier task. Defaults to `.image`. + * `ImageClassifier` can be created with one of the following running modes: + * 1. `.image`: The mode for performing classification on single image inputs. + * 2. `.video`: The mode for performing classification on the decoded frames of a * video. - * 3. `MPPRunningModeLiveStream`: The mode for performing classification on a live stream of input + * 3. `.liveStream`: The mode for performing classification on a live stream of input * data, such as from the camera. */ @property(nonatomic) MPPRunningMode runningMode; /** - * An object that confirms to `MPPImageClassifierLiveStreamDelegate` protocol. This object must - * implement `objectDetector:didFinishDetectionWithResult:timestampInMilliseconds:error:` to receive - * the results of asynchronous classification on images (i.e, when `runningMode = - * MPPRunningModeLiveStream`). + * An object that confirms to `ImageClassifierLiveStreamDelegate` protocol. This object must + * implement `objectDetector(_:didFinishDetectionWithResult:timestampInMilliseconds:error:)` to + * receive the results of asynchronous classification on images (i.e, when `runningMode = + * .liveStream`). */ @property(nonatomic, weak, nullable) id imageClassifierLiveStreamDelegate; diff --git a/mediapipe/tasks/ios/vision/image_classifier/sources/MPPImageClassifierResult.h b/mediapipe/tasks/ios/vision/image_classifier/sources/MPPImageClassifierResult.h index 478bd452a..0767072a0 100644 --- a/mediapipe/tasks/ios/vision/image_classifier/sources/MPPImageClassifierResult.h +++ b/mediapipe/tasks/ios/vision/image_classifier/sources/MPPImageClassifierResult.h @@ -18,23 +18,23 @@ NS_ASSUME_NONNULL_BEGIN -/** Represents the classification results generated by `MPPImageClassifier`. **/ +/** Represents the classification results generated by `ImageClassifier`. **/ NS_SWIFT_NAME(ImageClassifierResult) @interface MPPImageClassifierResult : MPPTaskResult -/** The `MPPClassificationResult` instance containing one set of results per classifier head. **/ +/** The `ClassificationResult` instance containing one set of results per classifier head. **/ @property(nonatomic, readonly) MPPClassificationResult *classificationResult; /** - * Initializes a new `MPPImageClassifierResult` with the given `MPPClassificationResult` and + * Initializes a new `ImageClassifierResult` with the given `ClassificationResult` and * timestamp (in milliseconds). * - * @param classificationResult The `MPPClassificationResult` instance containing one set of results + * @param classificationResult The `ClassificationResult` instance containing one set of results * per classifier head. * @param timestampInMilliseconds The timestamp (in milliseconds) for this result. * - * @return An instance of `MPPImageClassifierResult` initialized with the given - * `MPPClassificationResult` and timestamp (in milliseconds). + * @return An instance of `ImageClassifierResult` initialized with the given + * `ClassificationResult` and timestamp (in milliseconds). */ - (instancetype)initWithClassificationResult:(MPPClassificationResult *)classificationResult timestampInMilliseconds:(NSInteger)timestampInMilliseconds; diff --git a/mediapipe/tasks/ios/vision/object_detector/sources/MPPObjectDetector.h b/mediapipe/tasks/ios/vision/object_detector/sources/MPPObjectDetector.h index f8cfcc916..851e8a355 100644 --- a/mediapipe/tasks/ios/vision/object_detector/sources/MPPObjectDetector.h +++ b/mediapipe/tasks/ios/vision/object_detector/sources/MPPObjectDetector.h @@ -64,52 +64,50 @@ NS_SWIFT_NAME(ObjectDetector) @interface MPPObjectDetector : NSObject /** - * Creates a new instance of `MPPObjectDetector` from an absolute path to a TensorFlow Lite model - * file stored locally on the device and the default `MPPObjectDetector`. + * Creates a new instance of `ObjectDetector` from an absolute path to a TensorFlow Lite model + * file stored locally on the device and the default `ObjectDetector`. * * @param modelPath An absolute path to a TensorFlow Lite model file stored locally on the device. * @param error An optional error parameter populated when there is an error in initializing the * object detector. * - * @return A new instance of `MPPObjectDetector` with the given model path. `nil` if there is an + * @return A new instance of `ObjectDetector` with the given model path. `nil` if there is an * error in initializing the object detector. */ - (nullable instancetype)initWithModelPath:(NSString *)modelPath error:(NSError **)error; /** - * Creates a new instance of `MPPObjectDetector` from the given `MPPObjectDetectorOptions`. + * Creates a new instance of `ObjectDetector` from the given `ObjectDetectorOptions`. * - * @param options The options of type `MPPObjectDetectorOptions` to use for configuring the - * `MPPObjectDetector`. + * @param options The options of type `ObjectDetectorOptions` to use for configuring the + * `ObjectDetector`. * @param error An optional error parameter populated when there is an error in initializing the * object detector. * - * @return A new instance of `MPPObjectDetector` with the given options. `nil` if there is an error + * @return A new instance of `ObjectDetector` with the given options. `nil` if there is an error * in initializing the object detector. */ - (nullable instancetype)initWithOptions:(MPPObjectDetectorOptions *)options error:(NSError **)error NS_DESIGNATED_INITIALIZER; /** - * Performs object detection on the provided MPPImage using the whole image as region of + * Performs object detection on the provided MPImage using the whole image as region of * interest. Rotation will be applied according to the `orientation` property of the provided - * `MPPImage`. Only use this method when the `MPPObjectDetector` is created with - * `MPPRunningModeImage`. + * `MPImage`. Only use this method when the `ObjectDetector` is created with + * `.image`. * - * This method supports detecting objects in RGBA images. If your `MPPImage` has a source type of - * `MPPImageSourceTypePixelBuffer` or `MPPImageSourceTypeSampleBuffer`, the underlying pixel buffer - * must have one of the following pixel format types: + * This method supports detecting objects in RGBA images. If your `MPImage` has a source type of + * `.pixelBuffer` or `.sampleBuffer`, the underlying pixel buffer must have one of the following + * pixel format types: * 1. kCVPixelFormatType_32BGRA * 2. kCVPixelFormatType_32RGBA * - * If your `MPPImage` has a source type of `MPPImageSourceTypeImage` ensure that the color space is + * If your `MPImage` has a source type of `.image` ensure that the color space is * RGB with an Alpha channel. * - * @param image The `MPPImage` on which object detection is to be performed. - * @param error An optional error parameter populated when there is an error in performing object - * detection on the input image. + * @param image The `.image` on which object detection is to be performed. * - * @return An `MPPObjectDetectorResult` object that contains a list of detections, each detection + * @return An `ObjectDetectorResult` object that contains a list of detections, each detection * has a bounding box that is expressed in the unrotated input frame of reference coordinates * system, i.e. in `[0,image_width) x [0,image_height)`, which are the dimensions of the underlying * image data. @@ -118,27 +116,25 @@ NS_SWIFT_NAME(ObjectDetector) error:(NSError **)error NS_SWIFT_NAME(detect(image:)); /** - * Performs object detection on the provided video frame of type `MPPImage` using the whole + * Performs object detection on the provided video frame of type `MPImage` using the whole * image as region of interest. Rotation will be applied according to the `orientation` property of - * the provided `MPPImage`. Only use this method when the `MPPObjectDetector` is created with - * `MPPRunningModeVideo`. + * the provided `MPImage`. Only use this method when the `MPPObjectDetector` is created with + * `.video`. * - * This method supports detecting objects in of RGBA images. If your `MPPImage` has a source type of - * `MPPImageSourceTypePixelBuffer` or `MPPImageSourceTypeSampleBuffer`, the underlying pixel buffer - * must have one of the following pixel format types: + * This method supports detecting objects in of RGBA images. If your `MPImage` has a source type of + * .pixelBuffer` or `.sampleBuffer`, the underlying pixel buffer must have one of the following + * pixel format types: * 1. kCVPixelFormatType_32BGRA * 2. kCVPixelFormatType_32RGBA * - * If your `MPPImage` has a source type of `MPPImageSourceTypeImage` ensure that the color space is - * RGB with an Alpha channel. + * If your `MPImage` has a source type of `.image` ensure that the color space is RGB with an Alpha + * channel. * - * @param image The `MPPImage` on which object detection is to be performed. + * @param image The `MPImage` on which object detection is to be performed. * @param timestampInMilliseconds The video frame's timestamp (in milliseconds). The input * timestamps must be monotonically increasing. - * @param error An optional error parameter populated when there is an error in performing object - * detection on the input image. * - * @return An `MPPObjectDetectorResult` object that contains a list of detections, each detection + * @return An `ObjectDetectorResult` object that contains a list of detections, each detection * has a bounding box that is expressed in the unrotated input frame of reference coordinates * system, i.e. in `[0,image_width) x [0,image_height)`, which are the dimensions of the underlying * image data. @@ -149,26 +145,26 @@ NS_SWIFT_NAME(ObjectDetector) NS_SWIFT_NAME(detect(videoFrame:timestampInMilliseconds:)); /** - * Sends live stream image data of type `MPPImage` to perform object detection using the whole + * Sends live stream image data of type `MPImage` to perform object detection using the whole * image as region of interest. Rotation will be applied according to the `orientation` property of - * the provided `MPPImage`. Only use this method when the `MPPObjectDetector` is created with - * `MPPRunningModeLiveStream`. + * the provided `MPImage`. Only use this method when the `ObjectDetector` is created with + * `.liveStream`. * * The object which needs to be continuously notified of the available results of object - * detection must confirm to `MPPObjectDetectorLiveStreamDelegate` protocol and implement the - * `objectDetector:didFinishDetectionWithResult:timestampInMilliseconds:error:` delegate method. + * detection must confirm to `ObjectDetectorLiveStreamDelegate` protocol and implement the + * `objectDetector(_:didFinishDetectionWithResult:timestampInMilliseconds:error:)` delegate method. * * It's required to provide a timestamp (in milliseconds) to indicate when the input image is sent * to the object detector. The input timestamps must be monotonically increasing. * - * This method supports detecting objects in RGBA images. If your `MPPImage` has a source type of - * `MPPImageSourceTypePixelBuffer` or `MPPImageSourceTypeSampleBuffer`, the underlying pixel buffer - * must have one of the following pixel format types: + * This method supports detecting objects in RGBA images. If your `MPImage` has a source type of + * `.pixelBuffer` or `.sampleBuffer`, the underlying pixel buffer must have one of the following + * pixel format types: * 1. kCVPixelFormatType_32BGRA * 2. kCVPixelFormatType_32RGBA * - * If the input `MPPImage` has a source type of `MPPImageSourceTypeImage` ensure that the color - * space is RGB with an Alpha channel. + * If the input `MPImage` has a source type of `.image` ensure that the color space is RGB with an + * Alpha channel. * * If this method is used for detecting objects in live camera frames using `AVFoundation`, ensure * that you request `AVCaptureVideoDataOutput` to output frames in `kCMPixelFormat_32RGBA` using its @@ -178,10 +174,8 @@ NS_SWIFT_NAME(ObjectDetector) * performed. * @param timestampInMilliseconds The timestamp (in milliseconds) which indicates when the input * image is sent to the object detector. The input timestamps must be monotonically increasing. - * @param error An optional error parameter populated when there is an error in performing object - * detection on the input live stream image data. * - * @return `YES` if the image was sent to the task successfully, otherwise `NO`. + * @return `true` if the image was sent to the task successfully, otherwise `false`. */ - (BOOL)detectAsyncInImage:(MPPImage *)image timestampInMilliseconds:(NSInteger)timestampInMilliseconds diff --git a/mediapipe/tasks/ios/vision/object_detector/sources/MPPObjectDetector.mm b/mediapipe/tasks/ios/vision/object_detector/sources/MPPObjectDetector.mm index 52648af52..e4704fbbc 100644 --- a/mediapipe/tasks/ios/vision/object_detector/sources/MPPObjectDetector.mm +++ b/mediapipe/tasks/ios/vision/object_detector/sources/MPPObjectDetector.mm @@ -81,8 +81,7 @@ static NSString *const kTaskName = @"objectDetector"; } MPPObjectDetectorResult *result = [MPPObjectDetectorResult - objectDetectorResultWithDetectionsPacket: - outputPacketMap[kDetectionsStreamName.cppString]]; + objectDetectorResultWithDetectionsPacket:outputPacketMap[kDetectionsStreamName.cppString]]; NSInteger timeStampInMilliseconds = outputPacketMap[kImageOutStreamName.cppString].Timestamp().Value() / diff --git a/mediapipe/tasks/ios/vision/object_detector/sources/MPPObjectDetectorOptions.h b/mediapipe/tasks/ios/vision/object_detector/sources/MPPObjectDetectorOptions.h index 33d7bdbbb..f4189064c 100644 --- a/mediapipe/tasks/ios/vision/object_detector/sources/MPPObjectDetectorOptions.h +++ b/mediapipe/tasks/ios/vision/object_detector/sources/MPPObjectDetectorOptions.h @@ -23,11 +23,11 @@ NS_ASSUME_NONNULL_BEGIN @class MPPObjectDetector; /** - * This protocol defines an interface for the delegates of `MPPObjectDetector` object to receive + * This protocol defines an interface for the delegates of `ObjectDetector` object to receive * results of performing asynchronous object detection on images (i.e, when `runningMode` = - * `MPPRunningModeLiveStream`). + * `.liveStream`). * - * The delegate of `MPPObjectDetector` must adopt `MPPObjectDetectorLiveStreamDelegate` protocol. + * The delegate of `ObjectDetector` must adopt `ObjectDetectorLiveStreamDelegate` protocol. * The methods in this protocol are optional. */ NS_SWIFT_NAME(ObjectDetectorLiveStreamDelegate) @@ -37,14 +37,14 @@ NS_SWIFT_NAME(ObjectDetectorLiveStreamDelegate) /** * This method notifies a delegate that the results of asynchronous object detection of - * an image submitted to the `MPPObjectDetector` is available. + * an image submitted to the `ObjectDetector` is available. * - * This method is called on a private serial dispatch queue created by the `MPPObjectDetector` + * This method is called on a private serial dispatch queue created by the `ObjectDetector` * for performing the asynchronous delegates calls. * * @param objectDetector The object detector which performed the object detection. - * This is useful to test equality when there are multiple instances of `MPPObjectDetector`. - * @param result The `MPPObjectDetectorResult` object that contains a list of detections, each + * This is useful to test equality when there are multiple instances of `ObjectDetector`. + * @param result The `ObjectDetectorResult` object that contains a list of detections, each * detection has a bounding box that is expressed in the unrotated input frame of reference * coordinates system, i.e. in `[0,image_width) x [0,image_height)`, which are the dimensions of the * underlying image data. @@ -60,26 +60,27 @@ NS_SWIFT_NAME(ObjectDetectorLiveStreamDelegate) NS_SWIFT_NAME(objectDetector(_:didFinishDetection:timestampInMilliseconds:error:)); @end -/** Options for setting up a `MPPObjectDetector`. */ +/** Options for setting up a `ObjectDetector`. */ NS_SWIFT_NAME(ObjectDetectorOptions) @interface MPPObjectDetectorOptions : MPPTaskOptions /** - * Running mode of the object detector task. Defaults to `MPPRunningModeImage`. - * `MPPObjectDetector` can be created with one of the following running modes: - * 1. `MPPRunningModeImage`: The mode for performing object detection on single image inputs. - * 2. `MPPRunningModeVideo`: The mode for performing object detection on the decoded frames of a + * Running mode of the object detector task. Defaults to `.image`. + * `ObjectDetector` can be created with one of the following running modes: + * 1. `image`: The mode for performing object detection on single image inputs. + * 2. `video`: The mode for performing object detection on the decoded frames of a * video. - * 3. `MPPRunningModeLiveStream`: The mode for performing object detection on a live stream of + * 3. `liveStream`: The mode for performing object detection on a live stream of * input data, such as from the camera. */ @property(nonatomic) MPPRunningMode runningMode; /** - * An object that confirms to `MPPObjectDetectorLiveStreamDelegate` protocol. This object must - * implement `objectDetector:didFinishDetectionWithResult:timestampInMilliseconds:error:` to receive - * the results of performing asynchronous object detection on images (i.e, when `runningMode` = - * `MPPRunningModeLiveStream`). + * An object that confirms to `ObjectDetectorLiveStreamDelegate` protocol. This object must + * implement `objectDetector(_:didFinishDetectionWithResult:timestampInMilliseconds:error:)` to + * receive the results of performing asynchronous object detection on images (i.e, when + * `runningMode` = + * `.liveStream`). */ @property(nonatomic, weak, nullable) id objectDetectorLiveStreamDelegate; diff --git a/mediapipe/tasks/ios/vision/object_detector/sources/MPPObjectDetectorResult.h b/mediapipe/tasks/ios/vision/object_detector/sources/MPPObjectDetectorResult.h index 2641b6b4e..e48cb4fbe 100644 --- a/mediapipe/tasks/ios/vision/object_detector/sources/MPPObjectDetectorResult.h +++ b/mediapipe/tasks/ios/vision/object_detector/sources/MPPObjectDetectorResult.h @@ -18,27 +18,27 @@ NS_ASSUME_NONNULL_BEGIN -/** Represents the detection results generated by `MPPObjectDetector`. */ +/** Represents the detection results generated by `ObjectDetector`. */ NS_SWIFT_NAME(ObjectDetectorResult) @interface MPPObjectDetectorResult : MPPTaskResult /** - * The array of `MPPDetection` objects each of which has a bounding box that is expressed in the + * The array of `Detection` objects each of which has a bounding box that is expressed in the * unrotated input frame of reference coordinates system, i.e. in `[0,image_width) x * [0,image_height)`, which are the dimensions of the underlying image data. */ @property(nonatomic, readonly) NSArray *detections; /** - * Initializes a new `MPPObjectDetectorResult` with the given array of detections and timestamp (in + * Initializes a new `ObjectDetectorResult` with the given array of detections and timestamp (in * milliseconds). * - * @param detections An array of `MPPDetection` objects each of which has a bounding box that is + * @param detections An array of `Detection` objects each of which has a bounding box that is * expressed in the unrotated input frame of reference coordinates system, i.e. in `[0,image_width) * x [0,image_height)`, which are the dimensions of the underlying image data. * @param timestampInMilliseconds The timestamp (in milliseconds) for this result. * - * @return An instance of `MPPObjectDetectorResult` initialized with the given array of detections + * @return An instance of `ObjectDetectorResult` initialized with the given array of detections * and timestamp (in milliseconds). */ - (instancetype)initWithDetections:(NSArray *)detections