Marzy mi się napisać program, który będzie rozpoznawał emocje na zdjęciach twarzy (narazie tylko uśmiech/brak uśmiechu).
Znam podstawy C++, ale nigdy nie miałem styczności z obrabianiem grafiki w tym języku. Wiem, że porywam się z motyką na księżyc, ale trzeba wyznaczać sobie dalekosiężne cele, prawda?
Na stronie jakiegoś projektu studenckiego http://sequoia.ict.pwr.wroc.pl/~witold/aiarr/2009_projekty/emocje/znalazłem kilka przydatnych informacji, ale ciągle czuję niedosyt. No i te sieci neuronowe. Czy można ugryźć temat bez zagłębiania się w szczegóły z nimi związane?
A może ktoś z was ma jakiś pomysł jak zrobić to lepiej niż ci studenci?
Wspomniana biblioteka OpenCV jest naprawdę świetna, jeżeli jesteś zupełnie nowy w temacie, to możesz poczytać OpenCV Reference Manual. Sieć neuronową, możesz uczyć przy wykorzystaniu wcześniej przygotowanych zdjęć - robisz zdjęcia, klasyfikujesz je ręcznie jako uśmiech/brak uśmiechu, a następnie uczysz sieć. W taki sposób pisaliśmy program rozpoznający pismo odręczne, wada jest taka, że ciężko może być z rozpoznawaniem mimiki u nowych osób (tak jak my mieliśmy czasem problemy z różnymi sposobami pisowni niektórych znaków). Ogólnie w sieci powinieneś znaleźć sporo informacji. Polecam też grupę dyskusyjną OpenCV na yahoo.
dzięki za zainteresowanie, aż taki zielony w temacie nie jestem. chodziło mi o wysondowanie ogólnych skojarzeń i reakcji na pomysł sposobu podejścia do tematu rozpoznawania emocji. ponadto, jeśli zwykłe tanie aparaty fotorgariczne mają funkcję robienia zdjęć “na uśmiech” znaczy że się da
poczytałem trochę pod tym linkiem rozpoznawanie emocji i wychodzi na to, że oni tam zastosowali dość prosty schemat działań:
Moim zdaniem problem leży w tym, czy taka kwalifikacja pikseli jest w stanie jednoznacznie rozstrzygnąć emocje. Autorzy powyższego programu moim zdaniem zbyt pochopnie Polegają tylko na procentowej zawartości krawędzi w danej części obrazu, opuszczone jak i podniesione brwi przykładowo mogą chyba składać się z tak samo licznych krawędzi, co nie determinuje wyniku. No ale to już należało by zabrać się do prasy specjalistycznej.
zasadniczo masz rację z tym brakiem determinacji wyników, ale jest to prawda dla pojedynczej badanej strefy. podejrzewam tylko, że autorzy założyli, że takie kwiatki o jakich piszesz nie wystąpią w każdej ze stref JEDNOCZEŚNIE. swoją drogą chyba właśnie po to stosuje się klasyfikacje sztuczną siecią neuronową (czy innym klasyfikatorem) żeby nie wpaść w taką pułapkę.
Być może masz rację. Ale ponieważ jest to projekt uczelniany, to podszedł bym z pewnym dystansem do założeń i wyników i mimo wszystko poszperał trochę w prasie.