การตรวจจับคนจากด้านบน


16

ฉันกำลังพยายามหาวิธีตรวจจับคนที่ใช้กล้องเพียงแค่ 3 เมตรเหนือพื้นดิน นี่คือเฟรมที่กล้องคืนมา:

ป้อนคำอธิบายรูปภาพที่นี่

อัปเดต: การทดสอบวิดีโอ -> http://dl.dropbox.com/u/5576334/top_head_shadow.avi

ในการทำเช่นนั้นก่อนอื่นฉันต้องเข้าใจว่าฉันต้องทำการแบ่งส่วนหลังแบบพื้นหน้า นั่นคือส่วนที่ง่าย

ด้วยหน้ากากเบื้องหน้าฉันสามารถทำงานง่ายๆเช่น Hough transform เพื่อค้นหาแวดวง แต่วิธีนี้ตรวจจับได้เพียง 60% ของหัวรวมถึงผลบวกที่ผิดพลาดมากมาย

ฉันสามารถใช้เทคนิคง่ายๆอื่น ๆ เช่นการแบ่งส่วนสี แต่ฉันพบว่าคนหัวแตกต่างกันมากเห็นจากด้านบนเพราะทรงผมสีผมจำนวนของพวกเขา ...

ตัวเลือกอื่นที่ฉันคิดไว้คือความเป็นไปได้ในการใช้ HOG Descriptors หรือคุณลักษณะที่คล้ายกับ Haar แต่ฉันต้องการฐานข้อมูลที่กว้างขวางของผู้คนที่เห็นจากด้านบนเพื่อฝึกฝนโมเดล ฉันไม่พบอะไรแบบนั้น

ฉันคิดว่านี่จะเป็นปัญหาที่เกิดขึ้นอีกมาก แต่ฉันไม่สามารถพบได้มากในวรรณคดีหรืออินเทอร์เน็ต ความช่วยเหลือในการแก้ไขงานนี้จะได้รับการชื่นชม :-)

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


1
หากคุณสามารถโพสต์วิดีโอมีโอกาสที่บางคนจะเขียนต้นแบบ กรุณาโพสต์ได้ไหม
Andrey Rubshtein

@Andrey ฉันอัปโหลดวิดีโอทดสอบที่แสดงปัญหา
emepetres

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

4
งานนี้เรียกว่า "การนับคน" ในวรรณคดี
mrgloom

คุณสามารถให้ลิงค์สำหรับวิดีโอนี้ได้ไหม ไม่สามารถใช้ได้ในลิงก์ที่ให้ไว้อีกต่อไป
Garvita Tiwari

คำตอบ:


11

มีวัตถุอื่นใดที่สามารถเคลื่อนที่ไปข้าง ๆ คนได้หรือไม่? หากไม่มีคุณสามารถหา blobs (ส่วนประกอบที่เชื่อมต่อ) ไว้ในมาสก์หน้าและนี่คือคนของคุณ

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

หากมีวัตถุอื่น (เช่นสุนัขรถยนต์) คุณควรสร้างตัวจําแนกที่ได้รับพารามิเตอร์หยดเช่น:

  • สถิติ Blob (ขนาดความแข็งแกร่ง ฯลฯ )
  • สี
  • ข้อมูล Edge
  • ความเร็ว (ในกรณีที่ติดตาม)

และส่งคืนคลาสที่ถูกต้อง (ไม่มีมนุษย์)


1
ฉันกำลังมองหาวิธีการที่แข็งแกร่งที่สามารถแยกแยะความแตกต่างระหว่างมนุษย์ / ไม่ใช่มนุษย์ด้วย ด้วยวิธีนี้หลังจากคิดเกี่ยวกับคำตอบของคุณฉันคิดว่าการใช้พารามิเตอร์ blob ตามที่คุณแนะนำรวมกับการติดตามฟีเจอร์บางอย่างและข้อมูลสถิติบางอย่างของ blob ควรมีความแข็งแกร่งเพียงพอ
emepetres

8

ฉันอยู่ใน "เพื่อใช้วิธีการทดสอบที่ดีฉันต้องการฐานข้อมูลตัวอย่างที่ฉันไม่มี" ใน บริษัท เล็ก ๆ ที่ "ไม่สามารถจ่ายได้" ฉันเสียใจมากที่ฉันไม่ได้ทำสิ่งที่จำเป็นเพื่อให้ได้ข้อมูลมากที่สุดเท่าที่จะเป็นไปได้ ฉันคิดว่ามันจะทำให้โลกแตกต่างกับพวกเขาในที่สุด

การตรวจจับการมองเห็นในโลกแห่งความจริงใด ๆ มีหลายล้านสิ่งที่คุณไม่เคยคิดมาก่อนจนกว่าคุณจะลองใช้ มันเป็นปัญหาเก่าหลายครั้งหลายครั้งยากกว่าที่ปรากฏ ฉันขอแนะนำให้ใช้วิธีการของนิวตันในการ "ยืนอยู่บนไหล่ของยักษ์" (หรือเกือบจะดีบนกองใหญ่ของคนแคระ) นั่นคือใช้วิธีการที่คุณรู้จักการทำงานและมีประสิทธิภาพ ทุกสิ่งที่ดูเหมือนจะเป็น "ดีพอ" แทนที่จะล้มเหลวอย่างน่าสังเวช

ฉันรู้ว่าศิลปะล้ำสมัยในการตรวจจับคนเดินเท้าคือ HOG ซึ่ง แต่เดิมนั้นถูกทดสอบในสภาพแวดล้อมนั้น คุณต้องการติดตามดังนั้นคุณจะต้องเล่นใน google scholar เล็กน้อยเพื่อค้นหา ซื้อประเด็นหลักของฉันคือฉันได้รับในตำแหน่งที่คล้ายกันและจากนั้นฉันขอแนะนำให้คุณรับฐานข้อมูลของคุณสิ่งที่คุณต้องทำและใช้สิ่งที่คุณรู้ว่างานที่ได้รับการทดสอบแล้วด้วยอัตราความล้มเหลวที่รู้จักกันไม่ได้สิ่งที่ ฟังดูดี เดือนมีนาคมของอัลกอริธึมการมองเห็นคอมพิวเตอร์ซึ่ง "ฟังดูเหมือนว่ามันจะทำงานได้ดี" เป็นเวลา 40 ปีไม่ใช่สิ่งที่คุณต้องการเป็นส่วนหนึ่ง

ป.ล. ไม่พยายามทำให้วิสัยทัศน์คอมพิวเตอร์แย่ลง มันเป็นหนึ่งในพื้นที่ที่ฉันชอบ แต่ประวัติศาสตร์แสดงให้เห็นว่ามีขั้นตอนที่ผิดหลายพันขั้นตอนและไม่ถูกต้องมากนัก ดีกว่าที่จะติดตามคนที่พบขั้นตอนที่ถูกต้องบางอย่างแล้ว


บางทีคุณอาจพูดถูกและฉันควรใช้เวลาสร้างฐานข้อมูลที่ดีเพื่อฝึกอบรมและทดสอบตัวอธิบาย HOG ด้วยวิธีนี้คุณรู้หรือไม่ว่าขนาดขั้นต่ำสุดจะมีฐานข้อมูลนี้เพื่อให้การฝึกอบรมถูกต้องหรือไม่
emepetres

1
ฉันไม่รู้. เป็นความหลากหลายที่หลากหลายที่สุด นอกจากนี้ HOG เป็นเครื่องมือตรวจจับมันจะส่งกลับการตอบสนอง "ใช่มีบุคคล" หรือ "ไม่มีบุคคล" สำหรับรูปภาพและไม่มีอะไรอื่น มันไม่ได้บอกอะไรเลยว่าบุคคลนั้นอยู่ที่ไหน (ที่ตั้ง) หรือพิกเซลใดที่เป็นคน (การแบ่งกลุ่ม) หรือว่ามีหลายคนต่อหนึ่งคน ฉันคิดว่ามีการดัดแปลง HOG บางส่วน (บางสิทธิบัตร) แต่ประเด็นคือสิ่งที่คุณต้องการคือการติดตามบุคคลและ HOG เนื่องจากเป็นเรื่องเกี่ยวกับการตรวจจับเท่านั้นไม่ใช่ตำแหน่ง ฉันไม่เคยทำเลย แต่การติดตามบุคคลเป็นหัวข้อที่ยืนยาว ตรวจสอบเอกสารเกี่ยวกับการติดตามบุคคล
John Robertson

1
@John Robertson HOG ไม่ใช่เครื่องตรวจจับมันเป็นเพียงตัวอธิบายและใช้กับตัวแยกประเภท (SVM + HOG เป็นต้น) และสามารถคืนตำแหน่งของวัตถุได้
mrgloom

1
@mrgloom คุณพูดถูก มันส่งคืนตำแหน่งโดยทำการค้นหาแบบมีหน้าต่าง นั่นเป็นวิธีที่รวดเร็วโดยใช้วิธีการที่จดสิทธิบัตรโดย บริษัท ขนาดใหญ่เท่านั้น ฉันไม่ได้ตั้งใจจะใช้เครื่องตรวจจับคำในความหมายทางเทคนิคที่นี่ แต่ในความหมายภาษาอังกฤษแบบธรรมดาว่าเป็นสิ่งที่ตรวจจับได้ ให้ตำแหน่งในลักษณะที่หลวมว่าภายในหน้าต่างนั้นมีคนประมาณ 80-90% ของมาตราส่วนของหน้าต่าง แต่ไม่มีการระบุว่าส่วนใดของหน้าต่างอาจเป็นของบุคคลนั้น ฉันคุ้นเคยกับความแตกต่างด้านเทคนิคของ descriptor / detector
John Robertson

3

ฉันคิดว่าคุณทำได้ เริ่มต้นได้โดยรวมคำตอบสองสามข้อจากที่นี่

มีสองวิธีที่ต่างกันที่กล่าวถึงในเรื่องนี้คำตอบด้วยความแตกต่างที่สำคัญที่คุณไม่สามารถตรวจจับใบหน้าได้เนื่องจากคุณไม่เห็นใบหน้า แต่วิธีการอื่น ๆ ยังคงบังคับ: ตัดสินใจบางสิ่งบางอย่างสภาพอากาศที่เป็นทางเดินเท้าหรือไม่ขึ้นอยู่กับการกระทำของมัน (การเคลื่อนไหว)

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

ตอนนี้คำตอบแรกที่ฉันเชื่อมโยงเพียงแค่ให้แนวคิดวิธีการทั่วไปมาก อย่างไรก็ตามคำตอบนี้อาจทำให้คุณมีความคิดเกี่ยวกับขั้นตอนต่อไปของคุณ: ติดตามวัตถุและพยายามแยกแยะความแตกต่างระหว่างพวกเขาตามความเร็วหรือทิศทางการเคลื่อนย้าย

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


ขอบคุณสำหรับคำตอบ. บทความเกี่ยวกับการแบ่งส่วนหน้ามีลักษณะที่น่าสนใจมาก ตามที่คุณและ @Andrey แนะนำฉันจะทำตามวิธีการวิเคราะห์หยดเพื่อกำหนดจำนวนมนุษย์ในแต่ละหยด
emepetres

@emepetres มันจะดีถ้าคุณบอกให้เรารู้เกี่ยวกับผลลัพธ์ของคุณและวิธีการที่ประสบความสำเร็จเป็นวิธีการที่เมื่อคุณลองและทดสอบมัน
penelope

1

ฉันมีงานบางอย่างตามที่อธิบายไว้ที่นี่นับคน แต่ความต้องการของฉันคือกล้องควรหันหน้าไปทางผู้คนจากด้านซ้าย / ด้านขวาไม่ใช่หัว

ที่ถูกกล่าวว่าการสำรวจทางออกที่เป็นไปได้สำหรับกรณีของฉันฉันสะดุดกับวิธีที่น่าสนใจสำหรับกรณีของคุณ (การตรวจสอบค่าใช้จ่าย) โซลูชันเหล่านั้นใช้กล้องสเตอริโอเพื่อให้คุณสามารถจัดการกับ blobs (ผู้ที่เคลื่อนไหวใกล้กันมากเกินไป) โดยดูความลึก (เช่นเห็นเฉพาะ blobs ในระดับหัวคนโดยเฉลี่ย)

ผลิตภัณฑ์นี้อาจให้คำอธิบายที่ดีกว่า: digiop digiopดูแผ่นพับสำหรับคำอธิบายทางเทคนิคเพิ่มเติม

ป.ล. ฉันไม่ได้เป็นตัวแทนของ บริษัท เพียงชี้ให้เห็นโซลูชันที่มีเอกสารครบถ้วน


ขอบคุณสำหรับการแบ่งปันดูเหมือนจะเป็นวิธีที่น่าสนใจในการแก้ไขปัญหา
emepetres
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.