class_docstr: Zero shot object detection pipeline using `OwlViTForObjectDetection`. This pipeline predicts bounding boxes of
  objects when you provide an image and a set of `candidate_labels`.
  
  Example:
  
  ```python
  >>> from transformers import pipeline
  
  >>> detector = pipeline(model="google/owlvit-base-patch32", task="zero-shot-object-detection")
  >>> detector(
  ...     "http://images.cocodataset.org/val2017/000000039769.jpg",
  ...     candidate_labels=["cat", "couch"],
  ... )
  [{'score': 0.287, 'label': 'cat', 'box': {'xmin': 324, 'ymin': 20, 'xmax': 640, 'ymax': 373}}, {'score': 0.254, 'label': 'cat', 'box': {'xmin': 1, 'ymin': 55, 'xmax': 315, 'ymax': 472}}, {'score': 0.121, 'label': 'couch', 'box': {'xmin': 4, 'ymin': 0, 'xmax': 642, 'ymax': 476}}]
  
  >>> detector(
  ...     "https://huggingface.co/datasets/Narsil/image_dummy/raw/main/parrots.png",
  ...     candidate_labels=["head", "bird"],
  ... )
  [{'score': 0.119, 'label': 'bird', 'box': {'xmin': 71, 'ymin': 170, 'xmax': 410, 'ymax': 508}}]
  ```
  
  Learn more about the basics of using a pipeline in the [pipeline tutorial](../pipeline_tutorial)
  
  This object detection pipeline can currently be loaded from [`pipeline`] using the following task identifier:
  `"zero-shot-object-detection"`.
  
  See the list of available models on
  [huggingface.co/models](https://huggingface.co/models?filter=zero-shot-object-detection).
docstr: Detect objects (bounding boxes & classes) in the image(s) passed as inputs.
  
  Args:
      image (`str`, `PIL.Image` or `List[Dict[str, Any]]`):
          The pipeline handles three types of images:
  
          - A string containing an http url pointing to an image
          - A string containing a local path to an image
          - An image loaded in PIL directly
  
          You can use this parameter to send directly a list of images, or a dataset or a generator like so:
  
          ```python
          >>> from transformers import pipeline
  
          >>> detector = pipeline(model="google/owlvit-base-patch32", task="zero-shot-object-detection")
          >>> detector(
          ...     [
          ...         {
          ...             "image": "http://images.cocodataset.org/val2017/000000039769.jpg",
          ...             "candidate_labels": ["cat", "couch"],
          ...         },
          ...         {
          ...             "image": "http://images.cocodataset.org/val2017/000000039769.jpg",
          ...             "candidate_labels": ["cat", "couch"],
          ...         },
          ...     ]
          ... )
          [[{'score': 0.287, 'label': 'cat', 'box': {'xmin': 324, 'ymin': 20, 'xmax': 640, 'ymax': 373}}, {'score': 0.25, 'label': 'cat', 'box': {'xmin': 1, 'ymin': 55, 'xmax': 315, 'ymax': 472}}, {'score': 0.121, 'label': 'couch', 'box': {'xmin': 4, 'ymin': 0, 'xmax': 642, 'ymax': 476}}], [{'score': 0.287, 'label': 'cat', 'box': {'xmin': 324, 'ymin': 20, 'xmax': 640, 'ymax': 373}}, {'score': 0.254, 'label': 'cat', 'box': {'xmin': 1, 'ymin': 55, 'xmax': 315, 'ymax': 472}}, {'score': 0.121, 'label': 'couch', 'box': {'xmin': 4, 'ymin': 0, 'xmax': 642, 'ymax': 476}}]]
          ```
  
  
      candidate_labels (`str` or `List[str]` or `List[List[str]]`):
          What the model should recognize in the image.
  
      threshold (`float`, *optional*, defaults to 0.1):
          The probability necessary to make a prediction.
  
      top_k (`int`, *optional*, defaults to None):
          The number of top predictions that will be returned by the pipeline. If the provided number is `None`
          or higher than the number of predictions available, it will default to the number of predictions.
  
      timeout (`float`, *optional*, defaults to None):
          The maximum time in seconds to wait for fetching images from the web. If None, no timeout is set and
          the call may block forever.
  
  
  Return:
      A list of lists containing prediction results, one list per input image. Each list contains dictionaries
      with the following keys:
  
      - **label** (`str`) -- Text query corresponding to the found object.
      - **score** (`float`) -- Score corresponding to the object (between 0 and 1).
      - **box** (`Dict[str,int]`) -- Bounding box of the detected object in image's original size. It is a
        dictionary with `x_min`, `x_max`, `y_min`, `y_max` keys.
code: def __call__(
      self,
      image: Union[str, "Image.Image", List[Dict[str, Any]]],
      candidate_labels: Union[str, List[str]] = None,
      **kwargs,
  ):
      """
      Detect objects (bounding boxes & classes) in the image(s) passed as inputs.
  
      Args:
          image (`str`, `PIL.Image` or `List[Dict[str, Any]]`):
              The pipeline handles three types of images:
  
              - A string containing an http url pointing to an image
              - A string containing a local path to an image
              - An image loaded in PIL directly
  
              You can use this parameter to send directly a list of images, or a dataset or a generator like so:
  
              ```python
              >>> from transformers import pipeline
  
              >>> detector = pipeline(model="google/owlvit-base-patch32", task="zero-shot-object-detection")
              >>> detector(
              ...     [
              ...         {
              ...             "image": "http://images.cocodataset.org/val2017/000000039769.jpg",
              ...             "candidate_labels": ["cat", "couch"],
              ...         },
              ...         {
              ...             "image": "http://images.cocodataset.org/val2017/000000039769.jpg",
              ...             "candidate_labels": ["cat", "couch"],
              ...         },
              ...     ]
              ... )
              [[{'score': 0.287, 'label': 'cat', 'box': {'xmin': 324, 'ymin': 20, 'xmax': 640, 'ymax': 373}}, {'score': 0.25, 'label': 'cat', 'box': {'xmin': 1, 'ymin': 55, 'xmax': 315, 'ymax': 472}}, {'score': 0.121, 'label': 'couch', 'box': {'xmin': 4, 'ymin': 0, 'xmax': 642, 'ymax': 476}}], [{'score': 0.287, 'label': 'cat', 'box': {'xmin': 324, 'ymin': 20, 'xmax': 640, 'ymax': 373}}, {'score': 0.254, 'label': 'cat', 'box': {'xmin': 1, 'ymin': 55, 'xmax': 315, 'ymax': 472}}, {'score': 0.121, 'label': 'couch', 'box': {'xmin': 4, 'ymin': 0, 'xmax': 642, 'ymax': 476}}]]
              ```
  
  
          candidate_labels (`str` or `List[str]` or `List[List[str]]`):
              What the model should recognize in the image.
  
          threshold (`float`, *optional*, defaults to 0.1):
              The probability necessary to make a prediction.
  
          top_k (`int`, *optional*, defaults to None):
              The number of top predictions that will be returned by the pipeline. If the provided number is `None`
              or higher than the number of predictions available, it will default to the number of predictions.
  
          timeout (`float`, *optional*, defaults to None):
              The maximum time in seconds to wait for fetching images from the web. If None, no timeout is set and
              the call may block forever.
  
  
      Return:
          A list of lists containing prediction results, one list per input image. Each list contains dictionaries
          with the following keys:
  
          - **label** (`str`) -- Text query corresponding to the found object.
          - **score** (`float`) -- Score corresponding to the object (between 0 and 1).
          - **box** (`Dict[str,int]`) -- Bounding box of the detected object in image's original size. It is a
            dictionary with `x_min`, `x_max`, `y_min`, `y_max` keys.
      """
      if "text_queries" in kwargs:
          candidate_labels = kwargs.pop("text_queries")
  
      if isinstance(image, (str, Image.Image)):
          inputs = {
              "image": image,
              "candidate_labels": candidate_labels,
          }
      else:
          inputs = image
      results = super().__call__(inputs, **kwargs)
      return results
  
file_path: transformers/src/transformers/pipelines/zero_shot_object_detection.py
imports: from typing import Any, Dict, List, Union
  from ..utils import add_end_docstrings, is_torch_available, is_vision_available, logging, requires_backends
  from .base import PIPELINE_INIT_ARGS, ChunkPipeline
label_desc: Use image node_id 2 for calling the ZeroShotObjectDetectionPipeline obj's underlying member method code with example usage: obj.__call__(image, candidate_labels) and returns: results