Esempio n. 1
0
def custom_vision(image_name):
    # Establishing key connections:
    training_key = "{insert-training-key}"
    prediction_key = "{insert-prediction-key}"
    storage_account_url = "{insert-storage-account-url}"
    ENDPOINT = "{insert-endpoint}"

    pid = "{insert-pid}"

    # For future re-training model purposes:
    # trainer = CustomVisionTrainingClient(training_key, endpoint=training_endpoint)

    predictor = CustomVisionPredictionClient(prediction_key, endpoint=ENDPOINT)

    image_url = storage_account_url + image_name
    print("Image url: " + image_url + "\n")

    # Using the default iteration otherwise you can set iteration_id to something else
    results = predictor.predict_image_url(project_id=pid, url=image_url)

    return results
Esempio n. 2
0
class ImageRater():

    ENDPOINT = "https://southcentralus.api.cognitive.microsoft.com"
    project_id = get_projectid_customvision()

    def __init__(self):
        self.predictor = CustomVisionPredictionClient(get_customvision_predictionkey(), endpoint=self.ENDPOINT)

    def rate_image(self, img_url):

        results =  self.predictor.predict_image_url(self.project_id, url=img_url)


        prediction = results.predictions[0]
        probability = "{0:.2f} ".format(prediction.probability)
        label = prediction.tag_name

        friendly_results = dict()
        friendly_results['label'] = label
        friendly_results['confidence'] = probability

        return friendly_results
def get_prediction(img_url):
    from azure.cognitiveservices.vision.customvision.prediction import CustomVisionPredictionClient

    ENDPOINT = "https://southcentralus.api.cognitive.microsoft.com"
    project_id = '40412ce6-fe45-4fc2-b949-9bb6fe28abf2'
    predictor = CustomVisionPredictionClient(
        '57c2350f261b4cf0aec943bcf893e2d8', endpoint=ENDPOINT)

    #import sys
    #img_url = sys.argv[1]
    #img_url = 'https://images.pexels.com/photos/259962/pexels-photo-259962.jpeg?auto=compress&cs=tinysrgb&h=350'

    print(img_url)
    results = predictor.predict_image_url(project_id, url=img_url)

    #output_file_probabilities = open('prediction_result_probabilites.txt', 'w')
    #output_file_labels = open('prediction_result_labels.txt', 'w')

    prediction = results.predictions[0]
    probability = "{0:.2f} ".format(prediction.probability)
    label = prediction.tag_name

    return [label, probability]
training_key = "8202cc602079498c8c0b5d002d422bc0"
prediction_key = "1bc26fdf4b984a54afae6d05074aeda4"

# Now there is a trained endpoint that can be used to make a prediction

predictor = CustomVisionPredictionClient(prediction_key, endpoint=ENDPOINT)

#test_img_url = "http://i1.adis.ws/i/jpl/bl_208555_a"
test_img_url1 = "https://www.popsci.com/sites/popsci.com/files/styles/655_1x_/public/images/2018/01/84711_fea.jpg?itok=nxNwehk-&fc=50,50"
test_img_url2 = "https://images-na.ssl-images-amazon.com/images/I/61%2BUrQmHDsL._UX679_.jpg"

project_id = "8bc27737-5835-4ba9-95f9-06984cd7d4e3"
iteration_id = "c4846c08-c001-47ae-bb5d-7c595dea16ad"

results = predictor.predict_image_url(project_id,
                                      iteration_id,
                                      url=test_img_url1)

# Display the results.
for prediction in results.predictions:
    print("\t" + prediction.tag_name +
          ": {0:.2f}%".format(prediction.probability * 100))

results = predictor.predict_image_url(project_id,
                                      iteration_id,
                                      url=test_img_url2)

# Display the results.
for prediction in results.predictions:
    print("\t" + prediction.tag_name +
          ": {0:.2f}%".format(prediction.probability * 100))
Esempio n. 5
0
import matplotlib.pyplot as plt
from PIL import Image

# Needed to display matplotlib plots in Jupyter
get_ipython().run_line_magic('matplotlib', 'inline')

from azure.cognitiveservices.vision.customvision.prediction import CustomVisionPredictionClient

# Now there is a trained endpoint that can be used to make a prediction

predictor = CustomVisionPredictionClient(prediction_key, endpoint=ENDPOINT)

test_img1 = "https://image.sportsmansguide.com/adimgs/l/6/673942i3_ts.jpg"
test_img2 = "http://content.backcountry.com/images/items/900/MNT/MNT0012/MORBLUOR.jpg"

results1 = predictor.predict_image_url(project.id, iteration.id, url=test_img1)
results2 = predictor.predict_image_url(project.id, iteration.id, url=test_img2)

# Display the results.
for prediction in results1.predictions:
    print("\t" + prediction.tag_name +
          ": {0:.2f}%".format(prediction.probability * 100))

for prediction in results2.predictions:
    print("\t" + prediction.tag_name +
          ": {0:.2f}%".format(prediction.probability * 100))

# Create a figure to display the images
fig = plt.figure(figsize=(12, 16))
# Open it and add it to the figure (in a 4-row grid)
response = requests.get(test_img1, stream=True)

import matplotlib.pyplot as plt
from PIL import Image
from io import BytesIO
get_ipython().magic(u'matplotlib inline')

# Use two test images
test_img1_url = 'http://www.pachd.com/free-images/food-images/apple-01.jpg'
test_img2_url = 'http://www.pachd.com/free-images/food-images/carrot-01.jpg'

# Create an instance of prediction service
predictor = CustomVisionPredictionClient(PREDICTION_KEY, endpoint=ENDPOINT)

# Get prediction for image 1
result1 = predictor.predict_image_url(PROJECT_ID, url=test_img1_url)
# The results include a prediction for each tag, descending order of probability - so we'll get
prediction1 = result1.predictions[0].tag_name + ": {0:.2f}%".format(result1.predictions[0].probability)

# Get prediction for image 2
result2 = predictor.predict_image_url(PROJECT_ID, url=test_img2_url)
# The results include a prediction for each tag, descending order of probability - so we'll get
prediction2 = result2.predictions[0].tag_name + ": {0:.2f}%".format(result2.predictions[0].probability)

# Download images and show them
response = requests.get(test_img1_url)
img1 = Image.open(BytesIO(response.content))

response = requests.get(test_img2_url)
img2 = Image.open(BytesIO(response.content))