Skip to content

Ikomia-hub/infer_google_vision_object_localization

Repository files navigation

Algorithm icon

infer_google_vision_object_localization


Stars Website GitHub
Discord community

Detect and extract multiple objects in an image with Object Localization using the Google Cloud Vision API.

Running this algorithm requires:

  • a Google Cloud Vision API Key
  • a Google Cloud account with Cloud Vision API enable

Please refer to the 'Advanced Usage' section for guidance on how to set these up.

logos

🚀 Use with Ikomia API

1. Install Ikomia API

We strongly recommend using a virtual environment. If you're not sure where to start, we offer a tutorial here.

pip install ikomia

2. Create your workflow

from ikomia.dataprocess.workflow import Workflow
from ikomia.utils.displayIO import display

# Init your workflow
wf = Workflow()

# Add algorithm
algo = wf.add_task(name="infer_google_vision_object_localization", auto_connect=True)

# Set parameters
algo.set_parameters({
    'google_application_credentials':'PATH/TO/YOUR/GOOGLE/CLOUD/VISION/API/KEY.json'
})

# Run on your image
wf.run_on(url='https://www.thatonepointofview.com/wp-content/uploads/2021/03/Prettiest-Streets-in-Paris-Montmartre-1.jpg')

# Display your result
display(algo.get_image_with_graphics())

☀️ Use with Ikomia Studio

Ikomia Studio offers a friendly UI with the same features as the API.

  • If you haven't started using Ikomia Studio yet, download and install it from this page.

  • For additional guidance on getting started with Ikomia Studio, check out this blog post.

📝 Set algorithm parameters

  • conf_thres (float) default '0.2': Box threshold for the prediction [0,1]

🔍 Explore algorithm outputs

Every algorithm produces specific outputs, yet they can be explored them the same way using the Ikomia API. For a more in-depth understanding of managing algorithm outputs, please refer to the documentation.

from ikomia.dataprocess.workflow import Workflow

# Init your workflow
wf = Workflow()

# Add algorithm
algo = wf.add_task(name="infer_google_vision_object_localization", auto_connect=True)

# Set parameters
algo.set_parameters({
    'google_application_credentials':'PATH/TO/YOUR/GOOGLE/CLOUD/VISION/API/KEY.json'
})

# Run on your image
wf.run_on(url='https://www.thatonepointofview.com/wp-content/uploads/2021/03/Prettiest-Streets-in-Paris-Montmartre-1.jpg')

# Iterate over outputs
for output in algo.get_outputs():
    # Print information
    print(output)
    # Export it to JSON
    output.to_json()

⏩ Advanced usage

💡 How to generate a Google Cloud Vision API Key and enable Cloud Vision API?

🔑 Set the Google Cloud Vision API Key in your environment variable.

Permanently setting the 'GOOGLE_APPLICATION_CREDENTIALS' API Key in your environment variable enables the use of this algorithm without having to define the 'google_application_credentials' parameter every time.

Note: the key will still be required for deployments.

🔴 Deployment Limitations

This algorithm necessitates authentication to Google Cloud services via API keys. Consequently, it will not operate offline (e.g., in AWS Lambda) or in environments without internet access to communicate with Google Cloud services.

Ensure to manage API keys securely and avoid exposing them in public repositories or forums to prevent unauthorized usage. If the keys are compromised, be sure to revoke them immediately and generate new keys in the Google Cloud Console.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages