scieee Science in your language
[es] (orig)

Técnicas de Machine Learning para conducción

Abstract

Este trabajo tiene como objetivo principal trabajar con un tema tan de moda como la inteligencia artificial aplicada a la conducción autónoma. Este campo es bastante amplio y existen multitud de problemas que se pueden resolver a través de la inteligencia artificial. En nuestro caso nos hemos centrado concretamente en el problema del cálculo de la profundidad de los elementos existentes en un campo visual. Para resolver dicho problema existen multitud de arquitecturas de redes neuronales convolucionales, todas ellas basadas en el procesamiento de un par de imágenes en estéreo. De este procesamiento se obtiene un mapa de disparidad que se puede traducir en una imagen que representa la distancia existente del coche a cada uno de los píxeles que la representa. Además, hemos tenido como objetivo utilizar OpenVINO, una herramienta que acelera la velocidad con la que se puede realizar inferencia sobre una red neuronal. Esto implica que todos los problemas que requieran de inteligencia artificial puedan tener una respuesta lo más rápida posible, uno de los puntos más críticos en este campo. Por otro lado, utilizar esta tecnología junto a elementos de cómputo vectorial de bajo consumo energético, como puede ser Movidius, puede ser una buena combinación para solventar el problema del consumo de energía por los elementos de cómputo hardware a bordo del vehículo. Teniendo en cuenta estos objetivos, nuestro trabajo primeramente trata sobre el estado del arte en cuanto a inteligencia artificial y sus subramas, conducción autónoma y tecnologías software que se utilizan para afrontar estos temas. Posteriormente presentamos el trabajo previo con redes neuronales de clasificación como primer acercamiento a nuestro objetivo principal. A continuación se expone el trabajo realizado con redes neuronales para cálculo de disparidad, sus resultados y uso con OpenVINO. Finalmente se realiza una conclusión acerca de los resultados obtenidos.

Read accessible full text

Técnicas de Machine Learning para conducción

Author: Cruz Casado, Álvaro de la; Oreja Valverde, Manuel; Pascua Piña, Alejandro; Robles Palencia, Marcos
Year: 2019
Source: https://docta.ucm.es/bitstreams/f2bf25b6-c707-49af-aa6c-6df58409fc57/download
Técnicas de Machine Lea ning pa a Conducción
Ál a o De La C uz Casado
Manuel O eja Val e de
Alejand o Pascua Piña
Ma cos Robles Palencia
Facul ad de In o má ica
Depa amen o de A qui ec u a de Compu ado es y Au omá ica
Uni e sidad Complu ense de Mad id
T abajo Fin de G ado en Ingenie ía In o má ica
Cu so 2018-2019
Di ec o es
Ca los Ga cía Sánchez
Guille mo Bo ella Juan
1
Es e documen o se dis ibuye bajo licencia C ea i e Commons A ibución-NoCome cial 4.0
In e nacional (CC BY-NC 4.0)
Us ed es lib e de:
- Compa i — copia y edis ibui el ma e ial en cualquie medio o o ma o
- Adap a — emezcla , ans o ma y cons ui a pa i del ma e ial
La licencian e no puede e oca es as libe ades en an o us ed siga los é minos de la
licencia, bajo los siguien es é minos:
- A ibución — Us ed debe da c édi o de mane a adecuada, b inda un enlace a la
licencia, e indica si se han ealizado cambios. Puede hace lo en cualquie o ma
azonable, pe o no de o ma al que sugie a que us ed o su uso ienen el apoyo de la
licencian e.
- NoCome cial — Us ed no puede hace uso del ma e ial con p opósi os come ciales.
- No hay es icciones adicionales — No puede aplica é minos legales ni medidas
ecnológicas que es injan legalmen e a o as a hace cualquie uso pe mi ido po la
licencia.
2
Ag adecimien os
A nues os di ec o es, D . Ca los Ga cía Sánchez y D . Guille mo Bo ella Juan, po deja nos
la libe ad de elegi po noso os mismos las di ec ices el p oyec o que que íamos ealiza ,y
deposi a la con ianza necesa ia en noso os pa a log a lo, así como su ayuda y dedicación
du an e es os meses.
3
ÍNDICE
Ag adecimien os 3
ÍNDICE 4
1.- In oducción 6
1.- In oduc ion 7
2.- Lis a de palab as cla e 8
3.- An eceden es 9
3.1.- In eligencia A i icial 9
3.2.- Deep Lea ning 11
3.3.- Redes Neu onales 13
3.4.- Conducción au ónoma 19
4.- Obje i os y plan de abajo 21
4.1.- Familia ización con edes neu onales 24
4.2.- Redes neu onales de clasi icación y de ección de obje os 26
4.2.1.- AlexNe 26
4.2.2.- VGG16 28
4.2.3.- GoogleNe 28
4.2.4.- Incep ion- 3 29
4.2.5.- ResNe 30
4.2.6.- ResNeX 31
4.2.7.- RCNN 31
4.2.8.- YOLO 32
4.2.9.- En enamien o e in e encia con edes neu onales pa a clasi icación de
obje os 32
4.3.- KITTI 36
4.4.- Redes de p edicción de dispa idad 38
4.4.1. - SegS e eo y CRL 40
4.4.2.- PSMNe 43
4.4.3.- MADNe 56
4.5.- Po abilidad y op imización del iempo de in e encia 62
4.5.1- PSMNET 64
4.5.2- MADNe 65
4.5.3- SegS e eo y CRL 66
4.5.4- Redes p e-en enadas de clasi icación de obje os 67
4.5.5- Red de clasi icación de obje os con ine- une 71
5.- Conclusiones y abajo u u o 73
4

5.- Conclusions and u u e wo k 75
6.- T abajo ealizado po cada in eg an e del g upo 77
Ál a o de la C uz Casado 77
Manuel O eja Val e de 79
Alejand o Pascua Piña 81
Ma cos Robles Palencia 83
7.- Anexos I Tecnologías u ilizadas 85
7.1.- Py hon 85
7.2.- Ca e 86
7.3.- Ke as 87
7.4.- Py o ch 88
7.5.- Tenso Flow 89
7.6.- Tenso RT 90
7.7.- CUDA 92
7.8.- OpenCL 94
8.- Bibliog a ía 95
5
1.- In oducción
Es e abajo iene como obje i o p incipal abaja con un ema an de moda como la
in eligencia a i icial aplicada a la conducción au ónoma. Es e campo es bas an e amplio y
exis en mul i ud de p oblemas que se pueden esol e a a és de la in eligencia a i icial. En
nues o caso nos hemos cen ado conc e amen e en el p oblema del cálculo de la
p o undidad de los elemen os exis en es en un campo isual. Pa a esol e dicho p oblema
exis en mul i ud de a qui ec u as de edes neu onales con olucionales, odas ellas basadas
en el p ocesamien o de un pa de imágenes en es é eo. De es e p ocesamien o se ob iene
un mapa de dispa idad que se puede aduci en una imagen que ep esen a la dis ancia
exis en e del coche a cada uno de los píxeles que la ep esen a.
Además, hemos enido como obje i o u iliza OpenVINO, una he amien a que acele a la
elocidad con la que se puede ealiza in e encia sob e una ed neu onal. Es o implica que
odos los p oblemas que equie an de in eligencia a i icial puedan ene una espues a lo
más ápida posible, uno de los pun os más c í icos en es e campo. Po o o lado, u iliza
es a ecnología jun o a elemen os de cómpu o ec o ial de bajo consumo ene gé ico, como
puede se Mo idius, puede se una buena combinación pa a sol en a el p oblema del
consumo de ene gía po los elemen os de cómpu o ha dwa e a bo do del ehículo.
Teniendo en cuen a es os obje i os, nues o abajo p ime amen e a a sob e el es ado del
a e en cuan o a in eligencia a i icial y sus sub amas, conducción au ónoma y ecnologías
so wa e que se u ilizan pa a a on a es os emas. Pos e io men e p esen amos el abajo
p e io con edes neu onales de clasi icación como p ime ace camien o a nues o obje i o
p incipal. A con inuación se expone el abajo ealizado con edes neu onales pa a cálculo
de dispa idad, sus esul ados y uso con OpenVINO. Finalmen e se ealiza una conclusión
ace ca de los esul ados ob enidos.
6
1.- In oduc ion
The main objec i e o his wo k is o wo k wi h a opic as ashionable as a i icial in elligence
applied o au onomous d i ing. This ield is qui e b oad and he e a e many p oblems ha
can be sol ed h ough a i icial in elligence. In ou case, we ha e ocused speci ically on he
p oblem o calcula ing he dep h o he exis ing elemen s in a isual ield. To sol e his
p oblem he e a e a mul i ude o con olu ional neu al ne wo k a chi ec u es, all based on he
p ocessing o a pai o images in s e eo. F om his p ocessing a dispa i y map is ob ained
ha can be ansla ed in o an image ha ep esen s he exis ing dis ance o he ca o each
o he pixels ha ep esen s i .
In addi ion, we ha e aimed o use OpenVINO, a ool ha accele a es he speed wi h which
in e ence can be made o e a neu al ne wo k. This implies ha all he p oblems ha equi e
a i icial in elligence can ha e an answe as quickly as possible, one o he mos c i ical
poin s in his ield. On he o he hand, using his echnology oge he wi h elemen s o ec o
compu ing o low ene gy consump ion, such as Mo idius, can be a good combina ion o
sol e he p oblem o ene gy consump ion by he elemen s o ha dwa e compu a ion on
boa d he ehicle.
In conside a ion o hese objec i es, ou wo k will i s alk abou he s a e o he a in e ms
o a i icial in elligence and i s sub-b anches, au onomous d i ing and so wa e echnologies
ha a e used o ace hese issues. La e we p esen he p e ious wo k wi h neu al ne wo ks
o classi ica ion as he i s app oach o ou main objec i e. Nex , he wo k done wi h neu al
ne wo ks o dispa i y calcula ion, i s esul s and use wi h OpenVINO is exposed and inally a
inal conclusion abou he ob ained esul s is made.
7
2.- Lis a de palab as cla e
● Ap endizaje P o undo - Deep Lea ning
● Red Neu onal - Neu al Ne wo k
● KITTI (Ka ls uhe Ins i u e o Technology and Toyo a Technological Ins i u e)
● Conducción Au ónoma - Au onomous D i ing
● Dispa idad - Dispa i y
● In e encia - In e ence
● OpenVINO - OpenVINO
● Redes Con olucionales - Con olu ional Neu al Ne wo ks
● Clasi icación - Classi ica ion
● Conjun o de Da os de En enamien o - T aining Da ase
8
Imagen de un pe cep ón mul icapa
3
Aun con los pe cep ones mul icapa, e a necesa io i ajus ando los pesos de cada neu ona
a mano, lo cual e a bas an e complicado. Pa a pode consegui que los pesos se ue an
ajus ando au omá icamen e y la ed ap endie a po sí misma, ue necesa io el empleo del
algo i mo de p opagación hacia a ás. En él, cuando se p oduce un allo al en ena (no se
ha de ec ado como pe sona a una imagen de una pe sona), e basas en las salidas
ob enidas y se ealizan cambios en los pesos de las neu onas de es a capa pa a que se
ajus e a la salida espe ada, con es os nue os pesos, se ajus an los pesos de la capa
an e io , y así sucesi amen e.
Aun con el algo i mo de p opagación hacia a ás, esul aba muy cos oso ajus a los pesos
de las neu onas, pues hay que eco da , que los pe cep ones ienen salidas bina ias y se
ac i an a pa i de un de e minado umb al, po lo que los posibles alo es de los pesos pa a
que se ob enga la salida deseada, son muy nume osos. Es o se acili ó en g an medida
g acias a un ipo de neu ona, las neu onas sigmoide, que en ez de p oduci salidas
bina ias, p oducían salidas eales en el in e alo [0, 1], siendo menos complejo el i
ajus ando los pesos.
3 

h ps://es.wikipedia.o g/wiki/A chi o:RedNeu onalA i icial.png
15

G á ica de un sigmoide
4
Las edes neu onales con olucionales son un ipo de edes neu onales empleadas
p incipalmen e en la isión po compu ado . Se dis inguen del es o po que son capaces de
busca ca ac e ís icas comunes en conjun os pequeños de en adas, lo que pe mi e en e
o as cosas, educi el núme o de neu onas necesa ias.
En las edes neu onales con olucionales hay dis in as capas:
● Capa de con olución: Se enca ga de ex ae ca ac e ís icas de la imagen, espe a la
elación espacial en e los píxeles. Pa a ello se aplica un il o sob e un conjun o de
píxeles y se ex aen las ca ac e ís icas.
4 

h ps://es.wikipedia.o g/wiki/A chi o:Funci%C3%B3n_sigmoide_01.s g
16
Imagen capa de con olución
5
● Rec i icado (ReLU): Es a capa, que se suele coloca después de las capas de
con oluciones, si e pa a ec i ica algunos alo es, se suele emplea la unción (x)
= max (0, x), que sus i uye los alo es nega i os po ce o. Con ello se consigue
mejo a el uncionamien o de la ed. Aunque és a es la unción ReLU más empleada
po se la más ápida, se pueden emplea o as unciones como la angen e
hipe bólica o la sigmoide.
● Capa de educción: En es e paso se educe el núme o de “píxeles”. Se puede hace
educción de a ias mane as, como el máximo, la media, suma… Siendo el máximo
el más empleado, ya que ha demos ado se el que mejo endimien o iene. La
educción empleando el máximo consis e en di idi la imagen en secciones más
pequeñas, y queda se con el elemen o máximo (se ha ía de igual modo si se
emplean los mé odos de la media o suma).
5 

h ps://commons.wikimedia.o g/wiki/File:3D_Con olu ion_Anima ion.gi
17
Imagen capa de educción empleando el máximo
6
● Capa de clasi icación: En es e paso se emplea una comple amen e conec ada, es
deci odas las salidas de la capa an e io se conec an con odas las neu onas de
es a capa. En es a capa hab á una neu ona po cada posible clase que pueda
iden i ica la ed.
6 h ps://commons.wikimedia.o g/wiki/File:Max_pooling.png
18
3.4.- Conducción au ónoma
La conducción au ónoma es un ema muy en auge ac ualmen e. Es di ícil no habe oído
habla de coches au ónomos, aquellos que son capaces de conduci se sin in e acción
humana. Pa a consegui es o, hacen al a di e en es senso es y he amien as capaces de
p ocesa oda esa in o mación.
Cabe des aca que los ehículos a con ol emo o, no se conside an au ónomos, ya que
necesi an de la in e acción de un humano (aunque es e no se encuen e den o del ehículo)
pa a ealiza cualquie acción.
Es impo an e sabe que hay di e en es ni eles de au onomía y qué ca ac e iza a cada uno,
ya que cuando piensas en un coche au ónomo, segu amen e le enga a la cabeza uno de
ni el 4 o 5, pe o hay más a iedad.
Según la SAE (Sociedad de Ingenie os de Au omoción), una sociedad que se enca ga de
c ea es ánda es pa a odo ipo de ehículos, pueden exis i 6 ni eles de au onomía en los
ehículos.
● Ni el 0, Sin au oma ización: El conduc o se enca ga de maneja el ehículo en odo
momen o, aunque haya sis emas de ale a.
● Ni el 1, Asis encia al conduc o : El conduc o maneja el ehículo, pe o hay sis emas
que pueden con ola la di ección o la elocidad en algunas si uaciones (Po ejemplo
un sis ema que man iene la elocidad del ehículo a 120 km/h).
● Ni el 2, Au oma ización pa cial: El conduc o maneja el ehículo, pe o hay sis emas
que pueden con ola la di ección y la elocidad en algunas si uaciones (Po ejemplo
un coche capaz de apa ca solo).
● Ni el 3, Au oma ización condicional: El ehículo es capaz de conduci se
au omá icamen e en cie as condiciones, pe o el conduc o ha de es a ale a po si
las condiciones cambian y ha de oma el con ol (Po ejemplo el ehículo pod á
conduci se solo si se ci cula po una au opis a con poco á ico, pe o el conduc o
end á que oma el con ol si es á ci culando po una calle en ob as).
● Ni el 4, Al a au oma ización: El ehículo es capaz de conduci se au ónomamen e en
p ác icamen e cualquie si uación, siendo capaz de de ec a lo que le odea, como
pea ones, y ac ua en consecuencia, aunque puede necesi a la in e ención del
conduc o , es capaz de con inua incluso si el conduc o no eacciona.
● Ni el 5, Au oma ización comple a: El ehículo es capaz de se conducido
au omá icamen e en odos los aspec os como si lo hicie a un conduc o , y no se
eque i á su in e ención en ningún momen o.
19
Pod ía deci se que el p ecu so de los coches au ónomos u o luga sob e la década de
1920, cuando en Es ados Unidos, la emp esa Houdina Radio Con ol hizo ci cula un ehículo
sin conduc o . Aunque es o oda ía no se conside a conducción au ónoma, ya que el
ehículo es aba con olado po con ol emo o median e adio po el coche que iba de ás,
despe ó aún más el in e és po los ehículos au onomos.
En 1939, No man Bel Geddes p esen ó en la Exposición Uni e sal de Nue a Yo k una
maque a con su idea sob e cómo se ía una ciudad en el u u o, en la que había mul i ud de
coches eléc icos que ci culaban de o ma au ónoma po las ca e e as. A pesa de se solo
una ida, hizo que muchas emp esas se in e esa an e in i ie an en el a ance de la
conducción au ónoma.
Ya en 1986, E ns Dickmanns, un ingenie o ae oespacial y p o eso uni e si a io en Munich,
que había dedicado los úl imos años a in en a consegui que los ehículos pudie an “ e ”,
diseñó y cons uyó el p ime ehículo au ónomo. Se a aba de una u gone a Me cedes a la
que había ins alado cáma as, senso es y o denado es pa a ealiza dicha a ea. Tan solo un
año más a de, y as las exi osas p uebas, consiguió el pe miso pa a que su u gone a
au ónoma ci cula a po una ca e e a acía en Alemania.
Ocho años más a de, en 1994 y g acias a los a ances de E ns en es e campo, consiguió el
pe miso de las au o idades de F ancia pa a ealiza una demos ación de sus a ances, es a
ez ealizando las modi icaciones sob e un Me cedes 500 SEL, el cual cí culo más de 1000
kilóme os po una ca e e a de ci cun alación gala llegando a alcanza los 130 km/h,
consiguió que el ehículo ci cula a po una ca e e a ansi ada e incluso adelan e a o os
coches.
Desde en onces, mul i ud de emp esas han a anzado en es e campo y han p obado su
mejo as, sin emba go, aún queda mucho que a anza y mucho po hace , an o a ni el
écnico, pa a que los ehículos sean capaces de ealiza un mayo núme o de a eas o
ealicen de mane a más e inada aquellas que ya hacen, como a ni el legisla i o.
En 2018 u o luga el p ime a opello mo al p oducido po un coche au ónomo, cuando una
pe sona c uzaba po mi ad de una ca e e a de noche (haciéndolo de mane a inadecuada, no
po un paso de ceb a). Es o no solo hizo que se e i a an pe misos pa a p uebas de ehículos
au ónomos en di e sos luga es, sino que ea i ó nume osas cues iones legales que aún no
es án con oladas, como cuál es el esponsable en caso de a opello, ¿es el ocupan e del
ehículo?, ¿lo es la emp esa que lo ab icó?, o ¿cómo debe ía eacciona el ehículo si ha de
oma una opción que pone en iesgo idas humanas?, si po ejemplo ci cula en sen ido
con a io o o ehículo con 4 pasaje os y la única o ma de e i a lo es in adi el ca il con iguo
en el que hay un ehículo con 1 solo pasaje o, ¿debe el coche au ónomo busca e i a el
mayo núme o de mue es?, ¿debe choca con a el ehículo que ci cula en sen ido con a io
(pues es el que ha come ido la in acción, a di e encia del ehículo de ca il con iguo que
ci cula de mane a adecuada)?, o ¿debe oma la decisión en la que más p obabilidades
enga de sob e i i su ocupan e?.
20

4.- Obje i os y plan de abajo
La conducción au ónoma y la in eligencia a i icial son unos de los mayo es ho opics de los
úl imos años. Poco a poco es án pasando a se las ecnologías del p esen e, y lo que no
nos cabe duda es que se án las ecnologías del u u o. Como se puede e en la cu a de
Ga ne , ac ualmen e es á en el máximo de las expec a i as. Po ello nos ha pa ecido muy
in e esan e o ien a nues o abajo sob e es os dos emas al mismo iempo, eniendo en
cuen a que la conducción au ónoma no se pod ía en ende sin in eligencia a i icial y los
g andes a ances ealizados el la úl ima década.
Cu a de de Ga ne
7
La in eligencia a i icial aplicada a la conducción au ónoma se u iliza pa a esol e múl iples
p oblemas, como po ejemplo, la de ección de pea ones. En nues o caso conc e o, nos
hemos cen ado en la clasi icación de obje os, necesa ia pa a que el ehículo sea capaz de
asocia lo que pe cibe con obje os conc e os, y en el p oblema del cálculo de la p o undidad
de los elemen os que apa ecen en las imágenes cap u adas po un pa de cáma as es é eo.
Es o nos pe mi e conoce la dis ancia a la que se encuen an del coche los obje os cap ados
po las cáma as, in o mación necesa ia pa a pode ealiza omas de decisiones po pa e
del ehículo. Pa a esol e es e p oblema exis en nume osas edes neu onales que a pa i
de un pa de imágenes ob enidas po un pa de cáma as en es é eo p edicen la dispa idad,
que es la dis ancia exis en e en e un elemen o que apa ece en la imágen izquie da
espec o la ubicación en la que se encuen a en la imágen de la de echa, o ice e sa. De
es a dis ancia podemos calcula la p o undidad y así ob ene la dis ancia a la que se
encuen a del coche. Po an o nues o p ime obje i o es amilia iza nos con las edes
7
h ps://medium.com/machine-lea ning-in-p ac ice/deep-lea nings-pe manen -peak-on-ga ne
-s-hype-cycle-96157a1736e
21
neu onales de clasi icación de obje os y las edes neu onales de dispa idad de imágenes en
es é eo, como base pa a pode desa olla el es o del abajo.
Se plan ean 2 líneas de abajo:
KITTI es la pla a o ma e e encia u ilizada po los desa ollado es de in eligencia a i icial
aplicada a la conducción au ónoma. En ella podemos encon a nume osas edes
neu onales que esuel en los di e sos p oblemas an e io men e comen ados, en e ellos la
p edicción de la dispa idad. Además de se i de eposi o io, es a pla a o ma si e como
benchma k, p opo cionando di e sos ankings di ididos en di e en es ca ego ías, siendo
una de ellas la de dispa idad en es é eo, en el que las mejo es edes se o denan con o me
al e o que ealizan al calcula la dispa idad. Se p opo cionan las he amien as necesa ias
pa a ealiza su benchma k y apa ece en el anking con una posición según los esul ados
ob enidos en él. Teniendo en cuen a es o, uno de los obje i os es es udia y ep oduci el
abajo ealizado sob e las di e en es edes neu onales pa a p edicción de dispa idad más
angua dis as, las cuales es án en es a pla a o ma. Incluyendo el en enamien o sob e
es as y la ejecución del benchma k del KITTI.
Ya que en los ehículos au ónomos es necesa io clasi ica los obje os que se de ec an pa a
pode oma decisiones en consecuencia, nos in e esa e cómo unciona es a pa e, po lo
que amos a ep oduci el uncionamien o de alguna ed neu onal de clasi icación de
obje os y compa a en e sí an o el iempo empleado como los esul ados a la ho a de
decidi a qué clase pe enece un obje o en una imagen pa a pode oma las decisiones
opo unas.
Po o o lado, debido a que es un campo ela i amen e nue o, hay a ios amewo ks en los
que se desa ollan las edes, y oda ía no hay es ánda es, esul a complicado pode usa
cualquie ed desde u disposi i o, ya que cada amewo k iene sus necesidades y
dependencias, po an o necesi as en o nos dispa es dependiendo del amewo k. Po o o
lado, la u ilización de edes neu onales aplicadas a la conducción au ónoma equie en de
una g an capacidad de cálculo, la cual no es posible ene en un coche, pues su consumo
de ene gía es muy ele ado. Sin emba go, sin una capacidad de cálculo ele ada es di ícil
consegui ob ene la p o undidad de los elemen os de una imagen en iempos de in e encia
muy educidos, uno de los equisi os necesa ios pa a que el ehículo sea capaz de
eacciona a iempo en e a cualquie si uación. Vamos a u iliza OpenVINO, que cub e
ambos aspec os mencionados: Po un lado, pasa las edes a un o ma o es ánda en el que
se pueden po a a dis in os ipos de ha dwa e de In el como CPU, GPU, FPGA y
disposi i os de bajo consumo como Mo idius, indis in amen e de en qué amewo k se
hayan c eado; y po o o lado op imiza los modelos pa a educi el iempo de in e encia.
Es o úl imo es bas an e in e esan e debido al equisi o an e io men e explicado ace ca de la
necesidad de una elocidad de in e encia muy al a. Po ello, o o de nues os obje i os es
u iliza las edes neu onales pa a clasi icación de obje os y pa a cálculo de dispa idad
publicadas en el KITTI sob e es a ecnología, lo cual, pa a es as úl imas, aún nadie ha
ealizado, y así medi su mejo a de elocidad de in e encia con OpenVINO. Además se
u iliza á Mo idius jun o con OpenVINO, pe mi iéndonos ambién en en a nos al equisi o del
limi ado uso de ene gía disponible pa a cómpu o, g acias a que Mo idius pe mi e ealiza
22
cálculos ec o iales con una po encia meno que una GPU pe o con un meno consumo de
ene gía.
A con inuación se enume a de una o ma esumida los obje i os p e iamen e explicados:
1. Toma de con ac o con Deep Lea ning y edes neu onales a a és de la ealización
de cu sos y documen ación online.
2. In e encia y en enamien o con edes neu onales pa a clasi icación de imágenes,
con el obje i o de amilia iza nos con el p oceso de en enamien o y ob ención de
esul ados as la clasi icación de una imagen.
3. Rep oducción del abajo ealizado po los desa ollado es de las edes neu onales
pa a p edicción de dispa idad publicadas en KITTI, incluyendo en enamien o de las
mismas y ealización de la in e encia en cada una de ellas pa a ob ene esul ados
compa ables según las mé icas del KITTI.
4. U ilización de OpenVINO sob e edes neu onales pa a clasi icación de obje os y
p edicción de dispa idad.
23
4.1.- Familia ización con edes neu onales
Se ealizan cu sos de deep lea ning pa a clasi icación y de ección de obje os pa a
comp ende mejo en qué se basan las ecnologías que amos a u iliza . En es os cu sos se
cub en aspec os undamen ales como: desc ip o es, clasi icado es, búsqueda y
e inamien o, y la e aluación del endimien o.
El p ocedimien o de de ec a un obje o en una imagen consis e en busca en la imagen
aquellas á eas que pueden se el obje o que se busca, y compa a las con un modelo de ese
obje o que comp uebe si se pa ece lo su icien e a él o no. Pa a ello, hay que c ea un
modelo que sea capaz de dis ingui en e di e en es ipos de obje os. Pa a que es e modelo
uncione co ec amen e, ha de se capaz de de ec a obje os que pe enecen a una misma
clase, aunque sean un poco dis in os en e sí, po ejemplo, si se es án de ec ando
pe sonas, debe ía se capaz de hace lo independien emen e de su amaño, colo de piel,
ipo de opa… Es o iene que hace se independien emen e de las ca ac e ís icas del
en o no en el que es á el obje o. Po ejemplo, si hay más o menos luz, una pe sona sigue
siendo una pe sona. Una ez enemos ese modelo, hay que busca odas las posibles
apa iciones en la imagen. Es e puede se un p oceso la go, po lo que hay que a a de
mejo a la e iciencia de la búsqueda odo lo posible. Du an e la búsqueda, se ex aen
ca ac e ís icas y se gene an posibles candida os del obje o que es amos buscando, se
clasi ican esos candida os pa a desca a aquellos que e dade amen e no se adap an al
modelo, y pos e io men e se e ina es a decisión pa a ob ene sólo aquellos que lo hacen
con una al a p obabilidad.
Como es amos abajando con imágenes, es impo an e sabe cómo es án compues as, po
píxeles. En una imagen a colo , un píxel iene 3 canales (RGB), el ojo, el e de y el azul,
po lo an o iene asociados 3 alo es (uno pa a cada canal) que an en e 0 y 255. Es os
alo es, y po an o el colo del píxel, pueden a ia de acue do con el colo de la luz, que
a ía dependiendo de las longi udes de onda que la componen, de las supe icies que
apa ecen en la imagen, que abso ben y e lejan en dis in as p opo ciones las longi udes de
onda de la luz, y de la sensibilidad de la cáma a, la cual iene 3 senso es, uno pa a cada
canal RGB y dependiendo de cómo es én calib ados el colo puede a ia .
Pa a ex ae las ca ac e ís icas se emplean desc ip o es, que nos indican si han encon ado
o no las ca ac e ís icas p opias del modelo, buscadas en la imagen. Es impo an e que
es os desc ip o es uncionen bien en odos los casos posibles. Pa a ello hay que ene en
cuen a que la in ensidad puede cambia , y si no se a a adecuadamen e, puede hace que
nues o desc ip o no uncione co ec amen e. Una o ma sencilla de hace es o, es usa las
coo denadas c omá icas, que consis e en di idi cada canal RGB, po la in ensidad (la
suma de los canales). O a posibilidad es que el haya cambios de colo p oducidos po la
luz o la cáma a, es o se puede minimiza haciendo que la imagen sea una imagen canónica,
que simula que la imagen se ha omado con una luz con olada. Pa a ello hay que aplica un
il o la imagen an es analiza la. Uno de es os algo i mos es el whi e pa ch, que asume que
el colo máximo en cada canal se co esponde con el blanco, y adap a el es o en
24
4.2.6.- ResNeX
ResNeX se conside a el es ado del a e en cuan o a econocimien o de obje os. En la
siguien e imagen se obse a la compa a i a en e ResNe , la ed an e io men e comen ada,
y ResNeX (izquie da y de echa espec i amen e):
Imagen de compa ación en e ResNe y ResNeX
14
4.2.7.- RCNN
RCNN (Region Based CNN) ealiza la de ección de obje os de la siguien e mane a: aza
una se ie de á eas den o de la imagen, y después in en a econoce los obje os que hay en
cada una de las mismas. En la siguien e imagen se puede obse a su uncionamien o:
Funcionamien o ed RCNN
15
14
h ps://www.analy ics idhya.com/blog/2017/08/10-ad anced-deep-lea ning-a chi ec u es-da
a-scien is s/
15
h ps://www.analy ics idhya.com/blog/2017/08/10-ad anced-deep-lea ning-a chi ec u es-da
a-scien is s/
31

4.2.8.- YOLO
YOLO di ide la imagen en celdas, y después analiza cada celda pa a iden i ica a qué
pe enece. Una ez ha clasi icado las celdas, las a usionando pa a o ma celdas más
g andes que ep esen en los obje os inales iden i icados. Su uncionamien o es el siguien e:
Funcionamien o ed YOLO
16
4.2.9.- En enamien o e in e encia con edes neu onales pa a
clasi icación de obje os
El abajo con edes neu onales pa a clasi icación de obje os consis e en en ena e in e i
di e en es edes.
Es e abajo es ealizado sob e una máquina Debian, 8 co es AMD Op e on y 16GB de
RAM, la cual no dispone de GPU. En ella hay con igu ada un ambien e p o eído
p incipalmen e de Py hon y Ke as, que u iliza con backend Tenso Flow. La e sión de
Tenso low que se ins ala po de ec o emplea el conjun o de ins ucciones SSE4.1. Debido a
es a limi ación, pues o que el p ocesado empleado no sopo a ese epe o io de
ins ucciones, como solución se u iliza una e sión de Tenso Flow que no u ilice dichas
ins ucciones, como es la 1.5.
Po un lado, en cuan o en el en enamien o, se u iliza una implemen ación de AlexNe sob e
Ke as u ilizando 100 épocas. Las épocas son el núme o de eces que se ealiza el
en enamien o de una ed u ilizando una única ez cada imagen del da ase . A mayo
núme o de épocas, se ob iene una ed en enada con una p ecisión supe io , debido a que
se uel e a ealiza un ajus e de los pesos que hacen que la ed se adap e mejo a la ho a
de in e i sob e el da ase empleado. Empleando es as 100 épocas con un amaño de lo e o
ba ch size de 128, siendo el iempo de inalización excesi o, implica consegui el 10% del
o al en dos días. Pa a sol en a es o, el p oceso de en enamien o cons a de 10 épocas y
16
h ps://www.analy ics idhya.com/blog/2017/08/10-ad anced-deep-lea ning-a chi ec u es-da
a-scien is s/
32
un ba ch-size de 16, educiendo así conside ablemen e el iempo eque ido a dos días. T as
inaliza el p oceso de en enamien o, se lle a a cabo una e aluación de la ed y el
gua dado de la opología y pesos, pe mi iéndonos ol e a ca ga y usa la ed sin
necesidad de ol e a en ena . Además, el modelo u ilizado es una modi icación en la que
su úl ima capa iene 10 salidas, debido a que el da ase que a a se u ilizado cons a
únicamen e de 10 clases.
Ejemplo de una secuencia de en enamien o pa a 5 épocas
Pa a el en enamien o se u iliza el da ase CIFAR-10. Es o es debido a que en el ambien e
de desa ollo u iliza o os da ase s an g andes como Imagene supond ía un aumen o en el
iempo necesa io y una mayo ocupación de disco du o no disponible. Siendo 150 GB el
amaño eque ido pa a ImageNe , mien as que CIFAR-10 equie e de 170 MB. Dicho
da ase cons a de 60000 imágenes de amaño 32x32 a colo , di ididas en 10 clases, con un
o al de 6000 imágenes po clase. De en e odas es as imágenes, hay 50000 pa a en ena
las edes neu onales, y 10000 pa a ealiza el pos e io es eo de la e icacia de las mismas.
Las 50000 o os de en enamien o se di iden en 5 lo es de 10000. Hay 10 clases de
imágenes: A iones, Au omó iles, Pája os, Ga os, Cie os, Pe os, Ranas, Caballos, Ba cos
y Camiones. No odas las ca ego ías son aplicables a la conducción au ónoma, que es el
campo que nos compe e, pe o pa a una p ime a oma de con ac o nos pa eció un da ase
muy comple o. El lo e de imágenes pa a es ea las edes con iene 1000 elegidas
alea o iamen e de cada clase, mien as que los lo es de en enamien o con ienen las
imágenes no seleccionadas, en o den alea o io.
33
Cap u a de la web de CIFAR10 con las ca ego ías exis en es y 10 imágenes alea o ias de
cada ca ego ía
17
Po o o lado, en cuan o a la in e encia se u ilizan edes neu onales p e-en enadas sob e
Imagene y p opo cionadas po Ke as, como es el caso de VGG-16. Además de es as edes
p e-en enadas, e in ie e adicionalmen e sob e la ed en enada an e io men e, u ilizando la
opología y pesos p e iamen e ob enidos. Pa a la ealización de in e encia se u ilizan
imágenes alea o ias, no pe enecien es a ningún da ase en conc e o.
En cuan o a los esul ados, al habe es ado en enados sob e da ase di e en es, debido a la
limi ación de iempo y espacio p e iamen e explicada, no podemos compa a la p ecisión
con la que clasi ican, pe o sí la elocidad a la que lo hacen y la especi icidad con la que lo
hacen.
Los esul ados en cuan o a iempos de in e encia son los siguien es:
Red
Tiempo de in e encia sob e una imagen (en
segundos)
VGG-16
1.330
AlexNe
0.670
17 h ps://alexisbcook.gi hub.io/2017/using- ans e -lea ning- o-classi y-images-wi h-ke as/
34
Podemos obse a que, a pesa de que VGG-16 es una ed que pod ía es a op imizada
pa a Ke as, debido a que es á implemen ada po sus p opios desa ollado es, iene unos
iempos de in e encia muy in e io es espec o a AlexNe , la cual ha sido desa ollada a pa i
de una implemen ación no o icial. Es o es p oducido po la p opia na u aleza y a qui ec u a
de la ed. VGG-16 es á compues a po un núme o de capas igual a 16 y más complejas que
AlexNe , que dispone de la mi ad de capas y siendo es as más simples. Es o da luga a que
AlexNe sea más ápida.
En cuan o a la especi icidad de la ed, VGG-16 es supe io a AlexNe , debido a que ha sido
en enada sob e ImageNe , que cons a de 1000 clases, mien as que CIFAR-10 sólo de 10.
Pa a la siguien e imagen, VGG-16 es capaz de de ec a que es un coche depo i o,
mien as que AlexNe sólo de ec a que se a a de un au omó il.
Imagen u ilizada pa a el es eo de las edes
18
18 

h ps://www.elmundo.es/mo o /2018/07/30/5b5e 0ee22601d5b158b459e.h ml
35
4.3.- KITTI
19
KITTI es una sui e de da ase s ecopilados po una pla a o ma de conducción au ónoma
llamada Annieway, un p oyec o del Ins i u o de Tecnología Ka ls uhe y el Ins i u o
Tecnológico de Chicago. Dichos da ase s se pueden emplea en isión en s e eo, op ical
low, isual odome y, 3D objec de ec ion and 3D acking (empleamos los é minos en inglés
ya que es os é minos son usados en español ambién). Po o o lado, las imágenes son
omadas desde un coche equipado con dos cáma as de ídeo de al a esolución en colo y
en escala de g ises. Pa a p opo ciona una mayo e acidad en cuan o a la dis ancia del
suelo, se emplea un láse Velodyne y un sis ema GPS de localización. Todas las imágenes
se oman en la ciudad de Ka ls uhe, en á eas u ales y en au opis as. En cada imagen se
pueden encon a has a un máximo de 15 coches y 30 pea ones. Apa e de p opo ciona
odas las imágenes en b u o, ambién se p opo cionan benchma ks especí icos pa a cada
a ea, añadiendo ambién mé icas de e aluación y una web pa a e alua lo ob enido.
Plano del coche u ilizado en la ecolección de imágenes del da ase
20
19 h p://www.c libs.ne /da ase s/ki i/
20 

h p://www.c libs.ne /da ase s/ki i/se up.php
36

Imágen del coche u ilizado pa a la ecolección de imágenes del da ase
21
Decidimos p o undiza ambién en el concep o de la dispa idad an es de me e nos en
ma e ia.
21 

h p://www.c libs.ne /da ase s/ki i/se up.php
37
4.4.- Redes de p edicción de dispa idad
Los se es humanos enemos un sis ema isual capaz de e en es dimensiones. Es o es
posible g acias a la isión binocula . Dicha isión es gene ada debido a que nues os ojos
mi an a un mismo obje o desde ángulos lige amen e dis in os (debido a la pequeña
sepa ación que exis e en e ellos). Como esul ado, se ob ienen dos imágenes muy
pa ecidas, pe o no iguales. La dispa idad binocula es la di e encia en e los dos pun os de
is a de ambos ojos. Dicha di e encia es la que pe mi e c ea imágenes 3D en supe icies
llanas. Hablando de dispa idad, podemos encon a dos ipos: c uzada y no c uzada: En la
dispa idad c uzada el obje o que e el ojo es á más ce ca que el pun o de ijación, mien as
que en la no c uzada el obje o es á más alejado que dicho pun o.
De es os concep os, nace la es imación de la p o undidad de obje os en una escena,
pa iendo de un pa de imágenes (es é eo). De es as dos imágenes podemos calcula la
dispa idad pa a así ob ene la p o undidad, u ilizando la ó mula desc i a en la imágen in e io .
Es a dispa idad calculada p opo ciona la p o undidad de cada píxel en cada una de las
imágenes. Dicho cálculo se ealiza de ec ando qué píxeles de la imagen de la izquie da
co esponde con los pixeles de la de echa, o ice e sa, pa a así calcula la dis ancia en e
ambos, la llamada dispa idad. A es e p oblema se le conoce como S e eo Ma ching. A pa i
de la dispa idad y o os pa áme os cuyo alo es ya conocemos, como la dis ancia ocal o la
línea base, podemos es ima la p o undidad. Los algo i mos que calculan dicha dispa idad,
asumen que las imágenes es án ec i icadas, lo que signi ica que los planos de ambas
imágenes son pa alelos en e sí y a la di ección en la que exis e el desplazamien o de las
imágenes. Es o es ga an izado en la o ma de ob ene las imágenes. Pe o puede da se el
caso de que exis an oclusiones, pun os o egiones que se en en una imagen y no en la o a
po es a apadas po un obje o. Es as oclusiones son uen e de e o es en muchos
algo i mos, pe o a su ez pueden se usadas pa a ecupe a la es uc u a de la escena y
da nos mucha in o mación esencial sob e la misma.
38
Cálculo de la dispa idad y elación con línea base (B), dis ancia ocal ( ) y p o undidad (z)
22
Una ez ealizado odo es o, pasamos a ealiza uno de los obje i os de es e abajo:
ealiza el en enamien o e in e encia de dis in as edes con es e p opósi o.
En el apa ado de S e eo E alua ion 2015 de la web de KITTI
(h p://www.c libs.ne /da ase s/ki i/e al_scene_ low.php?benchma k=s e eo) encon amos
las edes neu onales más ac uales en cuan o a isión en es é eo se e ie e. De ellas se han
desca ado aquellas sin ninguna e e encia a páginas del desa ollado , y aquellas cuyo
código no es á accesible en un eposi o io público, pues o que nues o obje i o es e alua
las mismas. Nos quedamos con 30 edes un 15% de las 200 edes que apa ecen, de las
cuales no odas publican el código pa a en ena la ed (algunas emplean capas
desa olladas po emp esas p i adas y no quie en hace público el código) o no ienen una
implemen ación pa a ealiza la in e encia. A con inuación se de allan las edes con las que
pudimos abaja .
22
h ps://answe s.openc .o g/ques ion/187734/de i a ion- o -pe spec i e- ans o ma ion-ma ix
-q/
39
4.4.1. - SegS e eo y CRL
La p ime a ed obje o de es udio es SegS e eo. Pues o 37 KITTI-S e eo (du an e el
desa ollo del abajo).
Dicha ed emplea ca ac e ís icas semán icas de segmen ación pa a que su implemen ación
mejo e la p ecisión de la p edicción en mapas de dispa idad. Según se puede obse a en
su pape , es una ed que alcanza esul ados buenos den o del es ado del a e con el
benchma k S e eo del KITTI, y ambién lo han p obado con los da ase s de Ci yScapes y
FlyingThings3D ob eniendo esul ados decen es.
U ilizan ResNe (de la cual hablamos an e io men e) con ope ación de co elación como
codi icado , y a ios bloques decon olucionales como decodi icado pa a ol e a un mapa
de dispa idad de oda la imagen. La ope ación de co elación es á diseñada pa a calcula
los pesos de coincidencias basándose en pa es de mapas de ca ac e ís icas. Emplean
además una sub ed de segmen ación pa a ex ae ca ac e ís icas semán icas de la
dispa idad. Tan o la e aluación semán ica como la dispa idad semán ica son o almen e
con olucionales.
Su modelo pe mi e an o en enamien o supe isado como no supe isado. En el
ap endizaje no supe isado, la pé dida de consis encia o omé ica y la semán ica se
calculan y se p opagan hacia a ás en la ed.
En el ap endizaje supe isado, emplean la pé dida de eg esión supe isada en luga de la
pé dida de consis encia o omé ica no supe isada, consiguiendo así los esul ados en el
KITTI an es comen ados. Emplean un ine une (en enamien o de una ed pa iendo de
pesos ya exis en es) pa a ealiza los es s después con los da ase s de Ci yScapes y
FlyingThings3D.
Su implemen ación es á hecha en Ca e, y de en e sus capas, no odas son o iginales
suyas, ya que emplean dos capas de la FlowNe 2.0 (la de co ela ion y co ela ion1d) y una
de PSPNe (la de in e polación). Así mismo, la he amien a pa a dispa idad es del Toolki de
Op icalFlow de li uo eng

(h ps://gi hub.com/li uo eng/Op icalFlowToolki )
El p oyec o de SegS e eo se puede encon a en Gi hub. Dicho p oyec o dispone de un
sc ip en Py hon pa a e alua la dispa idad de la ed. A dicho sc ip se le pasan como
pa áme o los pesos de la ed en enada, los cuales podemos encon a en a ios enlaces a
Google D i e que apa ecen en el eposi o io; el modelo de la ed, que podemos encon a
den o de la ca pe a models/ y en el di ec o io de la ed co espondien e; el di ec o io con
las imágenes a e alua (las cuales no se p opo cionan di ec amen e en el eposi o io); el
di ec o io pa a olca la salida; y o os pa áme os adicionales.
Pa a pode en ena la ed y llega a ealiza la in e encia, es necesa io ene Ca e ins alado
en su e sión GPU, pues o que a ias de sus capas no es án sopo adas en la e sión del
40
Basic
50
0
0.344629
0.226702
0.326991
Basic
100
0
0.300079
0.185429
0.282932
Basic
150
0
0.327358
0.200405
0.308371
Basic
200
0
0.304922
0.186698
0.287240
Basic
200
20
0.030800
0.042024
0.032479
Basic
200
60
0.027524
0.026481
0.027368
Basic
200
100
0.023689
0.021512
0.023364
S ackedhou glass
10*
0
0.588933
0.658463
0.599332
S ackedhou glass
10*
1000
0.009653
0.001704
0.008464
E o p omedio de dispa idad sob e KITTI sin ene en cuen a oclusión
Modelo
N.º de
épocas
u ilizadas pa a
en enamien o
N.º de
épocas
u ilizadas
pa a
ine une
FG
BG
ALL
Basic
50
0
0.340618
0.220339
0.322851
Basic
100
0
0.296492
0.176746
0.278804
Basic
150
0
0.322555
0.189452
0.302894
Basic
200
0
0.300126
0.176827
0.281913
Basic
200
20
0.029239
0.036111
0.030254
Basic
200
60
0.026123
0.023112
0.025678
Basic
200
100
0.022499
0.017337
0.021736
S ackedhou glass
10*
0
0.586312
0.650923
0.595856
S ackedhou glass
10*
1000
0.008916
0.001490
0.007819
*El núme o de épocas ealizadas en es as edes es sob e SceneFlow comple o, no sob e el
subda ase D i ing de SceneFlow como hemos ealizado con el modelo básico.
47

A con inuación se mues a una g á ica de la compa ación pa a PSMNe de los esul ados
ob enidos con oclusión y sin oclusión.
PSMNe
Leyenda
Signi icado
Basic 50 epoch
PSMNe en enada con su modelo básico con 50 épocas sob e el
subda ase SceneFlow llamado D i ing.
Basic 100 epoch
PSMNe en enada con su modelo básico con 100 épocas sob e el
subda ase SceneFlow llamado D i ing.
Basic 150 epoch
PSMNe en enada con su modelo básico con 150 épocas sob e el
subda ase SceneFlow llamado D i ing.
Basic 200 epoch
PSMNe en enada con su modelo básico con 200 épocas sob e el
subda ase SceneFlow llamado D i ing.
Basic ine uned 20
epoch
PSMNe as hace ine- une con 20 épocas sob e la ed en enada
con 200 épocas sob e el modelo básico u ilizando el da ase del
KITTI.
Basic ine uned 60
epoch
PSMNe as hace ine- une con 60 épocas sob e la ed en enada
con 200 épocas sob e el modelo básico u ilizando el da ase del
KITTI.
Basic ine uned 100
epoch
PSMNe as hace ine- une con 100 épocas sob e la ed
en enada con 200 épocas sob e el modelo básico u ilizando el
da ase del KITTI.
S ackedhou glass
(da ase
SceneFlow)
PSMNe en enada con su modelo S acked-Hou glass con 10
épocas sob e el da ase SceneFlow comple o.
S ackedhou glass
(da ase KITTI)
PSMNe as hace ine- une con 1000 épocas sob e la ed
en enada con 10 épocas sob e el modelo S acked-Hou glass
u ilizando el da ase del KITTI.
48
Resul ados gene ales con oclusión. En el eje x se disponen las di e en es edes u ilizadas y
en el eje el e o medio de p edicción de dispa idad con oclusión.
Resul ados gene ales sin oclusión. En el eje x se disponen las di e en es edes u ilizadas y
en el eje el e o medio de p edicción de dispa idad sin oclusión.
49
Resul ados pa a o eg ound con oclusión. En el eje x se disponen las di e en es edes
u ilizadas y en el eje el e o medio de p edicción de dispa idad con oclusión en p ime plano
de la imagen.
Resul ados pa a o eg ound sin oclusión. En el eje x se disponen las di e en es edes
u ilizadas y en el eje el e o medio de p edicción de dispa idad sin oclusión en p ime plano
de la imagen.
50
Resul ados pa a backg ound con oclusión. En el eje x se disponen las di e en es edes
u ilizadas y en el eje el e o medio de p edicción de dispa idad con oclusión en el ondo de
la imagen.
Resul ados pa a backg ound sin oclusión. En el eje x se disponen las di e en es edes
u ilizadas y en el eje el e o medio de p edicción de dispa idad sin oclusión en el ondo de
la imagen.
51
Resul ados pa a oda la imagen con oclusión. En el eje x se disponen las di e en es edes
u ilizadas y en el eje el e o medio de p edicción de dispa idad con oclusión oda la imagen.
Resul ados pa a oda la imagen sin oclusión. En el eje x se disponen las di e en es edes
u ilizadas y en el eje el e o medio de p edicción de dispa idad sin oclusión oda la imagen.
Teniendo en cuen a los esul ados ob enidos con las edes PSMNe , an o pa a el modelo
S ackHou glass como pa a el modelo Básico, se puede obse a cómo hay una g an
di e encia en e las edes sob e las que se ha ealizado un ine- une con el da ase del
KITTI, mejo ando los esul ados sob e el mismo signi ica i amen e. Po o o lado, dado las
limi aciones su gidas, no ha sido posible en ena en igualdad de condiciones la ed
en enada Básica y la ed p e-en enada S ackHou glass. Po ello, compa a ambas edes
52

de una o ma impa cial es imposible, sin emba go, se puede comp oba que la ed Básica
p esen a un e o p omedio de dispa idad algo supe io a los de S ackHou glass, debido a
que no se ha ealizado an as épocas sob e el da ase KITTI y p obablemen e ambién a
que la ed es más simple. A pesa de habe ealizado un mayo núme o de épocas, como el
da ase de en enamien o sob e SceneFlow no ha sido el mismo, los esul ados no hab ían
sido compa ables de igual modo. Sin emba go, se apo a algo nue o, que son esul ados de
la ed Básica con los di e sos en enamien os y ine- une sob e KITTI eniendo en cuen a
nues as limi aciones. Además se p opo cionan edes PSMNe con modelo Básico ya
en enadas. Es as edes es án en enadas con un mayo núme o de épocas en SceneFlow,
en compa ación con la ed S ackHou glass p e-en enada y publicada en su eposi o io, po
lo que se iene una ed no en enada sob e el KITTI con mejo es esul ados cuando
pos e io men e se in ie e sob e un da ase elacionado con la conducción, como es el KITTI.
Teniendo en cuen a los esul ados con y sin oclusión, se puede comp oba que sin oclusión
el e o disminuye, algo o almen e lógico, ya que no iene en cuen a las zonas en las que
una cáma a del pa es é eo no es capaz de isualiza y la o a sí. En cuan o a la di e encia
en e el e o en e el ondo de la imágen y el p ime plano, en es e úl imo es meno en
odos los casos. Ambos compo amien os po odas las edes publicadas en el KITTI.
Po o o lado, los iempos de in e encia en cada modelo son di e en es. Analiza es os
iempos puede se in e esan e pa a comp oba cómo de ápido son y si es iable u iliza los
en un caso eal. Los esul ados son:
● Con el modelo S ackedHou glass se consigue un iempo o al de 111.69 segundos
segundos, lo que quie e deci que ha a dado una media de 0.5545 segundos en
cada imagen. Implicando una asa de ames de 1.8034 FPS.
● Con el modelo Básico se consigue un iempo o al de 89.72 segundos segundos, lo
que quie e deci que ha a dado una media de 0.4486segundos en cada imagen.
Implicando una asa de ames de 2,2291 FPS.
Con es os esul ados se puede conclui que el modelo básico mejo a espec o del modelo
S acked Hou glass, siendo un 1,2448 más len o que el modelo básico, es deci , el modelo
Básico es un 24 % más ápido. Po es o, se puede conclui que el modelo Básico es
supe io en cuan o a elocidad de in e encia.
En cuan o a la asa de ames, como se puede obse a , ninguno de los dos modelos son
iables sob e nues o en o no de p uebas pa a casos eales, necesi ando un mínimo de 16
FPS. 1.8034 y 2.2291 es án muy dis anciados del mínimo necesa io.
A con inuación se adjun a una abla esumen con los esul ados de los iempo ob enidos
du an e la in e encia con los modelos de la ep oducción.
53
Modelo
Tiempo o al
(segundos)
Tiempo po imágen
F ames po
segundo (FPS)
S acked-Hou glass
111.69
0.5545
1.8034
Basic
89.72
0.4486
2,2291
Finalmen e se p esen a los esul ados publicados po el KITTI y se compa a con los
esul ados ob enidos p e iamen e en nues a ep oducción. En es e caso sólo se iene en
cuen a la ed Básica y S ackHou glass ep oducidas con mejo los esul ados. Es as
co esponden a las que ue on aplicadas un ine- une de mayo épocas.
Resul ados publicados en KITTI sob e PSMNe y ep oducidos
Modelo
Tiempo de
in e encia po
imagen (segundos)
Ambien e
E o p omedio de
in e encia sob e la
imágen comple a
(con oclusión)
S acked-Hou glass
(Publicado en KITTI)
0.41
N idia GTX Ti an Xp
0.0232
S acked-Hou glass
(Rep oducido)
0.5545
N idia GTX 1080
0.008464
Basic
(Rep oducido)
0.4486
N idia GTX 1080
0.023364
Como se puede obse a , los esul ados de dispa idad ep oducidos sob e S ackHou glass
son mucho mejo es que los publicados en el KITTI, igualando p ác icamen e la ed Básica
ep oducida a la ed S ackHou glass publicada. Supe a sus esul ados sólo se ía posible si
la ed p e-en enada usada en la ep oducción y la usada po KITTI pa a el benchma k son
las mismas en cuan o a qui ec u a pe o no han sido en enadas de igual o ma. Po ello el
benchma k ealizado po KITTI debe ene alguna limi ación du an e el en enamien o.
Teniendo en cuen a los esul ados ob enidos as ealiza ine- une du an e la ep oducción
y la g an mejo a que es o p oduce, se iene la hipó esis de que pa a publica esul ados en
el KITTI, las edes no pueden es a ajus adas o en enadas sob e el mismo da ase del
benchma k, lo cual pa ece cohe en e, a pesa que se u ilice pa a es os casos un
subconjun o del conjun o o al de imágenes. U iliza el mismo da ase pa a en enamien o y
es eo no es aconsejable, pues los esul ados no e lejan la ealidad. Limi ando el
en enamien o de es a o ma los benchma ks debe ían se más obje i os.
En cuan o a los iempos de in e encia, los iempos publicados en el KITTI son muy
supe io es debido al ambien e u ilizado, el cual es mucho más po en e po su mayo
54
capacidad de cómpu o. A endiendo a la elocidad de in e encia, se ob iene una asa de
ames de ap oximadamen e 2.44 FPS, no pudiendo se u ilizada en un caso eal,
conside ando 16 FPS una asa acep able.
55
4.4.3.- MADNe
Pues o 135 KITTI-S e eo (du an e el desa ollo del abajo).
MADne es o a ed o ien ada al cálculo de la dispa idad, en es e caso, implemen ada sob e
Tenso Flow. Como ca ac e ís ica undamen al, es una ed p epa ada pa a el ap endizaje
on-line, es deci , es capaz de ap ende dinámicamen e a a és de un S eam de pa es de
imágenes con inuo eniendo en cuen a lo ap endido an e io men e, eó icamen e
p opo cionando un mejo esul ado que en enamien os y ine unes ba ch clásicos cuando
se en en an a da ase muy di e en es a los que han sido en enados. Es o equie e que la
ed ap enda de o ma no supe isada e in ie a ápidamen e un pa de imágenes pa a que
pueda ol e a ealiza lo con el siguien e pa de imágenes a una asa de ap oximadamen e
15 FPS. A pesa de ello, es a ca ac e ís ica no e a impo an e pa a noso os, pues el
obje i o p incipal e a pode u iliza la a a és de un ba ch de imágenes y no a a és de las
imágenes es é eo ob enidas po un coche en la ida eal. O a ca ac e ís ica de la ed es la
capacidad de en ena po módulos, es deci , po po ciones ed ed, de ahí su nomb e
MADne (Modula ly ADap i e Ne wo k).
Desc ipción esquemá ica de la a qui ec u a MADne p opues a (a), cada cí culo en e una F

K
y la D

K

co espondien e ep esen a una de o mación y una capa de co elación (b). Cada
pa (F

I

, D

I

) compone un módulo M

I

, adap able de o ma independien e po medio de la MAD
( lecha azul) mucho más ápido en compa ación con la ealización de la pa e pos e io
comple a ( lecha oja)
25
Una ez ep oducido el en enamien o, in e encia y benchma ks con PSMNe , el obje i o es
abaja con MADNe . En es e caso, es e abajo consis e en ep oduci el abajo ealizado
po sus desa ollado es de o ma simila a PSMNe . Sin emba go en es e caso no se ealiza
el en enamien o pa a aho a iempo, is o que es un p oceso bas an e la go y que ya
hemos sido capaces de ealiza con PSMNe .
25 h ps://gi hub.com/CVLAB-Unibo/Real- ime-sel -adap i e-deep-s e eo
56
Pe mi e un acceso muy sencillo a odo el conjun o de opciones ha dwa e de In el pa a
mejo a el endimien o, educi el consumo de ene gía y maximiza la u ilización del
ha dwa e, con la in ención de pode hace más con menos ecu sos y ab i nue as
posibilidades de diseño:
● In e encia de úl ima gene ación de Deep Lea ning basada en Redes Neu onales
● Ejecución dis ibuida con APIS compa idas sob e sis emas he e ogéneos de In el
como:
○ CPUs, GPUs, NCSs (Mo idius Neu al Compu e S ick 1 y 2) y FPGAs.
○ Acele ación de los iempos de desa ollo has a el despliegue inal g acias a
las biblio ecas de unciones y núcleos p e-op imizados.
○ Llamadas op imizadas a OpenCV y OpenVX.
○ U ilización del conjun o de he amien as In el® Deep Lea ning Deploymen
Toolki .
○ Acele ación de los esul ados de la in e encia del ap endizaje p o undo.
El conjun o de he amien as de In el Deep Lea ning Deploymen es á o mado po :
● Mo o de in e encia con plugins pa a dis in as pla a o mas ha dwa e de mane a
indi idual (CPU, GPU, VPU, y FPGA), pe o ambién o mando sis emas
he e ogéneos con cualquie combinación de ellas.
● Op imizado de modelos capaz de oma como en ada desc ipciones de en o nos de
deep lea ning como Ca e y Tenso Flow y gene a ep esen aciones in e medias (IR)
sob e las que pode abaja .
Como OpenVINO pe mi e adqui i la po abilidad y la op imización en los iempos de
in e encia que se buscan en es e abajo, se aspi a a ealiza lo con las cua o edes
disponibles en el KITTI con las que abajamos. Aunque oda ía OpenVINO sólo es capaz
de op imiza di ec amen e modelos de algunos amewo ks como Ca e y Tenso Flow, es
capaz de soluciona es o y pode acep a edes p o enien es de o os en o nos a a és de
ONNX.
ONNX es un o ma o abie o que p e ende se un es ánda pa a pe mi i , con algunas
limi aciones, expo a edes de unos amewo ks de desa ollo a o os, pe mi iendo a los
desa ollado es de In eligencia A i icial pode expo a e impo a sus modelos más
ácilmen e en e he amien as de Deep Lea ning.
63

4.5.1- PSMNET
El p ime abajo con OpenVINO se ealiza con PSMNe . Pa a pode u iliza lo en OpenVINO
se necesi a pasa la ed en enada a un o ma o de ed llamado ONNX, como se ha
explicado an e io men e. Es o es necesa io po que OpenVINO no es compa ible
di ec amen e con edes en enadas en PyTo ch, pe o sí lo es con edes ONNX. A la ho a de
ealiza la ans o mación de la ed a ONNX pa a pode se op imizada pos e io men e en
OpenVINO, no es posible. T as in es iga el uso de es e o ma o de ed, la hipó esis inicial
es que se debe a la incompa ibilidad en alguna de las capas de PSMNe , que no es aba
sopo ada po ONNX.
Sc ip c eado pa a in en a gene a la ed ONNX de PSMNe
Pa a asegu a que el sc ip es aba co ec amen e desa ollado y que el e o no esidía en el
código c eado, se desa olla un sc ip simila pa a expo a una ed de clasi icación
p e-en enada en o ma o ONNX. En es e caso se usa una ed VGG-16, con e ida con
éxi o del o ma o PyTo ch al o ma o ONNX.
Sc ip c eado pa a gene a la ed ONNX de una ed de clasi icación de obje os ya en enada
(VGG16), el cual sí uncionó.
Debido a es o, se puede asegu a que el allo al pasa la ed a ONNX se debe a que
algunas de las capas empleadas po PSMNET aún no es án sopo adas en ONNX.
64
4.5.2- MADNe
A con inuación se abaja con MADNe . En es e caso la ed es á implemen ada con
Tenso low, el cual se puede pasa a OpenVINO di ec amen e sin necesidad de pasa lo a
ONNX. Es o implica que no hay que ealiza ninguna ans o mación a un o ma o de ed
in e media. Pa a es e p oceso hay que u iliza una u ilidad que OpenVINO p opo ciona en
Py hon o en C, la cual ejecu ándola y añadiendo como pa áme os la ed expo ada de
Tenso low en o ma o me a-g a o sin congela , jun o con algunos o os pa áme os, nos
gene a la ed op imizada lis a pa a usa en OpenVINO. Sin emba go, u iliza es a u ilidad
con MADNe no es posible.
Dependiendo de el o ma o de la ed in oducido en la u ilidad pa a ans o ma la ed, las
causas que lo imposibili an son di e en es. En el caso de que el o ma o sea me a-g a o, sin
congela la ed, OpenVINO no es capaz de de ec a cie as a iables de Tenso Flow que sí
es án inicializadas.
En el módulo de en enamien o  ain.py se puede obse a cómo se inicializan las a iables
que pos e io men e OpenVINO no de ec a.
d
Código pe enecien e al sc ip de en enamien o de MADNe
Po o o lado, en el caso de que el o ma o sea una ed congelada, congelando únicamen e
el nodo de salida de la ed deno ado como
“model/ esize_image_wi h_c op_o _pad/con ol_dependency_3”

, no es posible debido a que
no iene de inido placeholde s y OpenVINO no es capaz de de ec a los. Es a causa es
debida a la p opia na u aleza li e-in e ence de la a qui ec u a de la ed explicada
p e iamen e.
Pa a pode isualiza los nodos de la ed y ob ene el nomb e de los nodos salida se u iliza
la he amien a web Tenso Boa d, la cual mues a en el na egado la ep esen ación del
g a o de la ed.
65
4.5.3- SegS e eo y CRL
SegS e eo y CRL es án en Ca e, que es sopo ado di ec amen e po OpenVINO, sin
necesidad de ene que hace pasos in e medios. Sin emba go, a pesa de segui los pasos
pa a ans o ma edes de Ca e a OpenVINO, con el in de pode e la mejo a que se
ob enía, no es posible ealiza la con e sión debido a un e o en las capas sopo adas.
OpenVINO solo sopo a 27 capas de inidas en Ca e, la al a de compa ibilidad de algunas
de las capas empleadas en la desc ipción de la opología de las edes SegS e eo y CRL,
como po ejemplo las capas de ipo: co ela ion_1d

,cons an

, o silence

, hacen que no sea
posible el po a las a OpenVINO.
Imagen ob enida de una p esen ación de In el. En ella se mues a cuáles son las capas
sopo adas pa a la ans o mación a OpenVINO dependiendo del ha dwa e al que aya a
es a des inada la ed.
66
4.5.4- Redes p e-en enadas de clasi icación de obje os
El obje i o de es e apa ado es comp oba que OpenVINO es una solución eal pa a la
po abilidad y mejo a en el iempo de in e encia de edes de clasi icación de obje os
de inidas sob e di e en es amewo ks.
Pa a ello se con ie en las dis in as edes a o ma o OpenVINO, ob eniendo el XML y el
bina io. Es e paso se ealiza con una ed AlexNe y o a VGG-16 sob e dos amewo ks
dis in os, Ca e, que puede se ans o mada di ec amen e a OpenVINO, y Ke as, que iene
que se ans o mada p ime o a ONNX y pos e io men e ealiza la con e sión a OpenVINO.
La ans o mación se ealiza pa a cada ed dos eces, una pa a CPU y o a pa a Mo idius,
un disposi i o de bajo consumo de In el, c eado especialmen e pa a ealiza una g an
can idad de cálculos en un iempo bajo, lo cual es ideal pa a un ehículo au ónomo. Pa a
pode ealiza la con e sión a CPU, es necesa io que se ealice una op imización del
modelo pa a que abaje con ope aciones de FP32. En cambio, pa a pode se empleado en
Mo idius, se ha de ealiza la op imización del modelo pa a que abaje con ope aciones de
FP16. Es o se indica en un a gumen o al ans o ma lo.
Mos amos como ejemplo la ans o mación a OpenVINO de una ed AlexNe que es aba en
Ke as y ha sido pasada a ONNX.
El comando pa a la ans o mación a CPU con FP32 es el siguien e: py hon3
/op /in el/comppu e _ ision_sdk/deplymen _ ools/model_op imize /mo.py --inpu _model
alexne .onnx
Gene ando la salida siguien e:
Con e sión de AlexNe en Ke as a OpenVINO FP32
EL Comando pa a la ans o mación pa a el uso de Mo idius con FP16: py hon3
/op /in el/compu e _ ision_sdk/deploymen _ ools/model_op imize /mo.py --inpu _model
alexne .onnx --da a_ ype FP16
67
Gene ando la salida siguien e:
Con e sión de AlexNe en Ke as a OpenVINO FP16
Una ez ob enido el modelo op imizado y dado que la in ención es e si se p oducen
mejo as a la ho a de hace in e encia en la clasi icación de imágenes, odas las edes han
clasi icado la misma imagen de un coche.
Imagen u ilizada pa a el es eo de las edes con OpenVINO
28
A con inuación se mues an los esul ados de los iempos de in e encia al clasi ica es a
imagen en las edes de AlexNe y VGG-16 en los amewo k de Ca e y Ke as, usando solo
la CPU sin la op imización que e p oduce OpenVINO, y usando las op imizaciones de
OpenVINO an o pa a CPU, como pa a el disposi i o Mo idius.
28 

h ps://www.elmundo.es/mo o /2018/07/30/5b5e 0ee22601d5b158b459e.h ml
68

Tiempos de in e encia(ms)
F amewo k
Ca e
Ke as
Red
AlexNe
VGG-16
AlexNe
VGG-16
Pa a CPU sin
Op imiza
350
2970
670
1330
Op imizada
pa a CPU
31,5
212,9
37,8
211
Op imizada
pa a Mo idius
86,2
717,3
79
776,7
Los alo es de los iempos es án en milisegundos.
En es a abla se puede obse a los siguien es esul ados pa a una misma ed
implemen ada en un amewo k conc e o:
● Pa a la ed AlexNe pa a Ca e, se consigue en o no a un 1100% de mejo a al
op imiza el modelo pa a CPU, y una mejo a de ap oximadamen e un 400% al
ealiza la op imización pa a Mo idius. Aunque con la op imización pa a CPU se
consigue un 270% de mejo a con espec o a la de Mo idius.
● Pa a la ed VGG-16 pa a Ca e se consigue en o no a un 1400% de mejo a al
op imiza el modelo pa a CPU, y una mejo a de ap oximadamen e un 415% al
ealiza la op imización pa a Mo idius. Aunque con la op imización pa a CPU se
consigue un 335% de mejo a con espec o a la de Mo idius.
● Pa a la ed AlexNe pa a Ke as, se consigue en o no a un 1770% de mejo a al
op imiza el modelo pa a CPU, y una mejo a de ap oximadamen e un 850% al
ealiza la op imización pa a Mo idius. Aunque con la op imización pa a CPU se
consigue un 210% de mejo a con espec o a la de Mo idius.
● Pa a la ed VGG-16 pa a Ke as se consigue más de un 630% de mejo a al op imiza
el modelo pa a CPU, y una mejo a de ap oximadamen e un 170% al ealiza la
op imización pa a Mo idius. Aunque con la op imización pa a CPU se consigue un
370% de mejo a con espec o a la de Mo idius.
Hay que ene en cuen a que Mo idius es un disposi i o de bajo consumo y que aun así ha
conseguido educi en g an medida los iempos o iginales, a pesa de no educi los iempos
más que la op imización pa a CPU.
Po o o lado, se pueden obse a los siguien es esul ados a endiendo a las dis in as
op imizaciones:
69
● Pa a CPU sin op imiza , los iempos en las edes AlexNe son bas an e meno es que
los iempos de las edes VGG-16, ya que la opología de la VGG-16 es mucho más
compleja. Po o o lado llama la a ención que en Ca e la ed AlexNe a da
ap oximadamen e la mi ad de iempo en clasi ica que su homóloga en Ke as, sin
emba go, la ed VGG-16 a da ap oximadamen e la mi ad de iempo en clasi ica en
Ke as que en Ca e.
● Pa a la op imización con OpenVINO, an o pa a CPU como pa a Mo idius es muy
llama i o que aunque las di e encias en in e encia de las edes en los dis in os
amewo ks e an di e en es, al se op imizadas, cada ed pasa a ene unos iempos
de in e encia muy simila es, independien emen e del amewo k en el que hubiesen
sido implemen adas.
Cabe des aca que al medi los iempos de in e encia pa a comp oba si hay una mejo a, se
ha comp obado que al ealiza la op imización, no solo mejo a el iempo, sino la p ecisión de
la clasi icación, como puede obse a se en es e ejemplo de la VGG-16:
P obabilidades o denadas de mayo a meno pa a VGG-16 pa a CPU sin op imiza :
1. 0.2419953 label 436: 'beach wagon, s a ion wagon, wagon, es a e ca , beach
waggon, s a ion waggon, waggon',
2. 0.1655973 label 817: 'spo s ca , spo ca ',
3. 0.1615566 label 751: ' ace , ace ca , acing ca ',
4. 0.1043116 label 717: 'pickup, pickup uck',
5. 0.1040226 label 468: 'cab, hack, axi, axicab',
P obabilidades o denadas de mayo a meno pa a VGG-16 pa a CPU op imizada:
1. 0.3889190 label 751: ‘ ace , ace ca , acing ca ’,
2. 0.1899234 label 817: ‘spo s ca , spo ca ’,
3. 0.1435201 label 436: 'beach wagon, s a ion wagon, wagon, es a e ca , beach
waggon, s a ion waggon, waggon',
4. 0.0781002 label 468: ‘cab, hack, axi, axicab’,
5. 0.0765963 label 717: 'pickup, pickup uck',
Se obse a una mejo a signi ica i a de la p ecisión al clasi ica la imagen, ya que la
p obabilidad de que sea un coche de ca e as, o depo i o al 58% y una u gone a al 14%
desc iben mucho mejo la imagen del coche empleada que el se una u gone a al 24% y un
coche de ca e as o depo i o al 32%.
70
4.5.5- Red de clasi icación de obje os con ine- une
P e iamen e se han ealizado p uebas con edes en enadas sob e ImageNe , un da ase
que dis ingue 1000 clases y no es á ocalizado exclusi amen e en la conducción. Pa a
ace ca más el abajo al mundo de la conducción, en es e apa ado se usa una ed
Incep ion- 3 (explicada an e io men e) la cual se adap a pa a clasi ica los coches más
obados en Es ados Unidos. El p oceso del en enamien o y congelación se ealiza
empleando el amewo k Ke as, pa a inalmen e ans o ma la ed a o ma o OpenVINO y
pode ealiza la clasi icación y compa a los esul ados. Dicho p oceso es ealizado bajo el
mismo ambien e con OpenVINO u ilizado con el es o de edes.
Aunque el p ime paso es en ena la ed, en nues o caso se ha decidido u iliza una ed
p e-en enada sob e ImageNe pa a agiliza el p oceso de en enamien o, sob e la cual se
ealiza un ine- une con un da ase p opio, un conjun o de imágenes con los 9 modelos de
los coches más obados en Es ados Unidos. Con es o se consigue adap a la ed de
p opósi o gene al a nues o obje i o mucho más conc e o.
Honda Ci ic (1997): coche más obado en Es ados Unidos.
Imágenes pe enecien es al da ase pa a ine- une.
El p oceso pa a consegui es o consis e en ca ga la ed con los pesos de ImageNe sin
añadi las capas inales, ya que el núme o de clases que se an a in e i no son 1000 como
ocu e en ImageNe , sino que el núme o de clases es á de inido po el nue o da ase
empleado pa a el ine- une, en es e caso 9 clases. Po lo an o hay que añadi manualmen e
las úl imas capas, con el núme o de salidas igual al nue o núme o de clases que se an a
iden i ica .
T as adap a la ed pa a clasi ica las nue as clases en las que nos amos a cen a , es
necesa io compila la ed an es de ealiza el ine- une y gua da la ed con los nue os
pesos. Se ha decidido ealiza es e mismo p oceso de ine- une una ez más sob e oda la
71
ed gene ada, pe o con un a io de ap endizaje meno , pa a no modi ica d ás icamen e el
esul ado an e io y que man enga un g an po cen aje de ajus es de pesos sob e ImageNe .
An es de pode con e i la ed a o o o ma o es necesa io congela la, c eando un g a o
cuyas a iables de los nodos de salida se ans o man en cons an es. Dado que Ke as
u iliza como backend Tenso Flow, es posible expo a la ed a un o ma o congelado de ed
congelada Tenso Flow, pe mi iéndose así ans o ma lo di ec amen e al o ma o op imizado
de OpenVINO sin ealiza ans o maciones p e ias como sucede con PyTo ch, explicado
an e io men e.
py hon3 /op /in el/comppu e _ ision_sdk/deplymen _ ools/model_op imize /mo.py
--inpu _model=s uden s-wo kpsace/ _model/ op_laye s.i 3.pb --inpu _shape=[1,299,299,3].
Resul ado exi oso de la ans o mación de Incep ion al modelo op imizado pa a OpenVINO
A pa i del modelo op imizado pa a OpenVINO y el modelo sin op imiza se ealiza el
p oceso de in e encia. Es e p oceso se ealiza en CPU con y sin OpenVINO y además se
u iliza el disposi i o Mo idius de bajo consumo ene gé ico con OpenVINO.
Tiempos de in e encia(ms)
Red
Pa a CPU sin
Op imiza
Op imizada pa a
CPU
Op imizada pa a
Mo idius
Incep ion- 3
1084
127
338
Los alo es de los iempos es án en milisegundos.
En compa ación con la in e encia sob e la misma ed sin OpenVINO y con OpenVINO, se
obse a una mejo a de iempo de in e encia bas an e g ande. Mien as que sin OpenVINO
en CPU ob enemos al ededo de 1,08 segundos, con OpenVINO ob enemos 0.127
segundos. Es o implica una mejo a del 750% mejo , es deci , casi 9 eces más ápida.
Incluso en Mo idius la mejo a ha sido de un 220%, es deci , más de 3 eces más ápida.
72
Manuel O eja Val e de
Du an e es e abajo he ealizado las siguien es a eas en el siguien e o den c onológico:
1. Ap endizaje sob e in eligencia a i icial, clasi icación y de ección de obje os a a és
de la documen ación y ídeos disponibles en los cu sos de in eligencia a i icial de la
Uni e sidad Au ónoma de Ba celona (UAB).
2. T abajo con Ke as sob e edes neu onales con olucionales. En es e abajo
comencé con la simple u ilización de edes neu onales pa a clasi icación de obje os
que Ke as disponía, con el in de ealiza in e encia sob e di e en es imágenes y
comp oba sus esul ados. Pos e io men e abajé con edes neu onales no
disponibles en Ke as, como AlexNe , y que se podían de ini a a és de la de inición
de sus capas median e es e mismo amewo k. Es o implica, además de de ini su
a qui ec u a, en ena las con da ase s como CIFAR10. Además se e alué, gua dé y
ca gué los modelos en enados gene ados.
3. T abajo con edes neu onales o ien adas al cálculo de la dispa idad. Es a ase ha
sido la más la ga debido a que u imos que encon a y p oba edes disponibles en
el KITTI que u iesen publicado su código en eposi o ios y que además diesen la
opo unidad de en ena e in e i , pa a pos e io men e se e aluadas con las
u ilidades disponibles en el De elopmen Ki de KITTI. En mi caso abajé con a ias
edes:
a. P ime amen e con PSMNe sob e PyTo ch. Du an e el p ime in en o no la
pude p oba , ya que no eníamos una máquina con GPU. La causa e a que, a
pesa de que la ed iene p epa ada pa a se usada sob e una CPU, no
uncionó, a pesa de que ealicé pequeñas modi icaciones pa a o za a que
el modelo uese compa ible con CPU. Du an e el segundo in en o, ya con una
máquina con GPUs al ed uncionó, pe o no sin habe sol en ado
an e io men e las limi aciones de memo ia de GPUs, almacenamien o en
disco y iempo, explicadas an e io men e.
Una ez la ed dejó de en ena y gene ó odos los checkpoin s de las 200
épocas ejecu é el código de in e encia sob e el da ase de KITTI. Pa a
mejo a aún más las in e encia, ealicé 100 épocas de ine- une sob e el
da ase de KITTI con sus espec i os checkpoin s.T as comp oba que las
imágenes pa ecían es a bien gene adas u ilicé el De elopmen Ki del KITTI.
Pos e io men e lo ejecu é pa a ealiza las e aluaciones sob e a ios
conjun os de imágenes in e idas de di e en es checkpoin s de nues o
en enamien o. Finalmen e ambién epe í es e p oceso con las edes
p e-en enadas disponibles en el eposi o io pa a compa a esul ados con
las que en enamos.
79

Una ez ob enido los esul ados in en e gene a el modelo op imizado de
PSMNe pa a ealiza la in e encia sob e OpenVINO y así medi la mejo a de
elocidad que p opo ciona. Como OpenVino no sopo a edes PyT och, si
que emos usa modelos PyTo ch enemos que con e i los a ONNX
p e iamen e. P ime amen e hice p uebas con edes simples como AlexNe a
a és de edes ya p e-en enadas p opo cionadas po PyTo ch. Una ez
conseguido, ealicé lo mismo conPSMNe pe o no ue posible.
b. T as habe ob enido el an e io esul ado quisimos u iliza o a ed en o o
amewo k que pudiese se in e ida con y sin OpenVINO pa a medi la mejo a
de elocidad de in e encia. MADNe ue la escogida, implemen ada sob e
Tenso Flow.
Pa a comenza su in e encia an es gene é un .cs con las u as a las
imágenes del da ase de KITTI a pa i de un sc ip de bash. T as es o gene é
las imágenes in e idas y las e alué con el De elopmen Ki de KITTI,
p e iamen e adap ado.
Finalmen e se expo ó la ed a la máquina 7Picos que disponía de
OpenVINO. Allí ejecu é el sc ip de con e sión a modelo op imizado pa a
OpenVINO sin éxi o, y as no encon a solución e minamos de abaja con
la ed.
c. Po úl imo abajé con la ed Incep ion- 3. La inalidad e a ealiza sob e la
ed un en enamien o/ ine- une pa a pos e io men e congela la y
ans o ma la al o ma o op imizado pa a OpenVINO con obje i o de in e i
sob e la misma.
4. Documen ación del abajo, especialmen e en ocándose en la documen ación de
esul ados y conclusiones de las edes con las que abajé.
80
Alejand o Pascua Piña
A lo la go de es e abajo he ealizado las siguien es ac i idades:
1. Visualización de ídeos y lec u a de documen os de la Uni e sidad Au ónoma de
Ba celona (UAB) sob e el ap endizaje con in eligencia a i icial y la clasi icación y
de ección de obje os.
2. Toma de con ac o con edes neu onales sencillas como AlexNe , ealiza
en enamien o y clasi icación con ellas.
3. Es udio de Ca e sob e el uncionamien o de cómo en ena edes neu onales y
cómo usa las pos e io men e pa a ealiza clasi icación de obje os.
a. Siendo necesa ios el en enamien o:
i. La a qui ec u a de la ed, un ain.p o o x
ii. Un sol e pa a pode en ena lo, un sol e .p o o x
Du an e el en enamien o se an p oduciendo dis in os a chi os que an
gua dando los a ances p oducidos en el en enamien o, los .sol e s a e, así
si, si pa as el en enamien o o és e acaba epen inamen e po alguna azón
(co e de luz po ejemplo), puedes ol e a pone la ed a en ena desde el
úl imo “pun o de gua dado”. Finalmen e ob ienes un a chi o con los pesos
pa a la ed, necesa io pa a u iliza la, los .ca emodel.
b. Siendo necesa ios pa a la clasi icación:
i. Un deploy del modelo, un deploy.p o o x
ii. Los pesos an e io men e ob enidos, el .ca emodel.
Pa a ob ene el deploy, es necesa io qui a las capas de da os del modelo y
añadi una capa de en ada. Una ez engas es o ealizado, ya puedes
ealiza in e encia sob e o as o os con u ed.
4. En lo e e en e al KITTI, me cen e en las edes SegS e eo y CRL, ya que es aban
implemen adas con Ca e. Con ellas ealicé:
a. Es udio de las edes y del código p opo cionado pa a pode usa las.
b. T a a de compila una ama de Ca e p opo cionada po las edes (cada una
la suya), ya que no es aban sopo adas po la ama p incipal de Ca e. Es o
lle ó a soluciona di e en es p oblemas sob e lib e ías, y lidia con o os que
no uimos capaces de esol e .
81
c. T a a de emplea Docke pa a e i a los p oblemas elacionados con la
compilación de las a ian es de Ca e p opo cionadas po las edes, aunque
sin éxi o.
5. OpenVino:
a. Pasa edes que habían sido p e iamen e p obadas en Ca e a OpenVino
pa a comp oba si se p oducía una mejo a en el iempo de in e encia.
i. Pasa el modelo de Ca e a OpenVINO con GPU, pe o sin posibilidad
de ealiza la in e encia al no dispone de una GPU In el.
ii. Pasa el modelo de Ca e a OpenVINO con CPU pa a las edes
VGG-16 y AlexNe , p obando la in e encia y comp obando que los
iempos ob enidos al ealiza la in e encia con él, son mucho meno es.
iii. Pasa el modelo de Ca e de las edes an e io es a OpenVINO con
FP16, pa a pode ealiza la in e encia en el Mo idius, un disposi i o
cen ado en el bajo consumo.
i . T a a de comp oba los iempos de in e encia con un modelo de
FP16 sob e CPU sin éxi o, ya que al pa ece , solo acep a FP32.
6. En la memo ia:
a. Redes Neu onales
b. Conducción Au ónoma
c. P ime os Pasos
d. OpenVINO desde Ca e
82
Ma cos Robles Palencia
Du an e es e abajo he ealizado las siguien es ac i idades:
1. Ap endizaje a a és de la isualización de ideos y lec u a de documen os de la
Uni e sidad Au ónoma de Ba celona (UAB), sob e in eligencia a i icial, clasi icación
y de ección de obje os. Es o ue de g an u ilidad pa a inicia me en es e mundo an
en auge, pues o que me ayudó a abaja con modelos, ealiza medidas de
endimien o, conoce el uncionamien o del a amien o de los píxeles de la imagen
pa a pode clasi ica los y sabe a qué clase pe enecen.
Ap endizaje sob e machine lea ning, edes neu onales y su aplicación en la
conducción au ónoma.
2. T abajo con edes de clasi icación de obje os:
a. Ob ene in o mación de es e ipo de edes, a a és de sus pape s, pa a
conoce su uncionamien o.
b. P epa ación del en o no pa a ejecu a las dis in as edes neu onales
con olucionales, buscando in o mación de cada amewo k en el cual
es aban desa olladas. Muchas me die on e o es, y al inal conseguí
en ena y es ea las siguien es:
i. Una implemen ación de AlexNe en Ke as, pa a la cual u e que
in o ma me sob e el da ase de CIFAR10 y cómo consegui que es a
ed pudiese ene es e da ase de en ada, pa a en ena y es ea la
pos e io men e.
ii. Una implemen ación de una ed p een enada de VGG-16 de Ke as
pa a su in e encia con el da ase de CIFAR10.
iii. Finalmen e, almacene los pesos y la opología de las edes pa a
pos e io men e usa las pa a la in e encia en OpenVINO.
3. T abajo con edes o ien adas al cálculo de dispa idad:
a. Busque in o mación en la página de KITTI, pa a usa su da ase , sob e odo
el de imágenes de s e eo sob e conducción y de las edes de dispa idad que
se p opo cionaban, pa a ello in es igue las edes de p edicción de
dispa idad. En es e paso u e especial di icul ad, po las pocas edes con
código disponible y uncional. Me cen é en abaja sob e las siguien es
edes:
83
i. T abajo con la ed de dispa idad PSMNe .
Lo p ime o ue in o ma me sob e el da ase SceneFlow, pa a
inalmen e usa de los 3 da ase exis en es el de conducción, po los
p oblemas de espacio que u e en la máquina, explicados en la
memo ia. Una ez esuel os es os p oblemas, me dispuse a
en ena la con di e en es épocas, pa a pos e io men e e alua los
cambios de endimien o. Conseguí ejecu a es e en enamien o en
a ias GPUs.
Realice p uebas de in e encia sob e el da ase del KITTI2015 y
ejecu é el es udio pa a calcula el e o de dispa idad, que e p o ee la
página, y de es a o ma ob ene los esul ados mos ados
an e io men e.
ii. T abajo con la ed de dispa idad MADNe .
En es a ed conseguí ealiza la in e encia sob e el da ase del
KITTI2015 y ejecu é el es udio pa a calcula el e o de dispa idad,
que e p o ee la página, y de es a o ma ob ene los esul ados
mos ados an e io men e.
4. T abajo con OpenVINO:
a. In en é pasa las edes PSMNe y MADNe pa a su ejecución en las
he amien as de OpenVINO, con los esul ados nega i os, al p oduci se los
e o es de con e sión mos ados an e io men e.
b. Sob e las edes de clasi icación de obje os con las que abajé al p incipio
(AlexNe y VGG-16):
i. Las ans o mé a o ma o ONNX y ejecu é los sc ip s pa a pode
consegui los a chi os necesa ios pa a la in e encia.
ii. Realicé la in e encia en CPU u ilizando OpenVINO y de ahí saqué los
esul ados de iempos y clases, con mayo p obabilidad ob enida, de
cada ed.
iii. Op imicé el modelos de las edes con FP16, pa a ealiza la in e encia
en el disposi i o Mo idius, y de ahí saqué los esul ados de iempos y
clases, con mayo p obabilidad ob enida de cada ed.
5. Documen ación del abajo:
El abajo que he ealizado en la memo ia ha sido: po ada no malizada,
in oducción, ecnologías u ilizadas, edes de clasi icación de obje os, explicación de
las a eas ealizadas con PSMNe y MADNe , incluyendo g á icas, abajo con
OpenVINO y conclusiones.
84

7.- Anexos I Tecnologías u ilizadas
7.1.- Py hon
29
Logo de Py hon
30
Py hon es un lenguaje de p og amación mul ipa adigma, sopo a o ien ación a obje os,
p og amación impe a i a y p og amación uncional. Es un lenguaje in e p e ado, usa ipado
dinámico y es mul ipla a o ma.
Es adminis ado po la Py hon So wa e Founda ion. Posee una licencia de código abie o,
que es compa ible con la Licencia pública gene al de GNU a pa i de la e sión 2.1.1.
Exis en múl iples lib e ías de código abie o en ocadas a su uso pa a Deep Lea ning en
lenguaje Py hon. Las más impo an es son: Tenso Flow, Theano, Ke as, Ca e, Lasagne,
DSSTNE, P e yTenso , To ch, mxne , DL4J, y Mic oso Cogni i e Toolki .
Py hon o ece lib e ías de he amien as cien í icas, numé icas, he amien as de análisis y
es uc u as de da os, y algo i mos de Machine Lea ning como NumPy, SciPy, Ma plo lib,
Pandas o PyB ain. También o ece en o nos in e ac i os de p og amación o ien ados a Da a
Science.
29 h ps://www.py hon.o g/
30 

h ps://es.wikipedia.o g/wiki/A chi o:Py hon.s g
85
7.2.- Ca e
31
Logo de Ca e
32
Ca e es uno de los amewo ks más an iguos, ue desa ollado po Be keley Al Resea ch
(BAIR) y posee una licencia de código abie o BSD 2-Clause license.
En e las p incipales ca ac e ís icas se encuen an: a qui ec u a que omen a la inno ación,
código expandible que omen a el desa ollo ac i o, elocidad pa a la ealización de
in es igaciones y una comunidad in e esada.
Ca e sopo a di e en es ipos de a qui ec u a de deep lea ning pa a clasi icación de
imágenes y segmen ación de imágenes. Sopo a CNN, RCNN, LSTM y edes neu onales
o almen e conec adas. Ca e sopo a acele ación de cálculos basados en GPU.
No es un amewo k de p opósi o gene al. Se cen a únicamen e en la isión a i icial. Los
incon enien es que imos es que no e a nada lexible y la documen ación es bas an e
pob e. Uno de los pun os lacos que iene es la di icul ad de ins alación. Tiene muchas
dependencias que esol e .
P opo ciona una API de p og amación pa a Py hon y Ma lab pa a cambios sencillos, aunque
si se quie e in oduci cambios signi ica i os deben de se p og amados en C++ o en CUDA.
31 h ps://ca e.be keley ision.o g/
32 

h ps://maxchama.blogspo .com/2019/03/ca e-deep-lea ning- amewo k.h ml
86
7.3.- Ke as
33
Logo de Ke as
34
Ke as es una biblio eca de Redes Neu onales de Código Abie o esc i a en Py hon. Es
capaz de ejecu a se sob e Tenso Flow.
Es á diseñada sob e odo pa a posibili a la expe imen ación en más o menos poco iempo
con edes de deep lea ning. Sus p incipales ca ac e ís icas se cen an en se amigable
pa a el usua io, modula y ex ensible.
Su au o p incipal y man enedo ha sido el ingenie o de Google F ançois Cholle .
Cholle expone que Ke as ha sido concebido pa a ac ua como una in e az en luga de se
una amewo k de machine lea ning s andalone. O ece un conjun o de abs acciones más
in ui i as y de al o ni el haciendo más sencillo el desa ollo de modelos de deep lea ning
independien emen e del backend compu acional u ilizado.
Ke as con iene a ias implemen aciones de los bloques pa a la cons ucción de las edes
neu onales como po ejemplo los laye s, unciones obje i o, unciones de ac i ación y
op imizado es ma emá icos.
Se ca ac e iza po un modelo de p og amación sin ado nos, pa a maximiza la legibilidad y
minimiza las líneas de código,además dispone de una documen ación muy comple a.
33 h ps://ke as.io/
34 

h ps://commons.wikimedia.o g/wiki/File:Ke as_Logo.jpg
87
7.4.- Py o ch
35
Logo de Py o ch
36
PyTo ch es una lib e ía de código abie o de Py hon basado en To ch es á diseñada pa a
ealiza cálculos numé icos haciendo uso de la p og amación de enso es. Además pe mi e
su ejecución en GPU pa a acele a los cálculos.
PyTo ch se suele usa pa a sus i ui numpy y p ocesa los cálculos en GPU y pa a la
in es igación y desa ollo en el campo del machine lea ning, cen ado p incipalmen e en el
desa ollo de edes neu onales.
PyTo ch es una lib e ía muy ecien e, sin emba go, dispone de g an can idad de manuales y
u o iales donde encon a ejemplos. Además de una comunidad que es á c eciendo
ápidamen e.
PyTo ch dispone una in e az muy sencilla pa a la c eación de edes neu onales pese a
abaja de o ma di ec a con enso es sin la necesidad de una lib e ía a un ni el supe io .
PyTo ch abaja con g a os dinámicos en ez de es á icos, es deci , en iempo de ejecución
se pueden i modi icando las unciones y el cálculo del g adien e a ia á con ellas.
PyTo ch dispone de sopo e pa a su ejecución en a je as g á icas (GPU), u iliza
in e namen e CUDA.
35 h ps://py o ch.o g/
36 

h ps://commons.wikimedia.o g/wiki/File:Py o ch_logo.png
88
8.- Bibliog a ía
h ps://gi hub.com/yangguo un/SegS e eo
@inp oceedings{yang2018SegS e eo,
au ho = {Yang, Guo un and
Zhao, Hengshuang and
Shi, Jianping and
Deng, Zhidong and
Jia, Jiaya},
i le = {SegS e eo: Exploi ing Seman ic In o ma ion o Dispa i y
Es ima ion},
book i le = ECCV,
yea = {2018}
}
h ps://gi hub.com/A i ineu o/c l
@inp oceedings{pang2017cascade,
i le={Cascade esidual lea ning: A wo-s age con olu ional neu al
ne wo k o s e eo ma ching},
au ho ={Pang, Jiahao and Sun, Wenxiu and Ren, Jimmy SJ and Yang, Chengxi
and Yan, Qiong},
book i le = {ICCV Wo kshop on Geome y Mee s Deep Lea ning},
mon h = {Oc },
yea = {2017}
}
h ps://gi hub.com/JiaRenChang/PSMNe
@inp oceedings{chang2018py amid,
i le={Py amid S e eo Ma ching Ne wo k},
au ho ={Chang, Jia-Ren and Chen, Yong-Sheng},
book i le={P oceedings o he IEEE Con e ence on Compu e Vision and
Pa e n Recogni ion},
pages={5410--5418},
yea ={2018}
}
h ps://gi hub.com/CVLAB-Unibo/Real- ime-sel -adap i e-deep-s e eo
@InP oceedings{Tonioni_2019_CVPR,
au ho = {Tonioni, Alessio and Tosi, Fabio and Poggi, Ma eo and
Ma occia, S e ano and Di S e ano, Luigi},
i le = {Real- ime sel -adap i e deep s e eo},
book i le = {The IEEE Con e ence on Compu e Vision and Pa e n
Recogni ion (CVPR)},
mon h = {June},
yea = {2019}
95

}
KITTI
@INPROCEEDINGS{Menze2015CVPR,
au ho = {Mo i z Menze and And eas Geige },
i le = {Objec Scene Flow o Au onomous Vehicles},
book i le = {Con e ence on Compu e Vision and Pa e n Recogni ion (CVPR)},
yea = {2015}
}
[1]h ps://www.analy ics idhya.com/blog/2017/08/10-ad anced-deep-lea ning-a chi ec u es-d
a a-scien is s/: In o mación sob e edes neu onales con olucionales.
[2] h ps:// adiopaedia.o g/a icles/ba ch-size-machine-lea ning: In o mación sob e el ba ch
size.
[3] h ps://gi hub.com/BIGBALLON/ci a -10-cnn: Dis in as edes con CIFAR10.
[4] h ps://gi hub.com/NVIDIA/DIGITS/issues/156: In o mación sob e un e o apa ecido en la
compilación de Ca e.
[5]h ps://askubun u.com/ques ions/960238/n cc- a al-unsuppo ed-gpu-a chi ec u e-compu
e-20: In o mación sob e un e o de la GPU.
[6] h ps://so wa e.in el.com/en-us/a icles/OpenVINO-IE-Samples#image-classi ica ion:
In o mación de OpenVINO Toolki .
[7] h ps://gi hub.com/BVLC/ca e/issues/3028: Soluciona e o OpenBLAS al compila
Ca e.
[8] h p://www.c libs.ne /da ase s/ki i/: Página p incipal de KITTI.
[9] h ps://gi hub.com/yangguo un/SegS e eo: Reposi o io de la ed SegS e eo.
[10] h ps://gi hub.com/mo idius/ncappzoo/blob/mas e /ca e/AlexNe / un.py: Sc ip de
ejecución de AlexNe pa a MOVIDIUS.
[11] h ps://gis .gi hub.com/huyng/34b0b5e6a 6e623 331 : Ejemplo de in e encia con Ca e.
[12]h ps://picodo de .gi hub.io/blog-bi ix/2014/11/como-c ea -una-imagen-pa a-docke -usan
do-un-docke ile/: In o mación pa a c ea un docke .
[13]h ps://ca e.be keley ision.o g/: Página p incipal de Ca e
[14] h ps://gi hub.com/BVLC/ca e/wiki/Using-a-T ained-Ne wo k:-Deploy: C eación de un
a chi o Deploy a pa i de una de inición de ed.
[15] h ps://gi hub.com/n idia/digi s/issues/1107: Soluciona e o no se encuen a Ca e.
[16] h ps://docs.docke .com/engine/ e e ence/commandline/image_build/: In o mación pa a
c ea la imagen de un docke .
[17] h ps://gi hub.com/in el/ca e: Reposi o io de INTEL del amewo k Ca e.
[18] h ps://gi hub.com/BVLC/ca e: Reposi o io p incipal del amewo k Ca e.
[19] h ps://iie. ing.edu.uy/publicaciones/2005/Lec05a/Lec05a.pd : Pape sob e el cálculo de
la dispa idad en imágenes es é eo.
[20]h ps://s acko e low.com/ques ions/30830987/how- o-c ea e-an-ca emodel- ile- om- ai
ning-image-and-i s-labeled: Cómo ob ene un ca emodel.
[21] h p://shengshuyang.gi hub.io/A-s ep-by-s ep-guide- o-Ca e.h ml: In o mación sob e la
ins alación y u ilización de Ca e.
[22] h ps://gi hub.com/A i ineu o/c l/: Reposi o io p incipal de la ed CRL.
[23] h ps://es.wikipedia.o g/wiki/In eligencia_a i icial: In o mación de in eligencia a i icial.
96
[24] h ps://es.wikipedia.o g/wiki/Tes _de_Tu ing: In o mación del Tes de Tu ing.
[25] h ps://hipe ex ual.com/2016/12/ ipos-de-in eligencia-a i icial: A ículo sob e la
In eligencia A i icial.
[26] h ps://omic ono.elespanol.com/2018/10/que-es-la-in eligencia-a i icial/: In o mación
sob e in eligencia a i icial.
[27] h ps://www.apd.es/ ipos-de-in eligencia-a i icial/: A ículo sob e los ípos de IA.
[28]h ps://www.blog.andaluciaesdigi al.es/deep-lea ning-in eligencia-a i icial-y-machine-lea
ning/: A ículo sob e la di e encia en e In eligencia A i icial, Deep Lea ning y Machine
Lea ning.
[29] h ps://es.wikipedia.o g/wiki/Ap endizaje_p o undo: In o mación sob e el ap endizaje
p o undo o deep lea ning.
[30] h ps://es.ma hwo ks.com/disco e y/deep-lea ning.h ml: A ículo sob e la impo ancia
del Deep Lea ning.
[31] h ps://es.wikipedia.o g/wiki/Ap endizaje_supe isado: In o mación sob e el ap endizaje
supe isado.
[32] h ps://es.wikipedia.o g/wiki/Ap endizaje_no_supe isado: In o mación sob e el
ap endizaje no supe isado.
[33] h ps://es.wikipedia.o g/wiki/Dispa idad_binocula : In o mación sob e dispa idad
binocula .
[34] h ps://compu e isiononline.com/da ase /1105138650: A ículo sob e el benchma k de
KITTI.
[35]h ps://www.analy ics idhya.com/blog/2017/08/10-ad anced-deep-lea ning-a chi ec u es-
da a-scien is s/: a ículo sob e a qui ec u as de deep lea ning.
[36] h ps://www.cs. o on o.edu/~k iz/ci a .h ml: In o mación y a chi os del da ase CIFAR10.
[37]h ps://www.xa aka.com/ obo ica-e-ia/las- edes-neu onales-que-son-y-po -que-es an- ol
iendo: A ículo sob e las Redes Neu onales.
[38] h ps://en.wikipedia.o g/wiki/A i icial_neu al_ne wo k: In o mación sob e las edes
neu onales.
[39]h p://www.and eyku enko .com/w i ing/ai/a-b ie -his o y-o -neu al-ne s-and-deep-lea nin
g/: A ículo sob e la his o ia de las edes neu onales.
[40] h ps://en.wikipedia.o g/wiki/Con olu ional_neu al_ne wo k#Dis inguishing_ ea u es:
A ículo sob e las Redes Con olucionales.
[41] h ps://ujjwalka n.me/2016/08/11/in ui i e-explana ion-con ne s/: In o mación sob e
edes neu onales con olucionales.
[42] h ps://en.wikipedia.o g/wiki/Sel -d i ing_ca : In o mación sob e la conducción
au ónoma.
[43] h ps://www.bmw.com/en/au omo i e-li e/au onomous-d i ing.h ml: In o mación sob e
conducción au onoma.
[44]h ps://www.na ionalgeog aphic.com.es/p omociones/pasado-p esen e- u u o-conduccio
n-au onoma_12014: A ículo sob e la Conducción Au ónoma.
[45] h ps://www.au onocion.com/his o ia-coche-au onomo/: A ículo sob e los coches
au ónomos.
[46] h ps://es.wikipedia.o g/wiki/Py hon: A ículo sob e Py hon.
[47] h ps://da a-speaks.luca-d3.com/2018/05/deep-lea ning-con-py hon-in oduccion.h ml:
Se ie de a ículos sob e Deep Lea ning con Py hon.
97
[48] h ps://da a-speaks.luca-d3.com/2018/03/a e e e-con-el-py hon-un-expe imen o.h ml:
A ículo sob e Py hon.
[49]h ps://medium.com/@ ica do.gue e o/ amewo ks-de-deep-lea ning-un- epaso-an es-d
e-acaba -el-2016-5b9b 5b9 9a : In o mación sob e amewo ks de deep lea ning.
[50]h p://www.diegocal o.es/implemen acion-de- edes-neu onales-compa a i a- amewo ks
/: In o mación y compa ación sob e amewo ks de deep lea ning.
[51] h ps://en.wikipedia.o g/wiki/Ca e_(so wa e): A ículo sob e el amewo k Ca e.
[52] h ps://es.wikipedia.o g/wiki/Ke as: In o mación sob e el amewo k de Ke as.
[53]h p://www.diegocal o.es/implemen acion-de- edes-neu onales-compa a i a- amewo ks
/: A ículo sob e dis in os amewo ks pa a la implemen ación de Redes Neu onales.
[54]h ps://medium.com/@ ica do.gue e o/ amewo ks-de-deep-lea ning-un- epaso-an es-d
e-acaba -el-2016-5b9b 5b9 9a : A ículo sob e emewo ks de deep lea ning.
[55]h ps://plane acha bo .com/deep-lea ning- %C3%A1cil-con-deepcogni ion-9a 43b2319ba
: In o mación sob e deep lea ning y amewo ks de deep lea ning.
[56] h ps://cle e py.com/que-es-py o ch-y-como-se-ins ala/: A ículo explica i o sob e
PyTo ch.
[57] h ps://en.wikipedia.o g/wiki/PyTo ch: In o mación sob e PyTo ch.
[58] h ps://es.wikipedia.o g/wiki/Tenso Flow: In o mación sob e Tenso Flow.
[59]h ps://medium.com/@ ica do.gue e o/ amewo ks-de-deep-lea ning-un- epaso-an es-d
e-acaba -el-2016-5b9b 5b9 9a : A ículo sob e amewo ks de Deep Lea ning.
[60]h p://www.diegocal o.es/implemen acion-de- edes-neu onales-compa a i a- amewo ks
/: Compa ación de amewo ks de Deep Lea ing.
[61]h ps://news oom.in el.la/news- eleases/la-in eligencia-de- ision-de-in el- ans o ma-la-in
dus ia-del-in e ne -de-las-cosas/#gs.7xuae0: In o mación de in el sob e he amien as de
[62]h ps://www.in el.es/con en /www/es/es/in e ne -o - hings/solu ion-b ie s/open ino- oolki -
p oduc -b ie .h ml: In o mación sob e OpenVINO.
[63]h ps:// hdl.es/aplicacion-de-la-in eligencia-a i icial-en-los-sis emas-de- ision-po -compu
ado -usando-open ino/: A ículo sob e In eligencia A i icial con OpenVINO
[64] h ps://www.n idia.es/objec /cuda-pa allel-compu ing-es.h ml: A ículo de NVIDIA sob e
CUDA.
[65] h ps://es.wikipedia.o g/wiki/CUDA: In o mación sob e CUDA.
[66] h ps://es.wikipedia.o g/wiki/OpenCL: A ículo explica i o sob e OpenCL.
[67]h ps://www.apples e a.com/aplicaciones-os-x-1/opencl-la-al e na i a-lib e-a-cuda-y-el- u
u o-de-la-compu acion-gpgpu: A ículo compa a i o en e CUDA y OpenCL
[68] h ps://so wa e.in el.com/en-us/open ino- oolki /documen a ion/code-samples: Códigos
de ejemplo pa a abaja sob e OpenVINO.
[69]h p://docs.open ino oolki .o g/la es /_docs_MO_DG_Deep_Lea ning_Model_Op imize _
De Guide.h ml: Guía pa a op imiza modelos con OpenVINO.
[70]h p://docs.open ino oolki .o g/la es /_docs_MO_DG_p epa e_model_con e _model_Co
n e _Model_F om_Ca e.h ml: Guía pa a op imiza modelos en Ca e con OpenVINO.
[71]h p://docs.open ino oolki .o g/la es /_in e ence_engine_samples_classi ica ion_sample_
README.h ml: Ejemplo de clasi icación con OpenVINO.
98