certiface e a tecnologia intel no combate a fraude

25
Alessandro de Oliveira Faria (A.K.A. Cabelo) Certiface e a tecnologia Intel no combate a Fraude.

Upload: alessandro-faria

Post on 24-Jun-2015

224 views

Category:

Technology


0 download

DESCRIPTION

Certiface é um serviço que combate a fraude utilizando a tecnologia de reconhecimento facial. A sua solução é baseada em arquitetura Intel dos servidores aos tablets, devido ao uso de recursos de visão computacional e processamento de imagem com recursos intel como TBB, IPP e MKL junto a bibliotecas openCV e outros recursos de computação de alta performance.

TRANSCRIPT

Page 1: Certiface e a tecnologia Intel no combate a fraude

Alessandro de Oliveira Faria (A.K.A. Cabelo)

Certiface e a tecnologia Intel no combate a Fraude.

Page 2: Certiface e a tecnologia Intel no combate a fraude

ApresentaçãoApresentação

Ingressou­se aos 12 anos no mercado de tecnologia/inovação.

● Sócio fundador da NETi TECNOLOGIA;● Inventor da tecnologia Certiface;● 102 Artigos publicados na internet (Viva O Linux e outros);● Embaixador openSUSE na América Latina;● Experiência com Visão Computacional (openCV e GPU );

Page 3: Certiface e a tecnologia Intel no combate a fraude

Fraudadores: Briga de gato e rato!Fraudadores: Briga de gato e rato!

Page 4: Certiface e a tecnologia Intel no combate a fraude

SUPER

99,95%

O Certiface: Protege as pessoas O Certiface: Protege as pessoas

Page 5: Certiface e a tecnologia Intel no combate a fraude
Page 6: Certiface e a tecnologia Intel no combate a fraude

O Certiface: Obrigado Intel... O Certiface: Obrigado Intel...

Page 7: Certiface e a tecnologia Intel no combate a fraude

Certiface: Nasceu grande... Certiface: Nasceu grande...

Page 8: Certiface e a tecnologia Intel no combate a fraude
Page 9: Certiface e a tecnologia Intel no combate a fraude

PCL : Point Cloud LibraryPCL : Point Cloud Library

Page 10: Certiface e a tecnologia Intel no combate a fraude
Page 11: Certiface e a tecnologia Intel no combate a fraude
Page 12: Certiface e a tecnologia Intel no combate a fraude
Page 13: Certiface e a tecnologia Intel no combate a fraude
Page 14: Certiface e a tecnologia Intel no combate a fraude

$ unzip android­ndk­r4b­linux­x86.zip

Pronto o NDK esta instalado com sucesso!

Instalação e configuração NDK:Instalação e configuração NDK:

Page 15: Certiface e a tecnologia Intel no combate a fraude

public class HelloNDK extends Activity {   TextView txtHello;

   @Override   public void onCreate(Bundle savedInstanceState) {      super.onCreate(savedInstanceState);      setContentView(R.layout.main);

      txtHello = (TextView) findViewById(R.id.txtHello);      String hello = sayHello();      txtHello.setText(hello);      }

   public native String sayHello();   static {      System.loadLibrary("hellondk");      }} 

Page 16: Certiface e a tecnologia Intel no combate a fraude

$ cd ~/workspace/HelloNDK$ javah ­o hellondk.h ­classpath bin com.cabelo.hellondk.HelloNDK$ mkdir jni$ cp hellondk.h  jni/$ cd jni

$ vi hellondk.cpp

#include <hellondk.h>

JNIEXPORT jstring JNICALL Java_com_cabelo_hellondk_HelloNDK_sayHello(JNIEnv *env, jobject obj){     return env­>NewStringUTF("Hello, NDK!"); }

Page 17: Certiface e a tecnologia Intel no combate a fraude

PictureCallback rawCallback = new PictureCallback() {public void onPictureTaken(byte[] _data, Camera _camera) {[ … ] } };

voidJava_com_cabelo_GetFace_PreviewView_RgbToGray( JNIEnv*  env,       jobject  this, jbyteArray src, jintArray  dst ){

jboolean b;jint len;jbyte* srcPtr=(*env)­>GetByteArrayElements(env,src,&b);jint* dstPtr=(*env)­>GetIntArrayElements(env,dst,&b);len = (*env)­>GetArrayLength(env,src);RGB32toGray8(srcPtr, dstPtr, len);(*env)­>ReleaseByteArrayElements(env, src, srcPtr, 0);(*env)­>ReleaseIntArrayElements(env, dst, dstPtr, 0);

};

Page 18: Certiface e a tecnologia Intel no combate a fraude
Page 19: Certiface e a tecnologia Intel no combate a fraude

$ vi Application.mk

APP_ABI := armeabi armeabi­v7a x86

 $ /usr/local/share/android­ndk­r4b/ndk­build APP_ABI=all  Compile++ thumb: hellondk <= ~/HelloNDK/jni/hellondk.cpp SharedLibrary  : libhellondk.so Install        : libhellondk.so => ~/HelloNDK/libs/armeabi Compile++ thumb: hellondk <= ~/HelloNDK/jni/hellondk.cpp SharedLibrary  : libhellondk.so Install        : libhellondk.so => ~/HelloNDK/libs/armeabi­v7 Compile++ thumb: hellondk <= ~/HelloNDK/jni/hellondk.cpp SharedLibrary  : libhellondk.so Install        : libhellondk.so => ~/HelloNDK/libs/x86

Page 20: Certiface e a tecnologia Intel no combate a fraude

OpenCV for AndroidOpenCV for Android

10 x mais performático.http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/O4A_SDK.html

Page 21: Certiface e a tecnologia Intel no combate a fraude

https://www.threadingbuildingblocks.org/

https://software.intel.com/en-us/articles/using-intel-ipp-with-android-os

gmake tbb tbbmalloc target=android

https://software.intel.com/en-us/android/articles/android-tutorial-writing-a-multithreaded-application-using-intel-threading-building-blocks

TBB e IPP for AndroidTBB e IPP for Android

Page 22: Certiface e a tecnologia Intel no combate a fraude

FaceDetector face_detector = new FaceDetector(                background_image.getWidth(),               background_image.getHeight(), MAX_FACES);

faces = new FaceDetector.Face[MAX_FACES];face_count = face_detector.findFaces(background_image, faces);Log.d("Face_Detection", "Face Count: " +             String.valueOf(face_count));

https://software.intel.com/en-us/blogs/2013/10/28/implementing-face-detection-in-android

Detectar facesDetectar faces

Page 23: Certiface e a tecnologia Intel no combate a fraude
Page 24: Certiface e a tecnologia Intel no combate a fraude
Page 25: Certiface e a tecnologia Intel no combate a fraude

Obrigado...

[email protected]