เคยสงสัยกันไหมครับว่า ท่ามกลางท้องฟ้ายามค่ำคืนที่เต็มไปด้วย ดวงดาว ดาวเคราะห์ และสิ่งอื่นๆ มากมาย นักวิทยาศาสตร์ และนักดาราศาสตร์ทั่วโลกรู้ได้อย่างไรว่าสิ่งใด คือดวงดาวที่อยู่ห่างไกล หรือ สิ่งใดคือสิ่งแปลกปลอมที่เคลื่อนที่มายังโลก และจะทำให้เกิดอันตราย หรือแค่แวะมาเยี่ยมเยียน
REAL WORLD PYTHON | ระบบค้นหาอุกกาบาต ออกอากาศวันที่ 11 พฤษภาคม 2565 เวลา 1 ทุ่มครึ่ง
ใกล้หรือไกล ดูจากความเคลื่อนไหว
สิ่งต่างๆ ที่อยู่บนท้องฟ้า ประกอบไปด้วยทั้งดวงดาว กาแลกซี ดาวเคราะห์ และอื่นๆ อีกมากมาย สำหรับการตรวจจับสิ่งที่เข้าใกล้โลก อย่างอุกกาบาตที่อาจมีอันตราย หรือแค่ผ่านโลกไปเฉยๆ เราจะใช้ความเคลื่อนไหวที่สังเกตได้เป็นตัวคัดกรองเบื้องต้น
เนื่องจากหากสิ่งใดๆ ก็ตามที่อยู่ไกลมากๆ แม้จะเคลื่อนไหวมากแค่ไหน ความเปลี่ยนแปลงจะสังเกตได้ยาก แต่หากมีการเข้าใกล้มายังโลก ความเคลื่อนไหวจะสังเกตได้ง่ายกว่า
หอดูดาวยุคก่อนคอมพิวเตอร์
ก่อนการใช้งานคอมพิวเตอร์อย่างแพร่หลาย หลายๆ อย่างที่เกิดขึ้นอย่างอัตโนมัติในปัจจุบันต้องใช้คนเข้าไปทำ และรวมไปถึงการสังเกตการณ์สิ่งต่างๆ บนท้องฟ้า โดยสำหรับการสังเกตการณ์สิ่งต่างๆ อย่างเช่นอุกกาบาต หรือการค้นหาดาวเคราะห์ ทำผ่านอุปกรณ์ที่เรียกว่า "Blink Comparator"
Blink Comparator จะเป็นกล้องส่องภาพที่มีแขนจับภาพสองภาพ และกลไกที่ช่วยแสดงสองภาพนี้สลับกัน ทำให้เราเห็นความแตกต่างของสองภาพนี้ได้ง่ายขึ้นกว่าการมองทีละภาพ อุปกรณ์นี้เป็นอุปกรณ์ที่ถูกใช้จริง และหนึ่งในเหตุการณ์ที่สำคัญที่เกิดขึ้นเพราะอุปกรณ์นี้ คือ การค้นพบดาวพลูโต
ระบบตรวจสอบอุกกาบาตจำลอง
ในบทเรียนนี้เราจะทำการสร้าง Blink Comparator จำลองด้วย Python เพื่อทำการเปรียบเทียบภาพของ 2 คืน ให้เห็นการเดินทางของดาวเคราะห์ที่เคลื่อนที่ผ่านจุดสังเกตการณ์ และรวมไปถึงการใช้เครื่องมือจากเทคโนโลยี Computer Vision เข้าไปตรวจจับความแตกต่างของภาพสองภาพที่ช่วยทำให้การตรวจจับในลักษณะนี้ในปัจจุบันเกิดขึ้นโดยระบบอัตโนมัติที่คอยตรวจสอบให้แทนการใช้คน
Checkpoint: จะใช้ได้จริง จะต้องทำสิ่งเหล่านี้ได้!
สำหรับการสร้างโปรเจคในวันนี้ สามารถทำตามขั้นตอนตามด้านทางทีละขั้นตอน ตาม checkpoint ด้านล่างได้เลย!
Blink Comparator
Checkpoint 1 ระบุที่อยู่ไฟล์ภาพ
Checkpoint 2 เปิดภาพทั้งสองเพื่อใช้งาน
Checkpoint 3 สร้างคำสั่งเพื่อสร้างข้อมูลภาพที่ใช้งาน และเรียกใช้งานคำสั่ง
Checkpoint 4 กำหนดค่าสำหรับการตั้งชื่อหน้าจอ และกำหนดจำนวนการกระพริบ
Checkpoint 5 ทำซ้ำเพื่อให้เปิดภาพ "Blink" ให้เห็นความแตกต่าง
Checkpoint 6 สร้างคำสั่งนำภาพมาแสดงผลสลับกัน
Checkpoint 7 ทดลองใช้คำสั่งกระพริบภาพ
ตรวจจับความเคลื่อนไหวด้วย Computer Vision
Checkpoint 1 ระบุที่อยู่ไฟล์ภาพ
Checkpoint 2 เปิดภาพทั้งสองเพื่อใช้งาน
Checkpoint 3 หาความแตกต่างของ 2 ภาพ
Checkpoint 4 สร้างคำสั่งเพื่อสร้างข้อมูล และเรียกใช้คำสั่ง
Checkpoint 5 แสดงผลภาพ
Checkpoint 6 สร้างคำสั่งสำหรับการแสดงผลภาพ และเรียกใช้คำสั่ง
Checkpoint 7 ค้นหาจุดที่สว่างที่สุด (ดาวเคราะห์)
Checkpoint 8 วงกลมจุดที่สว่างที่สุดเพื่อระบุตำแหน่ง
Checkpoint 9 แสดงภาพที่มีการวงกลมให้เห็นผลลัพธ์
Checkpoint 10 สร้างคำสั่งค้นหาดาวเคราะห์ และเรียกใช้งาน
Checkpoint 11 คัดลอกภาพมาเพื่อใช้ค้นหาอีกครั้ง
Checkpoint 12 ทำการวงถมดำตำแหน่งของดาวที่หาเจอลงบนภาพที่คัดลอกมา
Checkpoint 13 ทำการค้นหาตำแหน่งดาวดวงถัดไป และวงลงไปในภาพแรก
Checkpoint 14 นำภาพแรกมาซ้อนทับกับภาพที่แสดงดาวใน 2 จุด
Checkpoint 15 แสดงผลลัพธ์จากการค้นหา
Comments