পাইথনের সাথে ভিশন API ব্যবহার করা

১. সংক্ষিপ্ত বিবরণ

5ab7829fc22b21c4.png

ভিশন এপিআই ডেভেলপারদের অ্যাপ্লিকেশনগুলিতে সহজেই দৃষ্টি শনাক্তকরণ বৈশিষ্ট্যগুলি সংহত করার সুযোগ দেয়, যার মধ্যে রয়েছে ইমেজ লেবেলিং, মুখ ও ল্যান্ডমার্ক শনাক্তকরণ, অপটিক্যাল ক্যারেক্টার রিকগনিশন (ওসিআর), এবং আপত্তিকর বিষয়বস্তুর ট্যাগিং।

এই টিউটোরিয়ালে, আপনি পাইথনের সাথে ভিশন এপিআই (Vision API) ব্যবহারের উপর মনোযোগ দেবেন।

আপনি যা শিখবেন

  • আপনার পরিবেশ কীভাবে সেট আপ করবেন
  • কীভাবে লেবেল সনাক্তকরণ সম্পাদন করবেন
  • কীভাবে টেক্সট ডিটেকশন সম্পাদন করবেন
  • ল্যান্ডমার্ক সনাক্তকরণ কীভাবে সম্পাদন করবেন
  • কীভাবে মুখ শনাক্তকরণ করা যায়
  • কীভাবে অবজেক্ট ডিটেকশন সম্পাদন করবেন

আপনার যা যা লাগবে

জরিপ

আপনি এই টিউটোরিয়ালটি কীভাবে ব্যবহার করবেন?

শুধু পুরোটা পড়ুন এটি পড়ুন এবং অনুশীলনগুলো সম্পূর্ণ করুন।

পাইথন নিয়ে আপনার অভিজ্ঞতাকে আপনি কীভাবে মূল্যায়ন করবেন?

শিক্ষানবিশ মধ্যবর্তী দক্ষ

গুগল ক্লাউড পরিষেবা ব্যবহারের অভিজ্ঞতাকে আপনি কীভাবে মূল্যায়ন করবেন?

শিক্ষানবিশ মধ্যবর্তী দক্ষ

২. সেটআপ এবং প্রয়োজনীয়তা

স্ব-গতিতে পরিবেশ সেটআপ

  1. Google Cloud Console- এ সাইন-ইন করুন এবং একটি নতুন প্রজেক্ট তৈরি করুন অথবা বিদ্যমান কোনো প্রজেক্ট পুনরায় ব্যবহার করুন। যদি আপনার আগে থেকে Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তবে আপনাকে অবশ্যই একটি তৈরি করতে হবে।

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • প্রজেক্টের নামটি হলো এই প্রজেক্টের অংশগ্রহণকারীদের প্রদর্শিত নাম। এটি একটি ক্যারেক্টার স্ট্রিং যা গুগল এপিআই ব্যবহার করে না। আপনি যেকোনো সময় এটি আপডেট করতে পারেন।
  • প্রজেক্ট আইডি সমস্ত গুগল ক্লাউড প্রজেক্ট জুড়ে অনন্য এবং অপরিবর্তনীয় (একবার সেট করার পর এটি পরিবর্তন করা যায় না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত এটি কী তা নিয়ে আপনার মাথা ঘামানোর দরকার নেই। বেশিরভাগ কোডল্যাবে, আপনাকে আপনার প্রজেক্ট আইডি উল্লেখ করতে হবে (যা সাধারণত PROJECT_ID হিসাবে চিহ্নিত করা হয়)। তৈরি করা আইডিটি আপনার পছন্দ না হলে, আপনি এলোমেলোভাবে আরেকটি তৈরি করতে পারেন। বিকল্পভাবে, আপনি আপনার নিজের আইডি দিয়ে চেষ্টা করে দেখতে পারেন যে সেটি উপলব্ধ আছে কিনা। এই ধাপের পরে এটি পরিবর্তন করা যাবে না এবং প্রজেক্টের পুরো সময়কাল জুড়ে এটি অপরিবর্তিত থাকবে।
  • আপনার অবগতির জন্য জানাচ্ছি যে, তৃতীয় একটি ভ্যালু রয়েছে, যা হলো প্রজেক্ট নম্বর , এবং কিছু এপিআই এটি ব্যবহার করে থাকে। ডকুমেন্টেশনে এই তিনটি ভ্যালু সম্পর্কে আরও বিস্তারিত জানুন।
  1. এরপর, ক্লাউড রিসোর্স/এপিআই ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং চালু করতে হবে। এই কোডল্যাবটি সম্পন্ন করতে খুব বেশি খরচ হবে না, এমনকি আদৌ কোনো খরচ নাও হতে পারে। এই টিউটোরিয়ালের পর বিলিং এড়াতে রিসোর্সগুলো বন্ধ করার জন্য, আপনি আপনার তৈরি করা রিসোর্সগুলো অথবা প্রজেক্টটি ডিলিট করে দিতে পারেন। নতুন গুগল ক্লাউড ব্যবহারকারীরা ৩০০ মার্কিন ডলারের ফ্রি ট্রায়াল প্রোগ্রামের জন্য যোগ্য।

ক্লাউড শেল শুরু করুন

যদিও গুগল ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালনা করা যায়, এই কোডল্যাবে আপনি ক্লাউড শেল ব্যবহার করবেন, যা ক্লাউডে চালিত একটি কমান্ড লাইন পরিবেশ।

ক্লাউড শেল সক্রিয় করুন

  1. ক্লাউড কনসোল থেকে, Activate Cloud Shell-এ ক্লিক করুন। 853e55310c205094.png .

55efc1aaa7a4d3ad.png

আপনি যদি প্রথমবারের মতো ক্লাউড শেল চালু করেন, তাহলে এটি কী তা বর্ণনা করে একটি মধ্যবর্তী স্ক্রিন আপনার সামনে আসবে। যদি একটি মধ্যবর্তী স্ক্রিন আসে, তাহলে 'চালিয়ে যান' (Continue) এ ক্লিক করুন।

9c92662c6a846a5c.png

ক্লাউড শেল প্রস্তুত করতে এবং এর সাথে সংযোগ স্থাপন করতে মাত্র কয়েক মুহূর্ত সময় লাগা উচিত।

9f0e51b578fecce5.png

এই ভার্চুয়াল মেশিনটিতে প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুলস লোড করা আছে। এটি একটি স্থায়ী ৫ জিবি হোম ডিরেক্টরি প্রদান করে এবং গুগল ক্লাউডে চলে, যা নেটওয়ার্ক পারফরম্যান্স ও অথেনটিকেশনকে ব্যাপকভাবে উন্নত করে। এই কোডল্যাবে আপনার প্রায় সমস্ত কাজই একটি ব্রাউজার দিয়ে করা সম্ভব।

ক্লাউড শেলে সংযুক্ত হওয়ার পর, আপনি দেখতে পাবেন যে আপনাকে প্রমাণীকৃত করা হয়েছে এবং প্রজেক্টটি আপনার প্রজেক্ট আইডিতে সেট করা আছে।

  1. আপনি প্রমাণীকৃত কিনা তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান:
gcloud auth list

কমান্ড আউটপুট

 Credentialed Accounts
ACTIVE  ACCOUNT
*       <my_account>@<my_domain.com>

To set the active account, run:
    $ gcloud config set account `ACCOUNT`
  1. gcloud কমান্ডটি আপনার প্রজেক্ট সম্পর্কে জানে কিনা তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান:
gcloud config list project

কমান্ড আউটপুট

[core]
project = <PROJECT_ID>

যদি তা না থাকে, তবে আপনি এই কমান্ডটি দিয়ে এটি সেট করতে পারেন:

gcloud config set project <PROJECT_ID>

কমান্ড আউটপুট

Updated property [core/project].

৩. পরিবেশ সেটআপ

ভিশন এপিআই ব্যবহার শুরু করার আগে, এপিআইটি সক্রিয় করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান:

gcloud services enable vision.googleapis.com

আপনার এইরকম কিছু দেখা উচিত:

Operation "operations/..." finished successfully.

এখন, আপনি ভিশন এপিআই ব্যবহার করতে পারবেন!

আপনার হোম ডিরেক্টরিতে যান:

cd ~

নির্ভরতাগুলিকে বিচ্ছিন্ন করতে একটি পাইথন ভার্চুয়াল এনভায়রনমেন্ট তৈরি করুন:

virtualenv venv-vision

ভার্চুয়াল পরিবেশ সক্রিয় করুন:

source venv-vision/bin/activate

IPython এবং Vision API ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন:

pip install ipython google-cloud-vision

আপনার এইরকম কিছু দেখা উচিত:

...
Installing collected packages: ..., ipython, google-cloud-vision
Successfully installed ... google-cloud-vision-3.4.0 ...

এখন, আপনি ভিশন এপিআই ক্লায়েন্ট লাইব্রেরিটি ব্যবহার করার জন্য প্রস্তুত!

পরবর্তী ধাপগুলোতে, আপনি IPython নামক একটি ইন্টারেক্টিভ পাইথন ইন্টারপ্রেটার ব্যবহার করবেন, যা আপনি আগের ধাপে ইনস্টল করেছিলেন। ক্লাউড শেলে ipython রান করে একটি সেশন শুরু করুন:

ipython

আপনার এইরকম কিছু দেখা উচিত:

Python 3.9.2 (default, Feb 28 2021, 17:03:44)
Type 'copyright', 'credits' or 'license' for more information
IPython 8.12.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]:

আপনি আপনার প্রথম অনুরোধটি করার জন্য প্রস্তুত...

৪. লেবেল সনাক্তকরণ সম্পাদন করুন

ভিশন এপিআই-এর অন্যতম প্রধান বৈশিষ্ট্য হলো কোনো ছবির মধ্যে থাকা বস্তু বা সত্তা শনাক্ত করা, যা লেবেল অ্যানোটেশন নামে পরিচিত। লেবেল ডিটেকশনের মাধ্যমে সাধারণ বস্তু, স্থান, কার্যকলাপ, প্রাণীর প্রজাতি, পণ্য এবং আরও অনেক কিছু শনাক্ত করা যায়। ভিশন এপিআই একটি ইনপুট ছবি গ্রহণ করে এবং সেই ছবির জন্য প্রযোজ্য সবচেয়ে সম্ভাব্য লেবেলগুলো ফেরত দেয়। এটি ছবির সাথে মিলের কনফিডেন্স স্কোরসহ সর্বাধিক মিলে যাওয়া লেবেলগুলো ফেরত দেয়।

এই উদাহরণে, আপনি টোকিওর একটি জনপ্রিয় এলাকা সেতাগায়ার একটি ছবির ( অ্যালেক্স নাইটের সৌজন্যে) উপর লেবেল ডিটেকশন করবেন।

756f97f0b1e46c38.jpeg

নিম্নলিখিত কোডটি আপনার IPython সেশনে কপি করুন:

from typing import Sequence

from google.cloud import vision


def analyze_image_from_uri(
    image_uri: str,
    feature_types: Sequence,
) -> vision.AnnotateImageResponse:
    client = vision.ImageAnnotatorClient()

    image = vision.Image()
    image.source.image_uri = image_uri
    features = [vision.Feature(type_=feature_type) for feature_type in feature_types]
    request = vision.AnnotateImageRequest(image=image, features=features)

    response = client.annotate_image(request=request)

    return response


def print_labels(response: vision.AnnotateImageResponse):
    print("=" * 80)
    for label in response.label_annotations:
        print(
            f"{label.score:4.0%}",
            f"{label.description:5}",
            sep=" | ",
        )
        

এক মুহূর্ত সময় নিয়ে কোডটি মনোযোগ দিয়ে দেখুন এবং খেয়াল করুন, কীভাবে এটি একটি ছবির কিছু নির্দিষ্ট বৈশিষ্ট্য বিশ্লেষণ করার জন্য annotate_image ক্লায়েন্ট লাইব্রেরি মেথডটি ব্যবহার করে।

LABEL_DETECTION বৈশিষ্ট্যটি ব্যবহার করে একটি অনুরোধ পাঠান:

image_uri = "gs://cloud-samples-data/vision/label/setagaya.jpeg"
features = [vision.Feature.Type.LABEL_DETECTION]

response = analyze_image_from_uri(image_uri, features)
print_labels(response)

আপনি নিম্নলিখিত আউটপুটটি পাবেন:

================================================================================
 97% | Bicycle
 96% | Tire
 94% | Wheel
 91% | Automotive lighting
 89% | Infrastructure
 87% | Bicycle wheel
 86% | Mode of transport
 85% | Building
 83% | Electricity
 82% | Neighbourhood

অনলাইন ডেমোতে ফলাফলগুলো যেভাবে উপস্থাপন করা হয় তা নিচে দেওয়া হলো:

2191b0425c9c148f.png

সারসংক্ষেপ

এই ধাপে, আপনি একটি ছবির উপর লেবেল সনাক্তকরণ করতে এবং সেই ছবির সাথে সম্পর্কিত সবচেয়ে সম্ভাব্য লেবেলগুলি প্রদর্শন করতে সক্ষম হয়েছেন। লেবেল সনাক্তকরণ সম্পর্কে আরও পড়ুন।

৫. টেক্সট শনাক্তকরণ সম্পাদন করুন

টেক্সট ডিটেকশন অপটিক্যাল ক্যারেক্টার রিকগনিশন (OCR) ব্যবহার করে। এটি বিস্তৃত পরিসরের ভাষা সমর্থনসহ একটি ছবির মধ্যে থাকা টেক্সট শনাক্ত ও নিষ্কাশন করে। এতে স্বয়ংক্রিয় ভাষা শনাক্তকরণের সুবিধাও রয়েছে।

এই উদাহরণে, আপনি একটি ট্র্যাফিক সাইনের ছবিতে টেক্সট ডিটেকশন করবেন:

4dedd3fcfd9ad99b.jpeg

নিম্নলিখিত কোডটি আপনার IPython সেশনে কপি করুন:

def print_text(response: vision.AnnotateImageResponse):
    print("=" * 80)
    for annotation in response.text_annotations:
        vertices = [f"({v.x},{v.y})" for v in annotation.bounding_poly.vertices]
        print(
            f"{repr(annotation.description):42}",
            ",".join(vertices),
            sep=" | ",
        )
        

TEXT_DETECTION বৈশিষ্ট্য ব্যবহার করে একটি অনুরোধ পাঠান:

image_uri = "gs://cloud-samples-data/vision/ocr/sign.jpg"
features = [vision.Feature.Type.TEXT_DETECTION]

response = analyze_image_from_uri(image_uri, features)
print_text(response)

আপনি নিম্নলিখিত আউটপুটটি পাবেন:

================================================================================
'WAITING?\nPLEASE\nTURN OFF\nYOUR\nENGINE' | (310,821),(2225,821),(2225,1965),(310,1965)
'WAITING'                                  | (344,821),(2025,879),(2016,1127),(335,1069)
'?'                                        | (2057,881),(2225,887),(2216,1134),(2048,1128)
'PLEASE'                                   | (1208,1230),(1895,1253),(1891,1374),(1204,1351)
'TURN'                                     | (1217,1414),(1718,1434),(1713,1558),(1212,1538)
'OFF'                                      | (1787,1437),(2133,1451),(2128,1575),(1782,1561)
'YOUR'                                     | (1211,1609),(1741,1626),(1737,1747),(1207,1731)
'ENGINE'                                   | (1213,1805),(1923,1819),(1920,1949),(1210,1935)

অনলাইন ডেমোতে ফলাফলগুলো যেভাবে উপস্থাপন করা হয় তা নিচে দেওয়া হলো:

9c70fbce871c5fe5.png

সারসংক্ষেপ

এই ধাপে, আপনি একটি ছবিতে টেক্সট ডিটেকশন করতে এবং ছবি থেকে শনাক্ত করা টেক্সট প্রদর্শন করতে সক্ষম হয়েছেন। টেক্সট ডিটেকশন সম্পর্কে আরও পড়ুন।

৬. ল্যান্ডমার্ক সনাক্তকরণ সম্পাদন করুন

ল্যান্ডমার্ক ডিটেকশন একটি ছবির মধ্যে থাকা জনপ্রিয় প্রাকৃতিক এবং মানবসৃষ্ট স্থাপনাগুলো শনাক্ত করে।

এই উদাহরণে, আপনি জন টাউনারের সৌজন্যে প্রাপ্ত আইফেল টাওয়ারের একটি ছবির উপর ল্যান্ডমার্ক ডিটেকশন করবেন।

fb7801e36884b875.jpeg

নিম্নলিখিত কোডটি আপনার IPython সেশনে কপি করুন:

def print_landmarks(response: vision.AnnotateImageResponse, min_score: float = 0.5):
    print("=" * 80)
    for landmark in response.landmark_annotations:
        if landmark.score < min_score:
            continue
        vertices = [f"({v.x},{v.y})" for v in landmark.bounding_poly.vertices]
        lat_lng = landmark.locations[0].lat_lng
        print(
            f"{landmark.description:18}",
            ",".join(vertices),
            f"{lat_lng.latitude:.5f}",
            f"{lat_lng.longitude:.5f}",
            sep=" | ",
        )
        

LANDMARK_DETECTION ফিচারটি ব্যবহার করে একটি অনুরোধ পাঠান:

image_uri = "gs://cloud-samples-data/vision/landmark/eiffel_tower.jpg"
features = [vision.Feature.Type.LANDMARK_DETECTION]

response = analyze_image_from_uri(image_uri, features)
print_landmarks(response)

আপনি নিম্নলিখিত আউটপুটটি পাবেন:

================================================================================
Trocadéro Gardens  | (303,36),(520,36),(520,371),(303,371) | 48.86160 | 2.28928
Eiffel Tower       | (458,76),(512,76),(512,263),(458,263) | 48.85846 | 2.29435

অনলাইন ডেমোতে ফলাফলগুলো যেভাবে উপস্থাপন করা হয় তা নিচে দেওয়া হলো:

2788697365670985.png

সারসংক্ষেপ

এই ধাপে, আপনি আইফেল টাওয়ারের একটি ছবিতে ল্যান্ডমার্ক ডিটেকশন করতে সক্ষম হয়েছেন। ল্যান্ডমার্ক ডিটেকশন সম্পর্কে আরও পড়ুন।

৭. মুখমণ্ডল শনাক্তকরণ সম্পাদন করুন

মুখের বৈশিষ্ট্য শনাক্তকরণ একটি ছবির মধ্যে একাধিক মুখ এবং তার সাথে সংশ্লিষ্ট মূল বৈশিষ্ট্যগুলো, যেমন—আবেগীয় অবস্থা বা মাথায় কোনো কিছু পরা আছে কিনা, তা সনাক্ত করে।

এই উদাহরণে, আপনি নিচের ছবিতে মুখমণ্ডল শনাক্ত করতে পারবেন (সৌজন্যে: হিমাংশু সিং গুর্জার ):

58c578ece524cf32.jpeg

নিম্নলিখিত কোডটি আপনার IPython সেশনে কপি করুন:

def print_faces(response: vision.AnnotateImageResponse):
    print("=" * 80)
    for face_number, face in enumerate(response.face_annotations, 1):
        vertices = ",".join(f"({v.x},{v.y})" for v in face.bounding_poly.vertices)
        print(f"# Face {face_number} @ {vertices}")
        print(f"Joy:     {face.joy_likelihood.name}")
        print(f"Exposed: {face.under_exposed_likelihood.name}")
        print(f"Blurred: {face.blurred_likelihood.name}")
        print("-" * 80)
        

FACE_DETECTION বৈশিষ্ট্য ব্যবহার করে একটি অনুরোধ পাঠান:

image_uri = "gs://cloud-samples-data/vision/face/faces.jpeg"
features = [vision.Feature.Type.FACE_DETECTION]

response = analyze_image_from_uri(image_uri, features)
print_faces(response)

আপনি নিম্নলিখিত আউটপুটটি পাবেন:

================================================================================
# Face 1 @ (1077,157),(2146,157),(2146,1399),(1077,1399)
Joy:     VERY_LIKELY
Exposed: VERY_UNLIKELY
Blurred: VERY_UNLIKELY
--------------------------------------------------------------------------------
# Face 2 @ (144,1273),(793,1273),(793,1844),(144,1844)
Joy:     VERY_UNLIKELY
Exposed: VERY_UNLIKELY
Blurred: UNLIKELY
--------------------------------------------------------------------------------
# Face 3 @ (785,167),(1100,167),(1100,534),(785,534)
Joy:     VERY_UNLIKELY
Exposed: LIKELY
Blurred: VERY_LIKELY
--------------------------------------------------------------------------------

অনলাইন ডেমোতে ফলাফলগুলো যেভাবে উপস্থাপন করা হয় তা নিচে দেওয়া হলো:

cbb7f59299651b83.png

সারসংক্ষেপ

এই ধাপে, আপনি মুখমণ্ডল শনাক্তকরণ করতে সক্ষম হয়েছেন। মুখমণ্ডল শনাক্তকরণ সম্পর্কে আরও পড়ুন।

৮. বস্তু শনাক্তকরণ সম্পাদন করুন

এই উদাহরণে, আপনি সেতাগায়ার সেই একই পূর্ববর্তী ছবিটির ( অ্যালেক্স নাইটের সৌজন্যে) উপর অবজেক্ট ডিটেকশন করবেন:

756f97f0b1e46c38.jpeg

নিম্নলিখিত কোডটি আপনার IPython সেশনে কপি করুন:

def print_objects(response: vision.AnnotateImageResponse):
    print("=" * 80)
    for obj in response.localized_object_annotations:
        nvertices = obj.bounding_poly.normalized_vertices
        print(
            f"{obj.score:4.0%}",
            f"{obj.name:15}",
            f"{obj.mid:10}",
            ",".join(f"({v.x:.1f},{v.y:.1f})" for v in nvertices),
            sep=" | ",
        )
        

OBJECT_LOCALIZATION বৈশিষ্ট্য ব্যবহার করে একটি অনুরোধ পাঠান:

image_uri = "gs://cloud-samples-data/vision/label/setagaya.jpeg"
features = [vision.Feature.Type.OBJECT_LOCALIZATION]

response = analyze_image_from_uri(image_uri, features)
print_objects(response)

আপনি নিম্নলিখিত আউটপুটটি পাবেন:

================================================================================
 93% | Bicycle         | /m/0199g   | (0.6,0.6),(0.8,0.6),(0.8,0.9),(0.6,0.9)
 92% | Bicycle wheel   | /m/01bqk0  | (0.6,0.7),(0.7,0.7),(0.7,0.9),(0.6,0.9)
 91% | Tire            | /m/0h9mv   | (0.7,0.7),(0.8,0.7),(0.8,1.0),(0.7,1.0)
 75% | Bicycle         | /m/0199g   | (0.3,0.6),(0.4,0.6),(0.4,0.7),(0.3,0.7)
 51% | Tire            | /m/0h9mv   | (0.3,0.6),(0.4,0.6),(0.4,0.7),(0.3,0.7)

অনলাইন ডেমোতে ফলাফলগুলো যেভাবে উপস্থাপন করা হয় তা নিচে দেওয়া হলো:

e1c2ca803d874a6b.png

সারসংক্ষেপ

এই ধাপে, আপনি বস্তু শনাক্তকরণ করতে সক্ষম হয়েছেন। বস্তু শনাক্তকরণ সম্পর্কে আরও পড়ুন।

৯. একাধিক বৈশিষ্ট্য

আপনি ভিশন এপিআই-এর কিছু বৈশিষ্ট্য কীভাবে ব্যবহার করতে হয় তা দেখেছেন, কিন্তু এর আরও অনেক বৈশিষ্ট্য রয়েছে এবং আপনি একটিমাত্র অনুরোধে একাধিক বৈশিষ্ট্য ব্যবহার করতে পারেন।

একসাথে সমস্ত তথ্য পেতে আপনি এই ধরনের অনুরোধ করতে পারেন:

image_uri = "gs://..."
features = [
    vision.Feature.Type.OBJECT_LOCALIZATION,
    vision.Feature.Type.FACE_DETECTION,
    vision.Feature.Type.LANDMARK_DETECTION,
    vision.Feature.Type.LOGO_DETECTION,
    vision.Feature.Type.LABEL_DETECTION,
    vision.Feature.Type.TEXT_DETECTION,
    vision.Feature.Type.DOCUMENT_TEXT_DETECTION,
    vision.Feature.Type.SAFE_SEARCH_DETECTION,
    vision.Feature.Type.IMAGE_PROPERTIES,
    vision.Feature.Type.CROP_HINTS,
    vision.Feature.Type.WEB_DETECTION,
    vision.Feature.Type.PRODUCT_SEARCH,
    vision.Feature.Type.OBJECT_LOCALIZATION,
]

# response = analyze_image_from_uri(image_uri, features)

এবং আরও অনেক সম্ভাবনা আছে, যেমন একযোগে বা অসিঙ্ক্রোনাসভাবে একাধিক ছবির ওপর ডিটেকশন চালানো। সমস্ত হাউ-টু গাইডগুলো দেখে নিন।

১০. অভিনন্দন!

5ab7829fc22b21c4.png

আপনি পাইথনের সাথে ভিশন এপিআই (Vision API) ব্যবহার করা শিখেছেন এবং কয়েকটি ইমেজ ডিটেকশন ফিচার পরীক্ষা করেছেন!

পরিষ্কার করা

আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট পরিষ্কার করতে, ক্লাউড শেল থেকে:

  • আপনি যদি এখনও আপনার IPython সেশনে থাকেন, তাহলে শেল-এ ফিরে যান: exit
  • পাইথন ভার্চুয়াল এনভায়রনমেন্ট ব্যবহার বন্ধ করুন: deactivate
  • আপনার ভার্চুয়াল এনভায়রনমেন্ট ফোল্ডারটি মুছে ফেলুন: cd ~ ; rm -rf ./venv-vision

ক্লাউড শেল থেকে আপনার গুগল ক্লাউড প্রজেক্ট ডিলিট করতে:

  • আপনার বর্তমান প্রজেক্ট আইডি পুনরুদ্ধার করুন: PROJECT_ID=$(gcloud config get-value core/project)
  • নিশ্চিত করুন যে এটিই সেই প্রজেক্ট যা আপনি মুছতে চান: echo $PROJECT_ID
  • প্রজেক্টটি মুছে ফেলুন: gcloud projects delete $PROJECT_ID

আরও জানুন

লাইসেন্স

এই কাজটি ক্রিয়েটিভ কমন্স অ্যাট্রিবিউশন ২.০ জেনেরিক লাইসেন্সের অধীনে রয়েছে।