Sei sulla pagina 1di 34

AGRADECIMENTOS

Apresentao

Com11anostornouseapaixonadopor

tecnologiae/ouinovao,sciofundadorda
NETI/OITITECHNOLOGIES,ingressousecomo
membrodacomunidadeVivaoLinuxnoanode
2003,em1997inicioupesquisacomLinuxe
BiometriaeinventordoCERTIFACE(tecnologia
paraprotegeraspessoasdobem).

Oquebiometria?

finaldosculoXIX

Custocomputacional

Oquebiometriafacial?

Compararumaou
maisfaces.

Oquebiometriafacial?
Nenhumatecnologiaperfeita...
NoiniciodoSculoXX(1903)casoWillWest.

Oquebiometriafacial?

SuperGmeos:openCVnaTVRecord

Biometrialivre
Existemalgunsobstculosemtecnologiasbiomtricasde
cdigoaberto.
(aprendizadoRNA,testepopulacional)

openCV

Demandatemporeal;

Rudo;

Ambiguidade;

Custocomputacional;

Evoluodevice.

openCV
Grande parte dos projetos de viso computacional
envolveoprojetoopenCV.
cmakeDCMAKE_BUILD_TYPE=Release\
DCMAKE_INSTALL_PREFIX='%{_prefix}'\
DCMAKE_SKIP_RPATH=ON\
DBUILD_TESTS=OFF\
DBUILD_PYTHON_SUPPORT=ON\
DINSTALL_C_EXAMPLES=ON\
DINSTALL_PYTHON_EXAMPLES=ON\
DLIB_SUFFIX=$(echo%{_lib}|cutb4)\
DENABLE_OMIT_FRAME_POINTER=OFF\
DWITH_QT=ON\
DWITH_OPENGL=ON\
DWITH_TBB=ON\
DWITH_UNICAP=ON\
DWITH_XINE=ON\
%ifnarchx86_64
DENABLE_SSE=0\
DENABLE_SSE2=0\
%endif

FaceTracker
Biblioteca para o rastreamento deformvel da face
escritoemC++usandoOpenCV.
https://github.com/kylemcdonald/FaceTracker
$gitclonehttps://github.com/kylemcdonald/FaceTracker
$cdFaceTracker/
$make
$cdbin
$./face_tracker

FaceTracker

openBR

openBR

FaceRecognitionVendorTest(FRVT)2012;

13posioemacuracidade;

2posioemvelocidadedeenroll(100ms);

3posiotamanhoamostragem;

2posioemestimativadesexo;

4posioemestimativadeidade.

openBR
CompilaoeDependncias:

OpenCV2.4.xx
(homologareiopenCV3.0.0)
QT5

openBR
Download:
$gitclonehttps://github.com/biometrics/openbr.git
Cloninginto'openbr'...
remote:Countingobjects:15307,done.
remote:Compressingobjects:100%(7611/7611),done.
remote:Total15307(delta8214),reused14260(delta7185)
Receivingobjects:100%(15307/15307),21.06MiB|79.00KiB/s,done.
Resolvingdeltas:100%(8214/8214),done.
Checkingconnectivity...done
$cdopenbr
$gitsubmoduleinit
$gitsubmoduleupdate

openBR
Compilao:
mkdirbuild
cdbuild
cmakeDCMAKE_BUILD_TYPE=Release..
TheCcompileridentificationisGNU4.8.1
TheCXXcompileridentificationisGNU4.8.1
CheckforworkingCcompiler:/usr/bin/ccworks
DetectingCcompilerABIinfodone
CheckforworkingCXXcompiler:/usr/bin/c++works
DetectingCXXcompilerABIinfo
DetectingCXXcompilerABIinfodone
Lookingforincludefilepthread.h
Lookingforincludefilepthread.hfound
Lookingforpthread_createinpthread
Lookingforpthread_createinpthreadfound
FoundThreads:TRUE
Configuringdone
Generatingdone
Buildfileshavebeenwrittento:

openBR
Compilao:
$makej4
#sudomakeinstall
$cd../scripts/
$./downloadDatasets.sh
$cd../build
$maketest

Epronto!

openBR
BiometrianoSHELL:Comparao
$bralgorithmFaceRecognitioncomparecabelo1.jpgcabelo3.jpg
SetalgorithmtoFaceRecognition
LoadingFaceRecognition
Comparingcabelo1.jpgandcabelo3.jpg
Enrollingcabelo1.jpgtocabelo1YG8hI4.mem
100.00%ELAPSED=00:00:00REMAINING=00:00:00COUNT=1
100.00%ELAPSED=00:00:00REMAINING=00:00:00COUNT=1
0.999997

openBR
BiometrianoSHELL:Comparao
$bralgorithmFaceRecognitioncomparecabelo1.jpgcabelo4.jpg
SetalgorithmtoFaceRecognition
LoadingFaceRecognition
Comparingcabelo1.jpgandcabelo4.jpg
Enrollingcabelo1.jpgtocabelo1YG8hI4.mem
100.00%ELAPSED=00:00:00REMAINING=00:00:00COUNT=1
100.00%ELAPSED=00:00:00REMAINING=00:00:00COUNT=1
0.814393

openBR
BiometrianoSHELL:Estimativa/idade
$bralgorithmAgeEstimationenrollcabelo1.jpgmetadata.csv
SetalgorithmtoAgeEstimation
LoadingAgeRegression
Enrollingcabelo1.jpgtometadata.csv
100.00%ELAPSED=00:00:00REMAINING=00:00:00COUNT=1
catmetadata.csv
File,Affine_0_X,Affine_0_Y,Affine_1_X,Affine_1_Y,Age,Confidence,DFFS,FTE,First_Eye_X
,First_Eye_Y,FrameNumber,FrontalFace_X,FrontalFace_Y,FrontalFace_Width,FrontalFace_H
eight,PossibleFTE,Second_Eye_X,Second_Eye_Y
cabelo1.jpg,193,203,332,203,47.5148,1,1099.32,false,193,203,0,112,96,307,307,true,33
2,203

openBR
BiometrianoSHELL:Estimativa/Sexo
$bralgorithmAgeEstimationenrollcabelo1.jpgmetadata.csv
SetalgorithmtoGenderEstimation
LoadingGenderClassification
Enrollingcabelo1.jpgtometadata.csv
100.00%ELAPSED=00:00:00REMAINING=00:00:00COUNT=1
$catmetadata.csv
File,Affine_0_X,Affine_0_Y,Affine_1_X,Affine_1_Y,Confidence,DFFS,FTE,First_Eye_X,Fir
st_Eye_Y,FrameNumber,FrontalFace_X,FrontalFace_Y,FrontalFace_Width,FrontalFace_Heigh
t,Gender,PossibleFTE,Second_Eye_X,Second_Eye_Y
cabelo1.jpg,193,203,332,203,1,1099.32,false,193,203,0,112,96,307,307,Male,true,332,2
03

openBR
C++Compilao
g++cpipeO2WallWD_REENTRANTfPIEDQT_NO_DEBUGDQT_GUI_LIBDQT_CORE_LIBI.
I.isystem/usr/include/qt5isystem/usr/include/qt5/QtGuiisystem
/usr/include/qt5/QtCoreI.I/usr/lib64/qt5/mkspecs/linuxg++oage.oage.cpp
g++Wl,O1oageage.olQt5GuiL/usr/lib64lQt5CorelGLlpthreadlopenbr
lopencv_core

openBR
C++Exemploestimativaidade
intmain(intargc,char*argv[])
{
br::Context::initialize(argc,argv);
QSharedPointer<br::Transform>transform=br::Transform::fromAlgorithm("AgeEstimation");
br::TemplatequeryA("./cabelo1.jpg");
queryA>>*transform;
printTemplate(queryA);
br::Context::finalize();
return0;
}

$./age
LoadingAgeRegression
100.00%ELAPSED=00:00:00REMAINING=00:00:00COUNT=1
cabelo1.jpgage:47

openBR
C++Exemploestimativasexo.
intmain(intargc,char*argv[])
{
br::Context::initialize(argc,argv);
br::Context::initialize(argc,argv);
QSharedPointer<br::Transform>transform=br::Transform::fromAlgorithm("AgeEstimation");
QSharedPointer<br::Transform>transform=br::Transform::fromAlgorithm("GenderEstimation");
br::TemplatequeryA("./cabelo1.jpg");
br::TemplatequeryA("./cabelo1.jpg");
queryA>>*transform;
queryB>>*transform;
printTemplate(queryA);
printTemplate(queryB);
br::Context::finalize();
br::Context::finalize();
return0;
return0;
}

$./gender
LoadingGenderClassification
100.00%ELAPSED=00:00:00REMAINING=00:00:00COUNT=1
cabelo1.jpggender:Male

openBR
C++ExemploVerificaoBiomtrica
intmain(intargc,char*argv[])
{
br::Context::initialize(argc,argv);
QSharedPointer<br::Transform>transform=br::Transform::fromAlgorithm("FaceRecognition");
QSharedPointer<br::Distance>distance=br::Distance::fromAlgorithm("FaceRecognition");
br::TemplatequeryA("./cabelo2.jpg");
br::TemplatequeryB("./cabelo1.jpg");
queryA>>*transform;
queryB>>*transform;
target>>*transform;
printTemplate(queryA);
printTemplate(queryB);
printTemplate(target);
floatcomparisonA=distance>compare(target,queryA);
floatcomparisonB=distance>compare(target,queryB);
printf("Genuinematchscore:%.3f\n",comparisonA);
printf("Genuinomatchscore:%.3f\n",comparisonB);
br::Context::finalize();
return0;
}

openBR
C++ExemploVerificaoBiomtrica
intmain(intargc,char*argv[])
{
$./verification
br::Context::initialize(argc,argv);
LoadingFaceRecognition
QSharedPointer<br::Transform>transform=br::Transform::fromAlgorithm("AgeEstimation");
100.00%ELAPSED=00:00:00REMAINING=00:00:00COUNT=1
br::TemplatequeryA("./cabelo1.jpg");
100.00%ELAPSED=00:00:00REMAINING=00:00:00COUNT=1
queryA>>*transform;
cabelo2.jpgeyes:(252,231)(357,225)
printTemplate(queryA);
asiatico1.jpgeyes:(103,158)(187,156)
br::Context::finalize();
cabelo1.jpgeyes:(193,203)(332,203)
return0;
Genuinematchscore:1,000
}
Impostormatchscore:0,155

Face3D
OpenSUSE 13.2 processando em tempo real imagens
em3dimenses
https://github.com/teknotus/depthview
https://github.com/teknotus/depthview/tree/kernelpatchfmt

$gitclonehttps://github.com/teknotus/depthview
cddepthview/
qmake
make
./depthview

openBR
Prlanamentodoopenhowold
Oficialmente no FISL 16 lano o desafio do desenvolvimento do
servio openhowold. Um webservice escrito em C/C++ para ser
consumidoemRestouSOAP.
Principaisdesafios:

Manterinfraestrutura(custo);
Interoperabilidade;
Cdigoaberto;
Conviteaosdesenvolvedores:

Visocomputacional;

Webservie(Gsoap,apacheeoutros)

Sugestescabelo@opensuse.org

Obrigado
Duvidas,criticasesugestesemcabelo@opensuse.org
Novidadesnobloghttp://assuntonerd.com.br

Potrebbero piacerti anche