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

1. मकसद

खास जानकारी

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

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

आपको इनके बारे में जानकारी मिलेगी

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

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

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

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

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

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

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

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

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

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

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

Linux वीएम बनाना

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

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

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

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

वीएम के साथ एसएसएच कनेक्शन बनाना

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

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

  1. एसएसएच-इन-ब्राउज़र विंडो में, 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. अपनी वीएम के लिए एसएसएच-इन-ब्राउज़र विंडो में, यहां दिए गए gsutil cp निर्देश के साथ सैंपल वीडियो कॉपी करें. इस वैरिएबल को बदलें:
  • स्रोत: उपयोग करने के लिए वीडियो फ़ाइल का स्थान. आपके पास अपनी वीडियो फ़ाइल के सोर्स (उदाहरण के लिए, gs://BUCKET_NAME/FILENAME.mp4) का इस्तेमाल करने का विकल्प है. इसके अलावा, सैंपल वीडियो (gs://cloud-sample-data/VERex-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: आपकी स्थान 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. इस निर्देश से किसी वीडियो फ़ाइल को स्ट्रीम में स्ट्रीम किया जा सकता है. अगर आप –लूप फ़्लैग का इस्तेमाल करते हैं, तो वीडियो स्ट्रीम में तब तक लूप में चला जाता है, जब तक आप निर्देश को रोक नहीं देते. हम इस निर्देश को बैकग्राउंड जॉब के तौर पर चलाएंगे, ताकि वीएम के डिसकनेक्ट होने के बाद भी यह स्ट्रीमिंग जारी रहे.
  • ( इसे बैकग्राउंड में चलाने के लिए शुरुआत में 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 &

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. जोड़ें बनाएं बटन पर क्लिक करें.
  2. ट्रैफ़िक-ऐप्लिकेशन को ऐप्लिकेशन के नाम के तौर पर डालें और अपना क्षेत्र चुनें.
  3. बनाएं पर क्लिक करें.

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

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

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

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

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

डेटा डालने का नोड जोड़ना

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

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

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

3acdb6f1e8474e07.png ce63449d601995e9.png

194c54d2bbcf7e8a.png

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

  1. आउटपुट डेस्टिनेशन (स्टोरेज) नोड जोड़ने के लिए, साइड मेन्यू के कनेक्टर सेक्शन में Vertex AI Vision का मीडिया वेयरहाउस विकल्प चुनें.
  2. Vertex AI Vision के मीडिया वेयरहाउस मेन्यू में, वेयरहाउस कनेक्ट करें पर क्लिक करें.
  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. Vertex AI Vision डैशबोर्ड का ऐप्लिकेशन टैब खोलें. ऐप्लिकेशन टैब पर जाएं
  2. सूची में से अपने ऐप्लिकेशन के नाम के आगे, ऐप्लिकेशन देखें चुनें.
  3. ऐप्लिकेशन बिल्डर पेज पर, कनेक्टर सेक्शन से BigQuery चुनें.
  4. BigQuery पाथ फ़ील्ड को खाली छोड़ दें. ee0b67d4ab2263d.png
  5. स्टोर के मेटाडेटा में: सिर्फ़ 'लोगों की दिलचस्पी की जानकारी' चुनें के बगल में मौजूद चेकबॉक्स पर सही का निशान लगाएं.

अंतिम ऐप्लिकेशन ग्राफ़ कुछ ऐसा दिखना चाहिए:

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 में, खोज की शर्तों से मेल खाता है. वीडियो क्रेडिट: Pixabay पर Elizabeth Mavor (खोज के लिए शर्तें लागू की गईं).

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

BigQuery पर जाएं

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

तालिका चुनें: आपका APPLICATION_ID (इस मामले में ट्रैफ़िक-ऐप्लिकेशन)

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

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

क्वेरी 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

क्वेरी 2: हर ज़ोन में हर मिनट वाहन की संख्या देखने के लिए क्वेरी

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

ऊपर दी गई क्वेरी में "वाहन" को बदला जा सकता है से "व्यक्ति" व्यक्ति को गिना जाएगा.

यह कोडलैब सिर्फ़ क्वेरी 1 के लिए सैंपल डेटा और विज़ुअलाइज़ेशन को दिखाएगा. आप क्वेरी2 के लिए भी यही प्रोसेस अपना सकते हैं.

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

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

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

सर्वे

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

इसे सिर्फ़ पढ़ें इसे पढ़ें और कसरतों को पूरा करें

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

बहुत काम की है सामान्य काम का है