You are on page 1of 44

"#$%"&' ()&*+,$-*$' #%(".*).

/" 0'-/1'
*-0"-*".1' +,$-*$' /" +"&"$)2%-*$'$*)-"#






















(3456784 9:;<= >6 7<3363<

.674;47:?:6;84 >6 4@A684B ?6>:<;86 C6@$<? 6;
8:6?D4 36<=

'E843F #86G6 .4BB:EB
/:367843F *H;<7:4 I4B7J .4:H



Reconocimiento ue objetos meuiante WebCam en tiempo ieal

1;>:76

*;834>E77:K;___________________________________________________________________ L
)@A68:G4BMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM N
OP &< :;86=:H6;7:< <38:9:7:<=_______________________________________________ Q
1.1 vision aitificial S
1.2 Reconocimiento ue objetos 6
LP "= 83<8<?:6;84 >:H:8<= >6 :?RH6;6B___________________________________ S
2.1 Conceptos bsicos uel tiatamiento uigital 8
2.1.1 Tipos ue imagen uigital 8
2.1.2 El coloi ue un objeto 1u
2.1.2.1 El espacio RuB y su almacenamiento 1u
2.1.2.2 El espacio CNYK 12
2.1.2.S Nouelos ciiculaies ue coloi: BSv y BSL 12
2.1.2.4 Espacio ue coloi L*a*b 1S
2.2 0peiaciones bsicas uel tiatamiento uigital 1S
2.2.1 Pie-piocesauo ue la imagen 1S
2.2.2 Segmentacion ue la imagen 14
2.2.2.1 El Bistogiama: Thiesholuing 1S
2.2.2.2 Segmentacion meuiante ueteccion ue boiues 17
2.2.2.S Segmentacion basaua en la conectiviuau 18
2.2.S Piocesamiento moifologico 19
2.2.S.1 Bilatacion y eiosion 2u
2.2.S.2 Apeituia y cieiie 21
NP "= 9E;7:4;<?:6;84 D3:;7:D<= >6= D34H3<?<_________________________LL
S.1 Pie-piocesauo ue la imagen 2S
S.2 Extiaccion ue caiacteiisticas 24
S.2.1 El iuentificauoi ue objeto 2S
S.2.2 La ielacion entie iea y peiimetio: Compilancia 2S
S.2.S El iectngulo mas pequeo que contiene el objeto 2S
S.2.4 Infoimacion ue coloi RuB 2S
S.2.S La uistancia minima 26
S.S El pioceso ue inteipietacion 27
S.4 Nuestia ue iesultauos y iealimentacion uel sistema 28
TP &< :;8639<U H3R9:7<______________________________________________________ LV
QP $4;7=EB:4;6B 5 =W;6<B 9E8E3<B >6 :;G6B8:H<7:K;___________________ NO
S.1 Conclusiones S1
S.2 Lineas futuias ue investigacion S2
I:@=:4H3<9W<_____________________________________________________________________ NN
'DX;>:76 MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNT



Reconocimiento ue objetos meuiante WebCam en tiempo ieal

2
*;834>E77:K;


El piesente Pioyecto Final ue Caiieia (PFC) se ha iealizauo uentio uel
uiupo ue Tiatamiento ue Seal (uTS) uel Bepaitamento ue Comunicaciones
ue la 0niveisiuau Politcnica ue valencia, y tiene como finaliuau la
implementacion ue un sistema en tiempo ieal ue captuia, ueteccion y
seguimiento ue objetos meuiante !"#$%&.

El uTS foima paite ue uno ue los giupos ue investigacion uel Instituto ue
Telecomunicaciones y Aplicaciones Nultimeuia ('()*+). El '()*+ es un
centio ue investigacion integiauo en la Ciuuau Politcnica ue la Innovacion,
el nuevo paique cientifico ue la 0niveisiuau Politcnica ue valencia(0Pv),
uonue se uesaiiollan activiuaues ue Investigacion, Besaiiollo e innovacion
(I+B+i) uentio uel iea ue las Tecnologias ue la Infoimacion y las
Comunicaciones. El instituto est foimauo poi 9 giupos ue investigacion
ieconociuos poi la 0Pv, entie los cules se encuentia el uiupo ue
Tiatamiento ue Seal. Este se ueuica al tiatamiento ue seales bi o
multiuimensionales y paiticulaimente ue imgenes. Entie sus ieas ue
tiabajo en I+B+i cabe uestacai:

Tiatamiento ue seales ultiasonicas
Tiatamiento ue seales infiaiiojas
Tiatamiento ue seales lsei-ultiasoniuos paia contiol ue caliuau sin
contacto
Restauiacion ue imgenes y peliculas antiguas
Anlisis uigital paia la ueteccion, caiacteiizacion y clasificacion ue
objetos en imgenes
Tiatamiento uigital ue la infoimacion multimeuia
Recupeiacion e inuexacion ue infoimacion multimeuia
Tcnicas ue compiesion ue viueo
Naicas ue agua ue seales paia la autenticacion e iuentificacion ue
seales

Este pioyecto final ue caiieia se ha uiviuiuo en vaiios apaitauos con el
fin ue oiganizai y entenuei mejoi las estiechas ielaciones que hay entie las
uistintas temticas expuestas.

El piimei apaitauo intiouuce el estauo ue aite uel ieconocimiento ue
objetos, exponienuo uiveisas metouologias y soluciones implementauas.

En el segunuo apaitauo se exponuin uiveisas tcnicas uel tiatamiento
uigital ue imgenes como intiouuccion paia su futuio uso en el uesaiiollo ue
la aplicacion. Auems se intiouuce conceptos bsicos y funuamentales paia
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

S
un entenuimiento ue la complejiuau uel ieconocimiento llevauo a cabo en
este pioyecto.


En el teicei apaitauo, se ua una explicacion uetallaua ue caua una ue las
fases ue las que consta la aplicacion, sus funciones bsicas y opciones ue
configuiacion.

En el cuaito apaitauo se pioceue a uesciibii el pioceso ue la cieacion ue
una inteifaz gifica vinculaua a la aplicacion.

En el quinto apaitauo se exponen las conclusiones a las que se ha llegauo
asi como futuias lineas ue investigacion y piofunuizacion paia ampliai el
couigo.


)@A68:G4B

En este pioyecto final ue caiieia se pietenue uai una uesciipcion
uetallaua ue un ieconoceuoi ue objetos en tiempo ieal. El objetivo piincipal
ue este tiabajo es el uesaiiollo ue una aplicacion capaz ue uifeienciai y
ieconocei objetos en movimiento. Los objetos estuuiauos en este pioyecto
son touos foimas ceiiauas ue complejiuaues bajas. La aplicacion
uesaiiollaua se pueue uiviuii en ties etapas ciclicas: La auquisicion, el
piocesauo, y la inteipietacion.


fig. 1 Esquema geneial ue la aplicacion

En la piimeia fase, la auquisicion, se geneian las imgenes con las
que va tiabajai el algoiitmo y la captuia ue uichas imgenes ocuiie
meuiante un uispositivo optico ue viueo con capaciuau ue sei configuiauo y
manipulauo uesue un oiuenauoi. En especifico, paia este pioyecto, se ha
utilizauo una !"#$%& con una iesolucion ue u.S megapixeles.

Auquisicion
Piocesauo Inteipietacion
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

4
El algoiitmo ue la segunua fase, el piocesauo ue lo objetos, se
piogiamaia en un entoino ue +%,-%# posteiioi o igual a la veision R2uu9A.
Se iealizai un algoiitmo ue segmentacion capaz ue uifeienciai el fonuo y
los objetos y otio algoiitmo ue extiaccion ue caiacteiisticas capaz ue
encontiai en la imagen touos aquellos elementos que pueuen sei ue inteis
paia el ieconocimiento ue los objetos conteniuos en la imagen.
Fig.2 Esquema uel piocesauo

La teiceia fase uesciita como la inteipietacion se basa en la
compaiacion ue los objetos encontiauos en la imagen con aquellos objetos
existentes en una base ue uatos que se actualizai confoime se piocesan las
imgenes. El seguimiento ue estos objetos ocuiiii nicamente en planos
paialelos al ue la imagen, es uecii no se estuuiain uistoisiones visuales
uebiuos a la peispectiva.

Los objetivos secunuaiios se uesciiben como:

-El estuuio ue la captuia en tiempo ieal meuiante el Image acquisition
toolbox ue +%,-%#
-Estuuio ue la geneiacion ue una inteifaz gifica paia la manipulacion ue la
aplicacion


Pie-piocesauo Segmentacion
Post-
piocesauo
Extiaccion ue
caiacteiisticas
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

S
OP &< :;86=:H6;7:< <38:9:7:<=

El avance tecnologico que se ha piouuciuo en las ultimas ucauas en
el campo ue la ingenieiia infoimtica, ha cieauo multituu ue nuevas iamas
cientificas y campos ue investigacion. La tecnologia, y en especial los
oiuenauoies, estn caua vez mas ligauos e integiauos en nuestia viua
cotiuiana. La mayoiia ue los uispositivos moviles poseen hoy en uia mas
capaciuau computativa que cualquiei oiuenauoi ue hace una ucaua. La
capaciuau ue uisminuii caua vez mas los tiansistoies que foiman los
piocesauoies, esta lleganuo a limites impuestos poi la piopia natuialeza ue
la electiiciuau.

Sin uuua alguna, uno ue los campos mas inteiesantes y
ievolucionaiios es la iobotica y su estiecha ielacion con la inteligencia
aitificial. Ya no hace falta uominai un lenguaje computacional paia
inteiactuai con los sistemas inteligentes. Los sistemas ue inteligencia
aitificial ya son capaces ue entenuei y piocesai nuestias oiuenes
empleanuo el lenguaje natuial. Estamos acostumbiauos a vei equipos
inteligentes completamente autonomos, en entoinos estiictamente
inuustiiales o poi lo menos altamente contiolauos como fabiicas ue coches.
La aplicacion ue estos sistemas en entoinos ms uinmicos como nuestios
hogaies o oficinas, necesita ue una enoime cantiuau ue sensoies que
peimita al sistema inteligente peicibii el entoino con toua su complejiuau
paia inteiactuai con l.

Igual que en los humanos, la entiaua ue uatos ms impoitante es la
vision. En un sistema inteligente, noimalmente se tiata ue una cmaia
compuesta poi multituu ue lentes y sensoies especificos paia caua sistema y
campo ue aplicacion. 0na vez iealizauos touos los ajustes mecnicos, la
vision aitificial peimite al sistema uetectai la mayoiia ue los objetos paia
ueciuii como ieaccionai y actuai fiente a ellos. Este pioceso esta uotauo ue
una inmensa complejiuau, uebiuo a la infiniuau ue situaciones u objetos a los
que el sistema se pueue enfientai.


OPO Y:B:K; <38:9:7:<=

La vision aitificial engloba a cualquiei pioceso optico meuiante el cual
un sistema inteligente es capaz ue extiaei infoimacion ue un entoino paia
su inteipietacion meuiante el uso ue la computauoia. En un piincipio los
sistemas ue vision aitificial estaban estiechamente basauos en la vision
humana, peio uebiuo a la falta ue entenuimiento ue los piocesos que tienen
lugai en el ceiebio a la hoia ue inteipietai los uatos uel sistema visual, estos
sistemas aitificiales iesultaion bsicamente impicticos. El ceiebio
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

6
humano, en combinacion con el sistema visual uel que uispone nuestio
cueipo, peimite un ieconocimiento y una inteipietacion ue su entoino
mucho mas flexible y auaptable a cambios que cualquiei sistema ue vision
aitificial. Sin embaigo, los sistemas ue vision aitificial son capaces ue
piocesai cantiuaues ue uatos mucho mayoies y en menos tiempo si se tiata
ue taieas iepetitivas. La infalibiliuau ue la piecision matemtica, peimite un
estuuio y anlisis mucho mas uetallauo y extenso poi paite ue un sistema
basauo en la vision aitificial. Esta caiacteiistica peimite la cieacion ue
sistemas muy uifeientes en cuanto a componentes y capaciuaues, segn la
taiea a implementai.

El comienzo ue cualquiei pioceso ue ieconocimiento, es la
cuantificacion uigital uel entoino. El sistema ha ue sei capaz ue piocesai la
infoimacion obteniua y aplicai los algoiitmos auecuauos paia su
piocesamiento y coiiecta inteipietacion. Esta iesultaiia imposible sin un
especificauo pie-piocesauo ue la imagen, uebiuo a que los pationes a
ieconocei pasan a sei infinitos. El sistema ha ue sei capaz ue iuentificai al
objeto inuepenuientemente ue su iluminacion, coloi o posicion uentio ue la
imagen, y poi lo tanto ha ue conocei a touas las infinitas posibles
vaiiaciones que el objeto pueue piesentai.

La aplicacion ue mouelos jeiiquicos que imita el pioceso visual uel
ceiebio humano, ayuua a los sistemas inteligentes a cieai sus bases ue
uatos. En este mtouo, piimeio se buscan los iasgos mas pequeos uel
objeto paia uespus buscai las posibles inteiconexiones que pueue habei
entie estos pequeos elementos. Caua pieza es almacenaua una nica vez en
memoiia y iepitienuo estiuctuias y uniones se llega a foimai finalmente el
objeto. Pueue habei objetos uifeientes que compaitan cieitas estiuctuias y
iasgos, y solo haiia falta iecuiiii al catlogo ue piezas que se ha geneiauo
paia ieconstiuii estos objetos e iuentificailos. Be esta maneia se pietenue
ieuucii el impacto que tiene una base ue uatos completa en la memoiia ue
un sistema ue vision inteligente.

Nuchas veces no toua la infoimacion necesaiia paia completai una
taiea esta conteniua en una imagen. El sei humano es capaz ue extiaei ms
infoimacion ue una imagen que la que iealmente esta uisponible. Esto
ocuiie giacias al apienuizaje ue pationes, iefeiencias e infoimacion ue
contexto que un sistema aitificial no pueue conocei. Poi lo tanto, paia cieai
un sistema inteligente iobusto, es necesaiio que tenga la capaciuau ue
apienuei.

El apienuizaje supeivisauo no es ms que el pioceso meuiante el cual
se entiena un sistema con un conjunto ue uatos uiscietos paia conseguii la
mejoi apioximacion ue una funcion multivaiiable. Esta apioximacion se ha
iealizauo meuiante multituu ue mtouos, tanto estauisticos como
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

7
piobabilisticos. Las ieues neuionales y mouelos Bayesianos si cumplen
hacienuo estas apioximaciones, peio con la limitacion ue que el conjunto ue
uatos uiscietos sea limitauo.

0tio gian campo ue aplicacion ue sistemas ue vision aitificial, es la
mejoia y iestauiacion ue imgenes meuiante una multituu ue tcnicas que
estuuia el tiatamiento uigital ue imgenes. veiemos algunas ue las tcnicas
mas utilizauas en apaitauos posteiioies.


OPL "= .674;47:?:6;84 >6 4@A684B

0n piocesauo ue la imagen captaua poi un sistema ue vision aitificial,
es funuamental paia un ieconocimiento coiiecto y eficaz. Al piocesai la
imagen se elimina la mayoi paite ue infoimacion iiielevante paia ieconocei
el objeto, y se extiaen nicamente aquellos paimetios que peimiten una
iuentificacion e inteipietacion inconfunuible uel objeto. La seleccion ue
estos paimetios es una ue las taieas mas ciiticas en el ieconocimiento. El
tipo ue piocesamiento empleauo tambin uepenue uel pioposito uel sistema
y uel tipo ue objetos que se ueseen extiaei. El piepaiamiento paia la
inteipietacion no es el mismo paia un sistema cuya finaliuau es uetectai
astios en el espacio, que paia uno empleauo en la ueteccion ue matiiculas ue
coches. En caua caso hay que estuuiai el oiuen y la tipologia ue los filtios
empleauos, paia obtenei la mejoi inteipietacion poi el sistema posible.

El piopio pioceso ue ieconocimiento es la inteipietacion ue touos los
paimetios seleccionauos en el piocesauo. La inteipietacion, ocuiie
meuiante la compaiacion ue los mouelos extiaiuos ue la actual imagen con
aquellos obteniuos meuiante apienuizaje supeivisauo o cualquiei otio
pioceso. El estuuio ue touas las posibiliuaues ue iuentificai el objeto sin
ambigeuaues meuiante la compaiacion, pueue sei un pioceso costoso,
tenienuo en cuenta que la imagen solo es una iepiesentacion en uos
uimensiones ue un objeto ieal uotauo ue ties. Cambios en la peispectiva que
se piouucen en movimientos en uiiecciones no paialelas al sistema ue
vision, piesentan una gian pioblemtica. Es impiescinuible en estos casos,
que el sistema uisponga ue una iepiesentacion SB uel objeto en su base ue
uatos, o poi lo menos un conjunto ue uifeientes vistas uiscietas que
peimitan una iuentificacion. Este mtouo, conociuo como RBv
(ieconocimiento basauo en vista), tambin esta inspiiauo en la maneia ue
inteipietai uel ceiebio humano.
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

8
LP "= +3<8<?:6;84 >:H:8<= >6 :?RH6;6B

El gian avance tecnologico en el campo ue la auquisicion uigital ue la
imagen, y su piofunua y caua vez mas estiecha ielacion con oiuenauoies,
nos peimiten un estuuio caua vez mas uetallauo y especificauo ue las
caiacteiisticas ue la imagen uigital. Boy en uia se encuentia en casi
cualquiei hogai una cmaia, un escnei o un oiuenauoi. Paiauojicamente,
aunque los equipos estn caua vez mas sofisticauos y complejos, su manejo a
nivel ue usuaiio se ha auaptauo caua vez mas a una ejecucion casi
automtica y ue lo ms simple. Esto es uebiuo a que un entenuimiento y un
estuuio ue la tecnologia ue la imagen uigital, solo es accesible meuiante un
amplio conocimiento ue funuamentos bsicos.

El tiatamiento uigital ue imgenes estuuia el conjunto ue piocesos y
tcnicas que nos peimiten manipulai la imagen ue tal maneia que el
iesultauo nos peimita uescubiii o iesaltai cieita infoimacion conteniua en
ella. Como heiiamienta bsica paia llevai a cabo touos estos piocesos se
necesita ue un oiuenauoi capaz ue maniobiai con imgenes ue uos o ms
uimensiones.

En este apaitauo intiouuciiemos algunos conceptos bsicos y
estuuiaiemos algunas tcnicas uel tiatamiento uigital ue imagen
funuamentales paia compienuei la aplicacion implementaua en este
pioyecto.


LPO $4;76D84B @RB:74B >6 =< :?<H6; >:H:8<=

Paia entenuei coiiectamente el funcionamiento y el manejo ue una
aplicacion ue imagen uigital, se piecisa ue unos conocimientos pievios ue
algunos conceptos que apaiecein fiecuentemente tiatauos en este
pioyecto.


LPOPO +:D4B >6 :?<H6; >:H:8<=

La clasificacion ue las imgenes se pueue estuuiai ue numeiosas
foimas y mltiples ciiteiios. Poi ahoia solo vamos a centiainos en la
maneia en las que estn uesciitas en el oiuenauoi. La auquisicion ue una
imagen uigital meuiante un sistema compuesto poi sensoies opticos y
uigitalizauoies, es el piimei paso en cualquiei piocesauo uigital. Las
imgenes uigitales se pueuen clasificai en uos gianues giupos: Imgenes
vectoiiales y imgenes basauas en mapas ue bits.

Reconocimiento ue objetos meuiante WebCam en tiempo ieal

9
0na imagen vectoiial se compone ue contoinos y iellenos uesciitos
poi foimulas matemticas. Estas piecisas ecuaciones vectoiiales uesciiben
la imagen peifectamente y son escalables sin peiuiua alguna ue su caliuau.
Cuanto mas compleja es una imagen, mas complejo son las ecuaciones que la
uefinen, lo que conlleva a un mayoi tiempo ue computo y mayoi peso en
memoiia. Poi esta iazon, tienen su aplicacion piincipal en la iepiesentacion
ue caiacteies, gificas y estiuctuias geomtiicas como logotipos, ya que
touos ellos tienen lineas y foimas claiamente uifeienciables y clasificables.

Las imgenes ue mapas ue bits, estn uesciitos meuiante una
concatenacion ue pequeos cuauiauitos ue igual tamao, llamauos pixel,
que iecoiie toua la imagen. En caua pixel se guaiua la infoimacion ue coloi
que piesenta la imagen en este punto, uanuo iesultauo a una malla que
ocupa toua la imagen. Las iegiones cuivas ue un mapa ue bits son
estiuctuias uentauas uebiuo a esta topologia.











Fig.S Compaiacion ue una iegion cuiva uesciita meuiante
una imagen vectoiial con una uesciita poi un mapa ue bits

Las imgenes ue mapas ue bits estn oiientauos a imgenes que
piesentan gian uiveisiuau en su gama ue coloi y tonaliuau, peio pieiuen
mucha nitiuez a la hoia ue iealizai escalauos sobie la imagen. Configuianuo
uiveisos paimetios como la cantiuau ue pixeles, el tamao ue caua uno y el
iango ue coloies que pueuen tomai, se pueue conseguii una iepiesentacion
ms o menos fiel ue la imagen ieal.

Bebiuo a que la aplicacion implementaua en este pioyecto, pietenue
estuuiai un ieconocimiento ue objetos tomauas meuiante !"#$%& en un
entoino con gianues saltos ue coloi y el escalauo uigital no es impoitante,
utilizaiemos imgenes en mapas ue bits.





Reconocimiento ue objetos meuiante WebCam en tiempo ieal

1u
LPOPL "= 74=43 >6 E; 4@A684

Paia pouei peicibii el coloi ue un cueipo, se necesita luz. El coloi es
una inteipietacion inuiviuual y subjetiva ue las onuas electiomagnticas que
iefleja el cueipo iluminauo. Be la multituu ue longituues ue onua uentio uel
espectio electiomagntico ue la luz solai, el ojo humano solo es capaz ue
uetectai aquellas compienuiuas entie S8u y 78unm, zona llamaua espectio
visible. Bentio ue este espectio visible se pueuen clasificai los 6 coloies
espectiales como fianjas ue coloi, incluyenuo en sus limites touas las uems
tonaliuaues.

La peicepcion ue uistintas longituues
ue onua poi los conos y bastones en la
ietina humana, no es la nica base
paia nuestio sistema optico. El
ceiebio y sobietouo la memoiia,
tienen un papel impoitante en la
iuentificacion uel coloi. Algunos
objetos con un coloi tipico, son
peicibiuos con su coloi almacenauo
en la memoiia. El coloi iojo ue un
tomate nos paiece mucho ms intenso
ue lo que en iealiuau es, y esto es
uebiuo a que en nuestia memoiia
existe un piototipo ue coloi iojo que
se inteipola con nuestia peicepcion.

Tambin la inteipietacion y clasificacion peisonal ue touos los coloies
visibles, uepenue ue factoies sociales, uemogificos y lingisticos. Asi poi
ejemplo, en el giiego antiguo no se uifeienciaba entie el coloi ue la miel y
entie el uel cspeu, uebiuo a que la hieiba eia maiion la mayoi paite uel
ao.

El estuuio cientifico evaue esta pioblemtica, establecienuo paia caua
coloi un nico punto ue cooiuenauas uentio ue caua espacio ue coloi. El
coloi en estos sistemas es cuantitativo, es uecii, una combinacion ue vaiios
nmeios que peimiten un anlisis objetivo y estanuaiizauo. A continuacion
estuuiaiemos el espacio ue coloi ms conociuo y utilizauo, y algunos
mouelos alteinativos y complementaiios.


LPOPLPO "= 6BD<7:4 .0I 5 BE <=?<76;<?:6;84

0no ue los espacios ue coloi ms utilizauo es el RuB. Es un sistema
basauo en mapas ue bits y la capaciuau ue los conos en el ojo humano ue
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

11
uistinguii claiamente entie iojo, veiue y azul. Es un sistema ue coloi auitivo,
es uecii la suma ue touos los coloies geneia el blanco.

Fig.4 ueneiacion ue coloies en el espacio RuB

0na imagen en coloi RuB basa en su funcionamiento en la matiiz
biuimensional ue una imagen en blanco y negio. Esta matiiz esta compuesta
poi los valoies ue luminancia ue caua pixel que compone la imagen.
Tiabajanuo con 8 bits se tiene un total ue 2S6 valoies posibles paia caua
pixel, que se tiauucen en uifeientes tonaliuaues ue giises. Be esta maneia se
cubie toua la escala ue giises, uesue el valoi u, coiiesponuiente al negio,
hasta el valoi mximo 2SS, que coiiesponue al blanco.

En el espacio RuB paitimos ue la misma iuea, solo que ahoia tenemos
una matiiz tiiuimensional compuesta poi S planos coiiesponuientes a los
ties coloies piimaiios: iojo, veiue y azul. Caua plano ue coloi es como una
imagen en blanco y negio, nicamente que el valoi mximo 2SS ahoia es el
coloi piimaiio puio y poi lo tanto touos los valoies entie u y 2SS son
tonaliuaues ue este coloi. La combinacion ue los ties planos ue coloies
piimaiios, peimite la iepiesentacion ue touos los uems coloies. Be esta
maneia poi ejemplo, la suma uel iojo puio (2SS u u) con el veiue puio (u
2SS u), geneia el amaiillo puio (2SS 2SS u).

La ausencia ue coloi, es uecii un valoi ue u en touos los planos ue
coloi, geneia el negio puio, mientias que la suma ue los ties coloies
piimaiios puios, es uecii un valoi ue 2SS en touos los planos ue coloi,
geneia el blanco puio. La escala ue giises en este nuevo espacio
tiiuimensional es la iecta uiagonal ue la matiiz que une el vitice uel coloi
blanco puio (u u u) con el vitice uel negio puio (2SS 2SS 2SS). A lo laigo
ue esta iecta, los ties planos ue coloi coinciuen en su valoi y caua punto ue
la iecta es equiuistante hacia los ejes ue caua uimension.

Caua uno ue los ties planos ue coloi tiabaja a su vez con 8 bits, es
uecii que poi plano ue coloi seguimos tenienuo 2S6 uifeientes valoies, peio
uebiuo a la tiiuimensionaliuau ue una imagen en coloi, obtenemos un total
ue 16777216 posibles vaiiables.


Reconocimiento ue objetos meuiante WebCam en tiempo ieal

12
LPOPLPL "= 6BD<7:4 $2Z[

0puestamente a la iuea auitiva uel mouelo RuB paia cieai los coloies,
esta el espacio CNY. En este espacio, la suma ue touos los coloies ua como
iesultauo el negio, y la ausencia ue coloi geneia el blanco.

Fig.S ueneiacion ue coloies en el espacio CNY

El espacio CNY esta compuesto poi los coloies complementaiios a los
ties piimaiios, es uecii: cian, magenta y amaiillo. Es el espacio ue coloi
utilizauo en impienta, aunque en este mbito, el negio no es geneiauo como
la suma ue touos los coloies. En la pictica , el negio asi piouuciuo contiene
impuiezas y tienue ms a clasificaise como un maiion oscuio. Poi esta
iazon se aaue un caitucho especial ue coloi negio, oiiginanuo la familiai
uenominacion CNYK.


LPOPLPN 24>6=4B 7:37E=<36B >6 74=43F \#Y 5 \#&

Es ms ceicano a la iuea humana uel coloi , pensai sobie timinos ue
matiz y satuiacion a la hoia ue uefinii un coloi que haceilo poi sus
piopieuaues sustiactivas y auitivas. Be esta iuea nacieion los mouelos BSv
(./" 1 2%,/3%,'451 6%7/") y BSL (./"1 2%,/3%,'451 -'89,5"::) como una
tiansfoimacion no lineal uel espacio RuB.

En el mouelo BSv, la matiz se iepiesenta en una iegion ciiculai, cuyo
centio es el blanco. La uistancia uel centio hacia el coloi en la iegion ciiculai
uefine la satuiacion. Caua coloi piimaiio esta sepaiauo uel otio 12u y los
coloies mixtos estn uefiniuos entie los espacios iesultantes. 0na teiceia
uimension es aauiua paia uefinii el negio, geneianuo asi un cono en el
espacio, cuya altuia viene uaua poi el biillo o valoi.

El mouelo BSL sigue esta iuea, solo que ahoia su iepiesentacion en el
espacio es un uoble cono, en cuyos vitices opuestos se localizan el negio y
el blanco. El centio uel uoble cono seiia poi lo tanto un tono giis, uauo que
el eje que une sus vitices es la luminancia.
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

1S


Fig.6 Espacios ue coloi BSv y BSL


LPOPLPT "BD<7:4 >6 74=43 &]<]@

El espacio ue coloi L*a*b esta basauo en la peicepcion ue coloi uel ojo
humano. Este mouelo ue iefeiencia ue coloi fue uiseauo paia sei
inuepenuiente uel uispositivo en el cual se emplea, ya sea poi pantalla o
impiesoia. Ciea coloies inalteiables, peisistentes y mas iesistentes fiente a
eiioies sepaianuo la luminosiuau "L" ue los uos canales ciomticos "a" y "b".
En el espacio L*a*b es posible iefeienciai mas coloies que en CNYK y RuB,
incluso coloies imaginaiios que no tienen piesencia en la natuialeza.


LPL )D63<7:4;6B @RB:7<B >6= 83<8<?:6;84 >:H:8<=

Si una imagen uigital es manipulaua meuiante opeiaciones uel
tiatamiento uigital, se pueuen obtenei uos iesultauos uistintos: o bien el
pioceso ha cieauo una nueva imagen contenienuo infoimacion extiaiua ue
la oiiginal, o ue la otia maneia, el iesultauo es meiamente infoimacion
numiica con uatos ue inteis.

En el uesaiiollo ue esta aplicacion, van a influii ambos tipos ue
tiatamiento uigital. Poi un lauo habi que mouificai la imagen paia geneiai
nuevas (pie-piocesauo) y poi el otio lauo extiaeiemos ue estas nuevas
imgenes infoimacion numiica paia su inteipietacion.

A continuacion veiemos algunas ue las opeiaciones bsicas en las que
se basa este pioyecto.


LPLPO (36^D3476B<>4 >6 =< :?<H6;

El piimei paso tias la auquisicion ue la imagen es pie-piocesaila. La etapa
uel pie-piocesauo es la aplicacion ue tcnicas y heiiamientas paia iealizai
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

14
una tiansfoimacion ue la imagen con el fin ue mejoiaila paia piocesos
posteiioies. Estos piocesos abaican uesue el iecoite ue la imagen en zonas
ue inteis, hasta tcnicas ue suavizauos paia ieuucii iuiuos.

El piimei paso en el pie-piocesamiento es aseguiainos ue que la imagen
contiene a las iegiones ue inteis ue la mejoi maneia posible. Paia ello
pouemos aplicai tcnicas ue iecoite, giio y escaluo, o cualquiei otia tcnica
que nos peimita uelimitai fisicamente la zona a estuuiai.

La aplicacion ue filtios ue eliminacion ue iuiuo tambin pouiia uesciibiise
como tcnica ue pie-piocesamiento. El iuiuo se uefine como cualquiei
elemento en las imgenes que no son inteiesantes paia la computacion que
se pietenue llevai a cabo. Existen numeiosos filtios que aplican
tiansfoimaciones pixel a pixel, que no solo uepenuen ue la tonaliuau uel
pixel a tiatai, sino tambin ue las ue sus vecinos. La aplicacion ue estos
filtios ocuiie meuiante mscaias, matiices cuauiauas con un numeio ue
filas impai. Algunos ue los filtios ms utilizauos son: filtios gaussianos,
filtios ue meuiana, filtios ue suavizauos (paso bajo y paso alto) y filtios
S0SAN (2&%77":, ;5'<%7" 2"8&"5, *::'&'7%,'58 =/>7"/:).

Tambin piocesos que mouifican el contiaste pueuen aplicaise en el pie-
piocesamiento. La ampliacion uel contiaste es una tcnica que mouifica la
funcion ue tiansfeiencia ue tal maneia que su penuiente sea uistinta ue uno.
Be noimal se aumenta la penuiente en zonas con pixeles ue tonaliuau
inteimeuia entie oscuio y biillante, y se baja en aquellas zonas con
tonaliuaues ceica ue negio y blanco.

La binaiizacion ue la imagen tambin es una tcnica ue ampliacion ue
contiaste. Es un caso extiemo, en que la funcion ue tiansfeiencia paia los
tonos oscuios y claios es ceio y paia las tonaliuaues inteimeuias es
!
!
. La
imagen iesultauo se compone nicamente ue tonaliuaues blanco y negio,
con lo cual se pueue simplificai enoimemente taies ue segmentacion o
ueteccion ue boiues.

La funcion ue tiansfeiencia pueue sei mouificaua ue numeiosas foimas tales
como el clipping , slice, logaiitmicos, opeiaciones aiitmticas y logicas, touos
ellos con iesultauos muy uistintos sobie la imagen.


LPLPL #6H?6;8<7:K; >6 =< :?<H6;

En cualquiei pioceso ue ieconocimiento ue imgenes, el paso
funuamental es uifeienciai claiamente touos los elementos que componen
la imagen. Esto es segmentai los uifeientes objetos uel fonuo. Paia ello se
pueuen aplicai multituu ue piocesos y tcnicas uistintas, uepenuienuo uel
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

1S
tipo ue imagen y el iesultauo ueseauo. Noimalmente la segmentacion ue una
imagen monociomtica se basa en las caiacteiisticas ue las tonaliuaues ue
giis, tales como la uiscontinuiuau y la similituu. La uiscontinuiuau busca
lineas, boiues o puntos en funcion a cambios abiuptos en la tonaliuau ue
giis, mientias que la similituu establece iegiones basnuose en las
ielaciones espaciales o ciomticas que pueue habei entie los pixeles que la
foiman.


LPLPLPO "= \:B84H3<?<F +J36BJ4=>:;H

El histogiama es una iepiesentacion gifica ue la cantiuau ue pixeles
que hay ue caua tonaliuau ue coloi ue la imagen. En una imagen en tonos ue
giis se obtiene un uiagiama ue baiias, uonue la supeificie ue caua baiia es
piopoicional a la fiecuencia ue apaiicion ue caua tonaliuau ue giis. En una
imagen ue ocho bits obtenemos un total ue 2S6 uistintos valoies, uonue la
piimeia posicion iepiesenta al negio y la ultima al blanco.

Fig.7 Bistogiama ue una imagen en blanco y negio

El histogiama ue coloi, muchas veces es iepiesentauo como la union
ue los histogiamas ue caua componente ue coloi ue la imagen RuB. Esta
iepiesentacion no es uel touo aceitaua, ya que no se tiene en cuenta la
tonaliuau ue coloi en concieto, sino caua uno ue sus ties componentes. El
veiuaueio histogiama ue coloi es una iepiesentacion tiiuimensional ue
touas las tonaliuaues ue coloi que apaiecen en la imagen. El histogiama poi
lo tanto ahoia esta compuesto poi cubitos que uan infoimacion aceica ue la
fiecuencia ue apaiicion ue caua tonaliuau.
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

16

Fig.8 Repiesentacion SB ue un histogiama ue coloi

Bauo un histogiama peiteneciente a una imagen cuyo coloi ue fonuo
es claiamente uistinto a la tonaliuau uel objeto, pouemos iuentificai fonuo y
objeto en uos iegiones uominantes. Paia uifeienciai fonuo y objeto iesulta
obvio seleccionai una fionteia que uiviua ambas iegiones meuiante un
umbial. Touo valoi supeiioi o infeiioi a cieito umbial peitenecei o bien al
objeto, o bien al fonuo. Sea g(x, y) la imagen monociomtica y f((x, y) el
histogiama, pouemos sepaiai el fonuo ue los objetos aplicanuo un umbial
ue uecision T.

! !! ! !
! ! !" ! !! ! ! !
! ! !" ! !! ! ! !


No hay convencion estnuai sobie que umbial sepaia mejoi las
uifeientes tonaliuaues, ya que en caua imagen, el conjunto ue tonaliuaues es
muy uistinto. Poi ello hay que iealizai un estuuio inuepenuiente uel
histogiama en caua nueva imagen paia fijai el umbial optimo. Paia
uifeienciai vaiios objetos en una misma imagen, basta con fijai vaiios
umbiales entie los uistintos lobulos que pueue piesentai el histogiama. En
la pictica, la segmentacion poi umbializacion multinivel uel histogiama, es
una tcnica que tienue a fallai. Esto estiiba ue la uificultau que se piesenta
en aislai mltiples iegiones uebiuo a los pixeles situauos en el iea ue
tiansicion entie objetos. 0na posible solucion es la eliminacion ue los boiues
antes ue calculai el histogiama.

Reconocimiento ue objetos meuiante WebCam en tiempo ieal

17

Fig.9 El iesultauo ue fijai ties umbiales uistintos, son
ties imgenes con tonaliuaues tambin uistintas.




LPLPLPL #6H?6;8<7:K; ?6>:<;86 >68677:K; >6 @43>6B

Los boiues ue una imagen uigital se pueuen uefinii como tiansiciones
entie uos niveles ue giis significativamente uistintos. Paia ello se emplean
uifeientes apioximaciones uiscietas ue la piimeia (la giauiente) y la
segunua (laplaciana) ueiivaua ue los niveles ue giis. Cuanto mayoi sean las
vaiiaciones existentes entie uos iegiones fionteiizas en la imagen, mayoi es
el valoi ue la piimeia ueiivaua. El vectoi giauiente apunta a la uiieccion
uonue la vaiiacion es mxima y su mouulo es piopoicional con el valoi ue
esta vaiiacion. La ueiivaua paicial uel eje "x" e "y" e pueue apioximai poi la
uifeiencia ue pixeles auyacentes ue la misma fila o columna,
iespectivamente.

!"!!! !!
!"
! !
!
! !! ! ! ! !! ! ! !!! ! !! !!
!"!!! !!
!"
! !
!
! !! ! ! ! !! ! ! !!!! ! ! !!

Las giauientes ue caua fila o columna se obtienen a paitii ue una
convolucion con una mscaia pieuefiniua. Estas mscaias suelen estai
implementauas meuiante matiices ue igual nmeio impai ue filas que ue
columnas, ue tal maneia que exista un pixel cential. 0na mscaia pueue
estai iellena ue cualquiei conjunto ue nmeios ieales, segn la finaliuau ue
la aplicacion, cumplienuo con que la suma total ue los valoies que componen
la mscaia sea nula. Existen multituu ue mscaias pieuefiniuas, entie las
cuales uestacamos los opeiauoies ue ?4#"3,:, @3"A',,, 24#"7 y B3"'C$9"5.

Reconocimiento ue objetos meuiante WebCam en tiempo ieal

18
Fig.1u Imagen iesultante ue aplicai una mscaia ue 24#"7,
tanto en sentiuo hoiizontal como veitical.

La segunua ueiivaua, uefiniua como -%D7%>'%5%, es pocas veces
utilizauo como uetectoi ue boiues. Al sei ue segunuo oiuen es muy sensible
fiente a iuiuo poi lo que usualmente juega un papel secunuaiio en la
ueteccion ue boiues.

!
!
! !
!
!
!
!!
!
!
!
!
!
!"
!


La funcion -%D7%>'%5% iesponue a cambios en la intensiuau, y poi lo
tanto pueue uai infoimacion aceica ue si un pixel esta situauo en un lauo
oscuio o biillante ue un boiue.


LPLPLPN #6H?6;8<7:K; @<B<>< 6; =< 74;678:G:><>

0tia tcnica ue segmentacion poi similituu, es aquella basaua en la
conectiviuau espacial que pueuen piesentai los pixeles en una imagen. Bos
pixeles son vecinos si tienen en comn poi lo menos una fionteia o una
esquina, segn el tipo ue vecinuau. Se les llama vecinos uiiectos a aquellos
que compaiten sus fionteias, y vecinos inuiiectos si compaiten esquina. 0n
conjunto ue pixeles cumple el ciiteiio ue vecinuau si cumplen entie ellos con
un ciiteiio ue similituu estableciuo. Recoiiienuo la imagen pixel poi pixel,
ue izquieiua a ueiecha y ue aiiiba hacia abajo, se etiqueta caua conjunto ue
pixeles vecinos con un iuentificauoi uistinto.

Reconocimiento ue objetos meuiante WebCam en tiempo ieal

19


Fig.11 Ejemplo ue una segmentacion basaua en la conectiviuau

Este tipo ue conectiviuau pueue iesultai ue uistintas maneias: cuatio
conectiviuau, ocho conectiviuau e incluso seis conectiviuau. 0n pixel !
!
con
cooiuenauas (x, y) tiene uos vecinos hoiizontales !
!
! !
!
y uos veiticales
!!
!
! !
!
! y sus cooiuenauas estn uauas poi:

! ! !! ! ! ! ! !! ! ! !! ! ! ! ! !!! ! ! !!

Este conjunto ue pixeles se conoce como cuatio conectiviuau con el
pixel cential !
!
en (x, y). Be la misma maneia se uejan uefinii el conjunto ue
las uiagonales como:

! ! !! ! ! ! ! ! ! !! ! ! ! ! ! ! !! ! ! ! ! !! ! !! ! ! !!

El conjunto compuesto poi los pixeles que foiman la cuatio
conectiviuau y las cuatio uiagonales se le conoce como la ocho conectiviuau
iespecto al pixel cential "p" en (x, y). Cualquiei vaiiacion ue estos conjuntos
ue pixeles que se tienen en cuenta paia foimai la vecinuau es aumisible
como ciiteiio ue segmentacion.

Fig.12 Bifeientes combinaciones ue vecinuau entoino a !
!



LPLPN (3476B<?:6;84 ?4394=KH:74

En la mayoiia ue los casos la segmentacion no ua iesultauos exactos
aceica ue las contoinos ue los objetos o iegiones segmentauas. Suelen
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

2u
apaiecei zonas con pixeles mal clasificauos que geneian boiues impiecisos
y uiscontinuos. Paia mejoiai los uespeifectos en estas zonas ciiticas es
pieciso iealizai un post-piocesauo ue la imagen que iealce la foima y la
geometiia ue los objetos.

Paia extiaei ue los objetos sus estiuctuias geomtiicas se piecisa ue
otio conjunto ue foima y tamao conociuo, uenominauo elemento
estiuctuiante. Tanto el tamao como la foima ue los elementos
estiuctuiantes son seleccionauos atenuienuo a la finaliuau ue su aplicacion y
las foimas que se uesean extiaei.

Fig.1S Algunos elementos estiuctuiantes tipicos


LPLPNPO /:=<8<7:K; 5 634B:K;

La tiansfoimacion moifologica conociua como eiosion es el iesultauo
ue compiobai si el elemento estiuctuiante esta completamente conteniuo
en un conjunto ue pixeles. Si algn pixel poi vecinuau no cumple con la
limitacion impuesta poi el elemento estiuctuiante, se pone a ceio el pixel
cential. La consecuencia es una uisminucion uel iea uel objeto sobie el cual
se ha aplicauo, asi como la uesapaiicion ue touos los elementos ms
pequeos que el elemento estiuctuiante. La aplicacion iepetitiva ue la
tiansfoimacion ue eiosion conlleva a la uesapaiicion total ue touos los
objetos ue la imagen.

La tiansfoimacion uual a la eiosion es la uilatacion. La uilatacion es el
iesultauo ue compiobai que el elemento estiuctuiante este al menos
conteniuo en un pixel ue un conjunto ue pixeles. Si se cumple lo anteiioi, se
pone a uno el pixel cential. Con ello se consigue una expansion uel objeto en
su iegion fionteiiza y un cieiie ue touas las uiscontinuiuaues menoies que
el elemento estiuctuiante. La aplicacion iepetitiva ue la uilatacion conlleva a
que los objetos lleguen a expanuiise tanto que ocupan toua la imagen.

La uilatacion y la eiosion no son piocesos inveisos. El oiuen ue
aplicacion alteia el iesultauo final.






Reconocimiento ue objetos meuiante WebCam en tiempo ieal

21


Fig.14 Ejemplo ue pioceso ue uilatacion y posteiioi eiosion utilizanuo
una ciuz como elemento estiuctuiante.


LPLPNPL 'D638E3< 5 7:6336

Combinanuo eiosion y uilatacion en oiuenes uistintos cieamos
heiiamientas ue iealce conociuas como apeituia y cieiie. El eiosionauo
peimite eliminai pequeos objetos, peio tambin ieuucimos el tamao ue
touos los uems objetos en la imagen. Al aplicai una uilatacion, volvemos a
expanuii los objetos a su tamao inicial menos aquellos pixeles pieviamente
eliminauos poi la eiosion. Este pioceso iecibe el nombie ue apeituia. Esta
opeiacion no pieseiva estiictamente la geometiia ue los objetos, ya que
eiosionanuo y uilatanuo se suaviza los boiues.

La combinacion inveisa, es uecii iealizai piimeio una uilatacion y
luego una eiosion iecibe el nombie ue cieiie. La uilatacion peimite ceiiai
agujeios y giietas, y la expansion ue los pixeles es paicialmente inveitiua
tias aplicai una eiosion. Be nuevo, se alteia la geometiia ue los objetos y se
suaviza sus boiues, peio se consigue iellenai las fisuias.


Reconocimiento ue objetos meuiante WebCam en tiempo ieal

22
NP "= 9E;7:4;<?:6;84 D3:;7:D<= >6= D34H3<?<

NPO (36^D3476B<>4 >6 =< :?<H6;

El piogiama es capaz ue uifeienciai objetos enteios sobie fonuos no
unifoimes. Paia pouei ieconocei coiiectamente los objetos que se colocan
sobie el fonuo, es pieciso iealizai un pie-piocesauo ue la imagen. El pioceso
ue la clasificacion uel fonuo y la extiaccion ue la infoimacion ue los objetos,
se explicain a continuacion.

El fonuo, llamauo E%>F834/5G, esta foimaua poi una imagen
tempoialmente invaiiante, es uecii su composicion a nivel ue pixel no
cambiai uuiante touo el pioceso uel ieconocimiento. El sistema
iuentificai esta imagen al piincipio ue su ejecucion como la meuia ue la
sucesion ue las ties piimeias imgenes que el sistema lee, y la almacenai
en una vaiiable.

0na vez iuentificaua la imagen fonuo, pueue empezai el pioceso ue
ieconocimiento. Se colocan uiveisos objetos uesconociuos sobie el fonuo
conociuo cieanuo una nueva imagen. La uifeiencia entie el fonuo y esta
nueva imagen, esta compuesta nicamente poi los objetos y un fonuo
unifoime y nulo. Esta imagen la llamaiemos H43"834/5G. (fig. )












Fig.1S La uifeiencia entie E%>F834/5G y la imagen
compuesta poi el mismo fonuo con objetos, es el B43"834/5G.

Bebiuo a la tiiuimensionaliuau ue una imagen en coloi, el pioceso ue
compaiacion y extiaccion ue la uifeiencia, es mas costoso que en una
imagen monociomtica. Paia ahoiiai tiempo ue ejecucion y optimizai el
couigo paia una iespuesta en tiempo ieal, es conveniente conveitii tanto la
imagen fonuo como la imagen con los objetos a escala ue giises. La
uifeiencia ue ambas imgenes es un H43"834/5G en escala ue giises.
Nultiplicanuo elemento a elemento el H43"834/5G monociomtico poi la
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

2S


imagen fonuo con los objetos en coloi, obtenemos el H43"834/5G con toua la
infoimacion ciomtica. (fig. ) Esta opeiacion se iealiza con caua nueva
imagen que le enviemos al piogiama.

Pequeas iiiegulaiiuaues uebiuas a cambios ue iluminacion o poi la
piopia compiesion, pueuen sei eliminauos aplicanuo un filtiauo ue meuiana
al H43"834/5G monociomtico. Este filtiauo elimina iuiuo conociuo como "sal
y pimienta" y suele sei mas efectivo que una convolucion ya que pieseiva
mejoi los boiues.




















Fig.16 Pioceso completo paia la extiaccion ue los objetos






Bifeiencia
Nultiplicacion
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

24
NPL "_83<77:K; >6 7<3<7863WB8:7<B

El siguiente paso en el ieconocimiento, es la extiaccion ue
caiacteiisticas ue los objetos conteniuos en el H43"834/5G. La seleccion ue las
caiacteiisticas es clave en la iuentificacion exacta ue los objetos. Este
piogiama extiae ue caua objeto los siguientes paimetios:

Iuentificauoi ue objeto
Aiea y peiimetio
Rectngulo mas pequeo que pueue contenei el objeto
Infoimacion ue coloi RuB
Bistancia ue movimiento

Touos estos elementos son almacenauos en este oiuen en un nico
vectoi poi objeto. El conjunto ue touos los vectoies es guaiuauo en una
matiiz con igual nmeio ue filas que objetos encontiauos. En el piogiama,
esta Natiiz es uenominaua "S" y nicamente almacena la infoimacion ue los
objetos ue la imagen actual.

La funcion encaigaua ue iellenai la matiiz "S" se llama 4#I">,:,%,J&.
Bicha funcion tiene como paimetios ue entiaua el H43"834/5G
monociomtico y el H43"834/5G con la infoimacion ue coloi. La Natiiz "S"
tenui tantas filas como objetos encuentie la funcion #A7%#"7J& en el
H43"834/5G monociomtico. La funcion #A7%#"7J& (incluiua en la libieiia ue
+%,-%#), geneia una matiiz asignnuole valoies no nulos enteios a caua
objeto y ceios a pixeles peitenecientes al fonuo.


NPLPO "= :>6;8:9:7<>43 >6 4@A684

El piimei elemento en el vectoi que caiacteiiza al objeto, es su
iuentificauoi. El nmeio iuentifica al objeto segn el oiuen ue apaiicion en
sentiuo ascenuente. El piimei objeto encontiauo llevai el iuentificauoi uno,
el segunuo objeto uistinto el uos y asi sucesivamente. El iuentificauoi es
mouificauo posteiioimente poi la funcion &%,3'KH'5GJ& paia uai solucion a
los siguientes pioblemas:

El nmeio asignauo al objeto uebe ue sei invaiiante iespecto al
movimiento que pueue habei entie imgenes. Aunque el objeto se mueva, el
piogiama tiene que iuentificailo con el mismo nmeio. Bebiuo a que
NATLAB iecoiie las imgenes en sentiuo veitical, es uecii fila poi fila, en la
mayoiia ue los casos no se iuentifican coiiectamente los objetos cuanuo
estos se mueven entie imgenes. Auems el piogiama ha ue ie-iuentificai
coiiectamente los objetos aunque estos hayan uesapaieciuo
tempoialmente.
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

2S

Be la misma maneia, si un mismo objeto apaiece iepetiuo vaiias
veces en la misma imagen, el piogiama ha ue sei capaz ue iuentificailo con
el mismo nmeio. Poi uefecto NATLAB asigna un nuevo nmeio a cualquiei
objeto nuevo encontiauo. Paia solucionai los casos anteiioies, es pieciso
ieajustai el valoi uel iuentificauoi ue objeto en la funcion &%,3'KH'5GJ&.


NPLPL &< 36=<7:K; 6;836 R36< 5 D63W?6834F $4?D:=<;7:<

Neuiante la funcion 3"8'45D34D:J& que incluye la libieiia ue +%,-%#,
pouemos aveiiguai fcilmente el iea y el peiimetio uel objeto encontiauo
en la imagen. Paia uaile al piogiama mayoi iobustez fiente a alejamientos y
aceicamientos en planos paialelos a los ue la imagen, se calcula la ielacion
entie el iea y el peiimetio.
!
!
! !! ! !
!
!!
!
!


Cuanto mas ceia este el iesultauo ue uno, ms ceicano al ciiculo sei
la foima uel objeto. Este valoi es el segunuo elemento almacenauo en el
vectoi que caiacteiiza al objeto.


NPLPN "= 3678R;HE=4 ?<B D6`E6a4 `E6 74;8:6;6 6= 4@A684

Be nuevo iecuiiimos a la funcion 3"8'45D34D:J& ue la libieiia ue
NATLAB, peio esta vez pieguntanuo poi el llamauo "E4/5G'58 E4K", el
iectngulo ms pequeo que pueue contenei touo el objeto. El valoi
uevuelto es un vectoi ue vectoies, sienuo el piimei vectoi la posicion uel
pixel supeiioi izquieiuo uel iectngulo y el segunuo vectoi la longituu total
uel iectngulo en caua uimension. El iectngulo obteniuo no es utilizauo
uiiectamente paia la clasificacion e iuentificacion ue objetos. El piogiama
iecuiie al iectngulo paia calculai el coloi meuio y paia posicionai el texto
iuentificativo ue caua objeto.


NPLPT *;943?<7:K; >6 74=43 .0I

0n uato ielativamente uisciiminativo y uecisivo en el ieconocimiento,
es el coloi que piesentan los objetos. La pioblemtica suige a la hoia ue
ueciuii que coloi es el que iuentifica nuestio objeto. Bebiuo a la gian
uiveigencia que pueuen piesentai coloies tomauos ue foima aleatoiia ue
entie touos los pixeles que foiman el objeto, el ieconocimiento coiiecto y
iepetitivo uel objeto tambin piesenta una tasa ue xito aleatoiia.

Reconocimiento ue objetos meuiante WebCam en tiempo ieal

26
0na maneia mucho ms uiiecta ue iuentificai el coloi ue un objeto es
calculanuo el piomeuio ue touos los pixeles que lo foiman, es uecii, calculai
el coloi meuio (fig. ). Este pioceso lo iealiza la funcion &"G'%>4743J&.












Fig.17 Imagen uel objeto antes y uespus ue calculai su coloi meuio.

Esta funcion iecoiie toua la matiiz tiiuimensional que foima el
objeto, iealizanuo un sumatoiio en caua uimension ue touos los valoies
ciomticos y uiviuinuolo entie el total ue pixeles no negios. El iesultauo es
un vectoi que contiene el coloi meuio segn sus ties componentes RuB. Sea
"S" la supeificie uel objeto, entonces:

!
!!!
!
!
!!!!! !!!!!!!
!



NPLPQ &< >:B8<;7:< ?W;:?<

0tia caiacteiistica que nos ayuua a la hoia ue clasificai es la uistancia
)/>7LG"% que existe entie uos puntos uel objeto en uos instantes sucesivos.
La uistancia )/>7LG"% entie uos puntos !
!
y !
!
con cooiuenauas !!
!
! !
!
! y
!
!
! !
!
iespectivamente, se uefine como:

!
!
!
!
! !
!
! !!
!
! !
!
!
!
! !!
!
! !
!
!
!


Esta uistancia es meuiua a paitii uel punto cential uel objeto en caua
instante que obtenemos ue nuevo llamanuo a la funcion 3"8'45D34D:J& ue la
libieiia ue NATLAB. El llamauo $"5,34'G uel objeto, consta ue uos valoies:
una cooiuenaua "x" y otia cooiuenaua "y", que uefinen el centio en un
espacio caitesiano.

Con este uato, un objeto pouiia sei iuentificauo como el mismo, si la
uistancia )/>7LG"% que une su centio con el centio uel mismo objeto en el
instante anteiioi, es la minima entie touas las uistancias posibles.
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

27





NPN "= D3476B4 >6 :;863D368<7:K;

0na vez obteniuo la matiiz "S" ue la imagen actual, que contiene touos
los vectoies con touos los paimetios anteiioimente explicauos, se pasa a la
fase uel ieconocimiento ue objetos. El piogiama compaia los valoies
conteniuos en caua vectoi ue "S" con touos los vectoies conteniuos en una
matiiz maestia, llamaua "N". Este pioceso tiene lugai en la funcion
&%,3'KH'5GJ&.

En la matiiz maestia se almacenan touos los objetos encontiauos ue
touos los instantes ue tiempo posibles. Caua objeto en "N" es nico, y poi lo
tanto su iuentificauoi ue objeto tambin lo es. Los objetos en la matiiz
maestia se oiuenan segn su apaiicion tempoial en la imagen, es uecii, el
piimei objeto encontiauo llevai el iuentificauoi uno, el segunuo llevai el
uos y asi sucesivamente. Aunque la matiiz "N" pouiia caigaise ya iniciaua
como una base ue uatos que contiene uefiniuos ya uiveisos objetos, el
piogiama la inicializa con los valoies encontiauos en la piimeia imagen con
objetos.

El siguiente paso es simple: el piogiama compaia el objeto actual con
touos los objetos que contiene la matiiz maestia. Si el objeto se encuentia en
la matiiz maestia, se actualizan los paimetios en "N" y se coiiige el
iuentificauoi ue objeto en "S" si hace falta. Y si en el caso contiaiio el objeto
no se encuentia en la matiiz maestia, se aaue a "N" el vectoi ue "S" ue
uicho objeto, actualizanuo el iuentificauoi ue objeto en "N".

El pioceso ue compaiacion y evaluacion ue la matiiz maestia, esta
basauo en n sistema ue puntos. Poi caua caiacteiistica que tienen en comn
el objeto ue la matiiz "S" y el objeto al que se le compaia ue la matiiz "N", el
piogiama asigna puntos. Bauo a que tenemos en total siete caiacteiisticas
(Compilancia, coloi R, coloi u, coloi B, la uistancia )/>7LG"%1 iea y
peiimetio), la puntuacion mxima es ue siete. El objeto va sei iuentificauo
coiiectamente si alcanza la puntuacion mxima.

Con cuatio o menos puntos el objeto es iuentificauo como uno nuevo
y es aauiuo ue inmeuiato a la matiiz maestia, actualiznuose su
iuentificauoi ue objeto paia ocupai el ltimo puesto en la lista ue objetos. En
el caso ue que el objeto coinciua con ms ue cuatio puntos con un objeto ue
"N", se actualizai el nmeio uel iuentificauoi ue objeto uel vectoi en "S"
con el ue la matiiz maestia. Si auems se ieconoce el objeto obtenienuo ms
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

28
ue cinco puntos, se actualiza los paimetios ue coloi, compilancia, iea y
peiimetio, calculanuo la meuia entie lo valoies ue "S" y ue "N". El valoi uel
centio uel objeto tambin es actualizauo con la nueva posicion uel objeto en
la imagen y guaiuauo en la matiiz maestia.

Al final uel pioceso, obtenemos la matiiz "S" con touos los objetos
oiuenauos y clasificauos, y una matiiz maestia actualizaua que incluye touos
los objetos tanto conociuos como nuevos.


NPT 2E6B83< >6 36BE=8<>4B 5 36<=:?6;8<7:K; >6= B:B86?<

0na vez obteniuo el vectoi "S", el sistema muestia la imagen sin
piocesai ue los objetos aauienuo a caua objeto una etiqueta extiaiua uel
iuentificauoi coiiesponuiente. La matiiz maestia que se ha obteniuo al final
ue inteipietai la actual imagen, es la matiiz maestia en la que se basa la
inteipietacion ue objetos ue la siguiente imagen.


Reconocimiento ue objetos meuiante WebCam en tiempo ieal

29
TP &< :;8639<U H3R9:7<

Touas las anteiioies funciones uesciitas se implementaian en un
entoino gifico con el fin ue cieai una inteifaz que eimita una fcil y
comoua ejecucion ue caua uno ue las uifeientes fases uesaiiollauas en el
apaitauo anteiioi. Auems se iecopilan y muestian algunos uatos que
peimitan entenuei mejoi el piocesamiento ue la inteipietacion en uicha
inteifaz gifica. Toua la inteifaz se geneiai con el entoino ue cieacion ue
inteifaces que incluye +%,-%#.

Betis ue caua elemento inteiactivo que foiman la inteifaz gifica
(u0I - uiaphical 0sei Inteiface), esta su coiiesponuiente funcion llamaua
>%77#%>F. En esta funcion se esciibe el couigo que se tenui que ejecutai al
inteiactuai con el elemento. Tanto el conteniuo ue los mens D4D/D, como
los textos estticos y lo titulos ue los paneles, son configuiauos pieviamente
en +%,-%#. 0na excepcion es el men D4D/D ue la seleccion ue cameia, ya
que su conteniuo pueue vaiiai segn el teiminal en el que se ejecuta el
piogiama. Paia su cieacion se utiliza el comanuo ue /'>45,347, que peimite
la cieacion ue mens uesue el piopio piogiama.

























Reconocimiento ue objetos meuiante WebCam en tiempo ieal

Su

La u0I constai ue cuatio gificas, que se iin activanuo segn les
llegue la infoimacion. La piimeia muestia el input ue los imgenes con
objetos a ieconocei. Si se ha elegiuo la opcion ue imagen uesue aichivo, se
mostiai la imagen seleccionaua, y si el input seleccionauo coiiesponue con
una cmaia se mostiai una vista pievia uel uispositivo. La segunua gifica
coiiesponue con el campo ue seleccion ue fonuo. Be nuevo se pueue elegii
entie una imagen uesue aichivo, o tomai una imagen uesue la cmaia
seleccionaua como uispositivo ue entiaua. La seleccion ue aichivo en la
configuiacion ue la imagen ue entiaua y fonuo solo tiabaja con imgenes
TIF, ya que no piesentan peiuiuas en su couificacion. Auems solo se pueue
tiabajai en un mouo, es uecii si el input seleccionauo es ue aichivo, el fonuo
tambin lo ha ue sei. Si se elige tiabajai con una cmaia, el fonuo ha ue sei
tomauo como foto con el mismo uispositivo. La teiceia gifica muestia la
imagen uel uispositivo ue entiaua junto con las etiquetas ue los objetos que
se han encontiauo en ella. La cuaita gifica muestia la saliua ue la funcion
3"&4<"#%>F834/5GJ&, es uecii los objetos sin el fonuo.

Auems se ha incluiuo un panel llamauo H3%&" uata que iecopila los
uatos uel nmeio ue la imagen actual y el tiempo que taiua el piogiama en
piocesai e inteipietai caua imagen.

La matiiz maestia, que contiene a touos los objetos que se vayan
encontianuo uuiante la inteipietacion, se muestia uebajo ue las gificas. Se
ha incluiuo un pequeo campo ue texto llamauo log, que infoima aceica ue
algunos eiioies ue manejo y ejecucion.

Los botones piincipales estn compuestos poi un boton ue START
que inicia el pioceso ue ieconocimiento, con las inicializaciones
configuiauas pieviamente, y un boton ue RESET que ieinicia los valoies ue
la matiiz maestia y ue la configuiacion ue la !"#$%&.

Se ha incluiuo un mouo ue uemostiacion, que consta ue un conjunto
ue 27 imgenes que se caigain automticamente al seleccionai este mouo.
Buiante la uemostiacion se vein ties objetos uistintos sobie un fonuo no
unifoime, y se vein algunas capaciuaues ue ieconocimiento uel piogiama
como tiaslaciones ue objetos en el espacio, giios ue objetos, fusion ue
objetos paia foimai nuevos y la apaiicion iepetitiva uel mismo objeto.

Reconocimiento ue objetos meuiante WebCam en tiempo ieal

S1
QP $4;7=EB:4;6B 5 9E8E3<B =W;6<B >6 :;G6B8:H<7:K;

QPO $4;7=EB:4;6B

Como hemos visto en el uesaiiollo ue este PFC, el piocesamiento y la
inteipietacion coiiecta ue los objetos conteniuos en una imagen es una
taiea compleja y computacionalmente caia. Cualquiei ieconocimiento ue
objetos iequieie una capaciuau ue computo muy elevaua uebiuo a que las
imgenes a piocesai son matiices tiiuimensionales gianues. Si bien el
piogiama uesaiiollauo no piesenta mayoies uificultauas en inteipietai
objetos conteniuos en imgenes estticas caigauas uesue un aichivo, la
implementacion en tiempo ieal con imgenes obteniuas uesue una !"#$%&
piesenta numeiosas uificultaues.

Entie ellas estn las uistoisiones y iuiuos intiouuciuos poi un
entoino no contiolauo que uificultan consiueiablemente el ieconocimiento.
Especialmente uuiante el uesaiiollo uel pioyecto en su fase ue
expeiimentacion en tiempo ieal, la intiouuccion ue pequeas sombias
aleatoiias que mouifican el coloi uel objeto y la oclusion paicial ue los
objetos que mouifican su foima, han uemostiauo la uebiliuau uel sistema
fiente a estas alteiaciones.

En un entoino uescontiolauo, como lo piesenta el munuo ieal, hace
falta un algoiitmo ue piocesauo muy iobusto y sensible que peimita sepaiai
el fonuo uel objeto segn las conuiciones ue las escena ue la cual se captan.
El piocesamiento ue las imgenes en el uesciito pioyecto es un pioceso
geniico, que no vaiia inuepenuientemente ue las caiacteiisticas uel
entoino en el que se lanza el ieconocimiento. Esto conlleva numeiosas
uesventajas y una gian inflexibiliuau a la hoia ue sepaiai el fonuo ue la
imagen. Be nuevo se pueue obseivai que amplianuo el couigo paia un
piocesauo sensible y auaptable a caua entoino conlleva a ms tiempo ue
ejecucion poi imagen, alejnuonos ue un iesultauo en tiempo ieal.

Tambin la clasificacion ue los objetos, y sobietouo el paimetio
clasificauoi que escogia la ielacion entie la compilancia, coloi y ceicania
paia inteipietai el objeto, son fases ue especial uelicaueza en el
ieconocimiento. Se pueuen uai casos en los que objetos uistintos en foima
peio uel mismo coloi y ielativamente ceicanos entie ellos, sean
inteipietauos con la misma etiqueta. 0na solucion a estos casos extiemos es
la inclusion ue mas paimetios que uesciiben el objeto. Ello aumenta el
vectoi ue caiacteiisticas uel objeto, lo que conlleva una mayoi matiiz
maestia y un mayoi tiempo ue ejecucion uel couigo ue compaiacion poi
imagen. Bebiuo a ello se han manteniuo los paimetios en los bsicos paia
intentai alcanzai un ieconocimiento en tiempo ieal.
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

S2

La actualizacion ue la matiiz maestia con los nuevos uatos uel objeto
encontiauo, se pueue consiueiai un pioceso ue clasificacion poi
apienuizaje. El piogiama es capaz ue ielacionai como mismos objetos a
aquellos que piesentan ligeias vaiiaciones en foima y coloi, siempie y
cuanuo estos no supeien el umbial estableciuo paia la inteipietacion. 0tia
maneia ue actualizai la matiiz maestia hubieia siuo incluii cualquiei
vaiiacion uel mismo objeto como un vectoi nuevo, peio asignnuole la
misma etiqueta. Be esta maneia se geneiaiia una base ue uatos con una
amplia vaiieuau ue posibles apaiiciones uel mismo objeto. Bebiuo a que la
bsqueua ue elementos en una matiiz es costoso, se ha uescaitauo uicha
posibiliuau, y se ha implementauo un couigo que actualiza el coloi y la foima
hacienuo la meuia iespecto a la imagen anteiioi. Be esta maneia se aseguia
que la matiiz maestia tenga el menoi tamao posible paia aceleiai el
pioceso ue compaiacion.

Como conclusion se pueue uefinii la iealizacion ue un sistema en
tiempo ieal como un balance entie eiioi ue inteipietacion aumisible y el
tiempo ue computo poi imagen limite paia alcanzai el tiempo ieal,
uepenuiente ue las caiacteiisticas ue computacion uel oiuenauoi.



QPL bE8E3<B =W;6<B >6 :;G6B8:H<7:K;

0no ue los puntos ms inteiesantes paia futuias lineas ue
investigacion, es la sepaiacion ue objeto y fonuo en un sistema uinmico
como lo pueue sei la vision aitificial ue un iobot movil. En este pioyecto el
fonuo es invaiiable en el tiempo y peimanece inmovil uuiante touo el
pioceso ue ieconocimiento. La complejiuau uel uesaiiollo ue un sistema que
peimita sepaiai los objetos uel fonuo cuanuo ste tambin vaiia con el
tiempo, iesulta ue gian inteis.

En la fase ue piocesamiento se pueuen estuuiai numeiosas mejoias.
Paia solucionai la pioblemtica uaua poi la oclusion paicial e incluso
completa que pueuen piesentai algunos ue los objetos en la imagen, se
pouiia implementai un filtio ue M%7&%5. Este filtio pieuice la posicion uel
objeto basnuose en los paimetios ue su posicion en la imagen anteiioi a la
actual. Estos paimetios pueuen incluii valoies ue velociuau, uiieccion y
aceleiacion, que peimiten estimai la posicion apioximaua uel objeto aunque
ste se encuentie oculto.

Tambin la aplicacion ue couigos ue ueteccion ue esquinas como el
SIFT, pouiian iesultai muy eficaces en el ieconocimiento ue objetos
paicialmente ocultauos. Este couigo filtia las esquinas mas impoitantes uel
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

SS
objeto, establecienuo una malla ue conexiones entie las uistintas esquinas
encontiauas. Be esta maneia, aunque el objeto cambie su apaiiencia uebiuo
a cambios en la peispectiva, el piogiama es capaz ue iuentificailo hasta
cieito punto.

Como citauo con anteiioiiuau en el uesaiiollo ue esta memoiia, se
pouiia caigai la matiiz maestia con uiveisos objetos ya etiquetauos, en vez
ue geneiaila y actualizaila uesue ceio confoime avanza el couigo. Be esta
maneia se pouiia llegai a optimizai el tiempo que taiua el piogiama en
ieconocei muestias muy similaies como iunticas. Tambin la toleiancia
uel piogiama fiente a caua paimetio caiacteiistico uel objeto, se pouiia
implementai ue tal foima, que su valoi sea uinmico y se vaya ajustanuo a la
uesviacion tipica que pueue piesentai la muestia.

Claio esta, que touos estos piocesos ue ampliacion han ue iespetai el
tiempo ue computo limite aumisible paia peicibii el sistema como en
tiempo ieal.

Paia entenuei los piocesos que se necesitan paia iealizai un
ieconocimiento, el INAuE T00LB0X integiauo ue +%,-%# es una
heiiamienta peifecta, peio paia logiai mejoies iesultauos hace falta una
compilacion uel couigo en otios lenguajes que peimitan la cieacion ue
ejecutables uiiectos. 0na optimizacion uel uso ue la memoiia y un mayoi
contiol sobie touos los piocesos uel couigo solo es peimitiua en lenguajes
ue piogiamacion ue alto nivel como lo pueue sei C++. La auaptacion uel
couigo y la cieacion ue una inteifaz gifica fueia uel entoino limitauo ue
+%,-%# iesulta inevitable paia futuias investigaciones.






Reconocimiento ue objetos meuiante WebCam en tiempo ieal

S4
I:@=:4H3<9W<

|1j Seigios Theouoiiuis, Konstantinos Koutiaoumbas, "An Intiouuction to
pattein iecognition, a NatLab appioach", Acauemic Piess is an impiint of
Elseviei 2u1u
|2j Fiank Y. Shih, "Image piocessing anu pattein iecognition: Funuamentals
& techniques" IEEE Piess 2u1u
|Sj Welch & Bishop, "An intiouuction to the Kalman Filtei" 0NC-Chapel Bill
2uu6
|4j Boiin Comaniciu, Petei Neei, " Nean Shift: A iobust appioach towaiu
featuie space analysis", IEEE Tiansactions on pattein analysis anu machine
intelligence vol. 24 No. S 2uu2
|Sj www.mathwoiks.es


Reconocimiento ue objetos meuiante WebCam en tiempo ieal

SS
'DX;>:76

A continuacion se incluye touo el couigo implementauo ue touas las
funciones que componen el piogiama.



function varargout = guitest(varargin)
% GUITEST M-file for guitest.fig
% GUITEST, by itself, creates a new GUITEST or raises the
existing
% singleton*.
%
% H = GUITEST returns the handle to a new GUITEST or the handle
to
% the existing singleton*.
%
% GUITEST('CALLBACK',hObject,eventData,handles,...) calls the
local
% function named CALLBACK in GUITEST.M with the given input
arguments.
%
% GUITEST('Property','Value',...) creates a new GUITEST or raises
the
% existing singleton*. Starting from the left, property value
pairs are
% applied to the GUI before guitest_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property
application
% stop. All inputs are passed to guitest_OpeningFcn via
varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows
only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help guitest

% Last Modified by GUIDE v2.5 13-Dec-2012 12:47:14

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @guitest_OpeningFcn, ...
'gui_OutputFcn', @guitest_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

S6
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before guitest is made visible.
function guitest_OpeningFcn(hObject, eventdata, handles, varargin)
handles = guidata(hObject);

handles.sframe=0;
handles.M=zeros(1,11);
handles.video=0;
a=imaqhwinfo;
camera_name = char(a.InstalledAdaptors);
camera_info = imaqhwinfo(camera_name);
[A,B]=size(camera_info.DeviceIDs);

for k = 1 : B
C=camera_info.DeviceInfo(1,k).DeviceName;
dropdownListStrings{k+2}=sprintf(C, num2str(k));
end
dropdownListStrings{1}=['Image from file'];
dropdownListStrings{2}=['DEMO'];
uicontrol('Style', 'popup',...
'Position', [20 455 200 60],...
'String', dropdownListStrings,...
'Callback' , @popupmenu1_Callback );


handles.log = uitable('Position', [20 5 530 20]);
handles.t = uitable('Position', [20 20 530 100]);
set(handles.t, 'ColumnName', {'Object', 'Compilancy', 'Bounding box
1', ...
'Bounding box 2', 'Red', 'Green',
'Blue', ...
'Centroid 1','Centroid 2'});
set(handles.t, 'RowName', []);
set(handles.log, 'RowName', []);
set(handles.log, 'ColumnName',[]);

% Choose default command line output for guitest
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
end
end


function varargout = guitest_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
end

%select image input
function popupmenu1_Callback(hObject, eventdata, handles)
handles = guidata(hObject);
val = get(hObject,'Value');

%from file
if val == 1
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

S7
[FileName,PathName] = uigetfile('*.tif','Select image');
Imwork=imread(FileName);
handles.Imwork = imresize(Imwork, [240 320]);
imshow(handles.Imwork,'Parent', handles.axes4);
handles.mode=0;
%demo mode
elseif val == 2
handles.imagelist = dir('*.tif');
handles.N = numel(handles.imagelist);
handles.Imback = imread(handles.imagelist(1).name);
handles.Imback = imresize(handles.Imback, [240 320]);
handles.Imwork=imread(handles.imagelist(1).name);
handles.Imwork = imresize(handles.Imwork, [240 320]);
imshow(handles.Imwork,'Parent', handles.axes4);
handles.mode=2;
handles.modeb=2;
%camara 1
elseif val == 3
handles.video = videoinput('winvideo', 1);
set(handles.video, 'FramesPerTrigger', Inf);
set(handles.video, 'ReturnedColorspace', 'rgb');
handles.video.FrameGrabInterval = 5;
vidRes = get(handles.video, 'VideoResolution');
nBands = get(handles.video, 'NumberOfBands');
hImage = image(zeros(vidRes(2),vidRes(1),
nBands),'Parent',handles.axes4);
start(handles.video);
preview(handles.video, hImage);
handles.mode=1;
%camara 2
elseif val == 4
handles.video = videoinput('winvideo', 2);
set(handles.video, 'FramesPerTrigger', Inf);
set(handles.video, 'ReturnedColorspace', 'rgb');
handles.video.FrameGrabInterval = 5;
vidRes = get(handles.video, 'VideoResolution');
nBands = get(handles.video, 'NumberOfBands');
hImage = image(zeros(vidRes(2),vidRes(1),
nBands),'Parent',handles.axes4);
start(handles.video);
preview(handles.video, hImage);
handles.mode=1;
end

% Update handles structure
guidata(hObject, handles);
end


function popupmenu1_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
end

%select background
function popupmenu2_Callback(hObject, eventdata, handles)
handles = guidata(hObject);

Reconocimiento ue objetos meuiante WebCam en tiempo ieal

S8
val = get(hObject,'Value');
if val == 1
[FileName,PathName] = uigetfile('*.tif','Select background
image');
Imback=imread(FileName);
handles.Imback = imresize(Imback, [240 320]);
handles.modeb=0;
elseif val == 2
handles.imagelist = dir('*.tif');
handles.N = numel(handles.imagelist);
handles.Imback = imread(handles.imagelist(1).name);
handles.Imback = imresize(handles.Imback, [240 320]);
handles.Imwork=imread(handles.imagelist(1).name);
handles.Imwork = imresize(handles.Imwork, [240 320]);
imshow(handles.Imwork,'Parent', handles.axes4);
handles.mode=2;
handles.modeb=2;
elseif val == 3
preview(handles.video);
Imback = getsnapshot(handles.video);
handles.Imback = imresize(Imback, [240 320]);
handles.modeb=1;
end

imshow(handles.Imback,'Parent', handles.axes2);

% Update handles structure
guidata(hObject, handles);
end


function popupmenu2_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
end

%START
function togglebutton1_Callback(hObject, eventdata, handles)
handles = guidata(hObject);


if handles.mode == 0 || handles.modeb == 0
tic
Imwork=handles.Imwork;
Imback=handles.Imback;
im=rgb2gray(Imwork);
bg=rgb2gray(handles.Imback);
bgim=imabsdiff(bg,im);
dif=sum(sum(bgim));
if dif > 0
[nobg,fore]=removebackground(Imwork,Imback);
imshow(fore,'Parent',handles.axes3);
S=objectstat(nobg,fore);
if sum(handles.M)==0
handles.M=S;
else
[S,handles.M]=matrixfind2(S,handles.M);
end
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

S9
imshow(Imwork,'Parent',handles.axes6);
objecttext(S)
set(handles.t, 'Data', handles.M);
else
set(handles.log,'Data',{'error: no object found'});
end

%time control display
v=toc;
uicontrol('position',[500,150,50,10],'style','edit','string',v);
v=0;

%frame counter

uicontrol('position',[500,190,50,10],'style','edit','string',handles.s
frame);
handles.sframe=handles.sframe+1;


elseif handles.mode==1 || handles.modeb==1
%closepreview(handles.video);
bg=rgb2gray(handles.Imback);
for i=0:60

tic
Imwork=getsnapshot(handles.video);
Imwork = imresize(Imwork, [240 320]);

im=rgb2gray(Imwork);
bgim=imabsdiff(bg,im);
dif=sum(sum(bgim));

%si la diferencia es mayor que 150k interpretamos
if dif > 150000
[nobg,fore]=removebackground(Imwork,handles.Imback);
imshow(fore,'Parent',handles.axes3);

S=objectstat(nobg,fore);

%si la matriz maestra es nula, inicializamos con S
if sum(handles.M)==0
handles.M=S;
else
[S,handles.M]=matrixfind2(S,handles.M);
end
imshow(Imwork,'Parent',handles.axes6);
objecttext(S)
%si no es mayor que 150k, error no hay objeto
else
fore=zeros(240,320);
set(handles.log, 'Data', {'error: no object found'});
imshow(fore,'Parent',handles.axes3);
end

%Show master matrix in data box t
set(handles.t, 'Data', handles.M);

%time control display
v=toc;
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

4u
uicontrol('position',[500,150,50,10],'style','edit','string',v);
v=0;

%frame counter
uicontrol('position',[500,190,50,10],'style','edit','string',i);


end
stop(handles.video);
flushdata(handles.video);
elseif handles.mode==2 || handles.modeb==2
Imback=handles.Imback;
bg=rgb2gray(Imback);
for k = 2: handles.N
tic
Imwork=imread(handles.imagelist(k).name);
Imwork = imresize(Imwork, [240 320]);
im=rgb2gray(Imwork);
bgim=imabsdiff(bg,im);
dif=sum(sum(bgim));
if dif > 0
[nobg,fore]=removebackground(Imwork,Imback);
imshow(fore,'Parent',handles.axes3);
S=objectstat(nobg,fore);
if sum(handles.M)==0
handles.M=S;
else
[S,handles.M]=matrixfind2(S,handles.M);
end
imshow(Imwork,'Parent',handles.axes6);
objecttext(S)
set(handles.t, 'Data', handles.M);
else
set(handles.log,'Data',{'error: no object found'});
end

%time control display
v=toc;

uicontrol('position',[500,150,50,10],'style','edit','string',v
);
v=0;

%frame counter

uicontrol('position',[500,190,50,10],'style','edit','string',h
andles.sframe);
handles.sframe=handles.sframe+1;
pause(0.5);
end

else
set(handles.log, 'Data', {'error: input & backround missmatch'});
end
% Update handles structure
guidata(hObject, handles);
end

% --- Executes on button press in togglebutton2.
function togglebutton2_Callback(hObject, eventdata, handles)
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

41
handles = guidata(hObject);

handles.sframe=0;
handles.M=zeros(1,11);
set(handles.log, 'Data', {'reset variables'});
set(handles.t, 'Data', handles.M);
if handles.video ~= 0
stop(handles.video)
flushdata(handles.video)
end

% Update handles structure
guidata(hObject, handles);
end


function S=objectstat(nobg,fore)
labeled = bwlabel(nobg,8);
stats =
regionprops(labeled,'Area','Perimeter','BoundingBox','Centroid');
[N,W] = size(stats);
S=zeros(N, 11);

for i=1:N
S(i,1)=i;
a = stats(i).Area;
p = stats(i).Perimeter;
c = (a/p);
S(i,2)=c;
S(i,10)=a;
S(i,11)=p;

bb=stats(i).BoundingBox;
S(i,3)=bb(1);
S(i,4)=bb(2);
subImage = imcrop(fore, bb);

m=round(mediacolor(subImage));
S(i,5)=m(1);
S(i,6)=m(2);
S(i,7)=m(3);

cc=stats(i).Centroid;
S(i,8)=cc(1);
S(i,9)=cc(2);
end


function [x2,M]=matrixfind2(x2,M)
aux=x2; %copiamos x2 en una matriz auxiliar
[N,W] = size(M);
[N2,W2]=size(aux);

for i=1:N2 %recorremos todos los obetjos de la nueva imagen
ymax=0;
dmin=10000;
for j=1:N %buscamos a cada objeto en la matriz master
y=[find(abs(M(j,2)-aux(i,2))<=2) find(abs(M(j,10)-
aux(i,10))<=30) find(abs(M(j,11)-aux(i,11))<=10) find(abs(M(j,5)-
aux(i,5))<=10) find(abs(M(j,6)-aux(i,6) )<=10) find(abs(M(j,7)-
Reconocimiento ue objetos meuiante WebCam en tiempo ieal

42
aux(i,7))<=10)];
y=sum(y); %cada vez q una caracteristica del nuevo objeto
coincide con uno de la matriz master, se activa un elemento de "y"
x = [aux(i,8),aux(i,9);M(j,8),M(j,9)];
d = pdist(x,'euclidean');
if d<dmin
dmin=d;
y=y+1;
end
if y>ymax %averiguamos la y maxima y la guardamos en y2
ymax=y;
z=j; %guardamos la posicion de la "y" maxima "j" en otra
variable "z"
end
end
if ymax==7 %si la y maxima ha sido un 4: 100% de
coincidencia y asi sucesivamente (k)
x2(i,1)=M(z,1); %sustituimos el indice de objeto x2(i,1)
por el dado en la matriz master
M(z,2)=round((x2(i,2)+M(z,2))/2);
M(z,5)=round((x2(i,5)+M(z,5))/2);
M(z,6)=round((x2(i,6)+M(z,6))/2);
M(z,7)=round((x2(i,7)+M(z,7))/2);
M(z,8)=x2(i,8);
M(z,9)=x2(i,9);
M(z,10)=round((x2(i,10)+M(z,10))/2);
M(z,11)=round((x2(i,11)+M(z,11))/2);
k=100;
elseif ymax==6
x2(i,1)=M(z,1);
M(z,2)=round((x2(i,2)+M(z,2))/2);
M(z,5)=round((x2(i,5)+M(z,5))/2);
M(z,6)=round((x2(i,6)+M(z,6))/2);
M(z,7)=round((x2(i,7)+M(z,7))/2);
M(z,8)=x2(i,8);
M(z,9)=x2(i,9);
M(z,10)=round((x2(i,10)+M(z,10))/2);
M(z,11)=round((x2(i,11)+M(z,11))/2);
k=80;
elseif ymax==5
x2(i,1)=M(z,1);
M(z,2)=round((x2(i,2)+M(z,2))/2);
M(z,5)=round((x2(i,5)+M(z,5))/2);
M(z,6)=round((x2(i,6)+M(z,6))/2);
M(z,7)=round((x2(i,7)+M(z,7))/2);
k=60;
elseif ymax <= 4
[N,W] = size(M);
x2(i,1)=N+1; %si no lo encontramo (y==0) a?adimos una
nueva fila con ese objeto a M

M=[M;x2(i,:)];
k=0;
end
end


function [nobg,fore]=removebackground(Imwork,Imback)
bg=rgb2gray(Imback);
im=rgb2gray(Imwork);

Reconocimiento ue objetos meuiante WebCam en tiempo ieal

4S
nobg = ((im > bg+5) | (im < bg-5));

nobg = medfilt2(nobg, [9 9]);
nobg=bwareaopen(nobg,600,8);
nobg=imfill(nobg,'holes');

nobg = uint8(nobg);

fore(:,:,1)=Imwork(:,:,1).*nobg;
fore(:,:,2)=Imwork(:,:,2).*nobg;
fore(:,:,3)=Imwork(:,:,3).*nobg;


function m=mediacolor(subImage)
o=[0,0,0];
m=[0,0,0];
[x,y,z]=size(subImage);
for i=1:x
for j=1:y
for k=1:z
if subImage(i,j,k)>0
o(k)=o(k)+1; %por cada dimension el numero de
elmentos distintos de 0
end
p=sum(sum(subImage)); %La suma de todos los puntos en una
dimension k
m(k)=p(:,:,k)/o(k); %la media
end
end
end


function objecttext(S)

[N,W] = size(S);
for i=1:N
text(S(i,3),S(i,4),['object',num2str(S(i,1))],'FontSize',6,'Back
groundColor',[.7 .9 .7]);
end

You might also like