Nvision Docs
  • Introduction
  • Machine Learning Services
  • Try Web Demo
  • Nipa Cloud Portal
  • API Concepts
    • RESTful Calls
    • WebSocket Streams
  • Quickstarts
    • Set up the Nvision Service
    • Make a RESTful Call
    • Make a WebSocket Stream
  • How-TO Guides
    • Detect Objects
  • API References
    • API Guide
    • Python SDK
    • JavaScript SDK
  • Resources
    • Use Cases
      • Image Content Tagging
    • Pricing
    • Quotas and Limits
    • Change Logs
    • FAQ
    • GitHub: Nvision
Powered by GitBook
On this page
  • Quickstarts
  • Installation
  • Using the SDK
  • Detect Objects
  • nvision.ObjectDetection.predict() params:
  • Prediction response:

Was this helpful?

  1. API References

Python SDK

PreviousAPI GuideNextJavaScript SDK

Last updated 5 years ago

Was this helpful?

Python SDK is based on the Nvision image processing service for synchronous calls. The input requests and output responses are structured in JSON format. You can make a RESTful API call by sending an image as a base64 encoded string in the body of your request, see quickstart.

Quickstarts

Before you begin to use this SDK, these quickstarts will guide you to get started with the Nvision API.

Installation

Using PyPi package here:

pip install nvision

Supported Python versions: Python >= 3.5

Using the SDK

Detect Objects

To use object detection service, you can initialize the ObjectDetection class directly with your api_key. Then, call the predict() method to make a RESTful request for model inference.

import os
import json
import base64
from nvision import ObjectDetection

model = ObjectDetection(api_key=os.getenv('API_KEY'))

# base64 encoed string
with open(os.path.join('docs', 'street.jpg'), 'rb') as file:
    image = file.read()
    image = base64.b64encode(image).decode('utf-8')

# make a RESTful call to the Nvision API
response = model.predict(image)

print(response)
print(json.dumps(response.json(), indent=4, sort_keys=True))

nvision.ObjectDetection.predict() params:

    • e.g. /9j/4AAQSkZJRgABAQEBLAEsAAD...

  • ConfidenceThreshold: to define the minimum confidence score of the prediction results.

    • Value options: [0, 1]

    • Default: "0.1"

  • OutputCroppedImage: to return cropped images from bounding box detections.

    • Value options: "true" or "false"

    • Default: "false"

  • OutputVisualizedImage: to return drawn bounding box detections on raw image.

    • Value options: "true" or "false"

    • Default: "false"

def predict(self,
            image,
            confidence_threshold=0.1,
            output_cropped_image=False,
            output_visualized_image=False):

docstring: Make a RESTful request for model inference 
    :param image: base64 encoded string
    :param confidence_threshold: float
        - value options: [0,1]
        - default: 0.1
    :param output_cropped_image: Boolean
        - value options: True or False,
        - default: False
    :param output_visualized_image: Boolean
        - value options: True or False,
        - default: False

Prediction response:

  • detected_objects: a list of prediction outputs for corresponding objects/labels/boxes

    • bounding_box: integer

    • confidence: how likely it is, the object is contained within the image or video.

    • cropped_image: returned if output_cropped_image is set to True.

    • name : output object name ot label category.

    • parent: parent class or the output label.

{
    "detected_objects": [
        {
            "bounding_box": {
                "left": 245,
                "right": 307,
                "top": 515,
                "bottom": 602
            },
            "confidence": 0.9126193721036421,
            "cropped_image": <<base64_encoded_string>>,
            "name": "pserson"
            "parent": "human"
        },
        ...
    ]
}

image: encoded string that represents binary data in an ASCII string format.

make API calls
API Concepts: RESTful and WebSocket
Set up the Nvision Service
Make a RESTful Call
Detect Objects
https://pypi.org/project/nvision/
base64