ভার্টেক্স এআই ভিশন ট্রাফিক মনিটরিং অ্যাপ

১. উদ্দেশ্য

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

এই কোডল্যাবটি রিয়েল-টাইম ট্র্যাফিক ভিডিও ফুটেজ পর্যবেক্ষণের জন্য একটি ভার্টেক্স এআই ভিশন অ্যাপ্লিকেশন তৈরির উপর দৃষ্টি নিবদ্ধ করবে। আমরা নিম্নলিখিত জিনিসগুলি ক্যাপচার করার জন্য পূর্ব-প্রশিক্ষিত বিশেষায়িত মডেল অকুপেন্সি অ্যানালিটিক্সের অন্তর্নির্মিত বৈশিষ্ট্যগুলি ব্যবহার করব:

  • একটি নির্দিষ্ট লাইনে রাস্তা পারাপারের জন্য যানবাহন এবং ব্যক্তির সংখ্যা গণনা করুন।
  • রাস্তার যেকোনো নির্দিষ্ট অঞ্চলে যানবাহন/ব্যক্তির সংখ্যা গণনা করুন।
  • রাস্তার যেকোনো অংশে যানজট সনাক্ত করা।

তুমি কি শিখবে

  • স্ট্রিমিংয়ের জন্য ভিডিও ইনজেস্ট করার জন্য কীভাবে একটি VM সেটআপ করবেন
  • ভার্টেক্স এআই ভিশনে কীভাবে একটি অ্যাপ্লিকেশন তৈরি করবেন
  • অকুপেন্সি অ্যানালিটিক্সে উপলব্ধ বিভিন্ন বৈশিষ্ট্য এবং সেগুলি কীভাবে ব্যবহার করবেন
  • অ্যাপটি কীভাবে স্থাপন করবেন
  • আপনার স্টোরেজে ভিডিওগুলি কীভাবে অনুসন্ধান করবেন Vertex AI Vision's Media Warehouse।
  • কিভাবে BigQuery-এর সাথে আউটপুট সংযোগ করবেন, মডেলের json আউটপুট থেকে অন্তর্দৃষ্টি বের করার জন্য SQL কোয়েরি লিখবেন এবং রিয়েলটাইমে Looker Studio-তে ফলাফলটি কল্পনা করবেন।

2. শুরু করার আগে

  1. গুগল ক্লাউড কনসোলে, প্রজেক্ট সিলেক্টর পৃষ্ঠায়, একটি গুগল ক্লাউড প্রজেক্ট নির্বাচন করুন বা তৈরি করুনদ্রষ্টব্য : যদি আপনি এই পদ্ধতিতে তৈরি রিসোর্সগুলি রাখার পরিকল্পনা না করেন, তাহলে বিদ্যমান প্রজেক্ট নির্বাচন করার পরিবর্তে একটি প্রজেক্ট তৈরি করুন। এই ধাপগুলি সম্পন্ন করার পরে, আপনি প্রজেক্টটি মুছে ফেলতে পারেন, প্রজেক্টের সাথে সম্পর্কিত সমস্ত রিসোর্স মুছে ফেলতে পারেন। প্রজেক্ট সিলেক্টরে যান।
  2. আপনার ক্লাউড প্রোজেক্টের জন্য বিলিং সক্ষম আছে কিনা তা নিশ্চিত করুন। কোনও প্রোজেক্টে বিলিং সক্ষম আছে কিনা তা কীভাবে পরীক্ষা করবেন তা শিখুন।
  3. কম্পিউট ইঞ্জিন এবং ভিশন এআই এপিআই সক্রিয় করুন। এপিআই সক্রিয় করুন

একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন:

  1. গুগল ক্লাউড কনসোলে, পরিষেবা অ্যাকাউন্ট তৈরি করুন পৃষ্ঠায় যান। পরিষেবা অ্যাকাউন্ট তৈরি করুন পৃষ্ঠায় যান।
  2. আপনার প্রকল্পটি নির্বাচন করুন।
  3. "সার্ভিস অ্যাকাউন্টের নাম" ক্ষেত্রে, একটি নাম লিখুন। গুগল ক্লাউড কনসোল এই নামের উপর ভিত্তি করে "সার্ভিস অ্যাকাউন্ট আইডি" ক্ষেত্রটি পূরণ করে। "সার্ভিস অ্যাকাউন্টের বিবরণ" ক্ষেত্রে, একটি বিবরণ লিখুন। উদাহরণস্বরূপ, "কুইকস্টার্টের জন্য পরিষেবা অ্যাকাউন্ট"।
  4. তৈরি করুন এবং চালিয়ে যান ক্লিক করুন।
  5. আপনার প্রকল্পে অ্যাক্সেস প্রদানের জন্য, আপনার পরিষেবা অ্যাকাউন্টে নিম্নলিখিত ভূমিকা(গুলি) মঞ্জুর করুন: Vision AI > Vision AI Editor, Compute Engine > Compute Instance Admin (beta), Storage > Storage Object Viewer † । Select a role তালিকা থেকে, একটি ভূমিকা নির্বাচন করুন। অতিরিক্ত ভূমিকার জন্য, অন্য ভূমিকা যোগ করুন ক্লিক করুন এবং প্রতিটি অতিরিক্ত ভূমিকা যোগ করুন। দ্রষ্টব্য : ভূমিকা ক্ষেত্রটি আপনার পরিষেবা অ্যাকাউন্ট আপনার প্রকল্পে কোন সংস্থানগুলি অ্যাক্সেস করতে পারে তা প্রভাবিত করে। আপনি এই ভূমিকাগুলি প্রত্যাহার করতে পারেন বা পরে অতিরিক্ত ভূমিকা মঞ্জুর করতে পারেন। উৎপাদন পরিবেশে, মালিক, সম্পাদক বা দর্শকের ভূমিকা মঞ্জুর করবেন না। পরিবর্তে, আপনার প্রয়োজন অনুসারে একটি পূর্বনির্ধারিত ভূমিকা বা কাস্টম ভূমিকা মঞ্জুর করুন।
  6. চালিয়ে যান ক্লিক করুন।
  7. পরিষেবা অ্যাকাউন্ট তৈরি শেষ করতে সম্পন্ন ক্লিক করুন। আপনার ব্রাউজার উইন্ডোটি বন্ধ করবেন না। আপনি পরবর্তী ধাপে এটি ব্যবহার করবেন।

একটি পরিষেবা অ্যাকাউন্ট কী তৈরি করুন:

  1. গুগল ক্লাউড কনসোলে, আপনার তৈরি করা পরিষেবা অ্যাকাউন্টের ইমেল ঠিকানায় ক্লিক করুন।
  2. কী-তে ক্লিক করুন।
  3. "কী যোগ করুন" এ ক্লিক করুন, এবং তারপর নতুন কী তৈরি করুন এ ক্লিক করুন।
  4. তৈরি করুন এ ক্লিক করুন। আপনার কম্পিউটারে একটি JSON কী ফাইল ডাউনলোড করা হবে।
  5. বন্ধ করুন ক্লিক করুন।
  6. গুগল ক্লাউড সিএলআই ইনস্টল এবং আরম্ভ করুন

† শুধুমাত্র তখনই ভূমিকা প্রয়োজন যখন আপনি ক্লাউড স্টোরেজ বাকেট থেকে একটি নমুনা ভিডিও ফাইল কপি করেন।

৩. ভিডিও স্ট্রিম করার জন্য একটি VM সেট আপ করুন

অকুপেন্সি অ্যানালিটিক্সে একটি অ্যাপ তৈরি করার আগে, আপনাকে অবশ্যই একটি স্ট্রিম নিবন্ধন করতে হবে যা পরে অ্যাপটি ব্যবহার করতে পারবে।

এই টিউটোরিয়ালে আপনি একটি কম্পিউট ইঞ্জিন ভিএম ইনস্ট্যান্স তৈরি করবেন যা একটি ভিডিও হোস্ট করবে এবং আপনি ভিএম থেকে সেই স্ট্রিমিং ভিডিও ডেটা পাঠাবেন।

একটি লিনাক্স ভিএম তৈরি করুন

কম্পিউট ইঞ্জিন ভিএম ইনস্ট্যান্স থেকে ভিডিও পাঠানোর প্রথম ধাপ হল ভিএম ইনস্ট্যান্স তৈরি করা।

  1. কনসোলে, VM ইনস্ট্যান্স পৃষ্ঠায় যান। VM ইনস্ট্যান্স পৃষ্ঠায় যান
  2. আপনার প্রকল্প নির্বাচন করুন এবং চালিয়ে যান ক্লিক করুন।
  3. "ইনস্ট্যান্স তৈরি করুন" এ ক্লিক করুন।
  4. আপনার VM-এর জন্য একটি নাম উল্লেখ করুন। আরও তথ্যের জন্য, রিসোর্স নামকরণ কনভেনশন দেখুন।
  5. ঐচ্ছিক: এই VM-এর জন্য জোন পরিবর্তন করুন। কম্পিউট ইঞ্জিন একাধিক জোনে ব্যবহারকে উৎসাহিত করার জন্য প্রতিটি অঞ্চলের মধ্যে জোনের তালিকা এলোমেলো করে।
  6. বাকি ডিফল্ট বিকল্পগুলি গ্রহণ করুন। এই বিকল্পগুলি সম্পর্কে আরও তথ্যের জন্য, একটি VM তৈরি করুন এবং শুরু করুন দেখুন।
  7. VM তৈরি এবং শুরু করতে, Create এ ক্লিক করুন।

VM পরিবেশ সেট আপ করুন

VM শুরু হওয়ার পর, আপনি আপনার ব্রাউজার থেকে VM-এ SSH কনসোল ব্যবহার করতে পারেন। তারপর, আপনি আপনার স্ট্রিমে ভিডিও প্রবেশ করানোর জন্য vaictl কমান্ড-লাইন টুল ডাউনলোড করতে পারেন।

আপনার VM-এ একটি SSH সংযোগ স্থাপন করুন

  1. কনসোলে, VM ইনস্ট্যান্স পৃষ্ঠায় যান। VM ইনস্ট্যান্স পৃষ্ঠায় যান
  2. আপনার তৈরি করা ইনস্ট্যান্স লাইনের Connect বিভাগে, SSH এ ক্লিক করুন। এটি একটি নতুন ব্রাউজার উইন্ডোতে একটি SSH সংযোগ খুলবে। UI-তে SSH বিকল্প

vaictl কমান্ড-লাইন টুলটি ডাউনলোড করুন।

  1. SSH-ইন-ব্রাউজার উইন্ডোতে, নিম্নলিখিত কমান্ড ব্যবহার করে Vertex AI Vision (vaictl) কমান্ড-লাইন টুলটি ডাউনলোড করুন:
wget https://github.com/google/visionai/releases/download/v0.0.4/visionai_0.0-4_amd64.deb
  1. নিম্নলিখিত কমান্ডটি চালিয়ে কমান্ড-লাইন টুলটি ইনস্টল করুন:
sudo apt install ./visionai_0.0-4_amd64.deb
  1. আপনি নিম্নলিখিত কমান্ডটি চালিয়ে ইনস্টলেশন পরীক্ষা করতে পারেন:
vaictl --help

৪. স্ট্রিমিংয়ের জন্য একটি ভিডিও ফাইল ইনজেস্ট করুন

আপনার VM পরিবেশ সেট আপ করার পরে, আপনি একটি নমুনা ভিডিও ফাইল কপি করতে পারেন এবং তারপর vaictl ব্যবহার করে আপনার অকুপেন্সি অ্যানালিটিক্স অ্যাপে ভিডিও ডেটা স্ট্রিম করতে পারেন।

ক্লাউড কনসোলে ভিশন এআই এপিআই সক্রিয় করে শুরু করুন।

একটি নতুন স্ট্রিম নিবন্ধন করুন

  1. Vertex AI Vision এর বাম প্যানেলে streams ট্যাবে ক্লিক করুন।
  2. রেজিস্টারে ক্লিক করুন।
  3. স্ট্রিম নামে 'ট্র্যাফিক-স্ট্রিম' লিখুন
  4. অঞ্চলে 'us-central1' লিখুন
  5. রেজিস্টারে ক্লিক করুন

স্ট্রিমটি নিবন্ধিত হতে কয়েক মিনিট সময় লাগবে।

আপনার VM-এ একটি নমুনা ভিডিও কপি করুন

  1. আপনার VM-এর SSH-ইন-ব্রাউজার উইন্ডোতে, নিম্নলিখিত gsutil cp কমান্ড ব্যবহার করে একটি নমুনা ভিডিও কপি করুন। নিম্নলিখিত ভেরিয়েবলটি প্রতিস্থাপন করুন:
  • উৎস: ব্যবহার করার জন্য একটি ভিডিও ফাইলের অবস্থান। আপনি আপনার নিজস্ব ভিডিও ফাইলের উৎস ব্যবহার করতে পারেন (উদাহরণস্বরূপ, gs://BUCKET_NAME/FILENAME.mp4), অথবা নমুনা ভিডিও (gs://cloud-samples-data/vertex-ai-vision/street_vehicles_people.mp4 ) (মানুষ এবং যানবাহন সহ ভিডিও, উৎস )
export SOURCE=gs://cloud-samples-data/vertex-ai-vision/street_vehicles_people.mp4
gsutil cp $SOURCE .

VM থেকে ভিডিও স্ট্রিম করুন এবং আপনার স্ট্রিমে ডেটা প্রবেশ করান

  1. এই স্থানীয় ভিডিও ফাইলটি অ্যাপ ইনপুট স্ট্রিমে পাঠাতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন। আপনাকে নিম্নলিখিত পরিবর্তনশীল প্রতিস্থাপনগুলি করতে হবে:
  • PROJECT_ID: আপনার Google ক্লাউড প্রোজেক্ট আইডি।
  • LOCATION_ID: আপনার অবস্থান আইডি। উদাহরণস্বরূপ, us-central1। আরও তথ্যের জন্য, ক্লাউড অবস্থান দেখুন।
  • LOCAL_FILE: একটি স্থানীয় ভিডিও ফাইলের ফাইলের নাম। উদাহরণস্বরূপ, street_vehicles_people.mp4.
  • -লুপ ফ্ল্যাগ: ঐচ্ছিক। স্ট্রিমিং সিমুলেট করার জন্য ফাইল ডেটা লুপ করে।
export PROJECT_ID=<Your Google Cloud project ID>
export LOCATION_ID=us-central1
export LOCAL_FILE=street_vehicles_people.mp4
  1. এই কমান্ডটি একটি ভিডিও ফাইলকে একটি স্ট্রিমে স্ট্রিম করে। যদি আপনি –loop ফ্ল্যাগ ব্যবহার করেন, তাহলে কমান্ডটি বন্ধ না করা পর্যন্ত ভিডিওটি স্ট্রিমে লুপ করা হবে। আমরা এই কমান্ডটি ব্যাকগ্রাউন্ড জব হিসেবে চালাবো যাতে VM সংযোগ বিচ্ছিন্ন হওয়ার পরেও এটি স্ট্রিমিং চালিয়ে যেতে পারে।
  • (শুরুতে nohup এবং শেষে '&' যোগ করুন যাতে এটি ব্যাকগ্রাউন্ডের কাজ করে)
nohup vaictl -p $PROJECT_ID \
    -l $LOCATION_ID \
    -c application-cluster-0 \
    --service-endpoint visionai.googleapis.com \
send video-file to streams 'traffic-stream' --file-path $LOCAL_FILE --loop &

ভ্যাক্টল ইনজেস্ট অপারেশন শুরু হওয়া এবং ড্যাশবোর্ডে ভিডিও প্রদর্শিত হতে প্রায় ১০০ সেকেন্ড সময় লাগতে পারে।

স্ট্রিম ইনজেশন উপলব্ধ হওয়ার পরে, আপনি ভার্টেক্স এআই ভিশন ড্যাশবোর্ডের স্ট্রিম ট্যাবে ট্র্যাফিক-স্ট্রিম স্ট্রিম নির্বাচন করে ভিডিও ফিড দেখতে পারবেন।

স্ট্রিম ট্যাবে যান।

UI তে স্ট্রিম করা লাইভ ভিডিওর দৃশ্য গুগল ক্লাউড কনসোলে স্ট্রিমে ভিডিওটি প্রবেশ করানোর লাইভ দৃশ্য। ভিডিও ক্রেডিট: পিক্সাবেতে এলিজাবেথ ম্যাভর ( পিক্সেলেশন যোগ করা হয়েছে )।

৫. একটি অ্যাপ্লিকেশন তৈরি করুন

প্রথম ধাপ হল এমন একটি অ্যাপ তৈরি করা যা আপনার ডেটা প্রক্রিয়াকরণ করবে। একটি অ্যাপকে একটি স্বয়ংক্রিয় পাইপলাইন হিসাবে ভাবা যেতে পারে যা নিম্নলিখিতগুলিকে সংযুক্ত করে:

  • ডেটা ইনজেশন : একটি ভিডিও ফিড একটি স্ট্রিমে ইনজেক্ট করা হয়।
  • তথ্য বিশ্লেষণ : ইনজেশনের পরে একটি এআই (কম্পিউটার ভিশন) মডেল যোগ করা যেতে পারে।
  • ডেটা স্টোরেজ : ভিডিও ফিডের দুটি সংস্করণ (মূল স্ট্রিম এবং এআই মডেল দ্বারা প্রক্রিয়াজাত স্ট্রিম) একটি মিডিয়া গুদামে সংরক্ষণ করা যেতে পারে।

গুগল ক্লাউড কনসোলে একটি অ্যাপকে গ্রাফ হিসেবে উপস্থাপন করা হয়।

একটি খালি অ্যাপ তৈরি করুন

অ্যাপ গ্রাফটি পূরণ করার আগে, আপনাকে প্রথমে একটি খালি অ্যাপ তৈরি করতে হবে।

গুগল ক্লাউড কনসোলে একটি অ্যাপ তৈরি করুন।

  1. গুগল ক্লাউড কনসোলে যান।
  2. ভার্টেক্স এআই ভিশন ড্যাশবোর্ডের অ্যাপ্লিকেশন ট্যাবটি খুলুন।

অ্যাপ্লিকেশন ট্যাবে যান।

  1. তৈরি করুন বোতামে ক্লিক করুন।
  2. অ্যাপের নাম হিসেবে traffic-app লিখুন এবং আপনার অঞ্চল নির্বাচন করুন।
  3. তৈরি করুন ক্লিক করুন।

অ্যাপ কম্পোনেন্ট নোড যোগ করুন

খালি অ্যাপ্লিকেশনটি তৈরি করার পরে, আপনি অ্যাপ গ্রাফে তিনটি নোড যোগ করতে পারেন:

  1. ইনজেশন নোড : স্ট্রিম রিসোর্স যা আপনার তৈরি করা একটি কম্পিউট ইঞ্জিন ভিএম ইনস্ট্যান্স থেকে প্রেরিত ডেটা ইনজেক্ট করে।
  2. প্রসেসিং নোড : অকুপেন্সি অ্যানালিটিক্স মডেল যা ইনজেটেড ডেটার উপর কাজ করে।
  3. স্টোরেজ নোড : মিডিয়া ওয়্যারহাউস যা প্রক্রিয়াজাত ভিডিও সংরক্ষণ করে এবং একটি মেটাডেটা স্টোর হিসেবে কাজ করে। মেটাডেটা স্টোরগুলিতে ইনজেটেড ভিডিও ডেটা সম্পর্কে বিশ্লেষণমূলক তথ্য এবং এআই মডেল দ্বারা অনুমানকৃত তথ্য অন্তর্ভুক্ত থাকে।

কনসোলে আপনার অ্যাপে কম্পোনেন্ট নোড যোগ করুন।

  1. Vertex AI Vision ড্যাশবোর্ডের অ্যাপ্লিকেশন ট্যাবটি খুলুন। অ্যাপ্লিকেশন ট্যাবে যান।
  2. ট্র্যাফিক-অ্যাপ লাইনে, গ্রাফ দেখুন নির্বাচন করুন। এটি আপনাকে প্রক্রিয়াকরণ পাইপলাইনের গ্রাফ ভিজ্যুয়ালাইজেশনে নিয়ে যাবে।

একটি ডেটা ইনজেশন নোড যোগ করুন

  1. একটি ইনপুট স্ট্রিম নোড যোগ করতে, পাশের মেনুর সংযোগকারী বিভাগে Streams বিকল্পটি নির্বাচন করুন।
  2. খোলা স্ট্রিম মেনুর সোর্স বিভাগে, স্ট্রিম যোগ করুন নির্বাচন করুন।
  3. "স্ট্রীম যোগ করুন" মেনুতে, "নতুন স্ট্রীম নিবন্ধন করুন" নির্বাচন করুন এবং "ট্র্যাফিক-স্ট্রিম" স্ট্রিমের নাম হিসেবে যোগ করুন।
  4. অ্যাপ গ্রাফে স্ট্রিম যোগ করতে, স্ট্রিম যোগ করুন এ ক্লিক করুন।

একটি ডেটা প্রসেসিং নোড যোগ করুন

  1. অকুপেন্সি কাউন্ট মডেল নোড যোগ করতে, পাশের মেনুর স্পেশালাইজড মডেল বিভাগে অকুপেন্সি অ্যানালিটিক্স বিকল্পটি নির্বাচন করুন।
  2. ডিফল্ট নির্বাচনগুলি ছেড়ে দিন মানুষ এবং যানবাহন
  3. লাইন ক্রসিং-এ লাইন যোগ করুন। মাল্টি পয়েন্ট লাইন টুল ব্যবহার করে যেখানে গাড়ি বা লোকজন বের হচ্ছে বা প্রবেশ করছে তা সনাক্ত করার জন্য লাইন আঁকুন।
  4. সক্রিয় অঞ্চলগুলি অঙ্কন করে সেই অঞ্চলে মানুষ/যানবাহন গণনা করো।
  5. একটি সক্রিয় অঞ্চল আঁকা হলে যানজট সনাক্ত করার জন্য থাকার সময়ের জন্য সেটিংস যোগ করুন।
  • (বর্তমানে সক্রিয় অঞ্চল এবং লাইন ক্রসিং উভয়ই একসাথে সমর্থিত নয়। একবারে শুধুমাত্র একটি বৈশিষ্ট্য ব্যবহার করুন।)

3acdb6f1e8474e07.png সম্পর্কেce63449d601995e9.png সম্পর্কে

194c54d2bbcf7e8a.png সম্পর্কে

একটি ডেটা স্টোরেজ নোড যোগ করুন

  1. আউটপুট ডেস্টিনেশন (স্টোরেজ) নোড যোগ করতে, পাশের মেনুর কানেক্টর বিভাগে Vertex AI Vision's Media Warehouse বিকল্পটি নির্বাচন করুন।
  2. Vertex AI Vision এর Media Warehouse মেনুতে, Connect warehouse এ ক্লিক করুন।
  3. কানেক্ট ওয়্যারহাউস মেনুতে, নতুন ওয়্যারহাউস তৈরি করুন নির্বাচন করুন। ওয়্যারহাউস ট্র্যাফিক-ওয়্যারহাউসের নাম দিন এবং TTL সময়কাল 14 দিন রেখে দিন।
  4. গুদাম যোগ করতে তৈরি করুন বোতামে ক্লিক করুন।

৬. আউটপুটকে BigQuery টেবিলের সাথে সংযুক্ত করুন

যখন আপনি আপনার Vertex AI Vision অ্যাপে একটি BigQuery সংযোগকারী যোগ করবেন, তখন সমস্ত সংযুক্ত অ্যাপ মডেল আউটপুট লক্ষ্য টেবিলে প্রবেশ করবে।

আপনি হয় আপনার নিজস্ব BigQuery টেবিল তৈরি করতে পারেন এবং অ্যাপে একটি BigQuery সংযোগকারী যোগ করার সময় সেই টেবিলটি নির্দিষ্ট করতে পারেন, অথবা Vertex AI Vision অ্যাপ প্ল্যাটফর্মকে স্বয়ংক্রিয়ভাবে টেবিলটি তৈরি করতে দিতে পারেন।

স্বয়ংক্রিয় টেবিল তৈরি

যদি আপনি Vertex AI Vision অ্যাপ প্ল্যাটফর্মকে স্বয়ংক্রিয়ভাবে টেবিল তৈরি করতে দেন, তাহলে BigQuery সংযোগকারী নোড যোগ করার সময় আপনি এই বিকল্পটি নির্দিষ্ট করতে পারেন।

স্বয়ংক্রিয় টেবিল তৈরি ব্যবহার করতে চাইলে নিম্নলিখিত ডেটাসেট এবং টেবিলের শর্তাবলী প্রযোজ্য:

  • ডেটাসেট: স্বয়ংক্রিয়ভাবে তৈরি ডেটাসেটের নাম হল visionai_dataset।
  • টেবিল: স্বয়ংক্রিয়ভাবে তৈরি টেবিলের নাম হল visionai_dataset.APPLICATION_ID।
  • ত্রুটি পরিচালনা:
  • যদি একই ডেটাসেটের অধীনে একই নামের টেবিলটি বিদ্যমান থাকে, তাহলে কোনও স্বয়ংক্রিয় সৃষ্টি হবে না।
  1. Vertex AI Vision ড্যাশবোর্ডের অ্যাপ্লিকেশন ট্যাবটি খুলুন। অ্যাপ্লিকেশন ট্যাবে যান।
  2. তালিকা থেকে আপনার অ্যাপ্লিকেশনের নামের পাশে "অ্যাপ দেখুন" নির্বাচন করুন।
  3. অ্যাপ্লিকেশন বিল্ডার পৃষ্ঠায়, Connectors বিভাগ থেকে BigQuery নির্বাচন করুন।
  4. BigQuery পাথ ফিল্ডটি খালি রাখুন। ee0b67d4ab2263d.png সম্পর্কে
  5. স্টোর মেটাডেটা থেকে: শুধুমাত্র 'অকুপেন্সি অ্যানালিটিক্স' নির্বাচন করুন এবং স্ট্রিমগুলি আনচেক করুন।

চূড়ান্ত অ্যাপ গ্রাফটি এইরকম দেখা উচিত:

1787242465fd6da7.png সম্পর্কে

৭. ব্যবহারের জন্য আপনার অ্যাপটি স্থাপন করুন

সমস্ত প্রয়োজনীয় উপাদান দিয়ে আপনার এন্ড-টু-এন্ড অ্যাপ তৈরি করার পরে, অ্যাপটি ব্যবহারের শেষ ধাপ হল এটি স্থাপন করা।

  1. Vertex AI Vision ড্যাশবোর্ডের অ্যাপ্লিকেশন ট্যাবটি খুলুন। অ্যাপ্লিকেশন ট্যাবে যান।
  2. তালিকার ট্র্যাফিক-অ্যাপ অ্যাপের পাশে ভিউ গ্রাফ নির্বাচন করুন।
  3. অ্যাপ্লিকেশন গ্রাফ বিল্ডার পৃষ্ঠা থেকে, স্থাপন বোতামে ক্লিক করুন।
  4. নিম্নলিখিত নিশ্চিতকরণ ডায়ালগে, Deploy নির্বাচন করুন। Deploy অপারেশনটি সম্পূর্ণ হতে কয়েক মিনিট সময় লাগতে পারে। Deployment শেষ হওয়ার পরে, নোডের পাশে সবুজ চেক চিহ্ন প্রদর্শিত হবে। অনুসরণ

৮. স্টোরেজ গুদামে ভিডিও কন্টেন্ট অনুসন্ধান করুন

আপনার প্রসেসিং অ্যাপে ভিডিও ডেটা প্রবেশ করার পর, আপনি বিশ্লেষণ করা ভিডিও ডেটা দেখতে পারবেন এবং অকুপেন্সি অ্যানালিটিক্স তথ্যের উপর ভিত্তি করে ডেটা অনুসন্ধান করতে পারবেন।

  1. Vertex AI Vision ড্যাশবোর্ডের Warehouses ট্যাবটি খুলুন। Warehouses ট্যাবে যান।
  2. তালিকায় ট্র্যাফিক-ওয়্যারহাউস গুদামটি খুঁজুন এবং সম্পদ দেখুন ক্লিক করুন।
  3. "মানুষ গণনা" বা "যানবাহন গণনা" বিভাগে, সর্বনিম্ন মান ১ এবং সর্বোচ্চ মান ৫ নির্ধারণ করুন।
  4. Vertex AI Vision-এর মিডিয়া ওয়্যারহাউসে সংরক্ষিত প্রক্রিয়াজাত ভিডিও ডেটা ফিল্টার করতে, Search এ ক্লিক করুন।

e636361b19738c8d.png

গুগল ক্লাউড কনসোলে সার্চের মানদণ্ডের সাথে মেলে এমন সঞ্চিত ভিডিও ডেটার একটি দৃশ্য। ভিডিও ক্রেডিট: পিক্সাবেতে এলিজাবেথ ম্যাভর ( সার্চের মানদণ্ড প্রয়োগ করা হয়েছে )।

৯. BigQuery টেবিলে আউটপুট বিশ্লেষণ করুন

BigQuery-এ যান

ডেটাসেট নির্বাচন করুন: visionai_dataset

টেবিলটি নির্বাচন করুন: আপনার APPLICATION_ID (এই ক্ষেত্রে ট্র্যাফিক-অ্যাপ)

টেবিলের নামের ডানদিকে তিনটি বিন্দুতে ক্লিক করুন এবং Query-এ ক্লিক করুন।

নিম্নলিখিত প্রশ্নটি লিখুন

প্রশ্ন ১: প্রতি মিনিটে প্রতিটি লাইন অতিক্রমকারী যানবাহনের সংখ্যা পরীক্ষা করার জন্য প্রশ্ন

abc.sql সম্পর্কে

- Get list of active marked lines for each timeframe
WITH line_array AS (
  SELECT
  t.ingestion_time AS ingestion_time,
  JSON_QUERY_ARRAY(t.annotation.stats["crossingLineCounts"]) AS lines
  FROM
  `PROJ_ID.visionai_dataset.APP_ID` AS t
),
- Flatten active lines to get individual entities details
flattened AS (
  SELECT
  line_array.ingestion_time,
  JSON_VALUE(line.annotation.id) as line_id,
  JSON_QUERY_ARRAY(line["positiveDirectionCounts"]) AS entities
  FROM line_array, unnest(line_array.lines) as line
 )
- Generate aggregate vehicle count per zone w.r.t time 
SELECT
  STRING(TIMESTAMP_TRUNC(ingestion_time, MINUTE) ) AS time, line_id,
  SUM(INT64(entity["count"])) as vehicle_count
FROM
  flattened, UNNEST(flattened.entities) AS entity
WHERE JSON_VALUE(entity['entity']['labelString']) = 'Vehicle'
GROUP BY time, line_id

Query2: প্রতিটি জোনে প্রতি মিনিটে যানবাহনের সংখ্যা পরীক্ষা করার জন্য Query

- Get list of active zones for each timeframe
WITH zone_array AS (
     SELECT
     t.ingestion_time AS ingestion_time,
     JSON_QUERY_ARRAY(t.annotation.stats["activeZoneCounts"]) AS zones
     FROM
     `PROJ_ID.visionai_dataset.APP_ID` AS t
),
- Flatten active zones to get individual entities details
flattened AS (
   SELECT zone_array.ingestion_time, JSON_VALUE(zone.annotation.id) as zone_id,
         JSON_QUERY_ARRAY(zone["counts"]) AS entities
   FROM zone_array, unnest(zone_array.zones) as zone
 )
- Generate aggregate vehicle count per zone w.r.t time 
SELECT 
STRING(TIMESTAMP_TRUNC(ingestion_time, MINUTE) ) AS time, 
zone_id,
SUM(INT64(entity["count"])) as vehicle_count
FROM flattened, UNNEST(flattened.entities) AS entity
WHERE JSON_VALUE(entity['entity']['labelString']) = 'Vehicle'
GROUP BY time, zone_id

উপরের প্রশ্নগুলিতে আপনি "Vehicle" কে "Person" এ পরিবর্তন করে Person গণনা করতে পারেন।

এই কোডল্যাবটি শুধুমাত্র Query1 এর জন্য নমুনা ডেটা এবং ভিজ্যুয়ালাইজেশন দেখাবে। আপনি Query2 এর জন্য একই প্রক্রিয়া অনুসরণ করতে পারেন।

e6fd891f3a46246.png সম্পর্কে

ডান পাশের মেনুতে Explore Data-এ ক্লিক করুন এবং Explore with Looker Studio নির্বাচন করুন।

9e737ddb4d0d25b6.png সম্পর্কে

'মাত্রা' প্যানেলে সময় যোগ করুন এবং সময় কনফিগারেশনটি তারিখ-সময়ে পরিবর্তন করুন। 'ব্রেকডাউন মাত্রা' প্যানেলে line_id যোগ করুন। b5da9704ccd8db.png সম্পর্কে

উপরের গ্রাফটি প্রতি মিনিটে প্রতিটি লাইন অতিক্রমকারী যানবাহন/ব্যক্তির সংখ্যা দেখায়।

গাঢ় নীল এবং হালকা নীল রঙের বার দুটি ভিন্ন লাইন-আইডি নির্দেশ করে।

১০. অভিনন্দন

অভিনন্দন, তুমি ল্যাব শেষ করেছ!

পরিষ্কার কর

এই টিউটোরিয়ালে ব্যবহৃত রিসোর্সের জন্য আপনার গুগল ক্লাউড অ্যাকাউন্টে চার্জ এড়াতে, হয় রিসোর্স ধারণকারী প্রজেক্টটি মুছে ফেলুন, অথবা প্রজেক্টটি রেখে পৃথক রিসোর্সগুলি মুছে ফেলুন।

প্রকল্পটি মুছুন

পৃথক সম্পদ মুছে ফেলুন

রিসোর্স

https://cloud.google.com/vision-ai/docs/overview

https://cloud.google.com/vision-ai/docs/occupancy-count-tutorial

প্রতিক্রিয়া

মতামত জানাতে এখানে ক্লিক করুন

জরিপ

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

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

এই কোডল্যাব কতটা কার্যকর ছিল?

খুবই দরকারী মাঝারি উপযোগী