1.ที่มาและความสำคัญ
เทคโนโลยีเกี่ยวข้องกับชีวิตประจำวันของมนุษย์อยู่ตลอดเวลา เนื่องจากในการดำรงชีวิตมนุษย์ต้องพบเจอปัญหาต่างๆมากมายในแต่ละวัน ดังนั้นเมื่อเกิดปัญหา มนุษย์ก็คิดหาวิธีแก้ปัญหาทั้งแบบการวิธีการและการสร้างชิ้นงาน ทำให้การใช้ชีวิตมีความสะดวกสบายตามความต้องการของมนุษย์
การพัฒนาเทคโนโลยีในปัจจุบันได้เน้นไปที่ความสะดวกสบายและความปลอดภัยในชีวิตประจำวัน เรื่องของการนับรถเข้า-ออกของมหาวิทยาลัยถือเป็นส่วนหนึ่งที่จะทำให้มนุษย์เราสะดวกขึ้นในด้านการนับจำนวนคน โปรแกรมตรวจนับปริมาณจำนวนของรถบนท้องถนน โดยระบบจะทำงานร่วมกับกล้อง Camera ในการจับภาพแบบ Real Time ควบคู่ไปกับการตรวจนับจำนวน โดยระบบสามารถตรวจนับได้ทั้งขาเข้าและขาออก และแสดงจำนวนดังกล่าวให้เห็นแบบ Real Time โดยข้อมูลดังกล่าวสามารถนำไปใช้สำหรับวางแผนประเมิน และวิเคราะห์การจราจร เพื่อให้เหมาะสมกับช่วงเวลาได้ ซึ่งอาจมีความคลาดเคลื่อนอยู่บ้างเล็กน้อย
2. วัตถุประสงค์
2.1 เพื่อตรวจจับยานพาหนะ
2.2 เพื่อตรวจนับจำนวนยานพาหนะ
2.3 เพื่อเก็บข้อมูลสำหรับวิเคราะห์และวางแผนจัดการจราจรในอนาคต
3. ขอบเขตการทำงาน
• ซอฟต์แวร์วิเคราะห์ภาพในการตรวจจับและนับจำนวนรถที่ผ่าน
• สามารถนับรถขาเข้าและขาออกได้
• ข้อมูลการนับรถจะถูกบันทึกและส่งไปยังศูนย์ควบคุมเพื่อวิเคราะห์และวางแผน
4. ประโยชน์ที่คาดว่าจะได้รับ
- สามารถรวบรวมและเก็บข้อมูลประชากรที่เข้ามาเรียนในมหาวิทยาลัย
- สามารถแยกประเภทรถหรือผู้คนที่เข้ามาในมหาวิทยาลัยได้
- สามารถรับรู้และปรับเปลี่ยนข้อมูลเกี่ยวกับประชากรเพื่อนำไปพัฒนาต่อยอดสิ่งต่างๆได้
5. ความรู้ที่เกี่ยวข้อง
การทำงานร่วมกันของโมดูลเหล่านี้ ได้แก่ cv2
, YOLOv8
, Ultralytics
, และ numpy
จะเน้นไปที่การตรวจจับวัตถุ การประมวลผลภาพ และการคำนวณเชิงตัวเลข ซึ่งจะอธิบายการทำงานของแต่ละโมดูลและความเชื่อมโยงกันดังนี้:
cv2 (OpenCV):
เป็นไลบรารีสำหรับการประมวลผลภาพและวิดีโอ มีฟังก์ชันหลากหลายสำหรับการเปิดไฟล์ภาพ การแปลงภาพ (เช่น การแปลงเป็นระดับสีเทา), การลดเสียงรบกวน, การจับวัตถุที่เคลื่อนไหว, และการแสดงผลภาพ หรือวิดีโอจากกล้องหรือไฟล์
- ตัวอย่างการใช้งาน:
- อ่านและแสดงภาพหรือวิดีโอ
- การแปลงภาพให้เป็นระดับสีเทา
- การวาดรูปร่างหรือข้อความลงบนภาพ
YOLOv8 (You Only Look Once):
YOLOv8 เป็นโมเดลตรวจจับวัตถุที่มีความเร็วและความแม่นยำสูง ถูกพัฒนาโดย Ultralytics มันสามารถตรวจจับวัตถุหลาย ๆ ชนิดในภาพเดียวกันได้ในเวลาจริง (real-time) โดยใช้การตรวจจับผ่านกรอบสี่เหลี่ยมล้อมรอบวัตถุ
- YOLOv8 จะให้ผลลัพธ์เป็นตำแหน่งของวัตถุในภาพพร้อมกับประเภทวัตถุและค่าความมั่นใจ (confidence score)
- YOLO ถูกใช้งานได้ทั้งในรูปแบบที่โหลดโมเดลที่เทรนมาแล้ว (pre-trained) หรือเทรนโมเดลใหม่เพื่อตรวจจับวัตถุเฉพาะ
Ultralytics:
เป็นไลบรารีที่ทำหน้าที่จัดการโมเดล YOLOv8 ซึ่งมาพร้อมกับเครื่องมือในการเทรน ตรวจสอบ และใช้งาน YOLOv8 ได้อย่างง่ายดาย ผู้ใช้สามารถสร้างโมเดลใหม่หรือโหลดโมเดลที่ได้รับการฝึกมาแล้วเพื่อทดสอบกับข้อมูลใหม่ โดย Ultralytics ช่วยให้การพัฒนาเป็นเรื่องง่ายผ่านการจัดการเรื่องการโหลดโมเดล การประมวลผล และการตั้งค่าต่าง ๆ
Numpy (np):
เป็นไลบรารีสำหรับการคำนวณเชิงตัวเลข ใช้ในการจัดการข้อมูลในรูปแบบของอาร์เรย์ (array) หลายมิติ มีการใช้งานร่วมกับ cv2
เพื่อประมวลผลข้อมูลภาพที่อยู่ในรูปแบบอาร์เรย์ ซึ่ง cv2
มักจะคืนค่าภาพในรูปแบบของอาร์เรย์ Numpy ช่วยในการคำนวณค่าสถิติ การแปลงรูปภาพ การหมุน การยืดหด และการบิดเบือนภาพ
6. การดำเนินงาน
ผังงานการทำงานของระบบ
7. วิธีการใช้งานโปรแกรม
การนับรถเข้า-ออกมหาวิทยาลัยสามารถทำได้โดยใช้เทคโนโลยีการตรวจจับภาพ เช่น YOLO (You Only Look Once) หรือ OpenCV เพื่อระบุและนับจำนวนรถที่ผ่านเข้าหรือออกจากพื้นที่ที่กำหนด โดยมีขั้นตอนหลัก ๆ ดังนี้:
ขั้นตอนที่ 1: ติดตั้งไลบรารีที่จำเป็น
ขั้นตอนที่ 2: เตรียมโมเดล YOLO สำหรับการตรวจจับวัตถุ
คุณสามารถใช้ YOLOv8 หรือโมเดลการตรวจจับอื่นๆ ในการตรวจจับรถยนต์ โดยดาวน์โหลดโมเดลสำเร็จรูปมาใช้ได้
ขั้นตอนที่ 3: อ่านวิดีโอจากกล้องหรือไฟล์
ขั้นตอนที่ 4: การตรวจจับและนับรถยนต์
ขั้นตอนที่ 5: ปรับแต่งการนับเส้นการเข้า-ออก
คุณสามารถใช้วิธีการนับจำนวนรถด้วยการสร้างเส้นสมมติบนจอ และตรวจสอบว่ารถผ่านเส้นเข้าไปในทิศทางใด รวมถึงการเก็บสถานะการผ่านในแต่ละครั้งเพื่อเพิ่มความแม่นยำ
: เมื่อเสร็จสิ้นทุกอย่าง สามารถนำวิดีโอที่เราต้องการและเปิด โปรแกรม Visual Studio Code ได้เลยเพื่อเริ่มการทำงาน
8. การทดลอง
ทดลองนำระบบนับรถเข้า-ออก ให้ทำงานโดยรับเข้าภาพและวิดีโอที่ถ่ายจากมุมด้านบน
9. ผลการทดลอง
สรุปผล จากการทดลองผลปรากฎว่าการใช้งานโปรแกรมนั้นมีประสิทธิภาพ โปรแกรมสามารถจับภาพวิดีโอรถเข้า-ออกได้เป็นอย่างดีแต่ทั้งนี้ก็ขึ้นอยู่กับวิดีโอที่เลือกใช้ ปัจจัยต่างๆ เช่น มุมที่ถ่ายอาจไม่เหมาะกับการ ตั้งเส้นเข้า-ออกรถ, วิดีโอในกลางคืนถ้ามืดเกินไปก็อาจทำให้จับภาพรถไม่ได้ แต่โดยรวมแล้วในมุมกล้องที่ดีก็สามารถทำให้โปรแกรมทำงานได้อย่างมีประสิทธิภาพ
ข้อเสนอแนะ — ควรจัดหามุมกล้องที่ดีเพื่อประสิทธิที่สูงขึ้นอย่างมาก —
10. ข้อมูลอ้างอิง
ใช้ใน Python เป็นไลบรารีโอเพนซอร์สที่ใช้สำหรับงานด้านการประมวลผลภาพและการมองเห็นของคอมพิวเตอร์ (Computer Vision) มีเครื่องมือที่หลากหลายสำหรับการจัดการกับภาพและวิดีโอ รวมถึงการตรวจจับวัตถุ การตรวจสอบใบหน้า การตรวจจับการเคลื่อนไหว และอื่น ๆ OpenCV ถูกใช้อย่างแพร่หลายในงานวิจัย, วิศวกรรม, AI, และงานด้านการเรียนรู้ของเครื่อง (Machine Learning) เนื่องจากรองรับการทำงานที่ซับซ้อนและสามารถทำงานได้อย่างมีประสิทธิภาพสูง https://phyblas.hinaboshi.com/oshi01
NumPy เป็นไลบรารีที่ใช้สำหรับการคำนวณเชิงตัวเลขและวิทยาศาสตร์ข้อมูล ซึ่งมาพร้อมกับเครื่องมือที่มีประสิทธิภาพสำหรับการทำงานกับ อาเรย์ (arrays) และ เมทริกซ์ (matrices) รวมถึงฟังก์ชันทางคณิตศาสตร์ที่ใช้ในการจัดการและวิเคราะห์ข้อมูลได้อย่างรวดเร็ว https://www.borntodev.com/2020/04/16/%E0%B8%9E%E0%B8%B7%E0%B9%89%E0%B8%99%E0%B8%90%E0%B8%B2%E0%B8%99%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89-numpy-%E0%B9%83%E0%B8%99-python-3/
โมดูล Ultralytics เป็นไลบรารีที่พัฒนาเพื่อใช้งานโมเดล YOLO (You Only Look Once) ซึ่งเป็นหนึ่งในโมเดลยอดนิยมสำหรับการตรวจจับวัตถุในภาพและวิดีโอ โมเดล YOLO มีชื่อเสียงในเรื่องของความเร็วและความแม่นยำ โดยสามารถทำงานแบบเรียลไทม์ได้เป็นอย่างดี https://github.com/ultralytics/ultralytics
โมดูล Ultralytics เป็นไลบรารีที่พัฒนาเพื่อใช้งานโมเดล YOLO (You Only Look Once) ซึ่งเป็นหนึ่งในโมเดลยอดนิยมสำหรับการตรวจจับวัตถุในภาพและวิดีโอ โมเดล YOLO มีชื่อเสียงในเรื่องของความเร็วและความแม่นยำ โดยสามารถทำงานแบบเรียลไทม์ได้เป็นอย่างดี https://github.com/ultralytics/ultralytics
วิดีโอการทำงานของระบบตรวจนับรถเข้า-ออก
สมาชิกในกลุ่ม
นายสุระภี เกษรินทร์ วต. 081
นายตะวัน ระเหม วต. 065
นายภานุวัฒน์ ใยดี วต. 075
นายฟารุก เส็นส๊ะ วต. 074