2013-03-09 11 views
6

Muszę wykrywać tylko zamknięte oczy, a także oba oczy oddzielnie. Oznacza to, że muszę powiedzieć, czy lewe oko jest otwarte, czy zamknięte, to samo dotyczy prawego oka.Detekcja zamkniętego oka opencv C++

Próbowałem na kilka sposobów. Jednym z nich jest osobne wykrywanie oczu za pomocą haarkascade_eye i haarcascade_eye_tree_eyeglasses, a następnie porównywanie wyników. Jeśli obaj wykryją oko, a następnie oko otworzy się, jeśli jedno wykryje, a drugie nie, wtedy oko zamknie się. Ten trik został zabrany z tego linku:

http://tech.groups.yahoo.com/group/OpenCV/messages/87666?threaded=1&m=e&var=1&tidx=1

Ale to nie działa jak expected.eye detektory kaskada nie działają jak wspomniano w link. Bardzo bliskie wyniki można znaleźć w tych haaraskadach, o których wspomniałem powyżej. Czasami daje prawidłowy wynik, czasem nie może. Nie wiem dlaczego. Poza tym nie można powiedzieć za pomocą tej metody, które oko jest otwarte, a które jest zamknięte.

Czy ktoś może mi pomóc rozwiązać ten problem? Przynajmniej potrzebuję sposobu, aby powiedzieć, że jedno z oczu jest zamknięte, bez względu na to, które z nich trzeba zrobić dokładnie. Proszę pomóc ..........

+0

"Dokładnie" jest trudne w przypadku przetwarzania obrazu. Weź też pod uwagę, że kształt oczu niektórych osób jest naturalnie dość wąski, więc prawdopodobnie będziesz miał wiele fałszywych trafień/negatywów. – Bojangles

+0

Rozumiem. Czy możesz mi powiedzieć, która haaraskada wykrywa zarówno otwarte i zamknięte oko, a które wykrywa tylko otwarte oko? Wtedy na razie mogę sobie poradzić. – AtanuCSE

+0

możesz zastosować szablon pasujący do – Saikat

Odpowiedz

1

Jeśli chcesz uniknąć treningu kaskady Haara, aby wykryć jedno oko, możesz spróbować prostszych technik, takich jak wykrywanie źrenic. Jeśli nie wykryjesz czarnego koła, oko zostanie zamknięte. Jeśli masz niewielki region zainteresowania, to prawdopodobnie działa bardzo dobrze. Inną opcją są histogramy kolorów regionu oczu, które mogą wyglądać zupełnie inaczej dla stanu otwartego i zamkniętego.

Jeśli nie możesz przewidzieć z rozsądną dokładnością, gdzie można znaleźć oczy na obrazie, te podejścia są skazane na zagładę, a twoim najlepszym strzałem jest trening własnej kaskady.