ในการมองเห็นด้วยคอมพิวเตอร์และการตรวจจับวัตถุวิธีการประเมินทั่วไปคือแผนที่ มันคืออะไรและคำนวณอย่างไร?
ในการมองเห็นด้วยคอมพิวเตอร์และการตรวจจับวัตถุวิธีการประเมินทั่วไปคือแผนที่ มันคืออะไรและคำนวณอย่างไร?
คำตอบ:
คำพูดมาจากกระดาษ Zisserman ที่กล่าวถึงข้างต้น- 4.2 การประเมินผลลัพธ์ (หน้า 11) :
อันดับแรก "เกณฑ์การทับซ้อน" ถูกกำหนดให้เป็นจุดตัด - เกินสหภาพที่มีค่ามากกว่า 0.5 (เช่นหากกล่องที่ทำนายเป็นไปตามเกณฑ์นี้ซึ่งเกี่ยวกับกล่องความจริงภาคพื้นดินจะถือว่าเป็นการตรวจจับ) จากนั้นจะทำการจับคู่ระหว่างกล่อง GT และกล่องที่คาดการณ์โดยใช้วิธีการ "โลภ" นี้:
ผลลัพธ์การตรวจจับโดยวิธีการถูกกำหนดให้กับวัตถุความจริงพื้นดินที่ตรงตามเกณฑ์การทับซ้อนตามลำดับที่จัดอันดับโดยเอาต์พุตความเชื่อมั่น (ลดลง) การตรวจจับวัตถุเดียวกันหลายครั้งในภาพถือเป็นการตรวจจับที่ผิดพลาดเช่นการตรวจจับวัตถุชิ้นเดียว 5 ครั้งนับเป็นการตรวจจับที่ถูกต้อง 1 ครั้งและการตรวจจับเท็จ 4 ครั้ง
ดังนั้นแต่ละช่องที่ทำนายจึงเป็น True-Positive หรือ False-Positive กล่องความจริงภาคพื้นดินแต่ละกล่องเป็น True-Positive ไม่มี True-Negatives
จากนั้นความแม่นยำเฉลี่ยจะคำนวณโดยการหาค่าความแม่นยำโดยเฉลี่ยบนเส้นโค้งการเรียกคืนความแม่นยำซึ่งการเรียกคืนอยู่ในช่วง [0, 0.1, ... , 1] (เช่นค่าเฉลี่ย 11 ค่าความแม่นยำ) เพื่อให้แม่นยำยิ่งขึ้นเราพิจารณาเส้นโค้ง PR ที่ได้รับการแก้ไขเล็กน้อยโดยที่จุดโค้งแต่ละจุด (p, r) หากมีจุดโค้งที่แตกต่างกัน (p ', r') เช่น p '> p และ r'> = r เราแทนที่ p ด้วย p สูงสุดของจุดเหล่านั้น
สิ่งที่ยังไม่ชัดเจนสำหรับฉันคือสิ่งที่ทำกับกล่อง GT ที่ไม่เคยตรวจพบ (แม้ว่าความเชื่อมั่นจะเป็น 0 ก็ตาม) ซึ่งหมายความว่ามีค่าการเรียกคืนบางค่าที่เส้นโค้งการเรียกคืนความแม่นยำจะไม่มีวันถึงและทำให้การคำนวณความแม่นยำเฉลี่ยสูงกว่าที่ไม่ได้กำหนดไว้
แก้ไข:
คำตอบสั้น ๆ : ในพื้นที่ที่ไม่สามารถเข้าถึงการเรียกคืนความแม่นยำจะลดลงเหลือ 0
วิธีหนึ่งในการอธิบายสิ่งนี้คือสมมติว่าเมื่อเกณฑ์สำหรับความเชื่อมั่นเข้าใกล้ 0 กล่องขอบเขตที่คาดคะเนจำนวนอนันต์จะสว่างขึ้นทั่วทั้งภาพ จากนั้นความแม่นยำจะไปที่ 0 ทันที (เนื่องจากกล่อง GT มีจำนวน จำกัด ) และการเรียกคืนจะเพิ่มขึ้นเรื่อย ๆ ในเส้นโค้งแบนนี้จนกว่าเราจะถึง 100%
แผนที่คือค่าเฉลี่ยความแม่นยำเฉลี่ย
การใช้งานจะแตกต่างกันในด้านการดึงข้อมูล (การอ้างอิง[1] [2] ) และการตั้งค่าการจำแนกหลายคลาส (การตรวจจับวัตถุ)
ในการคำนวณสำหรับ Object Detection คุณจะคำนวณความแม่นยำเฉลี่ยสำหรับแต่ละคลาสในข้อมูลของคุณตามการคาดการณ์แบบจำลองของคุณ ความแม่นยำเฉลี่ยเกี่ยวข้องกับพื้นที่ภายใต้เส้นโค้งการจำแม่นยำสำหรับคลาส จากนั้นการหาค่าเฉลี่ยของความแม่นยำแต่ละคลาสโดยเฉลี่ยจะทำให้คุณได้ค่าเฉลี่ยความแม่นยำเฉลี่ย
หากต้องการคำนวณความแม่นยำเฉลี่ยโปรดดู[3]
สำหรับการตรวจจับวิธีทั่วไปในการตรวจสอบว่าข้อเสนอออบเจ็กต์หนึ่งถูกต้องหรือไม่คือIntersection over Union (IoU, IU) สิ่งนี้จะใช้ชุด
A
พิกเซลของวัตถุที่เสนอและชุดพิกเซลของวัตถุจริงB
และคำนวณ:
โดยทั่วไปแล้ว IoU> 0.5 หมายความว่ามันถูกโจมตีมิฉะนั้นจะล้มเหลว สำหรับแต่ละคลาสเราสามารถคำนวณ
แผนที่ (ค่าเฉลี่ยความแม่นยำเฉลี่ย) คือ:
หมายเหตุ: หากต้องการข้อเสนอที่ดีกว่าข้อเสนอหนึ่งจะเพิ่ม IoU จาก 0.5 เป็นค่าที่สูงขึ้น (สูงสุด 1.0 ซึ่งจะสมบูรณ์แบบ) หนึ่งสามารถแสดงด้วย mAP @ p โดยที่ p \ in (0, 1) คือ IoU
mAP@[.5:.95]
หมายความว่าแผนที่ถูกคำนวณจากหลายเกณฑ์จากนั้นจึงนำมาเฉลี่ยอีกครั้ง
แก้ไข: สำหรับข้อมูลโดยละเอียดเพิ่มเติมโปรดดูที่เมตริกการประเมิน COCO
ผมคิดว่าส่วนหนึ่งที่สำคัญที่นี่คือการเชื่อมโยงวิธีการตรวจจับวัตถุที่ได้รับการพิจารณาเช่นเดียวกับปัญหาการดึงข้อมูลมาตรฐานที่มีอยู่อย่างน้อยหนึ่งคำอธิบายที่ดีของความแม่นยำเฉลี่ย
ผลลัพธ์ของอัลกอริธึมการตรวจจับวัตถุบางอย่างคือชุดของกรอบขอบเขตที่เสนอและสำหรับแต่ละอันคือคะแนนความเชื่อมั่นและการจำแนกประเภท (หนึ่งคะแนนต่อชั้นเรียน) Let 's ละเว้นคะแนนการจัดหมวดหมู่สำหรับตอนนี้และใช้ความเชื่อมั่นเป็น input ไปยังจำแนกเกณฑ์ไบนารี โดยสัญชาตญาณความแม่นยำเฉลี่ยคือการรวมตัวเลือกทั้งหมดสำหรับค่าเกณฑ์ / ค่าตัดออก แต่เดี๋ยวก่อน; ในการคำนวณความแม่นยำเราต้องรู้ว่ากล่องถูกต้องหรือไม่!
นี่คือจุดที่ทำให้สับสน / ยาก ซึ่งตรงข้ามกับปัญหาการดึงข้อมูลทั่วไปจริงๆแล้วเรามีระดับการจัดประเภทพิเศษที่นี่ นั่นคือเราไม่สามารถทำการจับคู่ที่แน่นอนระหว่างกล่องได้ดังนั้นเราจำเป็นต้องจัดประเภทว่ากล่องที่มีขอบเขตถูกต้องหรือไม่ วิธีแก้ปัญหาคือทำการจัดประเภทแบบฮาร์ดโค้ดบนขนาดกล่องเป็นหลัก เราตรวจสอบว่ามันทับซ้อนกับความจริงพื้นดินมากพอที่จะถือว่า 'ถูกต้อง' เกณฑ์สำหรับส่วนนี้ถูกเลือกโดยสามัญสำนึก ชุดข้อมูลที่คุณกำลังดำเนินการมีแนวโน้มที่จะกำหนดว่าเกณฑ์นี้สำหรับกล่องขอบเขต "ถูกต้อง" คืออะไร ชุดข้อมูลส่วนใหญ่ตั้งไว้ที่ 0.5 IoUและปล่อยไว้อย่างนั้น (ขอแนะนำให้ทำการคำนวณ IoU ด้วยตนเองสักสองสามข้อ [ไม่ยาก] เพื่อให้รู้สึกว่า IoU ที่เข้มงวดของ 0.5 เป็นอย่างไร)
ตอนนี้เราได้กำหนดความหมายของคำว่า 'ถูกต้อง' แล้วเราสามารถใช้กระบวนการเดียวกับการดึงข้อมูล
ในการค้นหาค่าความเที่ยงตรงเฉลี่ย (mAP) คุณเพียงแค่แบ่งชั้นของกล่องที่เสนอโดยอิงตามคะแนนการจัดประเภทสูงสุดที่เกี่ยวข้องกับกล่องเหล่านั้นจากนั้นจึงหาค่าเฉลี่ย (ใช้ค่าเฉลี่ย) ของความแม่นยำเฉลี่ย (AP) เหนือชั้นเรียน
TLDR; สร้างความแตกต่างระหว่างการพิจารณาว่าการคาดคะเนกรอบขอบนั้น 'ถูกต้อง' หรือไม่ (ระดับพิเศษของการจัดหมวดหมู่) และการประเมินว่าค่าความเชื่อมั่นของกล่องแจ้งให้คุณทราบถึงการคาดคะเนกรอบขอบเขตที่ 'ถูกต้อง' ได้ดีเพียงใด (คล้ายกับกรณีการดึงข้อมูลโดยสิ้นเชิง) และคำอธิบายทั่วไปของ แผนที่จะสมเหตุสมผล
เป็นที่น่าสังเกตว่าพื้นที่ภายใต้เส้นโค้งความแม่นยำ / การเรียกคืนเป็นสิ่งเดียวกับความแม่นยำเฉลี่ยและโดยพื้นฐานแล้วเราจะประมาณพื้นที่นี้ด้วยกฎสี่เหลี่ยมคางหมูหรือขวามือสำหรับการประมาณปริพันธ์
คำจำกัดความ: แผนที่→ค่าเฉลี่ยความแม่นยำเฉลี่ย
ในการแข่งขันการตรวจจับวัตถุส่วนใหญ่มีหลายประเภทที่ต้องตรวจจับและการประเมินโมเดลจะดำเนินการในหมวดหมู่เฉพาะแต่ละครั้งผลการประเมินคือ AP ของหมวดหมู่นั้น
เมื่อทุกหมวดหมู่ได้รับการประเมินค่าเฉลี่ยของ AP ทั้งหมดจะคำนวณเป็นผลลัพธ์สุดท้ายของแบบจำลองซึ่งก็คือแผนที่
Intersection Over Union (IOU) คือการวัดตามดัชนี Jaccard ที่ประเมินการทับซ้อนระหว่างสองกรอบ มันต้องใช้กล่องขอบเขตความจริงพื้นดินและกล่องขอบเขตที่คาดการณ์โดยการใช้ IOU เราสามารถบอกได้ว่าการตรวจจับนั้นถูกต้อง (True Positive) หรือไม่ (False Positive) IOU ได้รับจากพื้นที่ทับซ้อนระหว่างกรอบขอบเขตที่คาดการณ์และพื้นดิน กรอบความจริงหารด้วยพื้นที่ของการรวมกันระหว่างพวกเขา