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

1. উদ্দেশ্য

ওভারভিউ

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

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

আপনি কি শিখবেন

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

2. আপনি শুরু করার আগে

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

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

  1. Google ক্লাউড কনসোলে, পরিষেবা অ্যাকাউন্ট তৈরি করুন পৃষ্ঠাতে যান। পরিষেবা অ্যাকাউন্ট তৈরি করুন এ যান
  2. আপনার প্রকল্প নির্বাচন করুন.
  3. পরিষেবা অ্যাকাউন্ট নাম ক্ষেত্রে, একটি নাম লিখুন। Google ক্লাউড কনসোল এই নামের উপর ভিত্তি করে পরিষেবা অ্যাকাউন্ট আইডি ক্ষেত্রটি পূরণ করে৷ পরিষেবা অ্যাকাউন্টের বিবরণ ক্ষেত্রে, একটি বিবরণ লিখুন। উদাহরণস্বরূপ, কুইকস্টার্টের জন্য সার্ভিস অ্যাকাউন্ট।
  4. তৈরি করুন এবং চালিয়ে যান ক্লিক করুন।
  5. আপনার প্রকল্পে অ্যাক্সেস প্রদান করতে, আপনার পরিষেবা অ্যাকাউন্টে নিম্নলিখিত ভূমিকা(গুলি) মঞ্জুর করুন: ভিশন এআই > ভিশন এআই এডিটর, কম্পিউট ইঞ্জিন > কম্পিউট ইনস্ট্যান্স অ্যাডমিন (বিটা), স্টোরেজ > স্টোরেজ অবজেক্ট ভিউয়ার †। একটি ভূমিকা নির্বাচন করুন তালিকায়, একটি ভূমিকা নির্বাচন করুন৷ অতিরিক্ত ভূমিকার জন্য, অন্য ভূমিকা যোগ করুন ক্লিক করুন এবং প্রতিটি অতিরিক্ত ভূমিকা যোগ করুন। দ্রষ্টব্য : ভূমিকা ক্ষেত্র প্রভাবিত করে আপনার প্রকল্পে আপনার পরিষেবা অ্যাকাউন্ট কোন সংস্থানগুলি অ্যাক্সেস করতে পারে৷ আপনি এই ভূমিকাগুলি প্রত্যাহার করতে পারেন বা পরে অতিরিক্ত ভূমিকা মঞ্জুর করতে পারেন৷ উৎপাদন পরিবেশে, মালিক, সম্পাদক বা দর্শকের ভূমিকা মঞ্জুর করবেন না। পরিবর্তে, একটি পূর্বনির্ধারিত ভূমিকা বা কাস্টম ভূমিকা প্রদান করুন যা আপনার চাহিদা পূরণ করে।
  6. অবিরত ক্লিক করুন.
  7. পরিষেবা অ্যাকাউন্ট তৈরি করা শেষ করতে সম্পন্ন ক্লিক করুন। আপনার ব্রাউজার উইন্ডো বন্ধ করবেন না. আপনি পরবর্তী ধাপে এটি ব্যবহার করবেন।

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

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

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

3. ভিডিও স্ট্রিম করতে একটি VM সেট আপ করুন৷

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

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

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

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

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

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

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

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

  1. কনসোলে, ভিএম ইনস্ট্যান্স পৃষ্ঠাতে যান। VM দৃষ্টান্তে যান
  2. আপনার তৈরি ইনস্ট্যান্স লাইনের সংযোগ বিভাগে, 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

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

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

ক্লাউড কনসোলে Vision AI API সক্রিয় করে শুরু করুন

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

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

স্ট্রীমটি নিবন্ধিত হতে কয়েক মিনিট সময় নেবে৷

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

  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: একটি স্থানীয় ভিডিও ফাইলের ফাইলের নাম৷ উদাহরণস্বরূপ, রাস্তার_বাহন_লোক.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 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 &

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Add Create বাটনে ক্লিক করুন।
  2. অ্যাপের নাম হিসাবে ট্রাফিক-অ্যাপ লিখুন এবং আপনার অঞ্চল চয়ন করুন।
  3. তৈরি করুন ক্লিক করুন।

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

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

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

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

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

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

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

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

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

3acdb6f1e8474e07.pngce63449d601995e9.png

194c54d2bbcf7e8a.png

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

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

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

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

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

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

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

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

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

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

1787242465fd6da7.png

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

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

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

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

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

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

e636361b19738c8d.png

সঞ্চিত ভিডিও ডেটার একটি দৃশ্য যা Google ক্লাউড কনসোলে অনুসন্ধানের মানদণ্ডের সাথে মেলে৷ ভিডিও ক্রেডিট: Pixabay-এলিজাবেথ মাভোর ( অনুসন্ধানের মানদণ্ড প্রযোজ্য )।

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

BigQuery-এ যান

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

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

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

নিচের প্রশ্নটি লিখুন

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

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: প্রতিটি জোনে প্রতি মিনিটে গাড়ির সংখ্যা পরীক্ষা করার জন্য প্রশ্ন করুন

—- 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

উপরের প্রশ্নগুলিতে আপনি ব্যক্তি গণনা করতে "যানবাহন" পরিবর্তন করে "ব্যক্তি" করতে পারেন।

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

e6fd891f3a46246.png

ডান পাশের মেনুতে এক্সপ্লোর ডেটাতে ক্লিক করুন এবং লুকার স্টুডিওর সাথে অন্বেষণ নির্বাচন করুন

9e737ddb4d0d25b6.png

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

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

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

10. অভিনন্দন

অভিনন্দন, আপনি ল্যাব শেষ!

পরিষ্কার করুন

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

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

পৃথক সম্পদ মুছুন

সম্পদ

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

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

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

প্রতিক্রিয়া প্রদান করতে এখানে ক্লিক করুন

সমীক্ষা

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

শুধুমাত্র মাধ্যমে এটি পড়ুন এটি পড়ুন এবং ব্যায়াম সম্পূর্ণ করুন

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

খুব দরকারী পরিমিত দরকারী