พื้นที่เก็บข้อมูลนี้เป็นไลบรารีแบ็กเอนด์ของแอปที่ใช้ GUI ของเรา - MOTHe-GUI
Mothe เป็นห้องสมุด PYPI เพื่อตรวจจับและติดตามสัตว์หลายตัวในสภาพแวดล้อมที่ต่างกัน MOTHe เป็นพื้นที่เก็บข้อมูลแบบ Python และใช้สถาปัตยกรรม Convolutional Neural Network (CNN) สำหรับงานตรวจจับวัตถุ ใช้ภาพดิจิทัลเป็นอินพุตและอ่านคุณสมบัติต่างๆ เพื่อกำหนดหมวดหมู่ อัลกอริธึมเหล่านี้เป็นอัลกอริธึมการเรียนรู้ซึ่งหมายความว่าจะดึงคุณสมบัติต่างๆ ออกจากรูปภาพโดยใช้ข้อมูลการฝึกอบรมที่มีป้ายกำกับจำนวนมาก เมื่อโมเดล CNN ได้รับการฝึกแล้ว โมเดลเหล่านี้สามารถใช้เพื่อจัดประเภทข้อมูลใหม่ (รูปภาพ) MOTHe ได้รับการออกแบบให้เป็นแบบทั่วไปซึ่งช่วยให้ผู้ใช้สามารถติดตามวัตถุที่น่าสนใจได้แม้ในสภาพแวดล้อมที่เป็นธรรมชาติ
MOTHe สามารถทำให้งานทั้งหมดที่เกี่ยวข้องกับการจำแนกวัตถุเป็นไปโดยอัตโนมัติ และแบ่งออกเป็น 5 วิธีสำหรับงานต่อไปนี้:
การกำหนดค่าระบบ : การกำหนดค่าระบบใช้เพื่อตั้งค่า MOTHe บนระบบของผู้ใช้ รายละเอียดพื้นฐาน เช่น เส้นทางไปยังพื้นที่เก็บข้อมูลในเครื่อง เส้นทางไปยังวิดีโอที่จะประมวลผล ขนาดของแต่ละบุคคลที่จะครอบตัด จำนวนเฟรมที่จะข้ามขณะเรียกใช้การตรวจจับหรือการติดตาม (เพื่อลดเวลาการประมวลผล/เพื่อรันกรณีทดสอบ) และขนาดของกรอบขอบเขตที่จะวาดระหว่างระยะการตรวจจับ
การสร้างชุดข้อมูล : การสร้างชุดข้อมูลเป็นขั้นตอนสำคัญในการตรวจจับและติดตามวัตถุ ความพยายามด้วยตนเองที่จำเป็นในการสร้างข้อมูลการฝึกอบรมตามจำนวนที่ต้องการนั้นมีมหาศาล คลาสการสร้างข้อมูลและปฏิบัติการทำให้กระบวนการเป็นอัตโนมัติในระดับสูงโดยอนุญาตให้ผู้ใช้ครอบตัดขอบเขตที่สนใจด้วยการคลิกง่ายๆ บน GUI และบันทึกรูปภาพในโฟลเดอร์ที่เหมาะสมโดยอัตโนมัติ
Training the convolutional neural networktrain_model : หลังจากสร้างตัวอย่างการฝึกในจำนวนที่เพียงพอแล้ว ข้อมูลจะถูกนำมาใช้ในการฝึกโครงข่ายประสาทเทียม โครงข่ายประสาทเทียมสร้างลักษณนามเป็นเอาต์พุต ความแม่นยำของตัวแยกประเภทขึ้นอยู่กับว่าเครือข่ายได้รับการฝึกอบรมดีเพียงใด ซึ่งจะขึ้นอยู่กับคุณภาพและปริมาณของข้อมูลการฝึกอบรม (ดูหัวข้อ ฉันต้องใช้ข้อมูลการฝึกอบรมจำนวนเท่าใด ) พารามิเตอร์การปรับแต่งต่างๆ ของเครือข่ายได้รับการแก้ไขแล้วเพื่อทำให้กระบวนการนี้ง่ายสำหรับผู้ใช้ เครือข่ายนี้ทำงานได้ดีสำหรับการจำแนกไบนารี - วัตถุที่น่าสนใจ (สัตว์) และพื้นหลัง ไปป์ไลน์นี้ไม่รองรับการจำแนกประเภทหลายคลาส
การตรวจจับวัตถุ : วิธีการนี้ทำหน้าที่หลักสองประการ โดยขั้นแรกจะระบุพื้นที่ในภาพซึ่งอาจมีสัตว์อยู่ ซึ่งเรียกว่าการแปลเป็นภาษาท้องถิ่น จากนั้นจะทำการจำแนกตามขอบเขตที่ครอบตัด การจำแนกประเภทนี้ดำเนินการโดยใช้ CNN ขนาดเล็ก (6 เลเยอร์แบบหมุนวน) เอาต์พุตจะอยู่ในรูปแบบไฟล์ .csv ซึ่งมีตำแหน่งของสัตว์ที่ระบุในแต่ละเฟรม
การติดตามวัตถุ : การติดตามวัตถุเป็นเป้าหมายสุดท้ายของ MOTHe โมดูลนี้จะกำหนด ID เฉพาะให้กับบุคคลที่ตรวจพบและสร้างวิถีของพวกเขา เราได้แยกโมดูลการตรวจจับและการติดตามออก เพื่อให้ผู้ที่สนใจเฉพาะข้อมูลการนับเท่านั้นสามารถใช้งานได้ (เช่น แบบสำรวจ) การทำให้เป็นโมดูลนี้ยังให้ความยืดหยุ่นในการใช้อัลกอริธึมการติดตามที่ซับซ้อนมากขึ้นให้กับโปรแกรมเมอร์ที่มีประสบการณ์ เราใช้รหัสที่มีอยู่สำหรับงานติดตาม (จากหน้า Github ของการอ้างอิง) อัลกอริทึมนี้ใช้ตัวกรองคาลมานและอัลกอริทึมภาษาฮังการี สคริปต์นี้สามารถรันได้เมื่อมีการสร้างการตรวจจับในขั้นตอนก่อนหน้า เอาต์พุตเป็นไฟล์ text{.csv} ซึ่งมี ID แต่ละรายการและตำแหน่งสำหรับแต่ละเฟรม เอาต์พุตวิดีโอที่มีรหัสเฉพาะของแต่ละบุคคลก็ถูกสร้างขึ้นเช่นกัน
MOTHe เป็นแพ็คเกจ python ซึ่งใช้ไลบรารี python อื่น ๆ หลายแห่งซึ่งอาจได้รับการอัพเดต ดังนั้นจึงเป็นสิ่งสำคัญที่ต้องทราบเวอร์ชันที่เราดาวน์โหลด/ติดตั้ง เวอร์ชันหลามที่แนะนำคือรุ่นเสถียรของ python3.6 ถึง python3.7 (ลินุกซ์เวอร์ชัน LTS ล่าสุด (เช่น Ubuntu 20.04 Focal Fossa) ได้รับการติดตั้งพร้อมกับ python3.8 สต็อกซึ่งเข้ากันไม่ได้กับ MOTHe) Python3.8 ไม่รองรับเวอร์ชัน Tensorflow ที่ต่ำกว่าเวอร์ชัน 2.2 ซึ่ง MOTHe ต้องการให้ทำงาน โปรดทราบว่าเวอร์ชันของไลบรารีบางตัวได้รับการแก้ไขอย่างรวดเร็วและใช้เพื่อทดสอบ MOTHe เมื่อเร็ว ๆ นี้: