1st Project Computer Vision |
Botnoi AI & Data Science Classroom By #Group 4

Gun P
botnoi-classroom

--

มาให้น้องแอ่วดีทำนายกันนน!!!

ปล. : แอ่วดี = เที่ยวเก่งจังเลย

Computer Vision

Members G.4 : ฟิล์ม, ได, ปุณณ์, ไอซ์, ฟลุ๊ค, ปิง, ไนซ์,หวาน,กันต์,แม็ก, ต้อม,เนม, ต้อม

  • Pain Point & Solution

เคยมั้ย?

ที่หยุดดูรูปของคนที่ลงใน social media แล้วอยากรู้ว่าสถานที่ในรูปคือที่ไหน แต่…เขาดันไม่ได้เช็คอิน!!

ถ้าจะไปถามเจ้าของรูปเลย ว่า “เธอๆไปที่ไหนมาเหรอ รูปที่ถ่ายวิวสวยจัง เราอยากถ่ายรูปกับวิวเก๋ๆแบบเธอบ้างน่ะ” มันก็แปลกๆเนอะ เพราะบางทีคนลงรูปอาจจะไม่ใช่คนที่เราสนิทหรือคุยอยู่เป็นประจำ อยู่ดีๆจะทักไปถามมันก็ไม่ช่ายย

…หรือ…

ถ้าจะไปค้นหาใน google โดยพิมพ์ว่า “สถานที่ที่มีต้นไม้เยอะๆ มีร้านกาแฟเล็ก ๆ คือที่ไหน” ก็ดูจะลำบาก กว่าจะเจอก็ค่อนข้างเสียเวลาสำหรับคนทั่วไป

จะดีกว่ามั้ย ถ้าหากเราจะใช้ศาสตร์ด้าน computer vision (CV) มาเป็นตัวช่วย เพียงแค่คอมพิวเตอร์เห็นรูปก็จะเข้าใจ และบอกเราได้ทันทีว่ารูปนั้นคืออะไร สถานที่ไหน
ว้าววววว เป็นไงล่ะ เจ๋งอะดิ!!
เรียกได้ว่าเป็นศาสตร์ที่ทำงานเลียนแบบการมองเห็นของมนุษย์เลยล่ะ

ดังนั้นทางกลุ่ม G.4 ก็เลยไปทำการค้นคว้าหาข้อมูล พบว่า จังหวัดเชียงใหม่เป็นจังหวัดอันดับต้น ๆ ที่มีผู้คนไปเที่ยวกันเยอะ และมักจะมีคนเช็กอินถ่ายรูปสวยๆ ซึ่งมาจากสถานที่ท่องเที่ยวในจังหวัดนี้อยู่เยอะ !
กลุ่ม G.4 ก็เลยเลือกจังหวัดเชียงใหม่ และเลือก 10 สถานที่ท่องเที่ยวยอดฮิตในภายในจังหวัด มาทดลองทำใน phase แรก เพื่อให้ทุกคนได้ลองเล่นกันก่อนจ้าาาาา
10 สถานที่ท่องเที่ยวยอดฮิตในจังหวัดเชียงใหม่ ที่กลุ่มของพวกเราเลือกมา มีดังนี้เลย
1. ถนนคนเดินท่าแพ
2. ดอยอินทนนท์
3. วัดพระธาตุดอยสุเทพ
4. ม่อนแจ่ม
5. แกรนด์แคนย่อน
6. สวนสนบ่อแก้ว
8. ดอยหลวงเชียงดาว
9. แม่กำปอง
10. ขุนช่างเคี่ยน

คงอยากรู้กันแล้วใช่มั้ยเอ่ยย ว่ากว่าที่คอมพิวเตอร์จะบอกเราได้ว่ารูปนั้นคืออะไร มีขั้นตอนการทำยังไงบ้าง ไปดูกันเลยยยยยย GO GO GO !!!!

Colab Link https://colab.research.google.com/drive/1Pad7CMayvpN7iWvIkKtPUY4KzJWEpqcU?usp=sharing

APP QR Code

Library ที่จะนำมาใช้ในโปรเจคนี้

กำหนดทิศทางการทำงานตาม

Pipeline

  1. get data
  2. extract feature
  3. train model
  4. test model
  5. deploy model

Step :1 get data

ค้นหา Image Data set จาก Google image seach แล้วเลือกเอาเฉพาะภาพที่เป็นมุมยอดนิยม เช่น

  • ภาพขุนช่างเคี่ยน
  • ภาพสวนสนบ่อแก้ว
  • ภาพแกรนแคนยอน

Step :2 feature extract

Function Extract สร้าง Folder เพื่อเก็บข้อมูลรูปภาพ โดยให้ place เก็บค่า array สถานที่ที่เราเลือกมา

Function createdataset สร้าง dataset จากรูปเพื่อนำไป Train Model

ซึ่งจะอยู่ในรูป dataframe และจะถูกแยกออกตามคลาส

Step :3 Train Model

Function trainmodel ใช้ method train_test_split เพื่อเก็บข้อมูลของ

feature ของ train dataset และ test dataset เพื่อคำนวณหา Accuracy

Step :4 Test Model

จาก confusion matrix เราจะสามารถวิเคราะห์ ประสิทธิภาพของ model ได้

class ที่ทำนายผิดมากที่สุดคือ class1 :

กาดหลวง มีการ ทำนาย สับสน กับ ถนนคนเดินท่าแพและ แกรนด์แคนย่อน

จะ สับสนกับ ดอยหลวงเชียงดาว

น่าจะมีสาเหตุมาจากรูปภาพ รูปภาพ dataset บางภาพไม่สะท้อนจุดเด่นของ class นั้น และ สองสถานที่นั้นมีความคล้ายกัน

Load Model และใช้ Function predicting รับ URL ของรูปภาพจาก Internet

รูปที่ใช้ทดสอบ

‘https://s.isanook.com/tr/0/rp/r/w728/ya0xa0m1w0/aHR0cHM6Ly9zLmlzYW5vb2suY29tL3RyLzAvdWQvMjg0LzE0MjIxMjUvYWhyMGNobTZseTl6bG1senl3NXZiMnN1eTI5dGwuanBn.jpg'

link = 'https://s.isanook.com/tr/0/rp/r/w728/ya0xa0m1w0/aHR0cHM6Ly9zLmlzYW5vb2suY29tL3RyLzAvdWQvMjg0LzE0MjIxMjUvYWhyMGNobTZseTl6bG1senl3NXZiMnN1eTI5dGwuanBn.jpg'a=predicting(link)a

ผลลัพธ์การค้นหา

Step :5 Deploy model (heroku)

ทดสอบ api และนำ api มาเชื่อมกับ botnoi platform

ทำบทสนทนาเพื่อโต้ตอบและรับรูปจาก User

ทำส่ง Location ให้ User

สรุป

เกี่ยวกับตัวโมเดลของเรา มีข้อจำกัดดังนี้
-
รูปภาพ dataset บางภาพไม่สะท้อนจุดเด่นของ class นั้น และ สองสถานที่นั้นมีความคล้ายกัน

การต่อยอด

- เพิ่มร้านค้า ร้านอาหารที่อยู่บริเวณใกล้เคียง

  • โรงแรม ที่พักใกล้เคียง เลือกแบบได้ เข่น Homestay, Hostel, กางเต๊นท์
  • เลือกราคาได้
  • เพิ่ม Location google

- นำเสนอ Package การท่องเที่ยว
- เพิ่มสถานที่ท่องเที่ยวจังหวัดอื่นๆ

--

--