Cu so: 2022-2023
Di ec o /Di ec o a: Zulue a Gue e o, Ekai z
Es udian e: Millán Fe nández de Landa, Mikel
EVALUACIÓN DE REGIONES SIGNIFICATIVAS
PARA EL ENTRENAMIENTO DE UNA RED
NEURONAL A TRAVÉS DE FOTOGRAFÍAS DE UNA
SUPERFICIE
MÁSTER UNIVERSITARIO EN INGENIERÍA DE CONTROL,
AUTOMATIZACIÓN Y ROBÓTICA
TRABAJO FIN DE MASTER
Fecha: Bilbao, 16 de Julio del 2023
Resumen
En los úl imos años, las edes neu onales con olucionales (CNN) han expe imen ado
un p og eso signi ica i o en é minos de a qui ec u a, endimien o y aplicaciones.
Es os a ances han impulsado el campo de la isión a i icial y han lle ado a mejo as
en di e sas a eas, como el econocimien o de obje os, la clasi icación de imágenes,
la de ección de anomalías y la segmen ación semán ica.
La mejo a de la a qui ec u a, el a ance en el desa ollo de écnicas que bene ician
el ap endizaje y el aumen o de la capacidad de cómpu o han pe mi ido c ea edes
neu onales más p o undas (VGG o ResNe ), y han demos ado un mejo endimien o
en la clasi icación de imágenes. Sin emba go, la calidad de los da os empleados pa a
el en enamien o de una ed neu onal deben de se de la mayo posible pa a ob ene
mejo es esul ados. La calidad de los da os depende á de la in o mación que pueda
apo a a la ed.
En es e abajo, se en ena a una ed neu onal con olucional u ilizando o os de
una pa ed ex aídas median e una cáma a posicionada al ex emo del obo (Kuka
LBR iiwa 7 R800) . La pa ed end á di e en es elemen os, y los esul ados de es e
en enamien o se ob end á in o mación sob e las zonas de mayo in e és pa a la ed
neu onal.
Abs ac
In ecen yea s, con olu ional neu al ne wo ks (CNNs) ha e seen signi ican p og ess
in e ms o a chi ec u e, pe o mance and applica ions. These ad ances ha e boos ed
he ield o compu e ision and ha e led o imp o emen s in a a ie y o asks,
such as objec ecogni ion, image classi ica ion, anomaly de ec ion and seman ic
segmen a ion.
Imp o ed a chi ec u e, ad ances in he de elopmen o echniques ha bene i
lea ning and inc eased compu a ional capaci y ha e enabled he c ea ion o deepe
neu al ne wo ks (VGG o ResNe ), and ha e demons a ed be e pe o mance in
image classi ica ion. Howe e , he quali y o he da a used o aining a neu al
ne wo k mus exhibi he u mos quali y o ob ain he bes esul s. The quali y o
he da a will be de e mined by he in o ma ion ha i can eed o he ne wo k.
iii
In his wo k, a con olu ional neu al ne wo k will be ained using pho os o a wall
ob ained using a came a placed on he a m o a obo (Kuka LBR iiwa 7 R800).
The wall will ha e di e en elemen s, and he esul s o his aining will p o ide
in o ma ion abou he a eas o g ea es in e es o he neu al ne wo k.
Labu pena
Azken u eo an, Sa e Neu onal Konboluzionalak (CNN) au e apen handia izan
du e a ki ek u a i, e endimendua i e a aplikazioei dagokienez. Au e apen hauek
o denagailu bidezko ikusmena en e emua bul za u du e e a hainba ze egine an
hobekun zak eka i di uz e, hala nola, objek uen ezagupena, i udien sailkapena,
anomaliak hau ema ea e a segmen azio seman ikoa.
A ki ek u a en hobekun zak, ikaskun za mesedega i du en ekniken ga apenean
izandako au e apenak e a konpu azio-ahalmena handi zeak sa e neu onal sakon-
agoak (VGG edo ResNe ) so zea ahalbide u du e, e a i udien sailkapenean e endi-
mendu hobea e aku si du e. Hala e e, neu ona-sa e ba en ena zeko e abil zen
di en da uen kali a eak ahalik e a kali a e ik handiena izan beha du emai za hobeak
lo zeko. Da uen kali a ea sa ea i eman liezaiokeen in o mazioa en a abe akoa
izango da.
Lan hone an, sa e neu onal konboluzional ba lan zen da e obo ba en (Kuka LBR
iiwa 7 R800) izkinean koka u ako kame ak lo u ako ho ma ba en a gazkiak e abiliz.
Ho mak elemen u desbe dinak izango di u, e a p es akun za ho en emai zek sa e
neu onale ako in e es handiena du en a loei bu uzko in o mazioa emango du e.
Palab as cla e:
Redes Neu onales Con olucionales, Visión a i icial, Cinemá ica, Kuka LBR iiwa 7
R800, De ección de pa ones.
i
Índice
Lis a de ablas ii
Lis a de ilus aciones ix
Ac ónimos xiii
1 In oducción y con ex o 1
1.1 In oducción ............................... 1
1.2 Con ex o.................................. 1
2 Alcance y obje i os 3
3 An eceden es bibliog á icos y es ado del a e 5
3.1 Redes neu onales con olucionales . . . . . . . . . . . . . . . . . . . . 5
3.1.1 Es uc u a y los componen es cla e de una CNN . . . . . . . . 5
3.1.2 Ap endizaje en una ed neu onal con olucional . . . . . . . . 7
3.1.3 Impo ancia de los pun os cla e en una imagen . . . . . . . . 8
3.1.4 Pa ones na u ales más áciles de ap ende pa a una CNN . . 9
3.1.5 Mé odos y écnicas pa a mejo a el ap endizaje de pa ones . 10
3.1.6 Casos de es udio y aplicaciones . . . . . . . . . . . . . . . . . 11
3.2 Robo de 6 g ados de libe ad . . . . . . . . . . . . . . . . . . . . . . 11
3.2.1 Cinemá ica di ec a . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.2 Cinemá ica In e sa . . . . . . . . . . . . . . . . . . . . . . . . 13
4 Desa ollo de la solución 15
4.1 Seguimien o de b azo obó ico a ma cado Tag . . . . . . . . . . . . 15
4.1.1 O ganización del algo i mo . . . . . . . . . . . . . . . . . . . 15
4.1.2
Conexión con el obo , inicialización de a iables y pun o inicial
16
4.1.3 Cinemá ica Di ec a . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.4 Ob ene ec o es de o ación y aslación del Tag . . . . . . . 20
4.1.5 Ob ene nue as coo denadas . . . . . . . . . . . . . . . . . . 22
4.1.6 Cinemá ica In e sa . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2 En enamien o de la Red . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2.1 Ob ene las Fo os O iginales de la Pa ed . . . . . . . . . . . . 30
4.2.2
Di isión de las o os ob enidas pa a pode en ena la ed
neu onal.............................. 36
4.2.3 En enamien o de la Red Neu onal . . . . . . . . . . . . . . . 42
4.2.4 Pone a P ueba la Red Neu onal . . . . . . . . . . . . . . . . . 43
5 Análisis de esul ados 45
5.1 En enamien o de la Red . . . . . . . . . . . . . . . . . . . . . . . . . 45
6 Conclusiones y abajos u u os 51
Re e encias bibliog á icas 53
A P og amas uen e 59
A.1 Seguimien o de b azo obó ico a ma cado Tag . . . . . . . . . . . . 59
A.1.1 Main.m .............................. 59
A.1.2 Cinema icaDi ec a.m . . . . . . . . . . . . . . . . . . . . . . . 61
A.1.3 Cinema icaIn e sa.m . . . . . . . . . . . . . . . . . . . . . . . 62
A.1.4 Cama a.m............................. 66
A.1.5 Co egi .m............................. 67
A.2 En enamien o de la Red . . . . . . . . . . . . . . . . . . . . . . . . . 68
A.2.1 MainFo os.m ........................... 68
A.2.2 Di idi Fo os.m .......................... 71
A.2.3 CodigoEn enamien o.m . . . . . . . . . . . . . . . . . . . . . 74
A.2.4 I aku i.m............................. 77
A.2.5 I aku i.m............................. 78
i
Lis a de ablas
4.1
Pa áme os de DH, donde
dbs = 340mm
,
dse = 400mm
,
dew = 400mm
ydw = 126mm. .............................. 18
ii
Lis a de ilus aciones
3.1 Ejemplo de capas de una ed neu onal con olucional ípica[5]. . . . . 5
3.2 Ejemplo de capa con olucinal con il o [5]. . . . . . . . . . . . . . . . 6
3.3 Ejemplo de pooling (max)[28]. . . . . . . . . . . . . . . . . . . . . . . 6
3.4 Diag ama de o wa d pass y backwa d pass [3]. . . . . . . . . . . . . . 7
3.5 EjemplodeSIFT[27]. ........................... 9
3.6 Fo o del obo empleado. . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.7 Diag ama de elación en e cinemá ica di ec a e in e sa [2]. . . . . . . 12
4.1 Secuencia del p og ama. . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2 Conexión en e Ma lab y el Robo . . . . . . . . . . . . . . . . . . . . . . 16
4.3
Pa e del p og ama donde se si úa el obo en la posición deseada pa a
empeza conelloop............................. 17
4.4 Llamada a la unción de cinemá ica di ec a. . . . . . . . . . . . . . . . 17
4.5 Diag ama del obo Kuka iiwa R800 [31]. . . . . . . . . . . . . . . . . 18
4.6 Función de cinemá ica di ec a. . . . . . . . . . . . . . . . . . . . . . . 19
4.7
La inicialización de las a iables necesa ias en la unción Cama a pa a
que se pueda lee el Ap ilTag. . . . . . . . . . . . . . . . . . . . . . . . 20
4.8 ID 0 de la amilia de Ap ilTag 36h11 [10]. . . . . . . . . . . . . . . . . 21
4.9
Bucle den o de la unción Cama a que busca el ID del Ap ilTag eque ido.
22
4.10 Llamada a la unción Cinema icaIn e sa() desde el main. . . . . . . . . 23
4.11
Inicialización de los pa áme os del obo pa a la pa e de posición en
la unción Cinema icaIn e sa(). . . . . . . . . . . . . . . . . . . . . . . 24
4.12 Rep esen ación de un obo a icula de es ejes [2]. . . . . . . . . . . 24
4.13 Cálculo del ángulo del p ime eje y zu.................. 25
4.14 Código del cálculo pa a que la posición del obo es é den o del ango. 26
4.15 Las dos con igu aciones que puede ene el codo. . . . . . . . . . . . . 26
4.16 Código del cálculo de la segunda y cua a a iculación. . . . . . . . . . 27
4.17
Código pa a asegu a que los alo es de las a iculaciones se man ienen
en eloslími es. .............................. 27
4.18 Código pa a el cálculo de la ma iz R0
4................... 28
4.19 Código pa a el cálculo de la ma iz de o ación que se desea ob ene . . 29
4.20 Código pa a el cálculo de las úl imas a iculaciones del obo . . . . . . 30
4.21 Pa eddees udio. .............................. 31
4.22 Código pa a el cálculo de la ma iz R0
4................... 32
ix
Además de los a ances en la a qui ec u a de las CNN, ambién ha habido mejo as
en las écnicas de en enamien o. Un ejemplo es el ap endizaje ans e ido, donde
las edes p e-en enadas se u ilizan como pun o de pa ida pa a a eas elacionadas
[34]. Es a écnica ha demos ado se e icaz pa a ob ene esul ados sólidos con
conjun os de da os más pequeños.
En cuan o a las aplicaciones, las CNN han sido ampliamen e adop adas en di e sas
indus ias. En la medicina, se han u ilizado pa a el diagnós ico de en e medades
a pa i de imágenes médicas, como la de ección de cánce en mamog a ías. En el
campo de los ehículos au ónomos, se u ilizan pa a la de ección y clasi icación de
obje os en iempo eal. También se han aplicado en la indus ia de la segu idad, el
análisis de ídeo, la ealidad aumen ada y muchas o as á eas.
Uno de los desa íos en el en enamien o de una ed neu onal pa a ealiza a eas
de isión po compu ado a es la capacidad de la ed pa a iden i ica y cen a se en
las egiones más ele an es de una imagen. En algunos casos, las imágenes pueden
ene ca ac e ís icas i ele an es que pueden a ec a nega i amen e el endimien o
de la ed, y en o os casos egiones muy complejas pueden esul a di íciles pa a el
ap endizaje de la ed.
En es e con ex o, el p esen e abajo se en oca en la e aluación de las egiones más
ele an es p esen es en una supe icie median e o og a ías. Es as egiones end án
ca ac e ís icas de dis in a complejidad, y se e alua á la capacidad de ap endizaje de
una ed neu onal de las mismas.
2Chap e 1 In oducción y con ex o
2
Alcance y obje i os
El p esen e abajo iene como obje i o e alua median e el en enamien o de una
ed neu onal cuales son las egiones más signi ica i as en el ap endizaje. Pa a lo-
g a lo, se end án que ealiza di e en es a eas que se comen a án a con inuación.
En p ime luga , pa a ob ene las o os necesa ias pa a el en enamien o de la ed
neu onal, se deben de ealiza las unciones que pe mi an con ola la posición y
o ien ación que adop a á el obo . Pa a ello, se debe esol e el p oblema cinemá ico
di ec o e in e so del obo u ilizado (KUKA LBR IIWA 7 R800). Pa a pone a p ueba
las unciones c eadas y pa a la amilia ización del uso de la cáma a, se ealiza á un
algo i mo que pe mi a al obo cambia de posición y de o ien ación en unción de
las necesidades del momen o.
En segundo luga , se p ocede á a ob ene las o os y a segmen a las en imágenes de
meno amaño pa a que la ed neu onal pueda u iliza las como da os de en ada de
la ed. Pa a consegui lo, p ime o se debe á c ea un p og ama que pe mi a al obo
mo e se po oda la pa ed que se quie e analiza y saca o os en cada una de las
posiciones. Una ez ob enidas las o os, se debe de c ea un p og ama que di ida y
clasi ique las o os en unción de si las o os se u iliza án pa a en ena , alida o
es ea la ed neu onal.
En e ce luga , se debe de en ena la ed neu onal. Pa a ello, se u iliza án écnicas
que mejo a án el en enamien o de la ed neu onal. Una de es as écnicas se á
el uso del ap endizaje ans e ido [34], que consis e en u iliza una ed neu onal
p e iamen e en enada y modi ica únicamen e las úl imas capas de la ed neu onal.
Un obje i o secunda io del p esen e abajo es e alua la implemen ación de las
dis in as écnicas u ilizadas.
Po úl imo, se debe c ea un p og ama que pe mi a discu i g á icamen e los da os
ob enidos. Pa a ello, se pond á a p ueba la ed neu onal c eada y se compa a án
las p edicciones de la ed con los esul ados ob eniendo el e o en cada una de
las zonas de la pa ed es udiada. Con es os da os se c ea án g á icos que pe mi an
discu i los esul ados y saca conclusiones de es e abajo.
3
3
An eceden es bibliog á icos y
es ado del a e
3.1 Redes neu onales con olucionales
Las edes neu onales con olucionales (CNN, po sus siglas en inglés) son una clase
especializada de edes neu onales a i iciales que han e olucionado el campo de la
isión po compu ado a. Es as edes es án diseñadas especí icamen e pa a ob ene
un endimien o mayo al p ocesa y analiza da os isuales, como imágenes y ídeos,
con el obje i o de iden i ica pa ones y ca ac e ís icas ele an es.
La a qui ec u a básica de una CNN se compone de a ias capas in e conec adas, cada
una con una unción especí ica en el p ocesamien o de la in o mación isual. La
capa inicial es la capa de en ada, que ecibe la imagen en su o ma c uda. A medida
que la in o mación luye a a és de la ed, las capas pos e io es ealizan ope aciones
de con olución, ag upamien o (pooling) y ac i ación pa a ex ae g adualmen e
ca ac e ís icas más abs ac as y signi ica i as [5].
3.1.1 Es uc u a y los componen es cla e de una CNN
Las capas p incipales de una ed neu onal con olucional son:
Figu e 3.1: Ejemplo de capas de una ed neu onal con olucional ípica[5].
La capa de con olución:
Es una de las pa es undamen ales de una CNN. Con-
sis e en aplica un conjun o de il os a la imagen de en ada pa a de ec a ca -
5
ac e ís icas locales, como bo des, esquinas y ex u as. Es os il os se deslizan
sob e la imagen y ealizan una ope ación ma emá ica conocida como con olu-
ción, que combina la in o mación de píxeles ecinos. Es a ope ación pe mi e
cap u a pa ones espaciales en la imagen y gene a mapas de ca ac e ís icas
con olucionales.
Figu e 3.2: Ejemplo de capa con olucinal con il o [5].
La capa de ag upamien o (pooling):
Después de la capa de con olución, la capa
de ag upamien o (pooling) educe la dimensionalidad de los mapas de ca -
ac e ís icas, p ese ando las ca ac e ís icas más impo an es y desca ando el
uido o de alles i ele an es. El ag upamien o se ealiza di idiendo la ima-
gen en egiones solapadas y omando el alo máximo o p omedio de cada
egión, lo que disminuye la can idad de in o mación a p ocesa en las capas
pos e io es.
Figu e 3.3: Ejemplo de pooling (max)[28].
Las capas o almen e conec adas:
eciben las ca ac e ís icas ex aídas y las u i-
lizan pa a ealiza la a ea especí ica, como la clasi icación de imágenes, de ec-
ción de obje os o econocimien o acial. Es as capas se asemejan a las de una
ed neu onal adicional y u ilizan unciones de ac i ación pa a in oduci no
linealidades en el modelo y pe mi i la ep esen ación de elaciones complejas
en e las ca ac e ís icas [38].
Además de dichas capas, exis en o os elemen os, como son las unciones de ac-
i ación [14]. Es as son unciones ma emá icas que se aplican a la salida de una
6Chap e 3 An eceden es bibliog á icos y es ado del a e
neu ona o unidad de p ocesamien o en una ed neu onal. Es as unciones in oducen
no linealidad en el modelo, pe mi iendo a la ed ap ende y modela elaciones
complejas en los da os. Cuando se p ocesa una en ada en una neu ona, se ealiza
una combinación lineal de las en adas ponde adas po los pesos sináp icos. Pos e i-
o men e, se aplica la unción de ac i ación a es a suma ponde ada pa a de e mina
la salida de la neu ona.
3.1.2 Ap endizaje en una ed neu onal con olucional
El p oceso de ap endizaje en una CNN se basa en la op imización i e a i a de
una unción de pé dida median e el algo i mo de e op opagación y descenso de
g adien e. El obje i o es ajus a los pesos y sesgos de las neu onas de la ed pa a
minimiza la di e encia en e las salidas p edichas y los alo es eales.
En p ime luga , se ealiza una pasada hacia adelan e ( o wa d pass) po la ed,
donde los da os de en enamien o se p opagan a a és de las capas con olucionales,
de ag upamien o y o almen e conec adas, gene ando una p edicción. Luego, se
calcula el e o en e la p edicción y los alo es eales u ilizando una unción de
pé dida, como el e o cuad á ico medio (MSE) o la en opía c uzada.
Figu e 3.4: Diag ama de o wa d pass y backwa d pass [3].
A con inuación, se ealiza una pasada hacia a ás (backwa d pass) u ilizando el
algo i mo de e o-p opagación. Du an e es a e apa, se calculan las de i adas
pa ciales del e o con espec o a los pesos y sesgos de cada neu ona de la ed. Es as
de i adas se u ilizan pa a ajus a los pa áme os de la ed en di ección opues a al
g adien e del e o , median e el descenso de g adien e [1].
El descenso de g adien e es ocás ico (3.1) ac ualiza los pesos y sesgos de la ed medi-
an e la mul iplicación de la de i ada pa cial del e o con espec o a los pa áme os
po una asa de ap endizaje. Es o se epi e i e a i amen e pa a múl iples ejemplos de
3.1 Redes neu onales con olucionales 7
en enamien o has a que la unción de pé dida se minimiza o se alcanza un c i e io
de con e gencia.
θ +1 =θ −α∇E(θ )(3.1)
Además, se u ilizan écnicas de egula ización, en es e caso, la egula ización L2
(3.2). Es as se usan pa a e i a que en ez de que la ed neu onal ap enda, la
ed neu onal memo ice. Es e enómeno se llama sob e-ajus e (o e - i ing) y es
pe judicial pa a el modelo. La egula ización pe mi e educi la complejidad del
modelo, lo cual pe mi e mejo a la capacidad del modelo de gene aliza .
L2(θ) = λ
n
X
j=1
θ2
j(3.2)
El úl imo concep o que se comen a á es el de la no malización de los lo es (ba ch
no maliza ion). Es a es una écnica que se u iliza pa a educi la dimensión de los
cálculos que se ealizan pa a calcula la media del e o o la des iación es ánda
[22].
3.1.3 Impo ancia de los pun os cla e en una imagen
En el p ocesamien o de imágenes y isión po compu ado a, los pun os cla e (key-
poin s) desempeñan un papel undamen al pa a iden i ica egiones de in e és y
de ec a pa ones ele an es en una imagen. Es os pun os cla e son pun os dis in-
i os y signi ica i os que se ca ac e izan po ene p opiedades únicas y es ables,
como cambios en la in ensidad, ex u as o o mas, que los hacen ácilmen e de ec a-
bles en di e en es escalas y o ien aciones. Los mé odos más u ilizados son el SIFT y
el SURF.
El SIFT u iliza una pi ámide de imágenes en di e en es escalas pa a busca pun os
cla e en dis in os ni eles de de alle [37]. Luego, pa a cada pun o cla e de ec ado,
se calculan desc ip o es que codi ican la in o mación local de su ecinda io, como
g adien es de in ensidad y o ien ación. Es os desc ip o es son in a ian es a las
ans o maciones mencionadas y pueden se u ilizados pa a compa a y empa eja
pun os cla e en e di e en es imágenes [15].
8Chap e 3 An eceden es bibliog á icos y es ado del a e
Figu e 3.5: Ejemplo de SIFT [27].
El SURF es un algo i mo simila a SIFT pe o más ápido y e icien e compu acional-
men e [30]. Al igual que SIFT, SURF ambién de ec a pun os cla e in a ian es a
cambios de escala, o ación y cambios en la iluminación. Sin emba go, SURF u iliza
il os de caja y una ma iz hessiana ap oximada pa a acele a el cálculo de los
desc ip o es, lo que lo hace especialmen e adecuado pa a aplicaciones en iempo
eal [29].
La impo ancia de los pun os cla e adica en su capacidad pa a iden i ica egiones
de in e és y de ec a pa ones ele an es en una imagen. Al encon a pun os cla e
dis in i os y es ables, se pueden localiza ca ac e ís icas especí icas, como esquinas,
bo des o ex u as, que son undamen ales pa a econoce obje os o ealiza a eas
de análisis isual [24].
3.1.4 Pa ones na u ales más áciles de ap ende pa a una
CNN
Las edes neu onales con olucionales (CNN) han demos ado se al amen e e icien es
en el ap endizaje y de ección de pa ones na u ales en imágenes [5]. Algunos de los
pa ones isuales más comunes y áciles de ap ende pa a una CNN incluyen bo des,
ex u as simples, esquinas y pun os de in e és. Es os pa ones son ampliamen e
es udiados en la li e a u a y se ha demos ado que las CNN ienen una g an capacidad
pa a ap ende y de ec a e icien emen e es os pa ones na u ales. A con inuación, se
discu i án es os pa ones y se menciona án es udios p e ios ele an es.
Los bo des son ansiciones ab up as de in ensidad en una imagen y son uno de
los pa ones isuales más básicos [35]. En una imagen, los bo des ep esen an
cambios signi ica i os en la in ensidad de los píxeles y pueden co esponde a lími es
en e obje os, con o nos o o mas. Las CNN pueden ap ende a de ec a bo des
median e el uso de il os con olucionales que esponden a cambios de in ensidad
3.1 Redes neu onales con olucionales 9
en di e en es di ecciones. Es os il os con olucionales se u ilizan pa a cap u a
ca ac e ís icas locales en la imagen y esal a los bo des.
Las ex u as simples se e ie en a pa ones epe i i os y egula es en una imagen,
como ayas, pun os o cuad os. Es as ex u as ienen una es uc u a de inida y
pueden se ácilmen e ap endidas po una CNN [18]. Al u iliza múl iples il os
con olucionales, una CNN puede cap u a di e en es ca ac e ís icas ex u ales en
la imagen y de ec a pa ones como líneas pa alelas, pun os dispe sos o á eas con
ex u as uni o mes [8].
Las esquinas y los pun os de in e és son ca ac e ís icas dis in i as en una imagen
que ep esen an cambios b uscos en la o ien ación de los bo des. Es os pun os son
ácilmen e iden i icables y p opo cionan in o mación aliosa sob e la es uc u a y
con enido de la imagen [4]. Las CNN pueden ap ende a de ec a esquinas y pun os
de in e és u ilizando il os con olucionales diseñados pa a esponde a cambios de
o ien ación en los bo des. Es os il os ayudan a esal a y localiza pun os cla e en
la imagen.
3.1.5 Mé odos y écnicas pa a mejo a el ap endizaje de
pa ones
El ap endizaje de pa ones complejos es un desa ío impo an e en el en enamien o
de edes neu onales con olucionales (CNN). A o unadamen e, exis en a ios en-
oques a anzados y écnicas que se han desa ollado pa a mejo a la capacidad de
una CNN pa a ap ende pa ones complejos de mane a más e icien e. En es e caso
se u iliza án dos écnicas ampliamen e u ilizadas: el uso de una a qui ec u a más
p o unda (en es e caso el VGG16) y el ap endizaje ans e ido .
U iliza una a qui ec u a de ed neu onal más p o unda iene a ios bene icios.
En p ime luga , las edes neu onales más p o undas ienen una mayo capacidad
de cap u a y ap ende ep esen aciones más complejas y abs ac as de los da os.
Además, ienen el po encial de mejo a el endimien o. Po o o lado, una ed
neu onal p e-en enada más p o unda puede ayuda a egula iza el modelo y educi
el sob e-ajus e. Sin emba go, la azón p incipal del uso de es a ed es la ans e encia
de ca ac e ís icas. Al e-en ena una ed neu onal p o unda, especialmen e en a eas
elacionadas o conjun os de da os simila es, se pueden ans e i las ca ac e ís icas
ap endidas p e iamen e. Las capas iniciales de una ed p e-en enada suelen se
esponsables de ex ae ca ac e ís icas de bajo ni el, como bo des y ex u as simples,
que son ele an es pa a una amplia gama de p oblemas. Al ap o echa es as
ca ac e ís icas p e-en enadas, se acele a el p oceso de ap endizaje y se mejo a la
capacidad de gene alización del modelo [32].
10 Chap e 3 An eceden es bibliog á icos y es ado del a e
En es e caso, solo se an a e-en ena las úl imas capas de la ed neu onal. A es a
écnica se la conoce como "ajus e ino" o " ans e lea ning" en inglés. Las úl imas
capas de una ed neu onal suelen se esponsables de la ex acción de ca ac e ís icas
de al o ni el, que son más especí icas pa a el conjun o de da os u ilizado en el
en enamien o o iginal. Es as capas con ienen in o mación que es más ele an e
pa a la a ea especí ica que se desea abo da [21].
3.1.6 Casos de es udio y aplicaciones
Las edes con olucionales han demos ado se una de las écnicas más pode osas en
el campo del econocimien o de imágenes.
Es o ha pe mi ido que se haya aplicado en odo ipo de sec o es [20]. Uno de los
sec o es que más se es á in es igando e implemen ando es el sec o de la medicina.
Se es á aplicando en di e en es campos, como puede se la ci ugía [23] o la iden i i-
cación de en e medades a a és de imágenes [6]. También se es á in es igando a
ce ca del econocimien o acial y los aspec os más abs ac os de la misma como la
de ección de emociones [36].
O o sec o que es á a anzando ápidamen e en la implemen ación de la isión a i-
icial es el sec o indus ial. Se puede aplica de muchas o mas, desde la de ección
de piezas de ec uosas en una línea de p oducción [11] has a la combinación de la
isión a i icial con la obó ica, pa a sabe si ua el obo en el luga adecuado en
odo momen o.
O o ámbi o en el que se es á in es igando es el de los ehículos au ónomos. Se lle a
décadas in es igando sob e la conducción au ónoma, y la isión a i icial pa a la
de ección de ca iles o pa a la de ección de o os ehículos y señales ya es á siendo
implemen ada [19]. Además, ya se pueden encon a los p ime os modelos que son
capaces de es aciona sin que el conduc o enga que in e eni en el p oceso.
3.2 Robo de 6 g ados de libe ad
Pa a la ealización de es e p oyec o, se a a ene que u iliza un obo de 6 g ados
de libe ad. Los comandos y el con ol u ilizado has a aho a han causado e o es y
no pe mi en hace lo que se quie e ealiza en es e p oyec o. Po lo an o, se a a
hace un con ol de posición pa a es e obo en Ma lab. Se es udia á, po lo an o, la
cinemá ica di ec a e in e sa del modelo LBR iiwa 7 R800. Es e obo iene 7 g ados
de libe ad, pe o se bloquea á uno de ellos pa a que se simpli iquen las ecuaciones y
esul en más áciles los cálculos.
3.2 Robo de 6 g ados de libe ad 11
po lo an o la posición y la o ien ación del ex emo del obo end á dada po las
elaciones:
x= x(q1, q2, q3, q4, q5, q6, q7)
y= y(q1, q2, q3, q4, q5, q6, q7)
z= z(q1, q2, q3, q4, q5, q6, q7)
ϕ= α(q1, q2, q3, q4, q5, q6, q7)
θ= β(q1, q2, q3, q4, q5, q6, q7)
ψ= γ(q1, q2, q3, q4, q5, q6, q7)
(4.1)
El modelo cinemá ico di ec o se ha ob enido median e el mé odo de Dena i -
Ha enbe g. Es e mé odo si e pa a elaciona la a iculación
i−1
a la a iculación
i.
Figu e 4.5: Diag ama del obo Kuka iiwa R800 [31].
Los pa áme os de Dena i -Ha enbe g son los siguien es:
i θidiaiαi
1θ1dbs 0−π
2
2θ20 0 π
2
3θ3dse 0π
2
4θ40 0 −π
2
5θ5dew 0−π
2
6θ60 0 π
2
7θ7dw 0 0
Table 4.1:
Pa áme os de DH, donde
dbs = 340mm
,
dse = 400mm
,
dew = 400mm
y
dw =
126mm.
Con la abla de DH se ob ienen las ma ices de ans o mación homogénea, siguiendo
la siguien e ma iz:
Ti−1
i=
cos(θi)−sin(θi)cos(αi)sin(θi)sin(αi)aicos(θi)
sin(θi)cos(θi)cos(αi)−cos(θi)sin(αi)aisin(θi)
0sin(αi)cos(αi)di
0 0 0 1
(4.2)
18 Chap e 4 Desa ollo de la solución
Po lo an o, las ma ices quedan:
T0
1=
cos(θ1) 0 −sin(θ1) 0
sin(θ1) 0 cos(θ1) 0
0−1 0 dbs
0 0 0 1
T1
2=
cos(θ2) 0 sin(θ2) 0
sin(θ2) 0 −cos(θ2) 0
0 1 0 0
0 0 0 1
T2
3=
cos(θ3) 0 sin(θ3) 0
sin(θ3) 0 −cos(θ3) 0
0 1 0 dse
0 0 0 1
T3
4=
cos(θ4) 0 −sin(θ4) 0
sin(θ4) 0 cos(θ4) 0
0−1 0 0
0 0 0 1
T4
5=
cos(θ5) 0 −sin(θ5) 0
sin(θ5) 0 cos(θ5) 0
0−1 0 dew
0 0 0 1
T5
6=
cos(θ6) 0 sin(θ6) 0
sin(θ6) 0 −cos(θ6) 0
0 1 0 0
0 0 0 1
T6
7=
cos(θ7) 0 −sin(θ7) 0
sin(θ7) 0 cos(θ7) 0
0−1 0 dw
0 0 0 1
(4.3)
Así pues, se puede ob ene la ma iz
T0
7
que indica la localización del sis ema asociado
al ex emo del obo espec o al sis ema de e e encia de la base del obo :
T0
7=T0
1T1
2T2
3T3
4T4
5T5
6T6
7=
nxoxaxpx
nyoyaypy
nzozazpz
0 0 0 1
(4.4)
Es o en el código se aduce de la siguien e o ma:
Figu e 4.6: Función de cinemá ica di ec a.
4.1 Seguimien o de b azo obó ico a ma cado Tag 19
Un de alle es que no se ha enido en cuen a la dis ancia de la muñeca del obo . Es o
es po que es a dis ancia se end á en cuen a más adelan e.
Con la ma iz 4.4 solucionada, la cinemá ica di ec a es á esuel a. Po lo an o,
en cada i e ación se pod án ob ene la ubicación y la o ien ación del ex emo del
obo .
4.1.4 Ob ene ec o es de o ación y aslación del Tag
Como se ha explicado p e iamen e, la iden i icación del Tag se ha á median e una
cáma a si uada en el ex emo de obo . Pa a es e come ido, se ha u ilizado una
unción de Ma lab llamada eadAp ilTag(), que es á den o de la unción c eada
cáma a.
Es a unción es capaz de iden i ica el núme o que ep esen a cada Tag y ob iene
la ma iz de o ación y el ec o de aslación. Pa a la u ilización de es a unción,
p e iamen e se ha enido que calib a la cáma a con la app de Ma lab "Came a
Calib a o " [25]. Una ez calib ada la cáma a, la sesión de calib ación se gua da
como "calib a ionSession.ma ". Aquí se gua dan odos los pa áme os necesa ios de
la cáma a pa a que la unción eadAp ilTag() sea capaz de ob ene la in o mación
del Ap ilTag.
En la unción Cama a, po lo an o, p ime o se inicializa la cáma a con la que se a
a abaja . En es e caso siemp e se a el 2, ya que el 1 es la cáma a del po á il. A
con inuación ecoge la in o mación gua dada en la sesión de calib ación y ecoge
de esa sesión la in o mación necesa ia de la cáma a. Es a es gua dada en una
a iable llamada "in insics". Po úl imo, an es del loop de es a unción, se de e mina
que amaño ienen los Ap ilTAg u ilizados. Es a in o mación se á necesa ia pa a el
cálculo de las dis ancias y de la o ien ación.
Figu e 4.7:
La inicialización de las a iables necesa ias en la unción Cama a pa a que se
pueda lee el Ap ilTag.
A pa i de aquí, la unción en a en un bucle. No se sald á de es e bucle has a que
la unción haya de ec ado el Ap ilTag deseado.
Pa a ello, p ime o, den o del bucle, se saca una o o. A con inuación, esa o o es
analizada con la unción eadAp ilTag(). Si hay un Ap ilTag en la o o, la unción
de ol e á el ID (el núme o) del Ap ilTag de ec ado y el "pose". La a iable "pose"
20 Chap e 4 Desa ollo de la solución
iene como in o mación la ma iz de o ación del Ap ilTag espec o de la cáma a y el
ec o de aslación espec o de la cáma a.
La unción eadAp ilTag() iene cua o en adas en es e caso: La imagen, los "in in-
sics", el amaño del Ap ilTag y po úl imo, la amilia a la que pe enece el Ap ilTag,
que en es e caso es " ag36h11" [10]. Exis en dis in as amilias de Ap ilTag en unción
de cuales sean las necesidades de la aplicación pa a la que se ayan a usa . En
es e caso, se escoge la amilia " ag36h11", ya que son las más simples y son las
ecomendadas pa a aplicaciones en las que se necesi e un iempo de espues a
meno .
Figu e 4.8: ID 0 de la amilia de Ap ilTag 36h11 [10].
La ma iz de o ación y el ec o de aslación se de uel en de la unción de la
siguien e o ma:
R3∗3=
11 12 13
21 22 23
31 32 33
(4.5)
P3∗1=
px
py
pz
(4.6)
Sin emba go, la ma iz y el ec o ob enidos no se pod án aplica di ec amen e, ya
que no ienen los mismos ejes que iene el ex emo del obo , po lo an o se end án
que hace unos cambios que se a a án en la siguien e sección. Es os cambios se
ealiza án en la siguien e unción.
Po lo an o, el código de loop queda de la siguien e o ma:
4.1 Seguimien o de b azo obó ico a ma cado Tag 21
Figu e 4.9: Bucle den o de la unción Cama a que busca el ID del Ap ilTag eque ido.
4.1.5 Ob ene nue as coo denadas
Una ez ob enida la ma iz de o ación del Tag espec o de la cáma a y el ec o de
aslación, se ienen que jun a los dos componen es pa a hace una ma iz que se
pueda mul iplica a la ma iz homogénea p e ia pa a así pode ob ene las nue as
coo denadas ca esianas espec o de la base y los nue os ángulos de Eule .
Sin emba go, los ejes no coinciden con los del ex emo del obo , y además al gi a
la cáma a los ejes uel en a cambia . Es o hace que se engan que ob ene p ime o
los ángulos de Eule de la ma iz de o ación del Ap ilTag, eo dena las en unción
de la con igu ación del obo y c ea una nue a ma iz de o ación, que es a ez si,
al mul iplica dicha ma iz con la ma iz de o ación
R0
7
, se ob enga la ma iz de
o ación inal que da á los ángulos de Eule deseados.
P ime o, se ienen que ob ene los ángulos de Eule . Se pueden ob ene de muchas
o mas, pe o en es e caso se u iliza la unción de Ma lab " o m2eul()" que los ob iene
di ec amen e. Después se eo denan y se uel e a c ea la ma iz con la unción de
Ma lab " o m2eul().
A es a ma iz de o ación se la denomina á como
R7
8
, como si de una ex ensión del
obo se a ase. Se c ea una ma iz homogénea
T7
8
con dicha ma iz de o ación y el
ec o de aslación eo denado P7
8.
T7
8="R7
8P7
8
0 1 #(4.7)
22 Chap e 4 Desa ollo de la solución
De lo que se deduce:
T0
8=T0
7T7
8=
nxoxaxpx
nyoyaypy
nzozazpz
0 0 0 1
(4.8)
Un p oblema es que la unción que se es á u ilizando pa a ob ene la ma iz y las
coo denadas, el eadAp ilTag() cambia la di ección de las coo denadas en unción
de si la cáma a es á boca abajo o no. Po lo an o, hay que hace una condición que
dis inga es o.
Po lo an o, de la ma iz de o ación ob enida se ob ienen los ángulos de Eule
o iginales y se cambian en unción de la posición del obo .
Po lo an o, los ángulos de Eule de la cáma a se eo ganizan, y se hace una ma iz
homogénea con el ec o de aslación ambién eo ganizado. A es a ma iz se la
llama
R7
8
, y si se mul iplica la ma iz homogénea o iginal con la ma iz de la cáma a
se ob ienen los ángulos de Eule y la posición deseados a los que se quie e mo e el
ex emo del obo .
4.1.6 Cinemá ica In e sa
El p oblema cinemá ico in e so a a de encon a los alo es que ienen que adop a
las coo denadas a icula es del obo pa a que el obo se posicione en un pun o y
con una o ien ación de inida.
Pa a ello, se ha diseñado una unción en Ma lab llamada Cinema icaIn e sa(). Las
en adas de la unción son los ángulos de Eule del ex emo del obo (a, b, c) y la
posición del ex emo del obo en coo denadas ca esianas (x, y, z). Las salidas se án
el gi o de los sie e ejes del obo en adianes pa a que el ex emo del obo llegue a
la o ien ación y posición deseadas.
Figu e 4.10: Llamada a la unción Cinema icaIn e sa() desde el main.
El p oblema se ha abo dado median e el mé odo geomé ico y u ilizando el desacoplo
cinemá ico, po lo an o p ime o se abo da a el p oblema de la posición con los
p ime os cua o ejes del obo (el e ce eje es a á bloqueado) y po úl imo se
abo da á el p oblema de la o ien ación con los úl imos es ejes.
En la unción Cinema icaIn e sa(), en p ime luga , se inicializan las longi udes
del obo , como se ha hecho en la cinemá ica di ec a. En es a ocasión ampoco
4.1 Seguimien o de b azo obó ico a ma cado Tag 23
se in oduce la dis ancia de la muñeca, es a se end á en cuen a siemp e en o a
unción.
También se in oducen los lími es de gi o de cada eje. Es o se hace con el p opósi o
de que se limi e el gi o de los ejes y no se ob enga una salida que el obo no pueda
ealiza . Es e es un p oblema que se enía con las unciones del ToolBox.
Figu e 4.11:
Inicialización de los pa áme os del obo pa a la pa e de posición en la
unción Cinema icaIn e sa().
A con inuación, se p ocede a calcula los alo es de los p ime os cua o ejes. Te-
niendo el e ce eje bloqueado, el diag ama es el siguien e:
Figu e 4.12: Rep esen ación de un obo a icula de es ejes [2].
Los da os de pa ida son
px
,
py
y
pz
, ya que se conocen de las ma ices homogéneas
calculadas p e iamen e.
Se obse a que el alo de q1se ob iene como:
q1 = a c g(py
px
)(4.9)
24 Chap e 4 Desa ollo de la solución
Hay que ene en cuen a que pa a el cálculo de los p óximos ángulos hay que hace
unos cálculos p elimina es. P ime o, se es a la al u a de la base del obo , ya que
se á cons an e y no cambia a cuando q2yq4cambien. Po lo an o:
zu=z−l1(4.10)
Es o en el código se e leja como:
Figu e 4.13: Cálculo del ángulo del p ime eje y zu
Además, hay que ene en cuen a la posibilidad de que se pida llega a un pun o
ue a del alcance del obo . Po lo an o se oman dos medidas p incipales. En el
caso de que se quie a llega a un pun o demasiado lejano, se calcula el pun o más
ce cano en la di ección del pun o o iginal. P ime o se calcula el adio del pun o
eque ido espec o al o igen, que en es e caso se á la segunda a iculación.
RadioP un o =qx2+y2+z2
u(4.11)
El adio máximo del obo (
Rmax
) es de 800mm. Se hacen los cálculos con 790mm
pa a deja un ma gen de e o . Si el pun o de la ecuación 4.11 es supe io , se
calcula en que p opo ción es el adio del pun o supe io al adio máximo, pa a
así mul iplica lo y calcula el nue o pun o al alcance del obo . El mul iplicado
queda:
Mul iplicado =sR2
max
x2+y2+z2
u
(4.12)
Y en onces, el nue o pun o:
x=x∗Mul iplicado
y=y∗Mul iplicado
zu=zu∗Mul iplicado
(4.13)
Es o se aduce en el código de la siguien e o ma:
4.1 Seguimien o de b azo obó ico a ma cado Tag 25
Figu e 4.14: Código del cálculo pa a que la posición del obo es é den o del ango.
Una ez habiendo asegu ado que el pun o a calcula es á den o del ango, se
p ocede a calcula
q2
y
q3
. Pa a ob ene
q2
y
q3
, se iene que ene en conside ación
que exis en dos ipos de con igu aciones pa a el codo: codo abajo y codo a iba.
(a) Codo abajo (b) Codo a iba
Figu e 4.15: Las dos con igu aciones que puede ene el codo.
Po lo an o, pa a cada con igu ación de codo hab á una solución de
q2
y
q4
. Con el
eo ema del coseno se ob iene que:
q4(1) = −acos(C4)
q4(2) = acos(C4) (4.14)
Donde:
C4=x2+y2+zu2−l2
2−l2
3
2l2l3
(4.15)
Y queda:
q2=a an(zu
px2+y2) + a an(l3sin(q4)
l2l3cos(q4))−π
2(4.16)
T asladado al código:
26 Chap e 4 Desa ollo de la solución
Figu e 4.16: Código del cálculo de la segunda y cua a a iculación.
Po úl imo, se iene que asegu a que ninguna a iculación excede su ango de
mo imien o. P e iamen e se ha asegu ado que el pun o no es é demasiado lejos,
pe o puede sucede que po lími es p opios de las a iculaciones el obo no sea
capaz de llega a cie os pun os. En es e caso, si el ángulo de alguna a iculación
supe a sus posibilidades, es e pa áme o coge el alo del ángulo más ce cano al que
pueda llega . Es a solución p e ende única y exclusi amen e que el con olado del
obo no mande una señal de e o , ya que en es os casos el obo deja de segui el
código y se queda congelado, eniendo que einicia lo. En el código:
Figu e 4.17:
Código pa a asegu a que los alo es de las a iculaciones se man ienen en e
los lími es.
4.1 Seguimien o de b azo obó ico a ma cado Tag 27
Figu e 4.26:
Coo denadas de la pa ed pa a el nomb amien o de las o os según la posición.
Po lo an o, el nomb e de cada o o que se aya a saca se á dependiendo de las
coo denadas de la pa ed en las que se haya sacado. Las ecuaciones pa a ob ene
dichas coo denadas son:
Nomb eHo izon al =−Ho izon alT o al
2+ 7(i−1)√2(mm)
Nomb eV e ical =V e icalT o al
2−10(j−1)(mm)
(4.30)
Después, con la posición del obo calculada, se u iliza la unción de cinemá ica
in e sa pa a ob ene los ángulos de cada eje del obo . Ac o seguido se mue e el
obo al pun o deseado.
El cálculo de las posiciones y los nomb es de las o os, en el código:
34 Chap e 4 Desa ollo de la solución
Figu e 4.27:
Código pa a el cálculo de las posiciones que adop a á el obo pa a saca las
o os y el cálculo de los nomb es de las o os que se saca an espec o a las
coo denadas de la pa ed.
Cada ez que se mue a el obo , hay que saca una o o y gua da la en una ca pe a
pa a luego pode u iliza la. Teniendo en cuen a que la línea an e io a es a es la que
mue e el obo de posición, se in oduce un iempo de pausa pa a que al obo le de
iempo a coloca se en la nue a posición. Después se saca la o o, se c ea el nomb e
de la o o con las a iables de la posición p e iamen e comen adas y se gua da la
o o en la ca pe a deseada. Po úl imo, se uel en a inicializa los alo es de las
coo denadas del obo a las iniciales. Con es o, el bucle queda ía de inido.
Figu e 4.28: Código pa a ob ene las o os y gua da las en la ca pe a deseada.
Una ez e minados los bucles, se apaga el se ido y se e mina la conexión con el
obo . Con es o, se e mina el código que pe mi e saca las o os necesa ias de la
pa ed median e el obo .
4.2 En enamien o de la Red 35
4.2.2 Di isión de las o os ob enidas pa a pode en ena la
ed neu onal
P e iamen e se ha comen ado como las o os deben de se di ididas en un amaño
que la ed neu onal pueda a a . La ed neu onal que se a a u iliza como base
pa a el en enamien o es la VGG16. Es a es á diseñada pa a que las o os engan
una esolución de 128*128, pe o se puede cambia pa a que pueda en ena se con
o os de 64*64 o 32*32, po ejemplo. Las o os o iginales ienen una esolución de
640*480, esolución no álida pa a la ed.
Figu e 4.29:
Fo os ob enidas a a és de la cáma a pegada a al inal del Robo . Resolución
640*480.
Segmen a las o os se i á en p ime luga pa a pode u iliza las pa a el en e-
namien o de la ed, pe o ambién se i á pa a que enga mayo can idad de da os
de en ada pa a se en enada. Pa a ealiza es o, se ha diseñado dos p og amas que
di iden las o os o iginales. Son dos po que se an a hace dos en enamien os con
dos amaños de imagen de en enamien o, de 64*64 y 128*128. Los dos p og amas
son idén icos, po lo an o se explica á un único p og ama, el de 64*64.
El p og ama es un sc ip de Ma lab que se llama "Di idi Fo os.m". Lo p ime o que se
hace en el sc ip es limpia la memo ia y bo a odo lo que haya en unas ca pe as
llamadas "ImagenesT ain", "ImagenesTes " y "ImagenesVal". A con inuación, se c ean
es a ays con los mismos nomb es.
36 Chap e 4 Desa ollo de la solución
Figu e 4.30: P ime as líneas del sc ip "Di idi Fo os.m".
Las o os que se ayan a di idi se sepa a an en es ca pe as di e en es, que son
las que se han limpiado inicialmen e. Es o es po que a la ho a de en ena una ed
neu onal, una can idad de da os si e pa a en ena (T ain), o a pa a asegu a se
du an e el en enamien o que no se es á p oduciendo sob e-ajus e (Val) y po úl imo
las o os que pe mi i án al inal pone a p ueba la ed neu onal en enada (Tes ).
Las ca pe as end án un po cen aje dis in o de o os. En es e caso, La ca pe a
del en enamien o end á un 70% de las o os, la ca pe a de alidación un 15% y
la ca pe a de es eo el úl imo 15%. Más adelan e en el p og ama se ealiza á la
pa ición.
Figu e 4.31: Va iables que pe mi i án si ua las o os en las ca pe as adecuadas.
La siguien e pa e del código es á dedicada a di idi las o os y a da les a cada
di isión de las o os el nomb e con las coo denadas ap opiadas. Pa a ello, p ime o se
ealizan las mismas cuen as que en el sc ip que ob iene las o os pa a pode llama
a odas las o os desde es e sc ip . Después, se hacen los cálculos de cuál se á la
posición de las nue as o os pa iendo de la posición de la o o o iginal que se ha
pa ido.
Pa a ello, p ime o se hace el cálculo de cuan a dis ancia aba ca cada píxel de una
o o en la pa ed. La dis ancia se mide de o ma expe imen al, y en el código se iene
que:
Figu e 4.32: Cálculo de la dis ancia de pa ed po píxel.
4.2 En enamien o de la Red 37
Donde 492 son los milíme os de pa ed que aba ca ho izon almen e una o o o iginal
y NxmaxSub son los 640 píxeles que iene ho izon almen e cada imagen.
Po lo an o, si se ienen las coo denadas del cen o de cada o o o iginal y la
dis ancia po píxel, se pueden ob ene las coo denadas de las nue as o os que se
ayan a ob ene .
P ime o, se leen las o os o iginales en el siguien e agmen o de código:
Figu e 4.33: Lee las o os o iginales pa a luego pode ocea las.
Una ez ob enida la o o que se ocea á, se hace un nue o bucle que oma á una
sección de la o o con el amaño deseado y lo gua da á. En es e caso, po cada 100
píxeles de la o o o iginal, se gua da á una o o con el nue o amaño, como mues a
la siguien e imagen.
Figu e 4.34:
Di isión de las o os o iginales en o os más pequeñas. Cada 100 píxeles en la
o o o iginal, una nue a o o de amaño 64*64.
38 Chap e 4 Desa ollo de la solución
Después, se c ea un núme o alea o io en e 0 y 1 que de e mina á en cual de las
es ca pe as se gua da á la nue a imagen eco ada.
El código de es a pa e es:
Figu e 4.35:
Código pa a di idi las o os o iginales, pone les nomb e y clasi ica los en la
ca pe a co espondien e.
Como se mues a en las siguien es imágenes, el esul ado de di idi la imagen
o iginal es la siguien e.
4.2 En enamien o de la Red 39
(a) Resolución 64*64. (b) Resolución 128*128.
Figu e 4.36: Las dos esoluciones que se an a u iliza las edes neu onales.
Una ez di ididas las o os y as habe las gua dado en las ca pe as co espondien es,
queda o ganiza los da os de en ada de al o ma que la ed neu onal las acep e.
Pa a ello, hay que c ea un "imageDa as o e" de odas las imágenes de cada ca pe a
y a ibui a cada imagen unas coo denadas. Aunque se le hayan pues o los nomb es
con las coo denadas, no son da os que la ed neu onal en ienda. Hace al a jun a
cada imagen con su celda co espondien e de coo denadas. El "imageDa as o e"
iene que i unido a un "a ayDa as o e" que gua de las coo denadas de cada imagen
en el mismo o den que se han gua dado las imágenes en el "imageDa as o e".
Pa a ello, se ha c eado una nue a unción llamada "I aku i.m". Es a unción lee
odos los í ulos de las imágenes del "imageDa as o e" y gua da las coo denadas en
un a ay (da a) de al o ma que se i án acumulando odas las coo denadas de las
imágenes en el mismo o den en los que se han gua dado las imágenes.
Po úl imo, se no malizan las coo denadas de al o ma que el iempo de compu ación
de la ed neu onal se eduzca cuando calcule la media y la a ianza del e o . En el
código:
40 Chap e 4 Desa ollo de la solución
Figu e 4.37:
Código que lee los nomb es de cada o o y gua da las coo denadas en un a ay.
Una ez ob enido el a ay, se puede c ea un conjun o de da os que la ed neu onal
puede lee . La úl ima pa e del código del p og ama de la di isión de o os:
Figu e 4.38:
Pa e del código que gua da los da os de en ada de la ed neu onal de al
o ma que las pueda lee .
Una ez acabado con es o, se puede p ocede a en ena la ed neu onal. Todos los
da os de es e p og ama quedan gua dados y no se deben de pe de po si se desea
cambia de con igu ación de la ed neu onal y en ena la o a ez.
4.2 En enamien o de la Red 41
4.2.3 En enamien o de la Red Neu onal
Pa a c ea el código de en enamien o que se ha u ilizado, se ha u ilizado la App
"DeepNe wo kDesigne " [26]. Es a App pe mi e en ena edes neu onales iejas o
c ea nue as edes neu onales de o ma sencilla.
En la sección "Impo Da a", se ca gan los da os de en enamien o y alidación
c eados p e iamen e.
Figu e 4.39:
Código que ca ga los da os de en enamien o y alidación necesa ios pa a el
en enamien o.
A con inuación, Ma lab b inda la opción de cambia a ios pa áme os del en e-
namien o de la ed neu onal.
Figu e 4.40:
Algunos de los pa áme os que se pueden cambia pa a en ena la ed neu-
onal.
Se han hecho a ios in en os de en enamien o, y algunos de es os pa áme os se han
ido cambiando has a deja los como en la imagen, como la ecuencia de alidación.
Se ha aumen ado la ecuencia de alidación ya que se ha is o que no hace al a
alida an o si el en enamien o a co ec amen e y aho a muchísimo iempo.
La siguien e pa e del código co esponde a las di e en es capas de la ed neu onal.
Se han hecho es cambios. En p ime luga , en la capa de en ada, se ha ajus ado el
amaño de la imagen pa a cada caso. Es o se hace en la p ime a línea.
42 Chap e 4 Desa ollo de la solución
Figu e 4.41: Zona del código donde se escoge el amaño de las imágenes de en ada.
En el caso de la imagen an e io , las imágenes de en ada se án del amaño 128*128,
pe o es o se puede cambia a 64*64, po ejemplo.
El segundo cambio, es que pa a u iliza la écnica de ap endizaje ans e ido, se han
bloqueado odas las capas excep o las úl imas es. Pa a bloquea el ap endizaje, se
u iliza el comando "Weigh L2Fac o ".
Figu e 4.42: Zona del código donde se bloquean los pesos sináp icos de las capas.
Po úl imo, se han cambiado los nomb es de las es úl imas capas pa a deja cla o
cuales son las que cambian. Es as no ienen la es icción pa a los pesos que ienen
las an e io es.
Figu e 4.43: Las es úl imas capas y la capa de salida.
Una ez acabado el en enamien o, se gua dan los esul ados ob enidos.
Figu e 4.44: Zona del código que gua da la ed neu onal en enada.
4.2.4 Pone a P ueba la Red Neu onal
Pa a pone a p ueba la ed neu onal en enada se han ealizado dos p og amas.
El p ime o se llama "Ejecu a RedEn enaDa osTes .m". En es e p og ama, con las
o os gua dadas en la ca pe a de es , se calculan los e o es de posicionamien o que
hace la ed neu onal espec o a la ealidad an o en el eje X como en el eje Y.
4.2 En enamien o de la Red 43
Figu e 5.5: E o en Y en en enamien o con imágenes de esolución 128*128.
50 Chap e 5 Análisis de esul ados
6
Conclusiones y abajos u u os
En el p esen e abajo se ha en enado una ed neu onal con di e en es con igu a-
ciones pa a de ec a las zonas más signi ica i as de una supe icie.
Pa a ealiza el en enamien o es necesa io un conjun o de da os. Es e conjun o de
da os se ha ob enido median e una cáma a si uada en el ex emo de un obo . En
es e caso, se a a del obo Kuka LBR iiwa 7 R800, que iene 7 g ados de libe ad de
los cuales se ha bloqueado uno pa a pode abaja con el como si uese un obo de
6 g ados de libe ad con encional. El b azo del obo ha eco ido una supe icie
elegida (pa ed con canale a y Ap ilTags) haciendo o os.
A con inuación, es as o os se han segmen ado en imágenes de meno amaño pa a
pode usa los como da os de en ada de una ed neu onal con olucional y ene un
iempo de en enamien o manejable. Se han usado 3000 o os o iginales, y cada
una de es as se ha segmen ado en 20 imágenes más.
Pa a el en enamien o, se ha u ilizado la écnica de ap endizaje ans e ido, que
consis e en u iliza una ed neu onal p e iamen e en enada (VGG16) y bloquea
odos los pesos sináp icos menos los de las úl imas capas. Con es o, la ed neu onal
es capaz de especializa en la a ea especí ica que se desea.
Po úl imo, la ed neu onal c eada ha sido pues a a p ueba. Se ha hecho la compa -
a i a de dos edes neu onales c eadas, la que ha sido en enada con imágenes de
amaño 64*64 y la que ha sido en enada con imágenes 128*128.
La ed neu onal con mejo es esul ados ha sido la en enada con imágenes de
128*128, ya que ha sido la que meno e o ha enido en las zonas signi ica i as
de la pa ed. Se demues a que dependiendo de la complejidad del elemen o de
la pa ed, la ed neu onal puede se incapaz de en ende los pa ones del mismo,
p o ocando que no ap enda el elemen o. Es o se demues a especialmen e en la
ed neu onal de 64*64, donde las zonas del Ap ilTag ienen una asa de e o muy
ele ada aun siendo cla amen e zonas muy di e enciadas del es o de la pa ed.
En con as e con con los Ap ilTag, el elemen o simple de la pa ed, la canale a, ha
sido capaz de de ec a la en ambas edes neu onales, con una asa de e o mínima
en las dos.
51
En esumen, una ed neu onal con imágenes de en ada más pequeñas es peo
de ec ando pa ones más complejos, y po es a azón, zonas di e enciadas pa a el
ojo humano pueden no signi ica nada pa a ed neu onal.
Un pun o que pod ía se de in e és como con inuación de es e abajo es el en-
enamien o de una ed neu onal únicamen e con las o os en las que apa ezca
algún elemen o de in e és y desca a las o os donde solo se ea la pa ed. El
uso de imágenes que únicamen e con engan in o mación de in e és pod ía mejo a
el endimien o de la ed neu onal incluso en los elemen os más complejos de la
pa ed.
52 Chap e 6 Conclusiones y abajos u u os
Re e encias bibliog á icas
[1]
Saad Albawi, Ta eq Abed Mohammed, and Saad Al-Zawi. „Unde s anding o a con olu-
ional neu al ne wo k“. In: IEEE, Aug. 2017, pp. 1–6 (ci . on p. 7).
[2]
Ca los Balague e al An onio Ba ien os Luis Felipe Peñin. Fundamen os de Robó ica.
2nd. Uni e sidad Poli écnica de Mad id. Mc G aw Hill (ci . on pp. 12, 24).
[4]
Axel Ba oso-Laguna, Edga Riba, Daniel Ponsa, and K ys ian Mikolajczyk. „Key.Ne :
Keypoin De ec ion by Handc a ed and Lea ned CNN Fil e s“. In: (2019) (ci . on p. 10).
[5]
Dula i Bha , Chi ag Pa el, Ha dik Talsania, e al. „CNN Va ian s o Compu e Vision:
His o y, A chi ec u e, Applica ion, Challenges and Fu u e Scope“. In: Elec onics 10 (20
Oc . 2021), p. 2470 (ci . on pp. 1, 5, 6, 9).
[6]
R. Ezhila asi and P. Va alakshmi. „Tumo De ec ion in he B ain using Fas e R-CNN“.
In: IEEE, Aug. 2018, pp. 388–392 (ci . on p. 11).
[7]
Ca los Fa ia, Flo a Fe ei a, Wol am E lhagen, Sé gio Mon ei o, and Es ela Bicho.
„Posi ion-based kinema ics o 7-DoF se ial manipula o s wi h global con igu a ion
con ol, join limi and singula i y a oidance“. In: Mechanism and Machine Theo y 121
(Ma . 2018), pp. 317–334 (ci . on p. 13).
[8]
Zhen-Hua Feng, Jose Ki le , Muhammad Awais, Pa ik Hube , and Xiao-Jun Wu. „Wing
Loss o Robus Facial Landma k Localisa ion wi h Con olu ional Neu al Ne wo ks“. In:
IEEE, June 2018, pp. 2235–2245 (ci . on p. 10).
[11]
Gonzalez and Sa abakhsh. „Compu e Vision Techniques o Indus ial Applica ions and
Robo Con ol“. In: Compu e 15 (12 Dec. 1982), pp. 17–32 (ci . on p. 11).
[12]
Md Foysal Haque, Hye-Youn Lim, and Dae-Seong Kang. „Objec De ec ion Based on
VGG wi h ResNe Ne wo k“. In: IEEE, Jan. 2019, pp. 1–3 (ci . on p. 1).
[13]
Asmida Ismail, Si i Anom Ahmad, Azu a Che Soh, Khai Hassan, and Haz een Haizi
Ha i h. „Imp o ing Con olu ional Neu al Ne wo k (CNN) A chi ec u e (miniVGGNe )
wi h Ba ch No maliza ion and Lea ning Ra e Decay Fac o o Image Classi ica ion“. In:
In e na ional Jou nal o In eg a ed Enginee ing 11 (4 Sep . 2019) (ci . on p. 1).
[14]
Asi ullah Khan, Anabia Sohail, Umme Zahoo a, and Aqsa Saeed Qu eshi. „A su ey o
he ecen a chi ec u es o deep con olu ional neu al ne wo ks“. In: A i icial In elligence
Re iew 53 (8 Dec. 2020), pp. 5455–5516 (ci . on p. 6).
[15]
Muhammad Zeeshan Khan, Saad Ha ous, Salee Ul Hassan, e al. „Deep Uni ied Model
Fo Face Recogni ion Based on Con olu ion Neu al Ne wo k and Edge Compu ing“. In:
IEEE Access 7 (2019), pp. 72622–72633 (ci . on p. 8).
53
[16]
K. K eu z-Delgado, M. Long, and H. Se aji. „Kinema ic analysis o 7 DOF an h opomo -
phic a ms“. In: IEEE Compu . Soc. P ess, 1990, pp. 824–830 (ci . on p. 13).
[17]
Yixian Lau. „Unde s anding how noise a ec s he accu acy o CNN image classi ica ion“.
In: 2021 (ci . on p. 1).
[18]
Louis Le y, Michal Pe doch, Kenne h Vanhoey, and Luc Van Gool. „Repea ed Pa e n
De ec ion Using CNN Ac i a ions“. In: 2017 IEEE Win e Con e ence on Applica ions o
Compu e Vision (WACV) (Ma . 2017), pp. 47–55 (ci . on p. 10).
[19]
Peiliang Li, Xiaozhi Chen, and Shaojie Shen. „S e eo R-CNN Based 3D Objec De ec ion
o Au onomous D i ing“. In: IEEE, June 2019, pp. 7636–7644 (ci . on p. 11).
[20]
Zewen Li, Fan Liu, Wenjie Yang, Shouheng Peng, and Jun Zhou. „A Su ey o Con olu-
ional Neu al Ne wo ks: Analysis, Applica ions, and P ospec s“. In: IEEE T ansac ions
on Neu al Ne wo ks and Lea ning Sys ems 33 (12 Dec. 2022), pp. 6999–7019 (ci . on
p. 11).
[21]
Guosheng Lin, Chunhua Shen, An on an den Hengel, and Ian Reid. „E icien Piecewise
T aining o Deep S uc u ed Models o Seman ic Segmen a ion“. In: IEEE, June 2016,
pp. 3194–3203 (ci . on p. 11).
[22]
Shuying Liu and Weihong Deng. „Ve y deep con olu ional neu al ne wo k based image
classi ica ion using small aining sample size“. In: IEEE, No . 2015, pp. 730–734 (ci . on
p. 8).
[23]
M.J.H. Lum, J. Rosen, M.N. Sinanan, and B. Hanna o d. „Op imiza ion o a Sphe ical
Mechanism o a Minimally In asi e Su gical Robo : Theo e ical and Expe imen al Ap-
p oaches“. In: IEEE T ansac ions on Biomedical Enginee ing 53 (7 July 2006), pp. 1440–
1445 (ci . on p. 11).
[24]
A a indh Mahend an and And ea Vedaldi. „Unde s anding deep image ep esen a ions
by in e ing hem“. In: IEEE, June 2015, pp. 5188–5196 (ci . on p. 9).
[29]
Je-Kang Pa k, Bae-Keun Kwon, Jun-Hyub Pa k, and Dong-Joong Kang. „Machine
lea ning-based imaging sys em o su ace de ec inspec ion“. In: In e na ional Jou nal
o P ecision Enginee ing and Manu ac u ing-G een Technology 3 (3 July 2016), pp. 303–
310 (ci . on p. 9).
[30]
Yoga Dwi P ana a, Kuan-Chung Wang, Jia-Ching Wang, e al. „Deep lea ning and SURF
o au oma ed classi ica ion and de ec ion o calcaneus ac u es in CT images“. In:
Compu e Me hods and P og ams in Biomedicine 171 (Ap . 2019), pp. 27–37 (ci . on
p. 9).
[32]
Hoo-Chang Shin, Holge R. Ro h, Mingchen Gao, e al. „Deep Con olu ional Neu al
Ne wo ks o Compu e -Aided De ec ion: CNN A chi ec u es, Da ase Cha ac e is ics
and T ans e Lea ning“. In: IEEE T ansac ions on Medical Imaging 35 (5 May 2016),
pp. 1285–1298 (ci . on p. 10).
[33]
Deepak Tolani, Amba ish Goswami, and No man I. Badle . „Real-Time In e se Kinema -
ics Techniques o An h opomo phic Limbs“. In: G aphical Models 62 (5 Sep . 2000),
pp. 353–388 (ci . on p. 13).
[34]
Lisa To ey and Jude Sha lik. T ans e Lea ning. IGI Global, 2010, pp. 242–264 (ci . on
pp. 2, 3).
54 Re e encias bibliog á icas
[35]
Ruohui Wang. Edge De ec ion Using Con olu ional Neu al Ne wo k. 2016, pp. 12–20
(ci . on p. 9).
[36]
Biao Yang, Jinmeng Cao, Rong ong Ni, and Yuyu Zhang. „Facial Exp ession Recogni ion
Using Weigh ed Mix u e Deep Neu al Ne wo k Based on Double-Channel Facial Images“.
In: IEEE Access 6 (2018), pp. 4630–4640 (ci . on p. 11).
[37]
Liang Zheng, Yi Yang, and Qi Tian. „SIFT Mee s CNN: A Decade Su ey o Ins ance
Re ie al“. In: IEEE T ansac ions on Pa e n Analysis and Machine In elligence 40 (5 May
2018), pp. 1224–1244 (ci . on p. 8).
[38]
Bolei Zhou, Adi ya Khosla, Aga a Laped iza, Aude Oli a, and An onio To alba. „Lea n-
ing Deep Fea u es o Disc imina i e Localiza ion“. In: IEEE, June 2016, pp. 2921–2929
(ci . on p. 6).
Páginas Web
[3]
baeldung.com. 2023. URL:
h ps://www.baeldung.com/cs/epoch-neu al-ne wo ks
(ci . on p. 7).
[9]
gi hub.com. 2023. URL:
h ps://gi hub.com/Modi1987/KST-Kuka-Sun ise-Toolbox
(ci . on p. 15).
[10]
gi hub.com. 2023. URL:
h ps://gi hub.com/Kamaljee Sahoo/Ap ilTag-De ec o
(ci . on p. 21).
[25]
ma hwo ks.com. 2023. URL:
h ps://www.ma hwo ks.com/help/ ision/ug/using-
he-single-came a-calib a o -app.h ml (ci . on p. 20).
[26]
ma hwo ks.com. 2023. URL:
h ps://www.ma hwo ks.com/help/deeplea ning/gs/
ge -s a ed-wi h-deep-ne wo k-designe .h ml (ci . on p. 42).
[27]
medium.com. 2023. URL:
h ps://medium.com/da a- b each/in oduc ion- o-
si -scale-in a ian - ea u e- ans o m-65d7 3a72d40 (ci . on p. 9).
[28]
pape swi hcode.com. 2023. URL:
h ps://pape swi hcode.com/me hod/max-pooling
(ci . on p. 6).
[31]
esea chga e.ne . 2023. URL:
h ps://www. esea chga e.ne / igu e/Manipula o -
gene ic- s uc u e- join - a iables- and- DH- ames- assigned-The- 7-DoF_
ig1_320895915 (ci . on p. 18).
Páginas Web 55
MÁSTER UNIVERSITARIO EN INGENIERÍA DE CONTROL,
AUTOMATIZACIÓN Y ROBÓTICA
TRABAJO FIN DE MÁSTER
ANEXO A: PROGRAMAS FUENTE
EVALUACIÓN DE REGIONES SIGNIFICATIVAS PARA
EL ENTRENAMIENTO DE UNA RED NEURONAL A
TRAVÉS DE FOTOGRAFÍAS DE UNA SUPERFICIE
Es udian e Millán, Fe nández de Landa, Mikel
Di ec o /Di ec o a Zulue a, Gue e o, Ekai z
Depa amen o Ingenie ía de Sis emas y Au omá ica
Cu so académico 2022-2023
Bilbao, 16 de Julio de 2023
A
P og amas uen e
A.1 Seguimien o de b azo obó ico a ma cado
Tag
A.1.1 Main.m
close all ;
clea all ;
clc ;
%% Es abiliza conexion con Robo
wa ning('o ');
ip='172.31.1.147';% IP del Robo
% Comienza la conexion con el se ido
global _Kuka;
_Kuka = ne _es ablishConnec ion ( ip );
i ~ exis ( ' _Kuka',' a ') || isemp y ( _Kuka ) || s cmp (
_Kuka .S a us , 'closed')
wa ning('Connec ion could no be es ablised , sc ip
abo ed');
e u n;%en caso de no de ec a el obo , el p og ama
se pa a inmedia amen e
else
%% Inicializacion de a iables
q1 = 0.62;
q2 = -1.36;
q3 = 0;
q4 = 0;
q5 = 0;
q6 = 0;
q7 = 0;
Del ax = 0;
Del ay = 0;
Del az = 0;
%% Inicio mo imien o
59
A.1.4 Cama a.m
unc ion [ Ma izRo acion , Vec o T aslacion , id ] = Cama a
cam = webcam (2);
load('calib a ionSession .ma ');
in insics = calib a ionSession . Came aPa ame e s .
In insics ;
agSize = 60; % mm
while ue
I= snapsho (cam);
imshow (I);
[id ,~ , pose ] = eadAp ilTag (I ," ag36h11 ", in insics ,
agSize);
o i = 1: leng h ( pose )
Ma izRo acion = pose (i). Ro a ion ;
Vec o T aslacion = pose (i). T ansla ion ;
end
i id(i)==2
b eak
end
end
end
66 Chap e A P og amas uen e
A.1.5 Co egi .m
abc78 = o m2eul ( Ma izRo acion (1:3 ,1:3) ,'ZYX ');
abc78 (2) = abc78 (2) ;
abc78 (3) = abc78 (3) ;
abc78 (1)
i abc78 (1) <= pi /2 && abc78 (1) >=-pi /2
R78Acond = eul2 o m ([ - abc78 (1) abc78 (3) -abc78 (2) ]);
else
R78Acond = eul2 o m ([ - abc78 (1) -abc78 (3) + abc78 (2) ]);
end
Ro 07 = R07 (1:3 ,1:3);
R08 = Ro 07 * R78Acond ;
abc08 = o m2eul (R08 ,'ZYX ');
AngX = abc08 (3);
AngY = abc08 (2);
AngZ = abc08 (1);
%% Co eccion de la cama a
% Es o se ha hecho de o ma expe imen al
Dx = Vec o T aslacion(1);
Dy = Vec o T aslacion(2);
Dz = Vec o T aslacion(3);
Dz = 3.4347* Dz + 23.75;
%% Dis acia que se quie e man ene con la cama a
Dz = Dz -526;
R78To = [ R78Acond (1 ,1:3) -Dy; R78Acond (2 ,1:3) Dx;
R78Acond (3 ,1:3) Dz ; 0 0 0 1];
R08To = R07*R78To ;
%% Calculo Ma iz
%R = [-Dy ; Dx ; Dz ; 1];
R=[0 ; 0 ; 0 ; 1];
% Dis = R07 *R;
Dis = R08To *R;
x = Dis (1) ;
y = Dis (2) ;
A.1 Seguimien o de b azo obó ico a ma cado Tag 67
z = Dis (3) ;
A.2 En enamien o de la Red
A.2.1 MainFo os.m
close all ;
clea all ;
clc ;
%% Es abiliza conexion con Robo
wa ning('o ');
ip='172.31.1.147';% IP del Robo
% Comienza la conexion con el se ido
global _Kuka;
_Kuka = ne _es ablishConnec ion ( ip );
i ~ exis ( ' _Kuka',' a ') || isemp y ( _Kuka ) || s cmp (
_Kuka .S a us , 'closed')
wa ning('Connec ion could no be es ablised , sc ip
abo ed');
e u n;%en caso de no de ec a el obo , el p og ama
se pa a inmedia amen e
else
%% Se up Fo os
% Inicializa webcam
cam = webcam (2);
%% Inicio mo imien o
% Posicion de descanso
elVel=0.25; % sob epasa elocidad ela i a de las
a iculaciones
pos ={0 , 0, 0, 0, 0, 0, 0};
mo ePTPJoin Space ( _Kuka , pos , elVel );
% Posicion de inicio
x = -141;
y = -565;
z = 650;
% Los angulos po expe imen acion
68 Chap e A P og amas uen e
a = 45* pi /180;
b = -90* pi /180;
c = 0* pi /180;
Nx =50;
Ny = 60;
Ho izon alTo al = sq (2) *7*( Nx -1);
Ve icalTo al = 10*( Ny -1) ;
[q1 , q2 , q3 , q4 , q5 , q6 , q7 ]= Cinema icaIn e sa (a, b
, c, x, y, z);
pos ={q1 , q2 , q3 , q4 , q5 , q6 , q7 };
mo ePTPJoin Space ( _Kuka , pos , elVel );
o i =1:1: Nx %50
o j =1:1: Ny % 60
% Calculo x, y, z
x = x -(i -1) *7;
y = y+(i -1) *7;
z = z -(j -1) *10;
% Nomb es Fo os
Nomb eHo izon al = -Ho izon alTo al /2 + sq
(2) *7*(i -1);
Nomb eVe ical = Ve icalTo al /2 - 10*(j -1) ;
[q1 , q2 , q3 , q4 , q5 , q6 , q7] = ...
Cinema icaIn e sa (a, b, c, x, y, z);
pos ={q1 , q2 , q3 , q4 , q5 , q6 , q7 };
mo ePTPJoin Space ( _Kuka , pos , elVel );
% Fo os
pause (0.5)
imagen = snapsho (cam);
Nomb eFiche o = s ca ( 'ImagenesMas F',sp in (
'%.1 ,%.1 ',...
Nomb eHo izon al , Nomb eVe ical ),'. jpg ');
imw i e (imagen , Nomb eFiche o );
x = -141;
y = -565;
z = 650;
A.2 En enamien o de la Red 69
end
end
pos ={0 , 0, 0, 0, 0, 0, 0};
mo ePTPJoin Space ( _Kuka , pos , elVel );
end
%% apaga el se ido
ne _ u nO Se e ( _Kuka );
close( _Kuka);
70 Chap e A P og amas uen e
A.2.2 Di idi Fo os.m
clc
close all
clea all
dele e(['C : Use s Mikel Desk op TFM - Publicaciones '...
' RED_NEURONAL Imagenes ImagenesT ain * '])
dele e(['C : Use s Mikel Desk op TFM - Publicaciones '...
' RED_NEURONAL Imagenes ImagenesTes *']);
dele e(['C : Use s Mikel Desk op TFM - Publicaciones '...
' RED_NEURONAL Imagenes ImagenesVal * ']);
SalidasT ain=[];
SalidasVal =[];
SalidasTes =[];
P ain =0.7;
P al =0.15;
P es =0.15;
%% Nomb es de las o os
NxmaxSub = 640;
NymaxSub = 480;
Nx =64;
Ny =64;
Nxmax = 50;
Nymax = 60;
Dis Imagen = 492; %mm
Dis Pixel = Dis Imagen / NxmaxSub ;
Ho izon alTo al = sq (2) *7*( Nxmax -1) ;
Ve icalTo al = 10*( Nymax -1);
o i =1:1: Nxmax %50
o j =1:1: Nymax % 60
% Nomb es Fo os
A.2 En enamien o de la Red 71
Nomb eHo izon al = -Ho izon alTo al /2+ sq (2) *7*(
i -1) ;
Nomb eVe ical = Ve icalTo al /2 -10*(j -1) ;
Nomb eFiche o = sp in ('F %.1 ,%.1 .jpg '...
,Nomb eHo izon al , Nomb eVe ical );
I= im ead( Nomb eFiche o );
o i1 =1:100: NxmaxSub -Nx
o i2 =1:100: NymaxSub -Ny
Nomb eHo izon alSub = Nomb eHo izon al -
Dis Pixel *...
( NxmaxSub -2* Nx) /2+ i1* Dis Pixel ;
Nomb eVe icalSub = Nomb eVe ical +
Dis Pixel *...
( NymaxSub -2* Ny)/2 -i2* Dis Pixel ;
Isub =I(i2: i2+Nx -1, i1:i1+Ny -1 ,:) ;
P ob = andom ('Uni o m',0,1 ,1,1);
i P ob < P ain
Nomb eFiche o = s ca ( 'ImagenesT ain F
',sp in ...
('%.1 ,%.1 . jpg ',
Nomb eHo izon alSub ,
Nomb eVe icalSub));
imw i e (Isub , Nomb eFiche o );
else
i P ob < P ain + P al
Nomb eFiche o = s ca ( 'ImagenesVal
F',sp in ...
('%.1 ,%.1 . jpg ',
Nomb eHo izon alSub , ...
Nomb eVe icalSub));
imw i e (Isub , Nomb eFiche o );
else
Nomb eFiche o = s ca ( '
ImagenesTes F',sp in ...
('%.1 ,%.1 . jpg ',
Nomb eHo izon alSub , ...
Nomb eVe icalSub));
imw i e (Isub , Nomb eFiche o );
end
72 Chap e A P og amas uen e
end
end
end
end
end
ImagenesInpu T ain = imageDa as o e (" ImagenesT ain ", ...
"FileEx ensions",".jpg");
LT ain = leng h ( ImagenesInpu T ain . Files );
[ SalidasT ain , xmaxT ain , ymaxT ain ]= I aku i (
ImagenesInpu T ain . Files , ...
LT ain);
SalidasDST ain=a ayDa as o e(SalidasT ain);
ImagenesConSalidasDST ain = combine ( ImagenesInpu T ain ,
SalidasDST ain);
ImagenesInpu Tes = imageDa as o e (" ImagenesTes " ,"
FileEx ensions",".jpg");
LTes = leng h ( ImagenesInpu Tes . Files );
[ SalidasTes , xmaxTes , ymaxTes ]= I aku i (
ImagenesInpu Tes . Files , LTes );
SalidasDSTes = a ayDa as o e ( SalidasTes );
ImagenesConSalidasDSTes = combine ( ImagenesInpu Tes ,
SalidasDSTes );
ImagenesInpu Val = imageDa as o e (" ImagenesVal " ,"
FileEx ensions",".jpg");
LVal = leng h ( ImagenesInpu Val . Files );
[ SalidasVal , xmaxVal , ymaxVal ]= I aku i ( ImagenesInpu Val .
Files , LVal );
SalidasDSVal = a ayDa as o e ( SalidasVal );
ImagenesConSalidasDSVal = combine ( ImagenesInpu Val ,
SalidasDSVal);
sa e all
A.2 En enamien o de la Red 73
A.2.3 CodigoEn enamien o.m
%% Impo Da a
% Impo aining and alida ion da a .
dsT ain = ImagenesConSalidasDST ain;
dsValida ion = ImagenesConSalidasDSVal ;
%% Se T aining Op ions
% Speci y op ions o use when aining .
op s = ainingOp ions (" sgdm ",...
"Execu ionEn i onmen ","gpu",...
" Ini ialLea nRa e " ,0.0011 ,...
" L2Regula iza ion " ,0.0001 ,...
" Lea nRa eSchedule "," piecewise ", ...
"Lea nRa eD opFac o ",0.2, ...
"Lea nRa eD opPe iod",5, ...
" MaxEpochs " ,20 ,...
" MiniBa chSize " ,64,...
" Shu le " ," e e y - epoch ",...
"Valida ionF equency",250,...
" Plo s "," aining - p og ess ",...
" Valida ionDa a ", dsValida ion );
%% C ea e A ay o Laye s
laye s = [
imageInpu Laye ([128 128 3] ," Name " ," imageinpu ")
con olu ion2dLaye ([3 3] ,64 ," Name " ," con 1_1 "," Padding
", ...
[1 1 1 1] ," Weigh L2Fac o " ,0)
eluLaye (" Name "," elu1_1 ")
con olu ion2dLaye ([3 3] ,64 ," Name " ," con 1_2 "," Padding
" ,[1 1 1 1] ," Weigh L2Fac o " ,0)
eluLaye (" Name "," elu1_2 ")
maxPooling2dLaye ([2 2] ," Name " ," pool1 " ," S ide " ,[2
2])
con olu ion2dLaye ([3 3] ,128 ," Name "," con 2_1 ","
Padding " ,[1 1 1 1] ," Weigh L2Fac o " ,0)
eluLaye (" Name "," elu2_1 ")
con olu ion2dLaye ([3 3] ,128 ," Name "," con 2_2 ","
Padding " ,[1 1 1 1] ," Weigh L2Fac o " ,0)
eluLaye (" Name "," elu2_2 ")
74 Chap e A P og amas uen e
maxPooling2dLaye ([2 2] ," Name " ," pool2 " ," S ide " ,[2
2])
con olu ion2dLaye ([3 3] ,256 ," Name "," con 3_1 ","
Padding " ,[1 1 1 1] ," Weigh L2Fac o " ,0)
eluLaye (" Name "," elu3_1 ")
con olu ion2dLaye ([3 3] ,256 ," Name "," con 3_2 ","
Padding " ,[1 1 1 1] ," Weigh L2Fac o " ,0)
eluLaye (" Name "," elu3_2 ")
con olu ion2dLaye ([3 3] ,256 ," Name "," con 3_3 ","
Padding " ,[1 1 1 1] ," Weigh L2Fac o " ,0)
eluLaye (" Name "," elu3_3 ")
maxPooling2dLaye ([2 2] ," Name " ," pool3 " ," S ide " ,[2
2])
con olu ion2dLaye ([3 3] ,512 ," Name "," con 4_1 ","
Padding " ,[1 1 1 1] ," Weigh L2Fac o " ,0)
eluLaye (" Name "," elu4_1 ")
con olu ion2dLaye ([3 3] ,512 ," Name "," con 4_2 ","
Padding " ,[1 1 1 1] ," Weigh L2Fac o " ,0)
eluLaye (" Name "," elu4_2 ")
con olu ion2dLaye ([3 3] ,512 ," Name "," con 4_3 ","
Padding " ,[1 1 1 1] ," Weigh L2Fac o " ,0)
eluLaye (" Name "," elu4_3 ")
maxPooling2dLaye ([2 2] ," Name " ," pool4 " ," S ide " ,[2
2])
con olu ion2dLaye ([3 3] ,512 ," Name "," con 5_1 ","
Padding " ,[1 1 1 1] ," Weigh L2Fac o " ,0)
eluLaye (" Name "," elu5_1 ")
con olu ion2dLaye ([3 3] ,512 ," Name "," con 5_2 ","
Padding " ,[1 1 1 1] ," Weigh L2Fac o " ,0)
eluLaye (" Name "," elu5_2 ")
con olu ion2dLaye ([3 3] ,512 ," Name "," con 5_3 ","
Padding " ,[1 1 1 1] ," Weigh L2Fac o " ,0)
eluLaye (" Name "," elu5_3 ")
maxPooling2dLaye ([2 2] ," Name " ," pool5 " ," S ide " ,[2
2])
ullyConnec edLaye (1000 ," Name "," Beni o ")
eluLaye (" Name " ," elu6 ")
d opou Laye (0.5 ," Name " ," d op6 ")
ullyConnec edLaye (100 ," Name " ," Pa xi ")
eluLaye (" Name " ," elu7 ")
d opou Laye (0.5 ," Name " ," d op7 ")
ullyConnec edLaye (2 ," Name " ," c ")
A.2 En enamien o de la Red 75