3d object recognition with convolutional neural...

61
3D Object Recognition with Convolutional Neural Networks Autor: Albert Garc´ ıa Garc´ ıa — [email protected] Supervisores: Jorge Pomares Baeza — [email protected] Jos´ e Garc´ ıa Rodr´ ıguez — [email protected] 2016/06/06 Universidad de Alicante aster en Autom´ atica y Rob´ otica

Upload: lycong

Post on 26-Sep-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

3D Object Recognition withConvolutional Neural Networks

Autor:

Albert Garcıa Garcıa — [email protected]

Supervisores:

Jorge Pomares Baeza — [email protected]

Jose Garcıa Rodrıguez — [email protected]

2016/06/06

Universidad de Alicante

Master en Automatica y Robotica

Indice

1. Introduccion

2. Marco Teorico

3. Representaciones Volumetricas

4. Red Neuronal Convolucional para Reconocimiento de Objetos

5. Conclusion

1

Introduccion

Motivacion: SIRMAVED

3

Introduccion y Objetivos

• Reconocimiento de clases de objetos 3D

• Aproximacion tradicional con descriptores

• Deep Learning (aprendizaje de representaciones)

• Redes Neuronales Convolucionales

• Convolutional Neural Networks (CNNs)

• Mejoran por un amplio margen a metodos tradicionales

• Objetivos

• Analizar el marco teorico de las CNN

• Estudiar y proponer representaciones volumetricas 3D

• Disenar, implementar y testear una CNN 3D

4

Marco Teorico

Red Neuronal Tradicional

Input #1

Input #2

Input #3

Output

Hidden

layer

Input

layer

Output

layer

6

Redes Neuronales Convolucionales

Input volume Convolution∗ Activation∗ Pooling1 Output Volume

Convolutional Layer

−1 −1 −1 −1 −1

−1 −1 −1 −1 −1

−1 −1 8 −1 −1

−1 −1 −1 −1 −1

−1 −1 −1 −1 −1

7

Convolucion 2D

CGrayscale input: (256 × 256) × 1 channel

2D feature map

convolution filter

8

Convolucion 2.5D

R

G

B

DRGB-D input: (256 × 256) × 4 channels

2D feature map

convolution filter

9

Convolucion 3D

3D input: (256 × 64 × 32)

3D feature map

convolution filter

10

Representaciones Volumetricas

Representaciones Volumetricas Discretas

(a) Malla (b) Nube (c) Voxel Grid

12

Adaptando el dataset

Malla 3D CAD como punto de partida

13

Adaptando el dataset

Icosaedro truncado con centro en el objeto

14

Adaptando el dataset

Mapas de profundidad desde los vertices

15

Adaptando el dataset

Nubes de puntos a partir del z-buffer

16

Adaptando el dataset

Nube de puntos completa registrada

17

Tensores Fijo y Adaptativo

18

Medidas de Ocupacion

(a) Binaria (b) Densidad (c) Superficie

19

Ocupacion de Interseccion de Superficie

20

Experimentacion Temporal con Medidas de Ocupacion

103 104 105 106

10−6

10−4

10−2

100

102

Puntos

Tie

mp

o(s

)

20 40 60

10−6

10−4

10−2

100

102

Voxels

Tie

mp

o(s

)Binaria

Densidad

Superficie

21

Red Neuronal Convolucional paraReconocimiento de Objetos

Arquitectura

Data Layer

C(48, 3, 1) ReLU C(128, 5, 1) ReLU P(2,2) IP(1024) ReLU DP(0.5) IP(10)

Capa de Datos

23

Arquitectura

Data Layer

C(48, 3, 1)

ReLU C(128, 5, 1) ReLU P(2,2) IP(1024) ReLU DP(0.5) IP(10)

Capa de Convolucion (3 × 3, 1)

24

Arquitectura

Data Layer C(48, 3, 1)

ReLU

C(128, 5, 1) ReLU P(2,2) IP(1024) ReLU DP(0.5) IP(10)

Capa de Activacion (ReLU)

25

Arquitectura

Data Layer C(48, 3, 1) ReLU

C(128, 5, 1)

ReLU P(2,2) IP(1024) ReLU DP(0.5) IP(10)

Capa de Convolucion (5 × 5, 1)

26

Arquitectura

Data Layer C(48, 3, 1) ReLU C(128, 5, 1)

ReLU

P(2,2) IP(1024) ReLU DP(0.5) IP(10)

Capa de Activacion (ReLU)

27

Arquitectura

Data Layer C(48, 3, 1) ReLU C(128, 5, 1) ReLU

P(2,2)

IP(1024) ReLU DP(0.5) IP(10)

Capa de Pooling (2,2)

28

Arquitectura

Data Layer C(48, 3, 1) ReLU C(128, 5, 1) ReLU P(2,2)

IP(1024)

ReLU DP(0.5) IP(10)

Capa Completamente Conectada (1024 neuronas)

29

Arquitectura

Data Layer C(48, 3, 1) ReLU C(128, 5, 1) ReLU P(2,2) IP(1024)

ReLU

DP(0.5) IP(10)

Capa de Activacion (ReLU)

30

Arquitectura

Data Layer C(48, 3, 1) ReLU C(128, 5, 1) ReLU P(2,2) IP(1024) ReLU

DP(0.5)

IP(10)

Capa de Dropout (0.5)

31

Arquitectura

Data Layer C(48, 3, 1) ReLU C(128, 5, 1) ReLU P(2,2) IP(1024) ReLU DP(0.5)

IP(10)

Capa Completamente Conectada (10 neuronas de salida)

32

Mallas con ocupacion de densidad normalizada en red 2.5D

0 2,000 4,000

0

0.2

0.4

0.6

0.8

1

0.75

Iteration

Acc

ura

cyTensor Fijo

g32 (training)

g32 (validation)

g48 (training)

g48 (validation)

g64 (training)

g64 (validation)

0 2,000 4,000

0

0.2

0.4

0.6

0.8

1

0.78

Iteration

Acc

ura

cy

Tensor Adaptativo

g32 (training)

g32 (validation)

g48 (training)

g48 (validation)

g64 (training)

g64 (validation)

33

Matriz de Confusion

34

Confusiones

35

Simulacion de Ruido

36

Mallas con ocupacion de densidad normalizada (ruido)

10−2 10−1 100 101

0

0.2

0.4

0.6

0.8

1

Gaussian Noise (σ)

Acc

ura

cyTensor Fijo

g32

g48

g64

10−2 10−1 100 101

0

0.2

0.4

0.6

0.8

1

Gaussian Noise (σ)

Acc

ura

cy

Tensor Adaptativo

g32

g48

g64

37

Simulacion de Oclusion

38

Mallas con ocupacion de densidad normalizada (oclusion)

0 10 20 30

0

0.2

0.4

0.6

0.8

1

Occlusion (%)

Acc

ura

cyTensor Fijo

g32

g48

g64

0 10 20 30

0

0.2

0.4

0.6

0.8

1

Occlusion (%)

Acc

ura

cy

Tensor Adaptativo

g32

g48

g64

39

Malla adaptativa con ocupacion binaria en red 2.5D

0 1,000 2,000 3,000 4,000 5,000

0

0.2

0.4

0.6

0.8

10.85

Iteration

Acc

ura

cyTensor Adaptativo Binario

g32 (training)

g32 (validation)

g64 (training)

g64 (validation)

40

Malla adaptativa con ocupacion binaria (ruido y oclusion)

Tensor Adaptativo Binario

10−2 10−1 100 101

0

0.2

0.4

0.6

0.8

1

Gaussian Noise (σ)

Acc

ura

cy

g32

g64

0 10 20 30

0

0.2

0.4

0.6

0.8

1

Occlusion (%)

Acc

ura

cyg32

g64

41

Malla adaptativa con ocupacion binaria en red 3D

0 0.5 1 1.5 2 2.5

·104

0

0.2

0.4

0.6

0.8

1

Iteration

Acc

ura

cyTensor Adaptativo Binario

g32(training)

g32(validation)

42

Conclusion

Conclusiones

• Estudio teorico sobre las Redes Neuronales Convolucionales

• Estudio sobre frameworks y datasets existentes

• Estado del arte sobre Redes Neuronales Convolucionales 3D

• Estado del arte de representaciones volumetricas

• Propuesta de representaciones volumetricas

• Propuesta de arquitecturas 2.5D y 3D

• Estudio del efecto del ruido y oclusion en las redes

• Reconocimiento de objetos 3D con un 85% de acierto

44

Colaboraciones, Publicaciones y Estancias

• Colaboracion en el proyecto nacional SIRMAVED

(DPI2013-40534-R) del Programa Estatal de I+D+i

Orientada a los Retos de la Sociedad.

• Publicacion aceptada en congreso Core A: International

Joint Conference on Neural Networks (IJCNN 2016,

Vancouver). PointNet: A 3D Convolutional Neural Network

for Real-Time Object Class Recognition.

• iV&L Net Training School 2016: Integrating Vision and

Language: Deep Learning (Malta).

45

Trabajos Futuros

• Aceleracion del calculo de representaciones con CUDA

• Propuesta de representaciones volumetricas mas adecuadas

• Control mas estricto de overfitting (aumento de dataset)

• Experimentacion exhaustiva con la red 3D

• Despliegue de la red en un sistema con escenas reales

• Identificacion de pose de los objetos

46

3D Object Recognition withConvolutional Neural Networks

Autor:

Albert Garcıa Garcıa — [email protected]

Supervisores:

Jorge Pomares Baeza — [email protected]

Jose Garcıa Rodrıguez — [email protected]

2016/06/06

Universidad de Alicante

Master en Automatica y Robotica

Capa de Convolucion

input

hidden layer

47

Capa de Convolucion

input

hidden layer

48

Capa de Activacion

−2 0 2

−1

0

1

Sigm

−2 0 2

−1

0

1

Tanh

−2 0 2

−1

0

1

ReLU

49

Capa de Pooling

feature map

pooled map

50

Capa de Pooling

feature map

pooled map

51

Software

52

Dataset

10 clases, ≈ 4000 modelos de entrenamiento, ≈ 700 de test

53

Hardware

54

Hardware

OS Ubuntu 16.04 Xenial Xerus

Motherboard Asus X99-A

CPU Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz

3.3 GHz (3.6 GHz Turbo Boost) — 6 cores (12 threads)

GPU (visualization) NVIDIA GeForce GT730

96 CUDA cores — 1024 MiB of DDR3 Video Memory

GPU (deep learning) NVIDIA GeForce Titan X

3072 CUDA cores — 12 GiB of GDDR5 Video Memory

GPU (compute) NVIDIA Tesla K40c

2880 CUDA cores — 12 GiB of GDDR5 Video Memory

RAM 4 × 8 GiB Kingston Hyper X DDR4 2666 MHz CL13

Storage (Data) (RAID1) Seagate Barracuda 7200rpm 3TiB SATA III HDD

Storage (OS) Samsung 850 EVO 500GiB SATA III SSD

55

Tensor Fijo

Tamano de voxel fijo, la nube es escalada

56

Tensor Adaptativo

Tamano de voxel adaptativo, el tensor se adapta

57

Dropout Desactivado

58

Dropout Activado

××

×

59