Vertex AI विज़न ट्रैफ़िक को मॉनिटर करने वाला ऐप्लिकेशन

1. मकसद

खास जानकारी

इस कोडलैब में, रीयल-टाइम ट्रैफ़िक के वीडियो फ़ुटेज की निगरानी करने के लिए, Vertex AI Vision ऐप्लिकेशन को शुरू से आखिर तक बनाने पर फ़ोकस किया जाएगा. हम इन चीज़ों को कैप्चर करने के लिए, पहले से ट्रेन किए गए खास मॉडल ऑक्यूपेंसी ऐनलिटिक्स की इनबिल्ट सुविधाओं का इस्तेमाल करेंगे:

  • किसी सड़क पर एक तय लाइन से गुज़रने वाले वाहनों और लोगों की संख्या गिनना.
  • सड़क के किसी तय हिस्से में वाहनों/लोगों की संख्या गिनें.
  • सड़क के किसी भी हिस्से में ट्रैफ़िक का पता लगाना.

आपको क्या सीखने को मिलेगा

  • स्ट्रीमिंग के लिए वीडियो पाने के लिए वीएम को सेट अप करने का तरीका
  • Vertex AI Vision में ऐप्लिकेशन बनाने का तरीका
  • ऑक्यूपेंसी Analytics में उपलब्ध अलग-अलग सुविधाएं और उन्हें इस्तेमाल करने का तरीका
  • ऐप्लिकेशन को डिप्लॉय करने का तरीका
  • Vertex AI Vision के मीडिया वेयरहाउस में, वीडियो कैसे खोजें.
  • आउटपुट को BigQuery से कनेक्ट करने का तरीका, मॉडल के JSON आउटपुट से अहम जानकारी निकालने के लिए SQL क्वेरी लिखने का तरीका, और Looker Studio में रीयलटाइम में नतीजे देखने का तरीका.

2. शुरू करने से पहले

  1. Google Cloud Console में, प्रोजेक्ट चुनने वाले पेज पर जाकर, Google Cloud प्रोजेक्ट बनाएं या कोई प्रोजेक्ट चुनें. ध्यान दें: अगर आपको इस प्रोसेस में बनाए गए संसाधनों को सेव नहीं करना है, तो किसी मौजूदा प्रोजेक्ट को चुनने के बजाय एक नया प्रोजेक्ट बनाएं. यह तरीका पूरा करने के बाद, प्रोजेक्ट को मिटाया जा सकता है. इससे प्रोजेक्ट से जुड़े सभी संसाधन हट जाएंगे. प्रोजेक्ट चुनने वाले टूल पर जाएं
  2. पक्का करें कि आपके Cloud प्रोजेक्ट के लिए बिलिंग चालू हो. किसी प्रोजेक्ट के लिए बिलिंग चालू है या नहीं, यह देखने का तरीका जानें.
  3. Compute Engine और Vision AI API चालू करें. एपीआई चालू करना

सेवा खाता बनाएं:

  1. Google Cloud Console में, सेवा खाता बनाएं पेज पर जाएं. 'सेवा खाता बनाएं' पर जाएं
  2. अपना प्रोजेक्ट चुनें.
  3. सेवा खाते का नाम फ़ील्ड में, कोई नाम डालें. Google Cloud Console, इस नाम के आधार पर सेवा खाता आईडी फ़ील्ड में जानकारी भरता है. सेवा खाते की जानकारी फ़ील्ड में, जानकारी डालें. उदाहरण के लिए, Quickstart के लिए सेवा खाता.
  4. बनाएं और जारी रखें पर क्लिक करें.
  5. अपने प्रोजेक्ट का ऐक्सेस देने के लिए, अपने सेवा खाते को ये भूमिकाएं असाइन करें: Vision AI > Vision AI Editor, Compute Engine > Compute Instance Admin (बीटा), Storage > Storage Object Viewer † . कोई भूमिका चुनें सूची में से कोई भूमिका चुनें. अन्य भूमिकाएं जोड़ने के लिए, कोई दूसरी भूमिका जोड़ें पर क्लिक करें और हर भूमिका को जोड़ें. ध्यान दें: भूमिका फ़ील्ड से यह तय होता है कि आपका सेवा खाता, आपके प्रोजेक्ट में किन संसाधनों को ऐक्सेस कर सकता है. इन भूमिकाओं को बाद में वापस लिया जा सकता है या अतिरिक्त भूमिकाएं दी जा सकती हैं. प्रोडक्शन का काम करते समय, मालिक, एडिटर या व्यूअर की भूमिकाएं न दें. इसके बजाय, अपनी ज़रूरतों के हिसाब से पहले से तय की गई भूमिका या कस्टम भूमिका असाइन करें.
  6. जारी रखें पर क्लिक करें.
  7. सेवा खाता बनाने की प्रोसेस पूरी करने के लिए, हो गया पर क्लिक करें. अपने ब्राउज़र की विंडो को बंद न करें. इसका इस्तेमाल अगले चरण में किया जाएगा.

सेवा खाते की कुंजी बनाने के लिए:

  1. Google Cloud Console में, बनाए गए सेवा खाते के ईमेल पते पर क्लिक करें.
  2. कुंजियां पर क्लिक करें.
  3. कुंजी जोड़ें पर क्लिक करें. इसके बाद, नई कुंजी बनाएं पर क्लिक करें.
  4. बनाएं पर क्लिक करें. आपके कंप्यूटर पर JSON फ़ाइल डाउनलोड हो जाएगी.
  5. बंद करें पर क्लिक करें.
  6. Google Cloud CLI को इंस्टॉल करें और इस्तेमाल करना शुरू करें.

† यह भूमिका सिर्फ़ तब ज़रूरी होती है, जब आपको Cloud Storage बकेट से किसी सैंपल वीडियो फ़ाइल को कॉपी करना हो.

3. वीडियो स्ट्रीम करने के लिए वीएम सेट अप करना

ऑक्यूपेंसी Analytics में ऐप्लिकेशन बनाने से पहले, आपको एक स्ट्रीम रजिस्टर करनी होगी. इसका इस्तेमाल बाद में ऐप्लिकेशन कर सकता है.

इस ट्यूटोरियल में, आपको Compute Engine VM इंस्टेंस बनाने का तरीका बताया गया है. यह इंस्टेंस, वीडियो को होस्ट करता है. साथ ही, आपको VM से स्ट्रीमिंग वीडियो डेटा भेजने का तरीका भी बताया गया है.

Linux VM बनाना

Compute Engine VM इंस्टेंस से वीडियो भेजने के लिए, सबसे पहले VM इंस्टेंस बनाना होता है.

  1. कंसोल में, VM इंस्टेंस पेज पर जाएं. वीएम इंस्टेंस पर जाएं
  2. अपना प्रोजेक्ट चुनें और जारी रखें पर क्लिक करें.
  3. Create instance पर क्लिक करें.
  4. अपनी वीएम के लिए कोई नाम डालें. ज़्यादा जानकारी के लिए, संसाधन का नाम रखने के नियम देखें.
  5. ज़रूरी नहीं: इस वीएम के लिए ज़ोन बदलें. Compute Engine, हर क्षेत्र में ज़ोन की सूची को क्रम से नहीं लगाता है, ताकि एक से ज़्यादा ज़ोन का इस्तेमाल किया जा सके.
  6. बचे हुए डिफ़ॉल्ट विकल्पों को स्वीकार करें. इन विकल्पों के बारे में ज़्यादा जानने के लिए, वीएम बनाना और शुरू करना लेख पढ़ें.
  7. वीएम बनाने और शुरू करने के लिए, बनाएं पर क्लिक करें.

वीएम एनवायरमेंट सेट अप करना

वर्चुअल मशीन शुरू होने के बाद, अपने ब्राउज़र से वर्चुअल मशीन में एसएसएच करने के लिए कंसोल का इस्तेमाल किया जा सकता है. इसके बाद, अपनी स्ट्रीम में वीडियो शामिल करने के लिए, vaictl कमांड-लाइन टूल डाउनलोड करें.

अपनी वर्चुअल मशीन से एसएसएच कनेक्शन बनाएं

  1. कंसोल में, VM इंस्टेंस पेज पर जाएं. वीएम इंस्टेंस पर जाएं
  2. आपने जो इंस्टेंस लाइन बनाई है उसके कनेक्ट करें सेक्शन में जाकर, SSH पर क्लिक करें. इससे, नई ब्राउज़र विंडो में SSH कनेक्शन खुल जाता है. यूज़र इंटरफ़ेस में एसएसएच का विकल्प

vaictl कमांड-लाइन टूल डाउनलोड करना

  1. SSH-in-browser विंडो में, इस कमांड का इस्तेमाल करके 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. स्ट्रीम करने के लिए वीडियो फ़ाइल को शामिल करना

वीएम एनवायरमेंट सेट अप करने के बाद, वीडियो फ़ाइल का सैंपल कॉपी किया जा सकता है. इसके बाद, vaictl का इस्तेमाल करके, वीडियो डेटा को ऑक्यूपेंसी ऐनलिटिक्स ऐप्लिकेशन पर स्ट्रीम किया जा सकता है.

सबसे पहले, Cloud Console में Vision AI API को चालू करें

नई स्ट्रीम रजिस्टर करना

  1. Vertex AI Vision के बाएं पैनल में मौजूद, स्ट्रीम टैब पर क्लिक करें.
  2. रजिस्टर करें पर क्लिक करें
  3. स्ट्रीम के नाम में ‘traffic-stream' डालें
  4. क्षेत्र में ‘us-central1' डालें
  5. रजिस्टर करें पर क्लिक करें

स्ट्रीम को रजिस्टर होने में कुछ मिनट लगेंगे.

अपने वीएम में कोई सैंपल वीडियो कॉपी करना

  1. अपनी वीएम के लिए SSH-in-browser विंडो में, 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 .

वीएम से वीडियो स्ट्रीम करना और स्ट्रीम में डेटा डालना

  1. इस लोकल वीडियो फ़ाइल को ऐप्लिकेशन की इनपुट स्ट्रीम में भेजने के लिए, इस निर्देश का इस्तेमाल करें. आपको वैरिएबल के ये सब्सिट्यूशन करने होंगे:
  • PROJECT_ID: यह आपके Google Cloud प्रोजेक्ट का आईडी होता है.
  • LOCATION_ID: यह आपकी जगह का आईडी है. उदाहरण के लिए, us-central1. ज़्यादा जानकारी के लिए, क्लाउड लोकेशन देखें.
  • LOCAL_FILE: यह लोकल वीडियो फ़ाइल का नाम होता है. उदाहरण के लिए, street_vehicles_people.mp4.
  • –loop फ़्लैग: ज़रूरी नहीं है. यह फ़ाइल के डेटा को लूप करता है, ताकि स्ट्रीमिंग का अनुभव मिल सके.
export PROJECT_ID=<Your Google Cloud project ID>
export LOCATION_ID=us-central1
export LOCAL_FILE=street_vehicles_people.mp4
  1. इस निर्देश से, किसी वीडियो फ़ाइल को स्ट्रीम किया जाता है. –loop फ़्लैग का इस्तेमाल करने पर, वीडियो को स्ट्रीम में तब तक लूप किया जाता है, जब तक कि आप कमांड को बंद नहीं कर देते. हम इस कमांड को बैकग्राउंड जॉब के तौर पर चलाएंगे, ताकि वीएम के डिसकनेक्ट होने के बाद भी यह स्ट्रीम होती रहे.
  • ( इसे बैकग्राउंड जॉब बनाने के लिए, शुरुआत में 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 &

vaictl ingest ऑपरेशन शुरू करने और वीडियो के डैशबोर्ड में दिखने के बीच ~100 सेकंड लग सकते हैं.

स्ट्रीम का डेटा उपलब्ध होने के बाद, Vertex AI Vision डैशबोर्ड के स्ट्रीम टैब में वीडियो फ़ीड देखा जा सकता है. इसके लिए, ट्रैफ़िक-स्ट्रीम स्ट्रीम को चुनें.

स्ट्रीम टैब पर जाएं

यूज़र इंटरफ़ेस में लाइव वीडियो की स्ट्रीम का व्यूGoogle Cloud Console में, स्ट्रीम में शामिल किए जा रहे वीडियो का लाइव व्यू. वीडियो क्रेडिट: Elizabeth Mavor on Pixabay (pixelation added).

5. ऐप्लिकेशन बनाना

सबसे पहले, ऐसा ऐप्लिकेशन बनाएं जो आपके डेटा को प्रोसेस करे. किसी ऐप्लिकेशन को एक ऑटोमेटेड पाइपलाइन के तौर पर देखा जा सकता है. यह पाइपलाइन इन चीज़ों को कनेक्ट करती है:

  • डेटा इकट्ठा होना: वीडियो फ़ीड को स्ट्रीम में शामिल किया जाता है.
  • डेटा विश्लेषण: डेटा को इकट्ठा करने के बाद, एआई(कंप्यूटर विज़न) मॉडल जोड़ा जा सकता है.
  • डेटा स्टोरेज: वीडियो फ़ीड के दोनों वर्शन (ओरिजनल स्ट्रीम और एआई मॉडल से प्रोसेस की गई स्ट्रीम) को मीडिया वेयरहाउस में सेव किया जा सकता है.

Google Cloud Console में, ऐप्लिकेशन को ग्राफ़ के तौर पर दिखाया गया है.

खाली ऐप्लिकेशन बनाना

ऐप्लिकेशन ग्राफ़ में डेटा भरने से पहले, आपको एक खाली ऐप्लिकेशन बनाना होगा.

Google Cloud Console में एक ऐप्लिकेशन बनाएं.

  1. Google Cloud Console पर जाएं.
  2. Vertex AI Vision डैशबोर्ड का ऐप्लिकेशन टैब खोलें.

ऐप्लिकेशन टैब पर जाएं

  1. जोड़ें बनाएं बटन पर क्लिक करें.
  2. ऐप्लिकेशन के नाम के तौर पर traffic-app डालें और अपना देश/इलाका चुनें.
  3. बनाएं पर क्लिक करें.

ऐप्लिकेशन कॉम्पोनेंट नोड जोड़ना

खाली ऐप्लिकेशन बनाने के बाद, ऐप्लिकेशन ग्राफ़ में तीन नोड जोड़े जा सकते हैं:

  1. डेटा लेने वाला नोड: यह स्ट्रीम रिसॉर्स, आपके बनाए गए Compute Engine VM इंस्टेंस से भेजे गए डेटा को लेता है.
  2. प्रोसेसिंग नोड: यह ऑक्यूपेंसी ऐनलिटिक्स मॉडल है, जो इकट्ठा किए गए डेटा के आधार पर काम करता है.
  3. स्टोरेज नोड: यह एक मीडिया वेयरहाउस होता है, जिसमें प्रोसेस किए गए वीडियो स्टोर किए जाते हैं. साथ ही, यह मेटाडेटा स्टोर के तौर पर भी काम करता है. मेटाडेटा स्टोर में, वीडियो डेटा के बारे में आंकड़े और एआई मॉडल से मिली जानकारी शामिल होती है.

कंसोल में, अपने ऐप्लिकेशन में कॉम्पोनेंट नोड जोड़ें.

  1. Vertex AI Vision डैशबोर्ड का ऐप्लिकेशन टैब खोलें. ऐप्लिकेशन टैब पर जाएं
  2. ट्रैफ़िक-ऐप्लिकेशन लाइन में, ग्राफ़ देखें को चुनें. इससे आपको प्रोसेसिंग पाइपलाइन का ग्राफ़ विज़ुअलाइज़ेशन दिखेगा.

डेटा इंटेक नोड जोड़ना

  1. इनपुट स्ट्रीम नोड जोड़ने के लिए, साइड मेन्यू के कनेक्टर सेक्शन में जाकर, स्ट्रीम विकल्प चुनें.
  2. खुलने वाले स्ट्रीम मेन्यू के सोर्स सेक्शन में जाकर, स्ट्रीम जोड़ें को चुनें.
  3. स्ट्रीम जोड़ें मेन्यू में जाकर, नई स्ट्रीम रजिस्टर करें को चुनें. इसके बाद, स्ट्रीम के नाम के तौर पर traffic-stream जोड़ें.
  4. ऐप्लिकेशन ग्राफ़ में स्ट्रीम जोड़ने के लिए, स्ट्रीम जोड़ें पर क्लिक करें.

डेटा प्रोसेसिंग नोड जोड़ना

  1. ऑक्यूपेंसी काउंट मॉडल नोड जोड़ने के लिए, साइड मेन्यू के खास मॉडल सेक्शन में जाकर, ऑक्यूपेंसी के आंकड़े विकल्प चुनें.
  2. डिफ़ॉल्ट रूप से चुने गए लोग और वाहन को न बदलें.
  3. लाइन क्रॉसिंग में लाइनें जोड़ें. कार या लोगों के आने-जाने का पता लगाने के लिए, मल्टी पॉइंट लाइन टूल का इस्तेमाल करके लाइनें बनाएं.
  4. उस ज़ोन में मौजूद लोगों/वाहनों की गिनती करने के लिए, ऐक्टिव ज़ोन बनाएं.
  5. अगर कोई ऐक्टिव ज़ोन बनाया गया है, तो भीड़ का पता लगाने के लिए, रुकने के समय की सेटिंग जोड़ें.
  • (फ़िलहाल, एक साथ चालू ज़ोन और लाइन क्रॉसिंग, दोनों की सुविधा उपलब्ध नहीं है. एक बार में सिर्फ़ एक सुविधा का इस्तेमाल करें.)

3acdb6f1e8474e07.png ce63449d601995e9.png

194c54d2bbcf7e8a.png

डेटा स्टोरेज नोड जोड़ना

  1. आउटपुट डेस्टिनेशन (स्टोरेज) नोड जोड़ने के लिए, साइड मेन्यू के कनेक्टर सेक्शन में जाकर, Vertex AI Vision का मीडिया वेयरहाउस विकल्प चुनें.
  2. Vertex AI Vision के मीडिया वेयरहाउस मेन्यू में, वेयरहाउस कनेक्ट करें पर क्लिक करें.
  3. वेयरहाउस कनेक्ट करें मेन्यू में जाकर, नया वेयरहाउस बनाएं चुनें. वेयरहाउस के ट्रैफ़िक का नाम traffic-warehouse रखें और टीटीएल की अवधि 14 दिन पर सेट करें.
  4. वेयरहाउस जोड़ने के लिए, बनाएं बटन पर क्लिक करें.

6. आउटपुट को 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. ऐप्लिकेशन बिल्डर पेज पर, कनेक्टर सेक्शन में जाकर BigQuery चुनें.
  4. BigQuery पाथ फ़ील्ड को खाली छोड़ दें. ee0b67d4ab2263d.png
  5. स्टोर का मेटाडेटा यहां से इकट्ठा करें: में जाकर, सिर्फ़ ‘ऑक्यूपेंसी Analytics' को चुनें और स्ट्रीम से सही का निशान हटाएं.

ऐप्लिकेशन का फ़ाइनल ग्राफ़ ऐसा दिखना चाहिए:

1787242465fd6da7.png

7. ऐप्लिकेशन को इस्तेमाल के लिए डिप्लॉय करना

सभी ज़रूरी कॉम्पोनेंट के साथ अपना ऐप्लिकेशन बनाने के बाद, ऐप्लिकेशन का इस्तेमाल करने के लिए उसे डिप्लॉय करना आखिरी चरण होता है.

  1. Vertex AI Vision डैशबोर्ड का ऐप्लिकेशन टैब खोलें. ऐप्लिकेशन टैब पर जाएं
  2. सूची में मौजूद, ट्रैफ़िक-ऐप्लिकेशन ऐप्लिकेशन के बगल में मौजूद ग्राफ़ देखें को चुनें.
  3. ऐप्लिकेशन ग्राफ़ बिल्डर पेज पर, डिप्लॉय करें बटन पर क्लिक करें.
  4. पुष्टि करने वाले इस डायलॉग बॉक्स में, डिप्लॉय करें को चुनें. डिप्लॉय करने की प्रोसेस को पूरा होने में कुछ समय लग सकता है. डिप्लॉयमेंट पूरा होने के बाद, नोड के बगल में हरे रंग के सही के निशान दिखते हैं. ee78bbf00e5db898.png

8. स्टोरेज वेयरहाउस में वीडियो कॉन्टेंट खोजना

वीडियो डेटा को प्रोसेसिंग ऐप्लिकेशन में शामिल करने के बाद, विश्लेषण किया गया वीडियो डेटा देखा जा सकता है. साथ ही, ऑक्यूपेंसी के आंकड़ों की जानकारी के आधार पर डेटा खोजा जा सकता है.

  1. Vertex AI Vision के डैशबोर्ड में मौजूद वेयरहाउस टैब खोलें. वेयरहाउस टैब पर जाएं
  2. सूची में, ट्रैफ़िक-वेयरहाउस वेयरहाउस ढूंढें और ऐसेट देखें पर क्लिक करें.
  3. लोगों की संख्या या वाहनों की संख्या सेक्शन में, कम से कम वैल्यू को 1 पर और ज़्यादा से ज़्यादा वैल्यू को 5 पर सेट करें.
  4. Vertex AI Vision के मीडिया वेयरहाउस में सेव किए गए, प्रोसेस किए गए वीडियो डेटा को फ़िल्टर करने के लिए, खोजें पर क्लिक करें.

e636361b19738c8d.png

Google Cloud Console में, खोज के मानदंड से मेल खाने वाले सेव किए गए वीडियो डेटा का व्यू. वीडियो क्रेडिट: Elizabeth Mavor on Pixabay (search criteria applied).

9. BigQuery टेबल में आउटपुट का विश्लेषण करना

BigQuery पर जाएं

डेटासेट चुनें: visionai_dataset

टेबल चुनें: आपका APPLICATION_ID (इस मामले में traffic-app)

टेबल के नाम के दाईं ओर मौजूद तीन बिंदुओं पर क्लिक करें. इसके बाद, क्वेरी पर क्लिक करें

यह क्वेरी लिखो

Query1: हर लाइन को पार करने वाले वाहनों की संख्या की जांच करने के लिए क्वेरी

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

दाईं ओर मौजूद मेन्यू में, 'डेटा एक्सप्लोर करें' पर क्लिक करें. इसके बाद, 'Looker Studio की मदद से एक्सप्लोर करें' चुनें

9e737ddb4d0d25b6.png

‘डाइमेंशन' पैन में समय जोड़ें और समय के कॉन्फ़िगरेशन को तारीख और समय में बदलें. ‘ब्रेकडाउन डाइमेंशन' में line_id जोड़ें. b5da9704ccd8db.png

ऊपर दिए गए ग्राफ़ में, हर लाइन को पार करने वाले वाहनों/लोगों की संख्या दिखाई गई है. यह संख्या हर मिनट के हिसाब से दिखाई गई है.

गहरे नीले और हल्के नीले रंग के बार, दो अलग-अलग लाइन-आईडी दिखाते हैं.

10. बधाई हो

बधाई हो, आपने यह लैब पूरी कर ली है!

खाली करने के लिए जगह

इस ट्यूटोरियल में इस्तेमाल किए गए संसाधनों के लिए, अपने Google Cloud खाते से शुल्क न लिए जाने के लिए, संसाधनों वाला प्रोजेक्ट मिटाएं. इसके अलावा, प्रोजेक्ट को बनाए रखने और अलग-अलग संसाधनों को मिटाने का विकल्प भी है.

प्रोजेक्ट मिटाना

एक-एक करके संसाधन मिटाना

संसाधन

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

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

सुझाव, राय या शिकायत

सुझाव/राय देने या शिकायत करने के लिए यहां क्लिक करें

सर्वे

इस ट्यूटोरियल का इस्तेमाल कैसे किया जाएगा?

सिर्फ़ इसे पढ़ें इसे पढ़ें और एक्सरसाइज़ पूरी करें

यह कोडलैब आपके कितने काम का था?

बहुत काम की है कुछ हद तक काम की है