<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>2227-1899</journal-id>
<journal-title><![CDATA[Revista Cubana de Ciencias Informáticas]]></journal-title>
<abbrev-journal-title><![CDATA[Rev cuba cienc informat]]></abbrev-journal-title>
<issn>2227-1899</issn>
<publisher>
<publisher-name><![CDATA[Editorial Ediciones Futuro]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S2227-18992017000200012</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Componente de software para el reconocimiento de armas en imágenes de rayos X]]></article-title>
<article-title xml:lang="en"><![CDATA[Software component for weapons recognition in X-ray images]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Rodriguez Arias]]></surname>
<given-names><![CDATA[Felipe]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Quintana Vivanco]]></surname>
<given-names><![CDATA[Leaned]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Sanabria Macías]]></surname>
<given-names><![CDATA[Frank]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Castro Piñol]]></surname>
<given-names><![CDATA[David]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Marañón Reyes]]></surname>
<given-names><![CDATA[Enrique Juan]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad de Oriente Centro de Estudios de Neurociencias, Procesamiento de Imágenes y Señales ]]></institution>
<addr-line><![CDATA[ Santiago de Cuba]]></addr-line>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>06</month>
<year>2017</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>06</month>
<year>2017</year>
</pub-date>
<volume>11</volume>
<numero>2</numero>
<fpage>162</fpage>
<lpage>174</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_arttext&amp;pid=S2227-18992017000200012&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_abstract&amp;pid=S2227-18992017000200012&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_pdf&amp;pid=S2227-18992017000200012&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[RESUMEN Las imágenes de rayos X constituyen una importante herramienta para aplicaciones de seguridad, especialmente en sitios donde la exploración de bultos en busca de objetos peligrosos es de vital importancia. Según los especialistas la inspección de equipajes mediante esta técnica presenta limitantes en cuanto a la eficiencia en el reconocimiento de objetos peligrosos entre otros factores. Esto es influenciado -en alguna medida- por las características propias de las imágenes de rayos X, las cuales son muy diferentes a las imágenes del espectro visible, afectando su interpretación. Es por ello que, tanto los métodos de adquisición, como los algoritmos para la mejora, procesamiento o reconocimiento de objetos en estas imágenes, se caractericen por costosas operaciones de cómputo que repercuten en altos tiempos de ejecución. La reducción del tiempo de ejecución en aplicaciones de seguridad puede ser un objetivo de alta prioridad, en sistemas que soportan la toma de decisiones rápidas, entre otros. Además, las técnicas de programación paralela han demostrado ser una alternativa viable para la solución rápida de problemas de visión computacional. En este trabajo se presenta el desarrollo de un componente de software escrito en C/C++ que describe un procedimiento basado en el algoritmo BoVW para la detección de armas cortas. La implementación emplea técnicas de programación paralela mediante OpenMP, logrando reducir hasta un 93.36% el tiempo de ejecución de una anterior implementación en MATLAB. También se prueba el método de clasificación en una nueva base de datos de imágenes de rayos X de equipos de inspección de energía dual.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[ABSTRACT The x-ray images constitute an important tool for security applications, especially on sites exploration of packages in for searching dangerous objects is very important. According to experts, the inspection of baggage by using the exploration of package techniques present limitations for the terms of efficiency in recognition of dangerous objects among other factors. This is influenced -in some aspects- by the characteristics of the X-ray images, which are very different to the visible spectrum images, affecting the performance of the techniques of exploration packages. For this reason, the acquisition methods, as well as for improving, processing or recognition of objects in these images, are characterize with expensive operations producing high runtimes. The reduction of the runtimes of the security applications can be a target of high priority for systems supported by fast decisions, among others. In addition, parallel programming techniques have proven to be a viable alternative for solving of problems in computer vision. In this paper, we propose a software component written in C/C++ that describes a procedure based on the BoVW algorithm handguns detection. For implementing the proposal, we use techniques of parallel programming with OpenMP, decreasing in 93.36% from a previous implementation of the proposal in MATLAB. The classification method is also tested in a new database of X-ray images, which were obtained by using dual-energy inspection equipment.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[imágenes de rayos X]]></kwd>
<kwd lng="es"><![CDATA[Saco de Palabras Visuales]]></kwd>
<kwd lng="es"><![CDATA[computación paralela]]></kwd>
<kwd lng="en"><![CDATA[X-ray images]]></kwd>
<kwd lng="en"><![CDATA[Bag of Visual Words]]></kwd>
<kwd lng="en"><![CDATA[parallel computing.]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B>ART&Iacute;CULO  ORIGINAL</B></font></p>     <p>&nbsp;</p>     <p><font size="4"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Componente  de software para el reconocimiento de armas en im&aacute;genes de rayos X</font></strong></font></p>     <p>&nbsp;</p>     <p><font size="3"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Software  component for weapons recognition in X-ray images</font></strong></font></p>     <p>&nbsp;</p>     <p>&nbsp;</p>     <P><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Felipe Rodriguez Arias<strong><sup>1*</sup></strong>, <strong>Leaned Quintana Vivanco<sup>1</sup></strong></font></strong></font><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">, <strong>Frank Sanabria Mac&iacute;as<sup>1</sup></strong></font></strong></font><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">, <strong>David Castro Pi&ntilde;ol<sup>1</sup></strong></font></strong></font><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">, <strong>Enrique Juan Mara&ntilde;&oacute;n Reyes<sup>1</sup></strong></font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><sup>1</sup></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Centro de Estudios de Neurociencias, Procesamiento de Im&aacute;genes y  Se&ntilde;ales, Universidad de Oriente, Cuba. Ave. Las Am&eacute;ricas s/n e/ L e I. Santiago de Cuba, directorcenpis@uo.edu.cu </font></p>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<P><font face="Verdana, Arial, Helvetica, sans-serif"><span class="class"><font size="2">*Autor para la correspondencia: </font></span></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <a href="mailto:farias@uo.edu.cu">farias@uo.edu.cu</a><a href="mailto:ycardosog@uci.cu"></a><a href="mailto:lisvandy@ibp.co.cu"></a><a href="mailto:ycoca@uci.cu"></a><a href="mailto:valery@electrica.cujae.edu.cu"></a><a href="mailto:rtrujillo@edistancia.uo.edu.cu"></a><a href="mailto:jova@uci.cu"></a></font><font face="Verdana, Arial, Helvetica, sans-serif"><a href="mailto:losorio@ismm.edu.cu"></a> </font>     <p>&nbsp;</p>     <p>&nbsp;</p> <hr>     <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>RESUMEN</b> </font>     <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Las  im&aacute;genes de rayos X constituyen una importante herramienta para aplicaciones de  seguridad, especialmente en sitios donde la exploraci&oacute;n de bultos en busca de  objetos peligrosos es de vital importancia. Seg&uacute;n los especialistas la  inspecci&oacute;n de equipajes mediante esta t&eacute;cnica presenta limitantes en cuanto a  la eficiencia en el reconocimiento de objetos peligrosos entre otros factores. Esto  es influenciado -en alguna medida- por las caracter&iacute;sticas propias de las  im&aacute;genes de rayos X, las cuales son muy diferentes a las im&aacute;genes del espectro  visible, afectando su interpretaci&oacute;n. Es por ello que, tanto los m&eacute;todos de  adquisici&oacute;n, como los algoritmos para la mejora, procesamiento o reconocimiento  de objetos en estas im&aacute;genes, se caractericen por costosas operaciones de  c&oacute;mputo que repercuten en altos tiempos de ejecuci&oacute;n. La reducci&oacute;n del tiempo  de ejecuci&oacute;n en aplicaciones de seguridad puede ser un objetivo de alta  prioridad, en sistemas que soportan la toma de decisiones r&aacute;pidas, entre otros.  Adem&aacute;s, las t&eacute;cnicas de programaci&oacute;n paralela han demostrado ser una  alternativa viable para la soluci&oacute;n r&aacute;pida de problemas de visi&oacute;n  computacional. En este trabajo se presenta el desarrollo de un componente de  software escrito en C/C++ que describe un procedimiento basado en el algoritmo  BoVW para la detecci&oacute;n de armas cortas. La implementaci&oacute;n emplea t&eacute;cnicas de  programaci&oacute;n paralela mediante OpenMP, logrando reducir hasta un 93.36% el  tiempo de ejecuci&oacute;n de una anterior implementaci&oacute;n en MATLAB. Tambi&eacute;n se prueba  el m&eacute;todo de clasificaci&oacute;n en una nueva base de datos de im&aacute;genes de rayos X de  equipos de inspecci&oacute;n de energ&iacute;a dual. </font>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>Palabras clave:</span></b></font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">im&aacute;genes de rayos X, Saco de Palabras Visuales, computaci&oacute;n paralela.</font></p> <hr>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>ABSTRACT</span></b> </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The x-ray images constitute an important tool  for security applications, especially on sites exploration of packages in for  searching dangerous objects is very important. According to experts, the  inspection of baggage by using the exploration of package techniques present  limitations for the terms of efficiency in recognition of dangerous objects  among other factors. This is influenced -in some aspects- by the  characteristics of the X-ray images, which are very different to the visible  spectrum images, affecting the performance of the techniques of exploration  packages. For this reason, the acquisition methods, as well as for improving,  processing or recognition of objects in these images, are characterize with  expensive operations producing high runtimes. The reduction of the runtimes of  the security applications can be a target of high priority for systems supported  by fast decisions, among others. In addition, parallel programming techniques  have proven to be a viable alternative for solving of problems in computer  vision. In this paper, we propose a software component written in C/C++ that  describes a procedure based on the BoVW algorithm handguns detection. For  implementing the proposal, we use techniques of parallel programming with  OpenMP, decreasing in 93.36% from a previous implementation of the proposal in  MATLAB. The classification method is also tested in a new database of X-ray  images, which were obtained by using dual-energy inspection equipment.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>Key words: </span></b>X-ray images, Bag of Visual Words, parallel computing.</font></p> <hr>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>INTRODUCCI&Oacute;N</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la  actualidad, existe una alta especializaci&oacute;n de los t&eacute;cnicos radi&oacute;logos en la  utilizaci&oacute;n de equipos de rayos X de &uacute;ltima generaci&oacute;n. En contraste con esto,  subsisten dificultades en la inspecci&oacute;n de equipajes mediante esta t&eacute;cnica, por  lo que cada vez m&aacute;s es deseable la implementaci&oacute;n de herramientas  inform&aacute;ticas que reduzcan la carga de trabajo de los especialistas (Bastan, Yousefi, &amp; Breuel, 2011). Entre  otros aspectos, resulta necesario una mejor&iacute;a en la eficiencia del  reconocimiento de objetos peligrosos y el aumento de la rapidez en el  procedimiento de requisa, siempre teniendo como premisa que no se desea  eliminar del todo la labor consiente del hombre sino humanizar, fortalecer y  complementar su tarea (Mery, 2013).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En los  &uacute;ltimos a&ntilde;os, se han llevado a cabo investigaciones cient&iacute;ficas que viabilizan la  detecci&oacute;n de objetos peligrosos en im&aacute;genes de rayos X. Los estudios de (Mery, Mondragon, Riffo, &amp; Zuccar, 2013) y (Mery &amp; Riffo, 2013) dan a conocer un m&eacute;todo combinatorio que fusiona la  estimaci&oacute;n de estructuras internas y la detecci&oacute;n de las partes de objetos  prohibidos en un modelo geom&eacute;trico utilizando equipos de m&uacute;ltiples vistas de  energ&iacute;a simple con muy buenos resultados. Otro de los m&eacute;todos empleados  en el an&aacute;lisis de im&aacute;genes de rayos X es el algoritmo Saco de Palabras Visuales  o <em>Bag of Visual Words </em>(BoVW),  propuesto en sus inicios por (Csurka, Dance,  Fan, Willamowski, &amp; Bray, 2004) para la b&uacute;squeda de im&aacute;genes por  contenido. M&aacute;s tarde, (Bastan, Yousefi, &amp;  Breuel, 2011; Bastan, Byeon, &amp; M, 2013) y (Turcsany, Mouton, &amp; Breckon, 2013) extienden la utilizaci&oacute;n de  esta t&eacute;cnica a las im&aacute;genes de rayos X de sistemas de inspecci&oacute;n de energ&iacute;a  dual, de transmisi&oacute;n de m&uacute;ltiples vistas y de energ&iacute;a simple respectivamente, para  el reconocimiento de materiales il&iacute;citos. Otra contribuci&oacute;n en esta &aacute;rea del  conocimiento la realiz&oacute; (Castro, Sanabria,  Mara&ntilde;&oacute;n, &amp; Rodriguez, 2016) con la colaboraci&oacute;n de especialistas de la  Aduana General de la Rep&uacute;blica (AGR) de Cuba. En esta &uacute;ltima, se utilizan im&aacute;genes  de equipos de rayos X de energ&iacute;a dual con el prop&oacute;sito de detectar armas cortas;  adem&aacute;s, se lleva a cabo un estudio de la influencia de diferentes <em>kernels</em>, funciones de p&eacute;rdida y  vocabularios en la clasificaci&oacute;n de las muestras empleando el m&eacute;todo BoVW. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La  soluci&oacute;n propuesta por (Castro, 2016) mostr&oacute; ser eficiente respecto a la  clasificaci&oacute;n de armas cortas, sin embargo, la implementaci&oacute;n llevada a cabo  fue realizada sobre la plataforma MATLAB, lo cual dificulta la ejecuci&oacute;n del  m&eacute;todo fuera de ese entorno y repercute en un pobre acoplamiento con otros  sistemas en diferentes lenguajes de programaci&oacute;n. Por otra parte, en diversas  pruebas de rendimiento, para observar la velocidad de ejecuci&oacute;n de esa propuesta,  se pudo constatar que como promedio se empleaban 63 segundos para el an&aacute;lisis y  clasificaci&oacute;n de una nueva imagen de rayos X. Esta evaluaci&oacute;n fue verificada en  una PC Intel(R) Core(TM) i3 con 4 n&uacute;cleos de procesamiento a 2.20 GHz y 4 GB de  memoria RAM. Este tiempo de ejecuci&oacute;n resulta insuficiente considerado que un  m&eacute;todo de detecci&oacute;n de armas de este tipo pudiera ser empleado como herramienta  de ayuda por los especialistas radi&oacute;logos justo en el proceso de inspecci&oacute;n de  equipajes (Bastan, Yousefi, &amp; Breuel, 2011).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El presente trabajo tiene como objetivo la implementaci&oacute;n de un componente  de software en el lenguaje de programaci&oacute;n C/C++, que sigue el procedimiento  basado en el algoritmo BoVW descrito por (Castro, 2016). Adem&aacute;s, se ha hecho  especial &eacute;nfasis en la reducci&oacute;n del tiempo de ejecuci&oacute;n mediante t&eacute;cnicas de  programaci&oacute;n multiproceso. Estas permiten la utilizaci&oacute;n al m&aacute;ximo de las  potencialidades de los procesadores con m&uacute;ltiples n&uacute;cleos integrados en los  equipos de c&oacute;mputo de uso cotidiano hoy en d&iacute;a. Tambi&eacute;n, se prueba la  eficiencia en la clasificaci&oacute;n de armas cortas de la nueva implementaci&oacute;n sobre  una base de datos de im&aacute;genes de rayos X de equipos de inspecci&oacute;n de energ&iacute;a  dual de amplia utilizaci&oacute;n en Cuba. </font></p>     <p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">M&eacute;todo Saco de Palabras Visuales</font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El m&eacute;todo Saco de Palabras Visuales est&aacute;  constituido por tres fases (<a href="/img/revistas/rcci/v11n2/f0112217.jpg" target="_blank">figura 1</a>), en su desarrollo se utilizan tanto  algoritmos de clasificaci&oacute;n supervisada como no supervisada. La primera fase se  basa en la construcci&oacute;n de un vocabulario de palabras visuales empleando como  fuente una base de datos de im&aacute;genes. Para ello, se extraen rasgos visuales de  todas las im&aacute;genes con alg&uacute;n m&eacute;todo de extracci&oacute;n de caracter&iacute;sticas. Luego se  utiliza un algoritmo de agrupamiento, usualmente <em>k-means</em>, que crea grupos de rasgos visuales similares entre s&iacute;. Los  centros de cada grupo son llamados palabras visuales (Csurka, 2004; Tsai, 2012; Turcsany, 2013).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La  segunda etapa tiene como objetivo el entrenamiento de un clasificador binario a  trav&eacute;s de histogramas de palabras visuales, el m&aacute;s utilizado en este caso es la  Maquina de Soporte Vectorial o <em>Support  Vector Machine</em> (SVM), (Vapnik &amp; Vapnik,  1998). Los histogramas se construyen mediante una cuantificaci&oacute;n  vectorial de los rasgos extra&iacute;dos de la imagen con el vocabulario de palabras  visuales (Bastan, Yousefi, &amp; Breuel, 2011; Castro,  2016). </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La tercera fase utiliza los datos de las dos etapas anteriores, el  vocabulario de palabras visuales y el entrenamiento del clasificador basado en  los histogramas del universo de im&aacute;genes. Es el proceso mediante el cual se  logra la clasificaci&oacute;n de una nueva imagen, no contenida en el proceso de  entrenamiento. Para ello la nueva imagen es transformada en un histograma de  palabras visuales, y comparada en el clasificador SVM quien determina si el  histograma pertenece o no a la clase objetivo.</font></p>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="3">MATERIALES Y M&Eacute;TODOS </font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El componente de  software desarrollado implementa los procedimientos de la etapa 3 del esquema  de clasificaci&oacute;n de la <a href="/img/revistas/rcci/v11n2/f0112217.jpg" target="_blank">figura 1</a>, basado en la propuesta de (Castro, 2016). Para  ello, se emple&oacute; el lenguaje de programaci&oacute;n C/C++, con la ayuda de las  bibliotecas de funciones VLFeat 0.9.18 (Vedaldi  &amp; Fulkerson, 2010) y OpenCV. La librer&iacute;a VLFeat permiti&oacute; simplificar  el c&aacute;lculo de los descriptores de caracter&iacute;sticas de la imagen, la creaci&oacute;n de  los histogramas de palabras visuales y el proceso de clasificaci&oacute;n mediante la  SVM. En la ejecuci&oacute;n se utiliza  una ventana deslizante, (Jones &amp; Viola,  2001) para la detecci&oacute;n de los objetos, que eval&uacute;a el clasificador a lo  ancho y largo de la imagen. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Con el prop&oacute;sito de mejorar los tiempos de ejecuci&oacute;n  de esta nueva implementaci&oacute;n se explotaron las potencialidades que brinda la interfaz OpenMP para la programaci&oacute;n  multiproceso de memoria compartida (Chapman,  Jost, &amp; Der, 2008). La biblioteca OpenMP se compone de un conjunto  de directivas de compilador que permiten especificar qu&eacute; regiones de c&oacute;digo van  a ser paralelizadas, as&iacute; como una biblioteca de rutinas en tiempo de ejecuci&oacute;n y  un conjunto de variables de entorno. Se basa en el modelo <em>fork-join</em> para obtener el paralelismo a trav&eacute;s de m&uacute;ltiples hilos. Este  modelo plantea la divisi&oacute;n del hilo maestro en hilos esclavos que se ejecutan  concurrentemente, distribuy&eacute;ndose las tareas sobre estos hilos. Estos hilos acceden  a la misma memoria, aunque es posible gestionar estos accesos generando  espacios de memoria privada (Chapman, Jost,  &amp; Der, 2008). </font></p>     <p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Descripci&oacute;n de los datos del entrenamiento del  clasificador SVM</font></strong> </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El resultado final del proceso de  entrenamiento, ejecutado en las dos primeras etapas del m&eacute;todo BoVW est&aacute;  determinado por dos matrices de datos num&eacute;ricos, que representan el vocabulario  de palabras visuales y el entrenamiento del clasificador SVM. Para su obtenci&oacute;n  se siguieron las pautas descritas por (Castro, 2016) para la clasificaci&oacute;n de  armas cortas en im&aacute;genes de rayos X. Esta informaci&oacute;n es utilizada por el  componente de software en el proceso de clasificaci&oacute;n de un histograma de  palabras visuales, con el prop&oacute;sito de conocer si los descriptores de una  ventana deslizante pertenecen o no al tipo de objeto que se busca, en este caso  armas cortas.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El vocabulario est&aacute; conformado por una matriz de 1000 filas por 384  columnas que caracterizan los 1000 representantes obtenidos por el agrupamiento  de caracter&iacute;sticas mediante el algoritmo <em>kmeans</em> (cada uno representa una palabra visual). Los valores de las columnas  identifican los coeficientes calculados mediante el algoritmo PHOW (Bosch, Zisserman, &amp; Munoz, 2007) para cada  representante en cada uno de los canales HSV de la imagen (128 x 3). </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El clasificador SVM est&aacute;  representado por un vector de pesos de 5000 elementos, ya que la utilizaci&oacute;n  del <em>kernel</em> homog&eacute;neo aditivo X<sup>2</sup> &nbsp;elev&oacute; en un factor de 5 la dimensi&oacute;n de los  datos de entrada (1000 palabras visuales). Adem&aacute;s, se obtiene el valor del <em>bias </em>que representa el t&eacute;rmino  independiente de la ecuaci&oacute;n SVM (Castro, 2016).</font></p>     <p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Rendimiento de computadores paralelos</font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Una  forma de medir la calidad de un sistema paralelizado consiste en comparar la  velocidad conseguida en el sistema paralelo (con N procesadores) con la velocidad conseguida con un solo procesador (Berstein, 1966). Para ello se define la ganancia  de velocidad o aceleraci&oacute;n de un sistema de N &nbsp;procesadores como: </font></p>     ]]></body>
<body><![CDATA[<p align="center"><img src="/img/revistas/rcci/v11n2/fo0112217.jpg" alt="fo01" width="220" height="42"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Donde t(1) es el tiempo empleado para ejecutar el proceso si se utiliza un solo  procesador y t(N) es el tiempo empleado para ejecutarlo en el sistema paralelo con N procesadores. En condiciones ideales, t(N) = 1/N con lo que, en esas mismas condiciones, la ganancia de velocidad dada  por la ecuaci&oacute;n 1.1 ser&aacute;</font></p>     <p align="center"><img src="/img/revistas/rcci/v11n2/fo0212217.jpg" alt="fo02" width="293" height="40"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Una forma de medir el rendimiento de un sistema resulta de comparar la  ganancia de velocidad del mismo con la ganancia de velocidad ideal dada por  1.2, a esta medida se le denomina eficiencia:</font></p>     <p align="center"><img src="/img/revistas/rcci/v11n2/fo0312217.jpg" alt="fo03" width="369" height="55"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La ley de Amdahl (Amdahl, 1967)  pone un l&iacute;mite superior a la ganancia en velocidad, y por tanto tambi&eacute;n a la  eficiencia, de un sistema paralelo atendiendo al hecho, de que los procesos  suelen tener partes que no pueden ser ejecutadas en paralelo, sino solo de  forma secuencial pura. De esta forma puede verse que:</font></p>     <p align="center"><img src="/img/revistas/rcci/v11n2/fo0412217.jpg" alt="fo04" width="270" height="82"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Llamando f a la fracci&oacute;n de tiempo que no se puede paralelizar sobre el total del  tiempo de ejecuci&oacute;n. </font></p>     <p>&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="3">RESULTADOS Y DISCUSI&Oacute;N </font></strong></font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En esta secci&oacute;n se describen los  resultados obtenidos en distintos experimentos sobre el componente de software  desarrollado. Primeramente, se examina el proceso de clasificaci&oacute;n, donde se utiliza  una base de datos de im&aacute;genes de equipos de rayos X de energ&iacute;a dual. Luego, se presenta el diagrama de bloques  de la implementaci&oacute;n creada, as&iacute; como la dependencia de datos existente entre  cada uno de los componentes que facilita la ejecuci&oacute;n en paralelo del  procedimiento. Se realiza un estudio del comportamiento en distintos procesadores  y entornos de hardware y se calcula la medida de la mejora obtenida en cada  arquitectura de hardware mediante la Ley de Amdahl.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Evaluaci&oacute;n de la clasificaci&oacute;n</strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La base de datos de prueba est&aacute;  compuesta por 172 im&aacute;genes de rayos X que pertenecen a 8 modelos de equipos de  inspecci&oacute;n NUCTECH, de amplia utilizaci&oacute;n en Cuba. Se caracterizan por contener  al menos un arma corta y presentar un tama&ntilde;o promedio de 573x515 p&iacute;xeles. Las  armas en las im&aacute;genes de prueba aparecen en diversas condiciones con diferentes  niveles de complejidad para la detecci&oacute;n, que fueron catalogadas en los  siguientes grupos: 1: objetos con oclusi&oacute;n propia, 2: solapadas con objetos  met&aacute;licos, 3: partes no met&aacute;licas, 4: distorsi&oacute;n geom&eacute;trica de la adquisici&oacute;n,  5: parcialmente desarmada y 6: visible frontal simple (<a href="#f02">figura 2</a>). Existen  tambi&eacute;n armas que contienen una combinaci&oacute;n de las situaciones que se  describen.</font></p>     <p align="center"><img src="/img/revistas/rcci/v11n2/f0212217.jpg" alt="f02" width="301" height="276"><a name="f02"></a> <img src="/img/revistas/rcci/v11n2/f0312217.jpg" alt="f03" width="378" height="287"><a name="f03"></a></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Se comprob&oacute; que como promedio el componente de software ejecuta 116  ventanas deslizantes por imagen evaluando el clasificador a lo largo y ancho de  esta. Cada ventana deslizante tiene un tama&ntilde;o de 100x100 p&iacute;xeles y se mueve con  un paso de 50 p&iacute;xeles. De las 172 im&aacute;genes evaluadas se etiquetaron  correctamente 160, para un 93.02% de reconocimiento de armas cortas como se observa en la <a href="/img/revistas/rcci/v11n2/t0112217.jpg" target="_blank">tabla  1</a>. Del total de ventanas evaluadas (19952), calculadas a partir de multiplicar  la cantidad de im&aacute;genes de la base de datos por el promedio de ventanas  deslizantes evaluadas en cada imagen; son marcadas como ventanas falsas  positivas 149, lo cual representa el 0.74% (<a href="#f03">figura 3</a>). Los resultados obtenidos confirman la viabilidad  del m&eacute;todo propuesto por (Castro, 2016) sobre una nueva base de datos de  im&aacute;genes de rayos X de equipos de inspecci&oacute;n de energ&iacute;a dual, marca NUCTECH,  utilizados por el sistema de aduanas cubano.</font></p>     <p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">An&aacute;lisis del desempe&ntilde;o</font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la evaluaci&oacute;n del desempe&ntilde;o se  emplearon t&eacute;cnicas de programaci&oacute;n paralela para determinar la ganancia de  velocidad en el tiempo de ejecuci&oacute;n del componente de software. Las pruebas se  realizaron en una computadora personal Core i3 de 4 n&uacute;cleos a 3.1GHz, 4GB de  RAM con sistema operativo Windows7. Se determin&oacute; el tiempo de ejecuci&oacute;n en las  19952 ventanas deslizantes de las 172 im&aacute;genes de la base de datos y se obtuvo  el promedio del tiempo para una sola ventana.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La <a href="/img/revistas/rcci/v11n2/f0412217.jpg" target="_blank">figura 4</a> muestra el diagrama de bloques de la implementaci&oacute;n,  realizada con algunos ajustes para permitir la divisi&oacute;n del problema en partes independientes  para su an&aacute;lisis. El bloque A corresponde a las tareas de inicializaci&oacute;n de  variables, donde se preparan las estructuras de datos necesarios para ejecutar el  bloque B. Despu&eacute;s, en el bloque C, se construye el histograma de palabras  visuales a partir de la normalizaci&oacute;n de los histogramas obtenidos en cada  canal de la imagen por cada ranura espacial del DSIFT (Lowe, 2004) y se entrega al clasificador para su evaluaci&oacute;n. &nbsp;El bloque B se encarga de la detecci&oacute;n de la  regi&oacute;n de inter&eacute;s para el c&aacute;lculo de los descriptores de la imagen, luego  asocia cada descriptor obtenido con el representante m&aacute;s cercano del  vocabulario de palabras visuales, finalmente construye el histograma de  ocurrencias por cada palabra visual.</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">La complejidad del bloque B es O (C* D *W) =O(N<sup>3</sup>) donde C es la cantidad de descriptores obtenidos, D es la dimensi&oacute;n del vector del descriptor y W es el n&uacute;mero de palabras visuales del vocabulario. Teniendo en cuenta  que el bloque B se ejecuta varias veces para una instancia de una ventana  deslizante la complejidad resultante ser&iacute;a O(M*N<sup>3</sup>), donde M es el n&uacute;mero de llamadas al  procedimiento.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El dise&ntilde;o de los  procedimientos internos del componente de software se bas&oacute; principalmente en  las etapas de partici&oacute;n (descomposici&oacute;n de la computaci&oacute;n de tareas) y mapeo  (asignaci&oacute;n de tareas a los procesadores); descritas por (Foster, 1995) que proporcionan un esquema para  la adecuaci&oacute;n de algoritmos a un entorno paralelo. Se observa entonces que el bloque B efect&uacute;a un proceso  repetitivo en el que no existen dependencias de datos entre una y otra  iteraci&oacute;n, lo que facilita su ajuste a un ambiente de ejecuci&oacute;n paralelo. En la etapa de  partici&oacute;n se emple&oacute; una descomposici&oacute;n del dominio aprovechando la  independencia de los datos entre cada una de las iteraciones del bloque B. Luego,  en la asignaci&oacute;n, las tareas y datos asociados a cada iteraci&oacute;n son asignados a  un procesador tratando de maximizar la utilizaci&oacute;n de los procesadores y de  reducir el costo de comunicaci&oacute;n. Se escogi&oacute; la asignaci&oacute;n est&aacute;tica consiste en  distribuir las tareas entre los procesadores al iniciar la ejecuci&oacute;n del  algoritmo esto debido a que la carga de procesamiento se encuentra en la  iteraci&oacute;n del bloque B y no en la cantidad de iteraciones a ejecutar que son  relativamente pocas, s&oacute;lo 12.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la <a href="#t02">tabla 2</a> se muestra el comportamiento de los tiempos de ejecuci&oacute;n  en milisegundos de los diferentes bloques y se observa la ganancia de velocidad  cuando se aumenta el n&uacute;mero de procesadores empleados en el procesamiento de  los datos. Considerando la informaci&oacute;n de la <a href="#t02">tabla 2</a> se obtiene un promedio de  ejecuci&oacute;n para el an&aacute;lisis de una imagen en la versi&oacute;n secuencial de 12.08  segundos (0.1042 segundos multiplicado por 116 promedio de ventanas  deslizantes). Esto representa 50.92 segundos menos que la versi&oacute;n de MATLAB,  mejorando en un 80.82% la velocidad de ejecuci&oacute;n. Si se realiza la misma  reflexi&oacute;n teniendo en cuenta la prueba con 4 hilos de ejecuci&oacute;n, se obtiene una  ejecuci&oacute;n promedio de 4.18 segundos por imagen, lo cual supera los resultados  de la prueba de ejecuci&oacute;n secuencial y constituye un 93.36% de mejora respecto  a la versi&oacute;n de MATLAB en t&eacute;rminos de tiempo.</font></p>     ]]></body>
<body><![CDATA[<p align="center"><img src="/img/revistas/rcci/v11n2/t0212217.jpg" alt="t02" width="566" height="124"><a name="t02"></a></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Realizando un an&aacute;lisis mediante la ley de Amdahl en la <a href="#t02">tabla 2</a> se  evidencia que cuando se efect&uacute;a la versi&oacute;n secuencial la fracci&oacute;n de tiempo de  los bloques A y C (no paralelos) representan juntos el 5% del tiempo total y se  mantienen inalterables en las otras versiones. La ley de Amdahl establece una  cota superior en la ganancia m&aacute;xima de velocidad cuando f=0.05 y N=4, que es <img src="/img/revistas/rcci/v11n2/fo0512217.jpg" alt="fo05" width="193" height="30"></font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">y una eficiencia m&aacute;xima</font> <img src="/img/revistas/rcci/v11n2/fo0612217.jpg" alt="fo06" width="194" height="31"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">; luego se comparan estos valores con la ganancia y la eficiencia obtenida  en la mejor de las pruebas. Empleando los 4 n&uacute;cleos del procesador se logra una  ganancia de velocidad</font> <img src="/img/revistas/rcci/v11n2/fo0712217.jpg" alt="fo07" width="148" height="27"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">, con una eficiencia </font><img src="/img/revistas/rcci/v11n2/fo0812217.jpg" alt="fo08" width="166" height="34"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">La diferencia entre los valores m&aacute;ximos ideales y los obtenidos es  peque&ntilde;a, se encuentran en el orden de los 0.27 y 0.06 respectivamente, lo que  indica que la implementaci&oacute;n realizada aprovecha con efectividad los recursos  de multiprocesamiento del procesador.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Luego de observar el comportamiento en un procesador <em>Core i3</em>, se realizaron pruebas en  distintas configuraciones de <em>hardware</em> con el prop&oacute;sito de observar la ganancia de velocidad y la eficiencia de los  procesadores en la ejecuci&oacute;n de la secci&oacute;n paralela del m&eacute;todo implementado (<a href="#f05">figura  5</a>, <a href="#f06">figura 6</a>, <a href="#f07">figura 7</a>). El procedimiento omp_set_num_threads() de OpenMP permite establecer un  n&uacute;mero mayor de hilos de ejecuci&oacute;n que la cantidad de n&uacute;cleos de procesamiento  incluidos en un procesador, no obstante el algoritmo gana en velocidad hasta el  n&uacute;mero real de n&uacute;cleos del procesador. De esta forma se observa una mejora en  la aceleraci&oacute;n hasta el procesador 2 en las configuraciones <em>Pentium 4, AMD A4 3305, Core2 Duo</em>, los  cuales tienen 2 n&uacute;cleos de procesamiento. En el caso del <em>Core2 Quad</em> y el <em>Core i3</em> se observan ganancias hasta los 4 hilos de ejecuci&oacute;n. La <a href="#f08">figura 8</a> muestra en  perspectiva los tiempos de ejecuci&oacute;n de cada uno de los bloques en los diferentes  procesadores. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Si bien las ganancias en velocidad y  la eficiencia en las diferentes arquitecturas de hardware dependen de otros  factores como la velocidad del disco duro, la memoria RAM, la velocidad y cach&eacute;  del CPU, el coprocesador matem&aacute;tico o el sistema operativo empleado, los  resultados alcanzados ofrecen una idea del comportamiento del algoritmo de  forma general.</font></p>     <p><img src="/img/revistas/rcci/v11n2/f0512217.jpg" alt="f05" width="469" height="299"><a name="f05"></a><img src="/img/revistas/rcci/v11n2/f0612217.jpg" alt="f06" width="467" height="322"><a name="f06"></a></p>     <p><img src="/img/revistas/rcci/v11n2/f0712217.jpg" alt="f07" width="452" height="293"><a name="f07"></a> <img src="/img/revistas/rcci/v11n2/f0812217.jpg" alt="f08" width="455" height="296"><a name="f08"></a></p>     <p>&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><B>CONCLUSIONES</B></font></p> <ul>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Se mostr&oacute; el desarrollo de la implementaci&oacute;n de un componente de software  en C/C++ que sigue un procedimiento basado en BoVW para el reconocimiento de  armas cortas en im&aacute;genes de rayos X.</font></p>   </li>       ]]></body>
<body><![CDATA[<li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La adaptaci&oacute;n del algoritmo original, escrito en MATLAB, a un entorno de  ejecuci&oacute;n paralelo con la utilizaci&oacute;n de las caracter&iacute;sticas de procesadores  con m&uacute;ltiples n&uacute;cleos, permite la obtenci&oacute;n de mejores rendimientos mientras mayores  sean las capacidades de procesamiento paralelo de los equipos. </font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El car&aacute;cter independiente de los datos en la construcci&oacute;n del histograma de  palabras visuales favorece la utilizaci&oacute;n del paralelismo a nivel de datos como  una alternativa eficiente para disminuir los tiempos de respuesta asociados. </font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Las t&eacute;cnicas de programaci&oacute;n paralela en memoria compartida facilitan la  explotaci&oacute;n del paralelismo de datos a trav&eacute;s del uso de bucles iterativos para  la distribuci&oacute;n de tareas a los procesadores, propiciando un mejor  aprovechamiento de las capacidades de c&oacute;mputo.</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El componente de software logr&oacute; la disminuci&oacute;n del tiempo de ejecuci&oacute;n en  un 93.36% respecto a una implementaci&oacute;n anterior, mediante el uso de la  programaci&oacute;n paralela en procesadores multi-n&uacute;cleo.</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Se  prob&oacute; la implementaci&oacute;n del m&eacute;todo en una nueva base de datos de 172 im&aacute;genes  de rayos X de energ&iacute;a dual, obtenida de equipos de inspecci&oacute;n NUCTECH de amplia  utilizaci&oacute;n en Cuba. Se alcanz&oacute; una clasificaci&oacute;n satisfactoria del 93.02% en  im&aacute;genes que conten&iacute;an armas de fuego. </font></p>   </li>     ]]></body>
<body><![CDATA[</ul>     <p>&nbsp;</p>     <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><B>REFERENCIAS    BIBLIOGR&Aacute;FICAS</B></font>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">AMDAHL, G. (1967). Validity of the Single  Processor Aproach to Achieving Large Scale Computing Capabilities.     </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">BASTAN, M., BYEON,  W., &amp; M, B. T. (2013). Object  Recognition in Multi-View Dual Energy X-ray Images.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">BASTAN, M.,  YOUSEFI, M. R., &amp; BREUEL, T. M. (2011). Visual words on baggage X-ray images. <em>Springer</em>,  (pp. 360-368).    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">BERSTEIN, A. (1966). Analysis of programs  for parallel procesing. <em>IEEE Transactions on Computers, Oct.</em>, 15.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">BOSCH, A., ZISSERMAN, A., &amp; MUNOZ, X.  (2007). Image classification using random forests and ferns.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">CASTRO, D., SANABRIA,  F., MARA&Ntilde;&Oacute;N, E., &amp; RODRIGUEZ, F. (2016). Reconocimiento de armas en  im&aacute;genes de rayos X mediante Saco de Palabras Visuales. <em>Revista Cubana de  Ciencias Inform&aacute;ticas, 1</em>, 161.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">CHAPMAN,  B., JOST, G., &amp; DER, R. V. (2008). <em>Using OpenMP.</em> MIT.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">CSURKA, G., DANCE, C., FAN, L.,  Willamowski, J., &amp; Bray, C. (2004). Visual categorization with bags of  keypoints., <em>1</em>, pp. 1-2.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">FOSTER, I. (1995). Designing and Building  Parallel Programs. <em>Chicago, Addison Wesley</em>, 430.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">JONES, M., &amp; VIOLA, P. (2001). Robust  real-time object detection.    </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">LOWE, D. G. (2004). Distinctive image  features from scale-invariant keypoints. <em>International journal of computer  vision, 60</em>(2), 91-110.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">MERY, D. (2013). X-ray Testing: The State  of the Art. <em>The e-Journal of Nondestructive Testing \&amp; Ultrasonics (www.  ndt. net), 18</em>(9).</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">MERY, D., &amp; RIFFO, V. (2013). Automated  Object Recognition in Baggage Screening Using Multiple X-ray Views.    </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">MERY, D., MONDRAGON, G., RIFFO, V., &amp;  ZUCCAR, I. (2013). Detection of regular objects in baggage using multiple X-ray  views. <em>Insight-Non-Destructive Testing and Condition Monitoring, 55</em>(1),  16-20.</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">TSAI, C.-F. (2012). Bag-of-Words  Representation in Image Annotation: A Review., <em>2012</em>, p. 19.    </font></p>     ]]></body>
<body><![CDATA[<!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">TURCSANY, D., MOUTON, A., &amp; BRECKON, T.  P. (2013). Improving feature-based object recognition for X-ray baggage  security screening using primed visualwords. <em>IEEE</em>, (pp. 1140-1145).    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">VAPNIK, V. N., &amp; VAPNIK, V. (1998). <em>Statistical  learning theory</em> (Vol. 1). Wiley New York.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">VEDALDI, A., &amp; FULKERSON, B. (2010).  VLFeat: An open and portable library of computer vision algorithms. <em>ACM</em>,  (pp. 1469-1472).    </font></p>     <p>&nbsp;</p>     <p name="_ENREF_1">&nbsp;</p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Recibido: 17/05/2016    <br> Aceptado: 09/02/2017</font></p>     ]]></body>
<body><![CDATA[ ]]></body><back>
<ref-list>
<ref id="B1">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[AMDAHL]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<source><![CDATA[Validity of the Single Processor Aproach to Achieving Large Scale Computing Capabilities]]></source>
<year>1967</year>
</nlm-citation>
</ref>
<ref id="B2">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BASTAN]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[BYEON]]></surname>
<given-names><![CDATA[W]]></given-names>
</name>
<name>
<surname><![CDATA[B. T]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[Object Recognition in Multi-View Dual Energy X-ray Images.]]></source>
<year>2013</year>
</nlm-citation>
</ref>
<ref id="B3">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BASTAN]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[YOUSEFI]]></surname>
<given-names><![CDATA[M. R]]></given-names>
</name>
<name>
<surname><![CDATA[BREUEL]]></surname>
<given-names><![CDATA[T. M]]></given-names>
</name>
</person-group>
<source><![CDATA[Visual words on baggage X-ray images]]></source>
<year>2011</year>
<page-range>360-368</page-range><publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B4">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BERSTEIN]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[Analysis of programs for parallel procesing.]]></source>
<year>1966</year>
<publisher-name><![CDATA[IEEE Transactions on Computers]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B5">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BOSCH]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[ZISSERMAN]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[MUNOZ]]></surname>
<given-names><![CDATA[X]]></given-names>
</name>
</person-group>
<source><![CDATA[Image classification using random forests and ferns]]></source>
<year>2007</year>
</nlm-citation>
</ref>
<ref id="B6">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[CASTRO]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[SANABRIA]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[MARAÑÓN]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
<name>
<surname><![CDATA[RODRIGUEZ]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<source><![CDATA[Reconocimiento de armas en imágenes de rayos X mediante Saco de Palabras Visuales]]></source>
<year>2016</year>
<volume>1</volume>
<page-range>161</page-range><publisher-name><![CDATA[Revista Cubana de Ciencias Informáticas]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B7">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[CHAPMAN]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[JOST]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[DER]]></surname>
<given-names><![CDATA[R. V]]></given-names>
</name>
</person-group>
<source><![CDATA[Using OpenMP]]></source>
<year>2008</year>
<publisher-name><![CDATA[MIT]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B8">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[CSURKA]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[DANCE]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[FAN]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Willamowski]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Bray]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<source><![CDATA[Visual categorization with bags of keypoints.]]></source>
<year>2004</year>
<volume>1</volume>
<page-range>1-2</page-range></nlm-citation>
</ref>
<ref id="B9">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[FOSTER]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
</person-group>
<source><![CDATA[Designing and Building Parallel Programs]]></source>
<year>1995</year>
<page-range>430</page-range><publisher-loc><![CDATA[^eChicago Chicago]]></publisher-loc>
<publisher-name><![CDATA[Addison Wesley]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B10">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[JONES]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[VIOLA]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
</person-group>
<source><![CDATA[Robust real-time object detection]]></source>
<year>2001</year>
</nlm-citation>
</ref>
<ref id="B11">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[LOWE]]></surname>
<given-names><![CDATA[D. G.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Distinctive image features from scale-invariant keypoints.]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<volume>60</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>91-110.</page-range></nlm-citation>
</ref>
<ref id="B12">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[MERY]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[X-ray Testing: The State of the Art.]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<volume>18</volume>
<numero>9</numero>
<issue>9</issue>
</nlm-citation>
</ref>
<ref id="B13">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[MERY]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[RIFFO]]></surname>
<given-names><![CDATA[V]]></given-names>
</name>
</person-group>
<source><![CDATA[Automated Object Recognition in Baggage Screening Using Multiple X-ray Views.]]></source>
<year>2013</year>
</nlm-citation>
</ref>
<ref id="B14">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[MERY]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[MONDRAGON]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[RIFFO]]></surname>
<given-names><![CDATA[V]]></given-names>
</name>
<name>
<surname><![CDATA[ZUCCAR]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Detection of regular objects in baggage using multiple X-ray views]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<volume>55</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>16-20</page-range></nlm-citation>
</ref>
<ref id="B15">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[TSAI]]></surname>
<given-names><![CDATA[C.-F]]></given-names>
</name>
</person-group>
<source><![CDATA[Bag-of-Words Representation in Image Annotation:: A Review]]></source>
<year>2012</year>
<page-range>, p. 19</page-range></nlm-citation>
</ref>
<ref id="B16">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[TURCSANY]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[MOUTON]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[BRECKON]]></surname>
<given-names><![CDATA[T. P]]></given-names>
</name>
</person-group>
<source><![CDATA[Improving feature-based object recognition for X-ray baggage security screening using primed visualwords.]]></source>
<year>2013</year>
<page-range>1140-1145</page-range><publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B17">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[VAPNIK]]></surname>
<given-names><![CDATA[V. N]]></given-names>
</name>
<name>
<surname><![CDATA[VAPNIK]]></surname>
<given-names><![CDATA[V]]></given-names>
</name>
</person-group>
<source><![CDATA[Statistical learning theory]]></source>
<year>1998</year>
<volume>Vol. 1</volume>
<publisher-name><![CDATA[Wiley New York]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B18">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[VEDALDI]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[FULKERSON]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
</person-group>
<source><![CDATA[VLFeat: An open and portable library of computer vision algorithms]]></source>
<year>2010</year>
<page-range>1469-1472</page-range><publisher-name><![CDATA[ACM]]></publisher-name>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
