แอป Vertex AI Vision Traffic Monitoring

1. วัตถุประสงค์

ภาพรวม

Codelab นี้จะมุ่งเน้นที่การสร้างแอปพลิเคชัน Vertex AI Vision จากต้นทางถึงปลายทางเพื่อตรวจสอบฟุตเทจวิดีโอการเข้าชมแบบเรียลไทม์ เราจะใช้ข้อมูลวิเคราะห์เกี่ยวกับอัตราการเข้าพักของโมเดลเฉพาะทางที่ฝึกไว้แล้ว ฟีเจอร์ในตัวเพื่อบันทึกสิ่งต่อไปนี้

  • นับจำนวนยานพาหนะและบุคคลที่ข้ามถนนในบางเส้น
  • นับจำนวนยานพาหนะ/คนในพื้นที่ที่กำหนดไว้ตายตัวของถนน
  • ตรวจพบความคับคั่งในส่วนใดก็ตามของถนน

สิ่งที่คุณจะได้เรียนรู้

  • วิธีตั้งค่า VM เพื่อนำเข้าวิดีโอสำหรับสตรีมมิง
  • วิธีสร้างแอปพลิเคชันใน Vertex AI Vision
  • ฟีเจอร์ต่างๆ ที่มีอยู่ในข้อมูลวิเคราะห์อัตราการเข้าพักและวิธีใช้ฟีเจอร์เหล่านั้น
  • วิธีทำให้แอปใช้งานได้
  • วิธีค้นหาวิดีโอใน Media Warehouse ของ Vertex AI Vision ในพื้นที่เก็บข้อมูล
  • วิธีเชื่อมต่อเอาต์พุตกับ BigQuery ให้เขียนการค้นหา SQL เพื่อดึงข้อมูลเชิงลึกจากเอาต์พุต JSON ของโมเดลและแสดงภาพผลลัพธ์ใน Looker Studio แบบเรียลไทม์

2. ก่อนที่คุณจะเริ่มต้น

  1. ในคอนโซล Google Cloud ให้เลือกหรือสร้างโปรเจ็กต์ Google Cloud ในหน้าตัวเลือกโปรเจ็กต์ หมายเหตุ: หากไม่มีแผนที่จะเก็บทรัพยากรที่สร้างในกระบวนการนี้ ให้สร้างโปรเจ็กต์แทนการเลือกโปรเจ็กต์ที่มีอยู่ หลังจากเสร็จสิ้นขั้นตอนเหล่านี้แล้ว คุณจะลบโปรเจ็กต์ซึ่งเป็นการนำทรัพยากรทั้งหมดที่เชื่อมโยงกับโปรเจ็กต์ออกได้ ไปที่ตัวเลือกโปรเจ็กต์
  2. ตรวจสอบว่าเปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์แล้ว ดูวิธีตรวจสอบว่าเปิดใช้การเรียกเก็บเงินในโปรเจ็กต์แล้ว
  3. เปิดใช้ Compute Engine และ Vision AI API เปิดใช้ API

สร้างบัญชีบริการ

  1. ในคอนโซล Google Cloud ให้ไปที่หน้าสร้างบัญชีบริการ ไปที่ "สร้างบัญชีบริการ"
  2. เลือกโปรเจ็กต์
  3. ป้อนชื่อลงในช่องชื่อบัญชีบริการ คอนโซล Google Cloud จะกรอกข้อมูลในช่องรหัสบัญชีบริการตามชื่อนี้ กรอกคำอธิบายในช่องคำอธิบายบัญชีบริการ เช่น บัญชีบริการสำหรับการเริ่มต้นอย่างรวดเร็ว
  4. คลิกสร้างและต่อไป
  5. หากต้องการให้สิทธิ์เข้าถึงโปรเจ็กต์ โปรดมอบบทบาทต่อไปนี้ให้กับบัญชีบริการของคุณ: Vision AI > ผู้แก้ไข Vision AI, Compute Engine > ผู้ดูแลระบบอินสแตนซ์คอมพิวเตอร์ (เบต้า), พื้นที่เก็บข้อมูล > ผู้ดูออบเจ็กต์พื้นที่เก็บข้อมูล † เลือกบทบาทในรายการเลือกบทบาท สําหรับบทบาทเพิ่มเติม ให้คลิกเพิ่มบทบาทอื่น แล้วเพิ่มบทบาทอื่น หมายเหตุ: ช่องบทบาทจะส่งผลต่อทรัพยากรที่บัญชีบริการของคุณเข้าถึงได้ในโปรเจ็กต์ คุณสามารถเพิกถอนบทบาทเหล่านี้หรือมอบบทบาทเพิ่มเติมได้ในภายหลัง ในสภาพแวดล้อมการใช้งานจริง อย่ามอบบทบาทเจ้าของ ผู้แก้ไข หรือผู้ดู แต่ให้มอบบทบาทที่กำหนดไว้ล่วงหน้าหรือบทบาทที่กำหนดเองที่ตรงกับความต้องการของคุณแทน
  6. คลิกต่อไป
  7. คลิกเสร็จสิ้นเพื่อสร้างบัญชีบริการให้เสร็จสิ้น อย่าปิดหน้าต่างเบราว์เซอร์ของคุณ ซึ่งคุณจะต้องใช้ในขั้นตอนถัดไป

สร้างคีย์บัญชีบริการ

  1. ในคอนโซล Google Cloud ให้คลิกอีเมลของบัญชีบริการที่คุณสร้างขึ้น
  2. คลิก Keys
  3. คลิกเพิ่มคีย์ แล้วคลิกสร้างคีย์ใหม่
  4. คลิกสร้าง ระบบจะดาวน์โหลดไฟล์คีย์ JSON ลงในคอมพิวเตอร์
  5. คลิกปิด
  6. ติดตั้งและเริ่มต้น Google Cloud CLI

† บทบาทจำเป็นเฉพาะเมื่อคุณคัดลอกไฟล์วิดีโอตัวอย่างจากที่เก็บข้อมูล Cloud Storage เท่านั้น

3. ตั้งค่า VM เพื่อสตรีมวิดีโอ

ก่อนที่จะสร้างแอปในข้อมูลวิเคราะห์อัตราการเข้าพัก คุณต้องลงทะเบียนสตรีมซึ่งแอปจะใช้ในภายหลังได้

ในบทแนะนำนี้ คุณจะสร้างอินสแตนซ์ VM ของ Compute Engine ที่โฮสต์วิดีโอ แล้วส่งข้อมูลสตรีมวิดีโอนั้นจาก VM

สร้าง VM ของ Linux

ขั้นตอนแรกในการส่งวิดีโอจากอินสแตนซ์ VM ของ Compute Engine คือการสร้างอินสแตนซ์ VM

  1. ในคอนโซล ให้ไปที่หน้าอินสแตนซ์ VM ไปที่อินสแตนซ์ VM
  2. เลือกโปรเจ็กต์แล้วคลิกต่อไป
  3. คลิกสร้างอินสแตนซ์
  4. ระบุชื่อสำหรับ VM ดูข้อมูลเพิ่มเติมได้ที่แบบแผนการตั้งชื่อทรัพยากร
  5. ไม่บังคับ: เปลี่ยนโซนสำหรับ VM นี้ Compute Engine จะสุ่มรายการโซนภายในแต่ละภูมิภาคเพื่อกระตุ้นการใช้งานในหลายโซน
  6. ยอมรับตัวเลือกเริ่มต้นที่เหลืออยู่ ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกเหล่านี้ได้ที่หัวข้อสร้างและเริ่ม VM
  7. หากต้องการสร้างและเริ่มต้น VM ให้คลิกสร้าง

ตั้งค่าสภาพแวดล้อม VM

หลังจากที่ VM เริ่มทำงานแล้ว คุณจะใช้คอนโซลเพื่อ SSH ไปยัง VM จากเบราว์เซอร์ได้ จากนั้นคุณจะดาวน์โหลดเครื่องมือบรรทัดคำสั่ง vaictl เพื่อนำเข้าวิดีโอไปยังสตรีมได้

สร้างการเชื่อมต่อ SSH กับ VM

  1. ในคอนโซล ให้ไปที่หน้าอินสแตนซ์ VM ไปที่อินสแตนซ์ VM
  2. ในส่วน Connect ของบรรทัดอินสแตนซ์ที่คุณสร้าง ให้คลิก SSH การดำเนินการนี้จะเปิดการเชื่อมต่อ SSH ในหน้าต่างเบราว์เซอร์ใหม่ ตัวเลือก SSH ใน UI

ดาวน์โหลดเครื่องมือบรรทัดคำสั่ง 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 ใน Cloud Console

ลงทะเบียนสตรีมใหม่

  1. คลิกแท็บสตรีมในแผงด้านซ้ายของ Vertex AI Vision
  2. คลิก "ลงทะเบียน"
  3. ป้อนชื่อสตรีม ให้ป้อน "traffic-stream"
  4. ในภูมิภาค ให้ป้อน "us-central1"
  5. คลิกการลงทะเบียน

สตรีมจะใช้เวลาสักครู่ในการลงทะเบียน

คัดลอกวิดีโอตัวอย่างไปยัง VM

  1. ในหน้าต่าง SSH ในเบราว์เซอร์สำหรับ VM ให้คัดลอกวิดีโอตัวอย่างด้วยคำสั่ง gsutil cp ต่อไปนี้ แทนที่ตัวแปรต่อไปนี้
  • SOURCE: ตำแหน่งของไฟล์วิดีโอที่จะใช้ คุณสามารถใช้แหล่งที่มาของไฟล์วิดีโอของคุณเอง (เช่น 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 Cloud
  • LOCATION_ID: รหัสสถานที่ตั้งของคุณ เช่น us-central1 ดูข้อมูลเพิ่มเติมได้ที่ตำแหน่งระบบคลาวด์
  • LOCAL_FILE: ชื่อไฟล์ของไฟล์วิดีโอในเครื่อง เช่น street_vehicles_people.mp4
  • – Loop Loop: ไม่บังคับ ส่งข้อมูลไฟล์แบบวนซ้ำเพื่อจำลองการสตรีม
export PROJECT_ID=<Your Google Cloud project ID>
export LOCATION_ID=us-central1
export LOCAL_FILE=street_vehicles_people.mp4
  1. คำสั่งนี้จะสตรีมไฟล์วิดีโอไปยังสตรีม หากคุณใช้แฟล็ก –ลูป วิดีโอจะวนซ้ำในสตรีมจนกว่าคุณจะหยุดคำสั่ง เราจะเรียกใช้คำสั่งนี้เป็นงานเบื้องหลังเพื่อให้สตรีมสตรีมได้อย่างต่อเนื่องแม้ว่า 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 &

ระบบอาจใช้เวลาประมาณ 100 วินาทีระหว่างที่เริ่มดำเนินการนำเข้าข้อมูลส่วนวิดีโอกับวิดีโอที่ปรากฏในแดชบอร์ด

หลังจากการส่งผ่านข้อมูลสตรีมพร้อมใช้งานแล้ว คุณจะดูฟีดวิดีโอในแท็บสตรีมของแดชบอร์ด Vertex AI Vision ได้โดยเลือกสตรีมสตรีมการเข้าชม

ไปที่แท็บสตรีม

มุมมองของวิดีโอสดที่สตรีมใน UIดูภาพสดของวิดีโอที่นำเข้ามาในสตรีมในคอนโซล Google Cloud เครดิตวิดีโอ: Elizabeth Mavor จาก Pixabay (เพิ่มภาพแตกแบบพิกเซล)

5. สร้างแอปพลิเคชัน

ขั้นตอนแรกคือการสร้างแอปที่ประมวลผลข้อมูล แอปอาจเรียกได้ว่าเป็นไปป์ไลน์อัตโนมัติที่เชื่อมต่อสิ่งต่างๆ ต่อไปนี้

  • การนำเข้าข้อมูล: จะมีการส่งผ่านข้อมูลฟีดวิดีโอไปยังสตรีม
  • การวิเคราะห์ข้อมูล: คุณจะเพิ่มโมเดล AI(คอมพิวเตอร์วิทัศน์) ได้หลังจากการส่งผ่านข้อมูล
  • พื้นที่เก็บข้อมูล: ฟีดวิดีโอทั้ง 2 เวอร์ชัน (สตรีมดั้งเดิมและสตรีมที่ประมวลผลโดยโมเดล AI) สามารถจัดเก็บในคลังสื่อได้

ในคอนโซล Google Cloud แอปจะแสดงเป็นกราฟ

สร้างแอปเปล่า

ก่อนที่จะใส่ข้อมูลกราฟของแอป คุณต้องสร้างแอปเปล่าก่อน

สร้างแอปในคอนโซล Google Cloud

  1. ไปที่คอนโซล Google Cloud
  2. เปิดแท็บ Applications ของแดชบอร์ด Vertex AI Vision

ไปที่แท็บแอปพลิเคชัน

  1. คลิกปุ่มสร้าง
  2. ป้อนชื่อแอปการเข้าชมเป็นชื่อแอป แล้วเลือกภูมิภาคของคุณ
  3. คลิกสร้าง

เพิ่มโหนดคอมโพเนนต์แอป

หลังจากสร้างแอปพลิเคชันเปล่าแล้ว คุณเพิ่มโหนด 3 โหนดดังกล่าวลงในกราฟแอปได้โดยทำดังนี้

  1. โหนดการส่งผ่านข้อมูล: ทรัพยากรของสตรีมที่นำเข้าข้อมูลที่ส่งจากอินสแตนซ์ VM ของ Compute Engine ที่คุณสร้าง
  2. โหนดการประมวลผล: โมเดลข้อมูลวิเคราะห์เกี่ยวกับการเข้าใช้ที่ดำเนินการกับข้อมูลที่นำเข้า
  3. โหนดพื้นที่เก็บข้อมูล: คลังสื่อที่จัดเก็บวิดีโอที่ประมวลผลแล้วและทำหน้าที่เป็นที่เก็บข้อมูลเมตา ข้อมูลเมตาที่จัดเก็บประกอบด้วยข้อมูลวิเคราะห์เกี่ยวกับข้อมูลวิดีโอที่นำเข้า และข้อมูลที่อนุมานโดยโมเดล AI

เพิ่มโหนดคอมโพเนนต์ลงในแอปในคอนโซล

  1. เปิดแท็บ Applications ของแดชบอร์ด Vertex AI Vision ไปที่แท็บแอปพลิเคชัน
  2. ในบรรทัดการเข้าชมแอป ให้เลือกดูกราฟ ระบบจะนำคุณไปยังภาพกราฟของไปป์ไลน์การประมวลผล

เพิ่มโหนดการนำเข้าข้อมูล

  1. หากต้องการเพิ่มโหนดสตรีมอินพุต ให้เลือกตัวเลือกสตรีมในส่วนเครื่องมือเชื่อมต่อของเมนูด้านข้าง
  2. ในส่วนแหล่งที่มาของเมนูสตรีมที่เปิดขึ้น ให้เลือกเพิ่มสตรีม
  3. ในเมนูเพิ่มสตรีม ให้เลือกลงทะเบียนสตรีมใหม่ แล้วเพิ่มสตรีมการเข้าชมเป็นชื่อสตรีม
  4. หากต้องการเพิ่มสตรีมลงในกราฟของแอป ให้คลิกเพิ่มสตรีม

เพิ่มโหนดการประมวลผลข้อมูล

  1. หากต้องการเพิ่มโหนดโมเดลจำนวนการเข้าใช้ ให้เลือกตัวเลือกข้อมูลวิเคราะห์เกี่ยวกับอัตราการเข้าพักในส่วนโมเดลเฉพาะทางของเมนูด้านข้าง
  2. คงการเลือกผู้คนและยานพาหนะซึ่งเป็นค่าเริ่มต้นไว้
  3. เพิ่ม บรรทัด ในการข้ามเส้น ใช้เครื่องมือเส้นแบบหลายจุดเพื่อวาดเส้นตรงจุดที่ต้องการตรวจจับรถหรือคนออกจากรถหรือเข้า
  4. วาดโซนที่ใช้งานอยู่เพื่อนับผู้คน/ยานพาหนะในโซนนั้น
  5. เพิ่มการตั้งค่าสำหรับเวลาที่ไม่มีการขยับเมาส์เพื่อตรวจหาความคับคั่งหากมีการวาดโซนแอ็กทีฟ
  • (ปัจจุบันระบบไม่รองรับทั้งโซนแอ็กทีฟและการข้ามเส้นพร้อมกัน ใช้ครั้งละ 1 ฟีเจอร์เท่านั้น)

3acdb6f1e8474e07.png ce63449d601995e9.png

194c54d2bbcf7e8a.png

เพิ่มโหนดพื้นที่เก็บข้อมูล

  1. หากต้องการเพิ่มโหนดปลายทางเอาต์พุต (พื้นที่เก็บข้อมูล) ให้เลือกตัวเลือก Media Warehouse ของ Vertex AI Vision ในส่วนเครื่องมือเชื่อมต่อของเมนูด้านข้าง
  2. ในเมนู Vertex AI Vision's Media Warehouse ให้คลิกเชื่อมต่อคลังสินค้า
  3. ในเมนูเชื่อมต่อคลังสินค้า ให้เลือกสร้างคลังสินค้าใหม่ ตั้งชื่อคลังสินค้า/คลังสินค้า และเว้นระยะเวลา TTL ไว้ที่ 14 วัน
  4. คลิกปุ่มสร้างเพื่อเพิ่มคลังสินค้า

6. เชื่อมต่อเอาต์พุตไปยังตาราง BigQuery

เมื่อเพิ่มเครื่องมือเชื่อมต่อ BigQuery ลงในแอป Vertex AI Vision แล้ว ระบบจะนำเข้าเอาต์พุตของโมเดลแอปที่เชื่อมต่อทั้งหมดไปยังตารางเป้าหมาย

คุณจะสร้างตาราง BigQuery ของคุณเองและระบุตารางดังกล่าวเมื่อเพิ่มเครื่องมือเชื่อมต่อ BigQuery ลงในแอป หรือจะให้แพลตฟอร์มแอป Vertex AI Vision สร้างตารางให้โดยอัตโนมัติก็ได้

การสร้างตารางอัตโนมัติ

หากอนุญาตให้แพลตฟอร์มแอป Vertex AI Vision สร้างตารางโดยอัตโนมัติ คุณจะระบุตัวเลือกนี้ได้เมื่อเพิ่มโหนดเครื่องมือเชื่อมต่อ BigQuery

ระบบจะใช้ชุดข้อมูลและเงื่อนไขตารางต่อไปนี้หากคุณต้องการใช้การสร้างตารางอัตโนมัติ

  • ชุดข้อมูล: ชื่อชุดข้อมูลที่สร้างโดยอัตโนมัติคือ visionai_dataset
  • ตาราง: ชื่อตารางที่สร้างโดยอัตโนมัติคือ visionai_dataset.APPLICATION_ID
  • การจัดการข้อผิดพลาด:
  • หากมีตารางที่มีชื่อเดียวกันภายใต้ชุดข้อมูลเดียวกัน จะไม่มีการสร้างอัตโนมัติเกิดขึ้น
  1. เปิดแท็บ Applications ของแดชบอร์ด Vertex AI Vision ไปที่แท็บแอปพลิเคชัน
  2. เลือกดูแอปถัดจากชื่อแอปพลิเคชันจากรายการ
  3. ในหน้าเครื่องมือสร้างแอปพลิเคชัน ให้เลือก BigQuery จากส่วนเครื่องมือเชื่อมต่อ
  4. เว้นช่องเส้นทาง BigQuery ว่างไว้ ee0b67d4ab2263d.png
  5. ในข้อมูลเมตาของร้านค้าจาก: ให้เลือกเฉพาะ "ข้อมูลวิเคราะห์เกี่ยวกับอัตราการเข้าพัก" และยกเลิกการเลือกสตรีม

กราฟแอปขั้นสุดท้ายควรมีลักษณะดังนี้

1787242465fd6da7.png

7. ทำให้แอปใช้งานได้เพื่อการใช้งาน

หลังจากสร้างแอปแบบต้นทางถึงปลายทางพร้อมคอมโพเนนต์ที่จำเป็นทั้งหมดแล้ว ขั้นตอนสุดท้ายในการใช้แอปก็คือการทำให้แอปใช้งานได้

  1. เปิดแท็บ Applications ของแดชบอร์ด Vertex AI Vision ไปที่แท็บแอปพลิเคชัน
  2. เลือกดูกราฟข้างแอปการเข้าชมในรายการ
  3. จากหน้าเครื่องมือสร้างกราฟของแอปพลิเคชัน ให้คลิกปุ่มทำให้ใช้งานได้
  4. ในกล่องโต้ตอบการยืนยันต่อไปนี้ ให้เลือกทำให้ใช้งานได้ การดำเนินการทำให้ใช้งานได้อาจใช้เวลาหลายนาทีจึงจะเสร็จสมบูรณ์ หลังจากการทำให้ใช้งานได้เสร็จสิ้นแล้ว เครื่องหมายถูกสีเขียวจะปรากฏขึ้นข้างโหนด ee78bbf00e5db898.png

8. ค้นหาเนื้อหาวิดีโอในคลังพื้นที่เก็บข้อมูล

หลังจากนำเข้าข้อมูลวิดีโอลงในแอปการประมวลผลแล้ว คุณจะดูข้อมูลวิดีโอที่วิเคราะห์แล้ว และค้นหาข้อมูลตามข้อมูลการวิเคราะห์อัตราการเข้าพักได้

  1. เปิดแท็บ Warehouses ของแดชบอร์ด Vertex AI Vision ไปที่แท็บคลังสินค้า
  2. ค้นหาคลังสินค้าและการขนส่งการจราจรในรายการ แล้วคลิกดูชิ้นงาน
  3. ในส่วนจำนวนผู้คนหรือจำนวนยานพาหนะ ให้กำหนดค่าต่ำสุดเป็น 1 และค่าสูงสุดเป็น 5
  4. หากต้องการกรองข้อมูลวิดีโอที่ประมวลผลแล้วที่จัดเก็บไว้ใน Media Warehouse ของ Vertex AI Vision ให้คลิกค้นหา

e636361b19738c8d.png

มุมมองข้อมูลวิดีโอที่จัดเก็บไว้ซึ่งตรงกับเกณฑ์การค้นหาในคอนโซล Google Cloud เครดิตวิดีโอ: Elizabeth Mavor จาก Pixabay (ใช้เกณฑ์การค้นหา)

9. วิเคราะห์เอาต์พุตในตาราง BigQuery

ไปที่ BigQuery

เลือกชุดข้อมูล: visionai_dataset

เลือกตาราง: APPLICATION_ID ของคุณ (ในกรณีนี้ traffic-app)

คลิกจุด 3 จุดทางด้านขวาของชื่อตาราง แล้วคลิก "การค้นหา"

เขียนคำค้นหาต่อไปนี้

ข้อความค้นหา 1: ข้อความค้นหาเพื่อตรวจสอบจำนวนยานพาหนะที่ข้ามบรรทัดละ 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

ในการค้นหาข้างต้น คุณสามารถเปลี่ยน "ยานพาหนะ" ได้ เป็น "บุคคล" ในการนับบุคคล

Codelab นี้จะแสดงตัวอย่างข้อมูลและการแสดงข้อมูลผ่านภาพสำหรับ Query1 เท่านั้น คุณสามารถทำตามขั้นตอนที่คล้ายกันสำหรับ Query2 ได้

e6fd891f3a46246.png

คลิก "สํารวจข้อมูล" ในเมนูด้านขวา แล้วเลือก "สํารวจ" ด้วย Looker Studio

9e737ddb4d0d25b6.png

ใน "มิติข้อมูล" เพิ่มเวลาและเปลี่ยนการกำหนดค่าเวลาเป็นวันที่และเวลา ใน "มิติข้อมูลรายละเอียด" เพิ่ม line_id b5da9704ccd8db.png

กราฟด้านบนแสดงจำนวนยานพาหนะ/คนข้ามแต่ละเส้นต่อนาที

แถบสีฟ้าเข้มและสีฟ้าอ่อนระบุรหัสเส้น 2 รหัสที่แตกต่างกัน

10. ขอแสดงความยินดี

ยินดีด้วย คุณใช้งานห้องทดลองเสร็จแล้ว

ล้างข้อมูล

เพื่อหลีกเลี่ยงไม่ให้เกิดการเรียกเก็บเงินกับบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในบทแนะนำนี้ โปรดลบโปรเจ็กต์ที่มีทรัพยากรดังกล่าวหรือเก็บโปรเจ็กต์ไว้และลบทรัพยากรแต่ละรายการ

ลบโปรเจ็กต์

ลบทรัพยากรแต่ละรายการ

แหล่งข้อมูล

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

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

ความคิดเห็น

คลิกที่นี่เพื่อแสดงความคิดเห็น

แบบสำรวจ

คุณจะใช้บทแนะนำนี้อย่างไร

อ่านเท่านั้น อ่านและทำแบบฝึกหัด

Codelab นี้มีประโยชน์มากน้อยเพียงใด

มีประโยชน์มาก มีประโยชน์พอสมควร