LINUX.ORG.RU
ФорумTalks

лок/разлок по морде


1

1

Дело было днем на работе, пока конпелялось ядро для СБИС, набросал из экзампла на опенcv концепт.

https://github.com/nekromant/facelockd

В общем, оно хватает поток с камеры, ищет лицо. Если лицо есть, ничего не делает. Если пропадает на больше чем n кадров, то вызывает скрипт facelock с опцией lock, а когда лицо появляется на threshold кадров - тому же скрипту кидает unlock.
Настраивается в исходнике, вот этими переменными:

int maxfails=120;
int unlockthrshld=10;
int framedelay = 100;
int capx = 320;
int capy = 240;


Сборка: make
Запуск: ./a.out ./haarcascade_frontalface_alt2.xml

На вход можно дать любой haart каскад, пусть хоть средний палец в камеру ищет.
В общем, пруф оф концепт, не более, все захардкожено и на хаках, на выходных причешу, добавлю возможность искать по нескольким каскадам (профиль и анфас).
Юзаю, чтобы ставить музыку на паузу, когда отхожу от компа, авось кому сгодится.

★★★★★

Последнее исправление: AiFiLTr0 (всего исправлений: 1)
Ответ на: комментарий от AiFiLTr0

если ты будешь натаскивать каскад только на свое лицо

В корне неверный подход. Надо классификацией заниматься: выделить общие черты, проанализировать детали. Тогда классификатор не только анфас, но и профиль, разные углы наклона морды и даже вид с затылка распознает.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Я имею в виду, что как positive сэмплы скармливать только свое лицо, а кучу других лиц с втентакля - как негатив сэмплы.

AiFiLTr0 ★★★★★
() автор топика
Ответ на: комментарий от AiFiLTr0

Хотя тут по хорошему надо делать Nested классификатор, сначала найти лицо, а потом уже делать матчинг свой/чужой.

AiFiLTr0 ★★★★★
() автор топика
Ответ на: комментарий от AiFiLTr0

Так какой все-таки fps получается? И детектирует ли он морду при вращении оной (скажем, вид на 110° от анфаса в горизонтальной плоскости)?

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.