ปัญหาการตรวจจับวัตถุไพ่

Oct 22 2020

ฉันกำลังพยายามฝึกโมเดลการตรวจจับวัตถุเพื่อตรวจจับไพ่บางใบเช่นมันจะตรวจจับ 1,2,3, คิง, ควีนและแจ็ค

และฉันกำลังสร้างคลาสของ not และฉันได้ใส่ตัวอย่างของการ์ดอื่น ๆ เช่น 4,5,6,7,8,9 แต่สำหรับฉันมันไม่สมเหตุสมผลที่จะสร้างคลาสเพิ่มเติมนี้

ดังนั้นวิธีแก้ปัญหาในการตรวจจับการ์ดประเภทอื่นเป็นวัตถุฉันควรสร้างคลาสนี้หรือลบออกและเก็บเฉพาะคลาสที่ต้องการเท่านั้น?

คำตอบ

2 BrunoLubascher Oct 23 2020 at 02:01

ในกรณีของคุณคุณมี 3 ทางเลือกในการฝึกโมเดลของคุณ:

  1. สร้างคลาสสำหรับแต่ละหมายเลขการ์ดดังนั้น 13 คลาส
  2. สร้างคลาสสำหรับ 1, 2, 3, คิง, ควีน, แจ็คและคลาสบัคเก็ตหนึ่งคลาสสำหรับ "อื่น ๆ " ดังนั้น 7 คลาส
  3. สร้างคลาสสำหรับ 1, 2, 3, คิง, ควีนและแจ็คดังนั้น 6 คลาส และเมื่อใดก็ตามที่นางแบบไม่มั่นใจในสิ่งใด ๆ ให้ถือว่าเป็น "อื่น ๆ "

ทางเลือกที่ดีที่สุดคือ1 .

ตัวเลือกที่ 1จะยากกว่าในการรับข้อมูลเนื่องจากคุณต้องการข้อมูลที่มีป้ายกำกับสำหรับชั้นเรียนเพิ่มเติม แต่นั่นไม่น่าจะเป็นปัญหาเพราะดูเหมือนว่าคุณมีอยู่แล้ว

ตัวเลือกที่ 1ช่วยให้โมเดลของคุณสามารถจำแนกคลาสทั้งหมดได้และให้คุณทำเช่นเดียวกับตัวเลือกที่ 2ด้วยการประมวลผลif predicted_class in [4,5,6,7,8,9] then "other"ภายหลัง

ตัวเลือกที่ 2สามารถใช้งานได้ แต่ตัวเลขในคลาส "อื่น" นั้นแตกต่างกันพอ ๆ กับ 1, 2 และ 3 เพื่อให้สามารถสร้างความแตกต่างนี้ได้สัญชาตญาณแรกคือต้องใช้โมเดล "ที่ใหญ่กว่า" เมื่อเปรียบเทียบกับตัวเลือกที่ 1แนวทางนี้จะเป็นประโยชน์หากคลาส "อื่น" ไม่เหมือนกับคลาสอื่น ๆ ตัวอย่างเช่นรุ่นที่แบ่งประเภทรถสปอร์ตรถครอบครัวรถตัวตลกและ "ยานพาหนะอื่น ๆ " (เช่นรถแทรกเตอร์จักรยานและรถบรรทุก)

ตัวเลือกที่ 3 เหมาะสมที่สุดสำหรับงานที่คลาส "อื่น" ไม่ได้กำหนดไว้หรือมีขนาดใหญ่เกินไปที่จะทำแบบจำลอง ตัวอย่างเช่นรูปแบบที่แบ่งประเภทว่าไพ่เป็น Uno หรือ Poker หรือ Blitz หรือการ์ด "เกมอื่น ๆ " ในกรณีนี้มีการ์ดเกม "ประเภทอื่น" มากเกินไปให้คุณติดป้ายกำกับและเป็นรุ่น