<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2705281376371342000</id><updated>2024-11-05T19:09:05.226-08:00</updated><category term="Lenguajes de Programacion"/><category term="Redes de telecomunicaciones"/><category term="Sistemas Distribuidos y Paralelos"/><category term="Visión Computacional"/><category term="Operating Systems"/><category term="Computo Integrado"/><category term="Automatizacion y control de sistemas dinamicos"/><category term="Dispositivos moviles"/><category term="Laboratorio Cómputo Ubicuo"/><category term="POO"/><category term="Sistemas Adaptativos"/><category term="Criptografia"/><category term="Verificacion y validacion de software"/><category term="Proyecto Integrador"/><category term="Teoría de la Información y métodos de codificación"/><category term="Redes Neuronales"/><category term="Lenguaje C"/><category term="Extras"/><category term="Kinect"/><category term="OpenCV"/><category term="Programacion Web"/><title type='text'>Developer</title><subtitle type='html'>Codes and geek stuff</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>226</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-7021810513337902991</id><published>2013-05-28T08:58:00.002-07:00</published><updated>2013-05-28T08:58:50.956-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Teoría de la Información y métodos de codificación"/><title type='text'>Bioinformatics</title><content type='html'>Tittle:&amp;nbsp;Combining Cryptography with Biometrics for Enhanced Security&lt;br /&gt;
Authors: SP.Venkatachalam,&amp;nbsp;P.Muthu Kannan y V.Palanisamy&lt;br /&gt;
&lt;br /&gt;
In the past few years of computer security, biometrics has been used for various types of security problems. The uniqueness of biometrics for any human being makes the identification system more secure. Biometrics is widely used in person identification and verification. The combnation of cryptography with biometrics is a new research area. This technique proves to be more secure than conventional cryptography. This article is about biometric encryption or biometric cryptography approaches and algorithms which use various biometric data.&lt;br /&gt;
&lt;br /&gt;
Conventional cryptography uses encryption keys, which are just bit strings usually 128 bit long. These keys, either “symmetric,” “public,” or “private,” are an essential part of any cryptosystem. A person cannot memorize a long random key, so that the key is generated, after several steps, from a password or a PIN that can be memorized and often made by the user. The password management is the weakest point of any cryptosystem, as the password can be guessed, found with a brute force search, or stolen by an attacker. On the other hand, biometrics provides a person with unique characteristics which are always there. biometric images or templates are variable by nature. An obvious role of biometrics in the conventional cryptosystem is just password management.&lt;br /&gt;
&lt;br /&gt;
The key must be stored in a secure location, this scheme is still prone to the security vulnerabilities, becuase the biometric system and the application are connected via one bit only. Biometric templates stored in a database can be encrypted by conventional cryptographic, this would improve the level of system security, if an attacker gain the access to the encryption keys first. However, there still ome issues because the the database is controlled by a custodian.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
User-based cryptographic keys&lt;/h3&gt;
Cryptographic systems require a secret key or a random number which must be tied to an individual through an identifier. This identifier indeed could be a globally unique user id or biometric data. Generating userID-based key or random number is straightforward and the techniques could easily be found in literature. But generating user-based cryptographic keys includes several of approaches.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
User-dependent Key Generation&lt;/h3&gt;
In cryptography, pseudorandom numbers are generated these numbers can be used directly as a key or adjusted with user-dependent data like an user ID or biometric data. In order to make the key depends on a specific user, two ways could be applied:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;First the key generation algorithm could be modified by using the userdependent data.&lt;/li&gt;
&lt;li&gt;Second the pseudorandom number could be modified. This modification is accomplished using a front-end or back-end approach, in which the pseudorandom numbers are treated as intermediate values and processed further.&lt;/li&gt;
&lt;/ul&gt;
Biometric template of user is denoted by T which is a t-bit value. The aim of the authors is to generate an n-bit-long random number or key K, using T.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div&gt;
To generate pseudo random numbers are neccesary, some of them are:&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
 Method 1&lt;/h4&gt;
This method is based on pairing the biometric data with random numbers. The seed value of the pseudo random number generator consists of a secret random value &lt;i&gt;R&lt;/i&gt; and &lt;i&gt;T&lt;/i&gt;. In order to eliminate any structure&lt;br /&gt;
&lt;div&gt;
of a complex function &lt;i&gt;f&lt;/i&gt; is applied, so the seed value is defined by &lt;i&gt;seed=f(R, T)&lt;/i&gt; where f is the one-to-one mixing function.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h4&gt;
Method 2&amp;nbsp;&lt;/h4&gt;
&lt;div&gt;
In this method R and T are inputs to a more complex function that generates an n-bit pseudorandom number S which could be used directly as a key or as an input to key generation algorithm. The algorithm is as follows:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Generate a secret pseudorandom number R by using a generator.&lt;/li&gt;
&lt;li&gt;Let &lt;i&gt;Z=H(R,T) || H(R+1,T) || H(R+2,T) || ... || H(R+a,T) &lt;/i&gt;&lt;br /&gt;where &lt;i&gt;a=[n/h]-1&lt;/i&gt;. Here &lt;i&gt;H&lt;/i&gt; is a strong collision-resistance oneway hash function. &lt;i&gt;H&lt;/i&gt; generates an h bit output from any length input. The symbol &lt;i&gt;“||”&lt;/i&gt; denotes the concatenation operation.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Let &lt;i&gt;S&lt;/i&gt; be n specific bits of &lt;i&gt;Z&lt;/i&gt; like the leftmost bit.&lt;/li&gt;
&lt;/ul&gt;
In practice this method is designed for the user to store the value of &lt;i&gt;R&lt;/i&gt; and generate &lt;i&gt;S&lt;/i&gt; from &lt;i&gt;R&lt;/i&gt; and &lt;i&gt;T&lt;/i&gt; on demand. &lt;i&gt;S&lt;/i&gt; might be an encryption key; in this case, &lt;i&gt;R&lt;/i&gt; might be encrypted and stored within a cryptographic subsystem.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;h4&gt;
Method 3&amp;nbsp;&lt;/h4&gt;
&lt;div&gt;
In this method R and T are combined via a simple XOR function to generate an n-bit secret pseudorandom number S. The algorithm is as follows:&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Let &lt;i&gt;Z=H(R,T) || H(R+1,T) || H(R+2,T) || ... || H(R+a,T) &lt;/i&gt;&lt;br /&gt;where &lt;i&gt;a=[n/h]-1.&amp;nbsp;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;X&lt;/i&gt; =&amp;nbsp;&lt;i&gt;n&lt;/i&gt; specific bits of &lt;i&gt;Z.&lt;/i&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;R&lt;/i&gt; = &lt;i&gt;n&lt;/i&gt;-bit secret pseudorandom number, where &lt;i&gt;R&lt;/i&gt; is either specified by the system or generated in his step using a generator.&lt;/li&gt;
&lt;li&gt;&lt;i&gt;S = R (XOR) X.&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;h4&gt;
Method 4&lt;/h4&gt;
Due to the hash function collision probability the previous three methods do not guarantee that a key or random number derived for a user will be unique. The probability of two users ending up with the same pseudorandom number is still present and will be quite small if &lt;i&gt;n&lt;/i&gt; and &lt;i&gt;h&lt;/i&gt; are chosen to be large.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
In this method, the user can prove or can&#39;t deny that a key is one belonging to&amp;nbsp;his/her designated space of keys or random numbers. It is assume that the value to be generated is &lt;i&gt;n&lt;/i&gt;-bit long where (&lt;i&gt;n&lt;/i&gt; &amp;gt; &lt;i&gt;t&lt;/i&gt;). The algorithm is a two step process:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Divide the space (&lt;i&gt;2n&lt;/i&gt;) into 2t subspaces.&lt;/li&gt;
&lt;li&gt;Choose &lt;i&gt;n&lt;/i&gt;-bit value at random from the user’s subspace. The first step of the algorithm is realized by taking the first &lt;i&gt;t&lt;/i&gt; bits from the biometric data representation and allow the remaining &lt;i&gt;n - t&lt;/i&gt; bits to take any value.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
Biometric Encryption Algorithm&amp;nbsp;&lt;/h3&gt;
For encription in the biometric part it can be use:&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;h4&gt;
Correlation&lt;/h4&gt;
&lt;/div&gt;
&lt;div&gt;
This algorithm uses the entire image instead of using a feature based approach. In order to present the biometric input a correlation mechanism is applied. The correlation between the input image &lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20f_{1}(x)&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white f_{1}(x)&quot; title=&quot;\bg_white f_{1}(x)&quot; /&gt;&lt;/a&gt; and the obtained image during the verification phase &lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20f_{0}(x)&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white f_{0}(x)&quot; title=&quot;\bg_white f_{0}(x)&quot; /&gt;&lt;/a&gt; is formally defined as, &lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20c(x)%20=%20FT^{-1}(F_{1}(u))F_{0}^{*}(u))&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white c(x) = FT^{-1}(F_{1}(u))F_{0}^{*}(u))&quot; title=&quot;\bg_white c(x) = FT^{-1}(F_{1}(u))F_{0}^{*}(u))&quot; /&gt;&lt;/a&gt; where, &lt;i&gt;FT&lt;/i&gt; is the Fourier Transform and F denotes the transformed image. &lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20F^{*}(u)&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white F^{*}(u)&quot; title=&quot;\bg_white F^{*}(u)&quot; /&gt;&lt;/a&gt; is usually represented by a filter function &lt;i&gt;H(u)&lt;/i&gt; and is used as a biometric template. This filter function produces a distinctive correlation peak at the output of the system.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
The process of correlation is used as a mechanism for linking and retrieving the digital key. The process of the Biometric Encryption does not extract a simple True/False system it produces a more sophisticated output pattern which is linked during enrolment with a digital key and subsequently regenerated during verification to retrieve the same key. The filter function consistently produces the same output pattern for a legitimate user and tolerant to distortions present in the input image. Storing only the phase of the filter function &lt;i&gt;H(u)&lt;/i&gt;, satisfies the security requirement for biometric encryption. The magnitude of &lt;i&gt;H(u)&lt;/i&gt; is necessary for the discrimination and distortion tolerance properties.&lt;br /&gt;
&lt;h4&gt;
Enrollment&lt;/h4&gt;
Enrollment phase contains three stages.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Stage E-1&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
This stage is responsible for combining a series of input fingerprint images with a random phase array to create two output arrays: Hstored(u) and c0(x).&lt;br /&gt;
&lt;br /&gt;
The objective of this stage is to generate an output pattern to be passed to stage E-2, as well as to generate the stored filter function.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBB1pgZuaenLhiWncOfsLbuBrHJ8SjMTSxZFHJmQyKCNbAC_HNR4gIATAijsrU6RNJiBsV7XeEJmEYlmIdTqvwav1Kg407gYKhWWaIiS_H-I42735W3pG5xx8vZkjHi82d32DiRkGil0hx/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;136&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBB1pgZuaenLhiWncOfsLbuBrHJ8SjMTSxZFHJmQyKCNbAC_HNR4gIATAijsrU6RNJiBsV7XeEJmEYlmIdTqvwav1Kg407gYKhWWaIiS_H-I42735W3pG5xx8vZkjHi82d32DiRkGil0hx/s200/Capture.PNG&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Image Processing at Stage E-1&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Stage E-2&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
This second stage links a cryptographic key, k0, to the pattern c0(x), via the link algorithm.&lt;br /&gt;
&lt;br /&gt;
This stage is responsible for linking the output pattern with an&amp;nbsp;&lt;i&gt;n&lt;/i&gt;-bit key. In this algorithm a lookup table is created and stored for use in key retrieval during verification. Link algorithm first comprises a selection of a portion, then the real and imaginary components of the cropped portion are concatenated to form an enrollment template according to their position in the portion. All these values are stored in a table after they are binarized by a threshold scheme. Then is selected for example &amp;nbsp;&lt;i&gt;L&lt;/i&gt;&amp;nbsp;bits from the template to represent each of the&amp;nbsp;&lt;i&gt;n&lt;/i&gt;&amp;nbsp;key bits.&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia8EHYkiWGFSI1IyNspUzHAtE5cg9REgVGiMUZwTO7_l6IiFUCr2AZ0v-Wbj71l0sR70nrNEnkmnbwhE0Waq17Yf4sqaN_EU9ymRut06gSorR9GrGUeonsGEhABFAh8yc4ce6t4H9Q6GQf/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;107&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia8EHYkiWGFSI1IyNspUzHAtE5cg9REgVGiMUZwTO7_l6IiFUCr2AZ0v-Wbj71l0sR70nrNEnkmnbwhE0Waq17Yf4sqaN_EU9ymRut06gSorR9GrGUeonsGEhABFAh8yc4ce6t4H9Q6GQf/s200/Capture.PNG&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Key link algorithm&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;li&gt;&lt;b&gt;Stage E-3&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
Finally at this stage the algorithm creates an identification code, id0, derived from the key k0.&lt;br /&gt;
&lt;br /&gt;
The method used for key validation is based on encrypting S bits of data by using the input n-bit key k0, then the encrypted text is hashed by a one-way hash function to create an identification code, which then will be stored.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmP4YDCUgjcELN33zBVRFh0PW7CCP_xSjG_L4k_eUdLUEHXDqb2Em-LY3tqoTpAvDhyIQ9t3ziyrg_XBGT1KmB-3JlojvNEvCaacOBTyNHeMsYaTR_r2ZJyiAG_vi2d4kydA5VTY73GJcd/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;138&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmP4YDCUgjcELN33zBVRFh0PW7CCP_xSjG_L4k_eUdLUEHXDqb2Em-LY3tqoTpAvDhyIQ9t3ziyrg_XBGT1KmB-3JlojvNEvCaacOBTyNHeMsYaTR_r2ZJyiAG_vi2d4kydA5VTY73GJcd/s200/Capture.PNG&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Overview of the enrollment process&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;h3&gt;
Verification&lt;/h3&gt;
This session is symmetric to the enrollment session with respect to the linking and retrieving of the digital key. Verification also has three stages:&lt;br /&gt;
V-1 - some image processing is applied to combine Hstored(u), from the Bioscrypt, with a new series of input fingerprint images to create an out pattern c1(x).&lt;br /&gt;
V-2 - key k1 is retrieved by the retrieval algorithm this key is validated by creating a new identification code, id1 and comparing it with id0. As in enrollment, a set of fingerprints are acquired from the user and Fourier transforms are performed on the images. By using the Hstored(u) retrieved from the Bioscrypt, an output pattern is calculated and passed to the second stage of verification. The key retrieval algorithm takes the output pattern c1(x) and create a binarized verification template.&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKZX0KHKXiAmum__wp1Seg2ieDty3rV-AWpxEBoWnBlIbpYJawJN2M-iIkxj4O6PIDSfgRPN7c237zEGerzQe0WklHQWrw8qcrhr4UwGxNdYLCvis0eU0eAHhREF73Yp3Nvg2d2qd65f78/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;122&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKZX0KHKXiAmum__wp1Seg2ieDty3rV-AWpxEBoWnBlIbpYJawJN2M-iIkxj4O6PIDSfgRPN7c237zEGerzQe0WklHQWrw8qcrhr4UwGxNdYLCvis0eU0eAHhREF73Yp3Nvg2d2qd65f78/s200/Capture.PNG&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Overview of the retrieval algorithm&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
V-3 - The key k1 is released if and only if it precisely matches k0. Although the Biometric Encryption algorithm is first developed for the image type biometric templates it could be easily adapted to the other biometrics as well. Biometric encryption provides convenient and secure widespread use of biometric cryptographic systems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Using keystroke dynamics for security&lt;/h4&gt;
In order to generate stronger passwords which can not be easily found, a technique based on keystroke dynamics could be proposed. A stronger password might be generated by using the password’s textual characteristics and the user’s typing patterns. This hardened password then might be used as a cryptographic key.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h4&gt;
Keystrokes as a Biometric Cryptographic key&amp;nbsp;&lt;/h4&gt;
Legitimate user’s typing patterns consist of durations and latencies between keystrokes. In this scheme these properties are combined to generate a hardened password, but there are several problems in such a system like:&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Identify typing features that the user reliably repeats&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Use these features when the user types her password to generate the correct hardened password.&lt;/li&gt;
&lt;/ul&gt;
If an attacker learns the durations and latencies which are reliably repeated by the user, this will be a catastrophic end.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This technique improves the hardened password over time by adapting itself to the user’s typing patterns.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Keystroke Patterns for Computer Access Security.&lt;/h4&gt;
Keystroke patterns are used for authenticating a user. Keystroke rhythms are a method that tries to understand individual’s behaviour. In this method biometric data is assigned to a vector which carries all well-known values of the property. By using a minimum-distance classifier, it will be easy to make a decision by finding the distance between the test pattern and the templates of each individual which are previously determined after a training phase. The main steps are:&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;First, parameters of users’ keystroke are collected using a login form and stored in a database.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Next, is the validation step where the users’ parameters are processed by an efficient validation algorithm. Also new parameters are generated.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Then, is the decision making step, new values calculated during the validation phase are transferred to a decision function. In this step user is accepted or rejected.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Finally, the parameters belong to the successful login are updated in the database.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
The system learns user’s keystroke dynamics. Keystroke patterns are low-cost user-specific data especially for biometric authentication and cryptography and it should be noted that they are usually difficult to detect and analyze.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h3&gt;
Cryptographic keys generater from voice&lt;/h3&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
Human voice is a good biometric to generate a cryptographic key. The authors focus on focus on a way of generating a key upon its user speaking a chosen password to it.&lt;br /&gt;
&lt;br /&gt;
The keys must be unguessable by attackers and reproducible by intended parties when needed to perform cryptographic operations. For the goal of unguessability, one solution is in which a user utters a password to his/her device and that device would generate a key. Repeated utterance of the same password by the same &lt;br /&gt;
user would improve the security of the key after successful matches with his/her previous recorded utterances.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Generating Feature Descriptors from Voice&lt;/h4&gt;
The algorithm in &quot;Using voice to generate cryptographic keys: A position paper&quot; by F. Monrose, M. K. Reiter, Q. Li and S. Wetzel; represents a user utterance as a sequence of frames, each of which is a 12-dimensional vector of cepstral coefficients characterizing a 30 milliseconds window of the utterance. After the voice is captured, some endpoint detection, silence removal and cepstrum mean subtraction are applied and then speaker and text independent acoustic model is used to segment the sequence of frames into &lt;i&gt;m&lt;/i&gt; portions.&lt;br /&gt;
&lt;br /&gt;
The previuos algorithm is as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;For each segment find the centroid in the acoustic model that yields the highest likelihood score for the model.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Use the Viterbi algorithm to compute a new segmentation with ‘m’ segments that maximizes the product of segment likelihoods relative to the centroids chosen in the previous step.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvcJXi6zfFU5LgmvFCNlG0wlJQgHQxH3eFVU6lv7YSWOOwCXVZNi4_15LuLtGEmkGOxvDHZ7YVcMnnZ81uYtJQzDez0vYT2CbWsassL_6Oz2xbhkTtzhXOHFkKPPm-SLwCigU6gue7R2Sx/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;197&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvcJXi6zfFU5LgmvFCNlG0wlJQgHQxH3eFVU6lv7YSWOOwCXVZNi4_15LuLtGEmkGOxvDHZ7YVcMnnZ81uYtJQzDez0vYT2CbWsassL_6Oz2xbhkTtzhXOHFkKPPm-SLwCigU6gue7R2Sx/s200/Capture.PNG&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Segmentation&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;h3&gt;
Conclusion&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
In this article are presented a general overview of using biometrics for security purposes and several algorithms that allow users to generate cryptographic keys and random numbers based on their unique biometric information.&lt;br /&gt;
&lt;br /&gt;
Biometrics offer many advantages over current authentication methods, because they are convenient for users and cannot be forgotten or shared between users. They are particularly attractive for use with single sign-on systems, as both the benefits and the costs of the biometric system can be shared across multiple domains. Furthermore, developers of single sign-on systems are realizing that in order to be successful, they must be able to prove that an account belongs to a live person. On the other hand, the need for cryptographic keys and random numbers highly increases by the growing concern over the possible attacks based on the generation of values that lie within a certain undesirable interval or satisfy some other properties that favour the attacker. This article is focused on the trademark encryption algorithm proposed by Mytec Technologies named as Biometric Encryption and Bioscrypt. This method does not propose a two-stage scheme, which first authenticates the user and releases the key. Instead the key is linked with the biometric data during the enrollment phase and later is retrieved at the verification phase. This scheme also uses the image-type patterns and does not present a feature-based representation method because of the prevention of data loss during the extraction. Biometric Encryption could be applied to any biometric image or an array consisting of biometric features.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Using voice instead of keystroke dynamics is another biometric-based cryptography method. This biometric security system uses a similar approach as presented previously in keystroke-based biometric cryptosystem, except for the feature extraction and key generation phases. This algorithm uses cepstral coefficients as voice features and uses Viterbi algorithm to strengthen the key.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
Personal Conclusions&lt;/h3&gt;
Separately the biometrics and cryptography have many vulnerabilities, such keys can be guessed by brute force mechanisms and man in the middle.&lt;br /&gt;
&lt;br /&gt;
Another problem occurs when users choose passwords that are easy or simple when encrypt remain vulnerable.&lt;br /&gt;
&lt;br /&gt;
By combining these two technologies yields a more secure system because even if one of the keys to decrypt would yet another to decipher. Also if you use the encryption using keystrokes or voice encryption this adds more complexity to break the system.&lt;br /&gt;
&lt;br /&gt;
The use of biometrics along with other areas makes you get more robust and complete systems, even if biometrics is still an area that has several faults or is still under investigation.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
References&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;SP.Venkatachalam,&amp;nbsp;P.Muthu Kannan and V.Palanisamy.&amp;nbsp;Combining Cryptography with Biometrics for Enhanced Security.&amp;nbsp;Control, Automation, Communication and Energy Conservation, 2009.&amp;nbsp;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 15px; line-height: 24px;&quot;&gt;June 2009.&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://csis.bits-pilani.ac.in/faculty/murali/netsec-10/seminar/refs/rahul2.pdf&quot;&gt;http://csis.bits-pilani.ac.in/faculty/murali/netsec-10/seminar/refs/rahul2.pdf&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/7021810513337902991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/05/bioinformatics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/7021810513337902991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/7021810513337902991'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/05/bioinformatics.html' title='Bioinformatics'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBB1pgZuaenLhiWncOfsLbuBrHJ8SjMTSxZFHJmQyKCNbAC_HNR4gIATAijsrU6RNJiBsV7XeEJmEYlmIdTqvwav1Kg407gYKhWWaIiS_H-I42735W3pG5xx8vZkjHi82d32DiRkGil0hx/s72-c/Capture.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-4443101220696306312</id><published>2013-05-25T11:46:00.002-07:00</published><updated>2013-05-26T21:37:55.482-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Redes de telecomunicaciones"/><title type='text'>Aplicación Redes Sensoras.</title><content type='html'>Título:&amp;nbsp;&lt;b&gt;&lt;u&gt;Application of Sensor Network for&amp;nbsp;Secure Electric Energy Infrastructure&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
Autores:  &lt;b&gt;&lt;u&gt;Ramón Alberto León Candela&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
Las redes de sensores inalámbricas se están convirtiendo en la tecnología de elección para aplicaciones de detección sobre todo debido a su facilidad de instalación y su bajo menores.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
En este trabajo el autor propone un nuevo diseño conceptual de una aplicación de la tecnología inalámbrica de sensores para evaluar la salud estructural de las líneas de transmisión y su aplicación para mejorar la observabilidad y la fiabilidad de los sistemas de energía.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h3&gt;
Introducción.&lt;/h3&gt;
&lt;/div&gt;
&lt;div&gt;
Con la creciente amenaza del terrorismo en todo el mundo, se está prestando más atención a la seguridad de la infraestructura de transmisión eléctrica. Aunque es muy difícil de evitar o predecir cuándo y dónde pueden producirse estos actos terroristas, la evaluación rápida de la situación puede ayudar a los operadores a tomar medidas óptimas para evitar eventos en cascada y los apagones parciales o totales consiguientes.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Las fallas mecánicas resultantes de los ataques maliciosos en una línea de transmisión son básicamente las mismas que las que resultaría en que los acontecimientos naturales extremos afectan a una parte de la línea de transmisión.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El método actual para evaluar el daño causado por cualquier acontecimiento físico inesperado en la red de transmisión es la inspección visual de la infraestructura de transmisión. Con los problemas que se producen en entornos de concentrados, como subestaciones o plantas de generación, no es difícil de encontrar y evaluar los daños con una bastante pequeña tripulación o con cámaras de vigilancia adecuadamente localizada. Pero en líneas de transmisión que están geográficamente dispersos a través de cientos de kilómetros, esta tarea es más difícil. Sin embargo, una vez que se produce un evento, el operador del centro de control recibe únicamente que se produjo un fallo eléctrico, pero no si es temporal o permanente. Por lo tanto, las normas de funcionamiento que él / ella tiene que tratar de reinsertar la línea en falta con el fin de comprobar la condición temporal / permanente del evento. Una vez que todos los intentos fallan, entonces la línea se marca como permanentemente fuera de servicio.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Se propone la utilización de una tecnología de red inalámbrica sensora para la detección de fallos mecánicos en líneas de transmisión tales como: insuficiencia conductor, torre se colapsa, puntos calientes, las condiciones mecánicas extremas, etc. La aplicación propuesta consiste en la instalación de sensores para la supervisión mecánica en torres predeterminadas de una línea de transmisión y la comunicación a través de una red inalámbrica. El objetivo principal es obtener una imagen física y eléctrica completa del sistema de energía en tiempo real, diagnosticar inminente, así como fallas permanentes, y determinar las medidas de control adecuadas que podrían adoptarse de forma automática y/o sugeridas a los operadores del sistema una vez que un condición mecánica extrema aparece en una línea de transmisión.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
Características mecánicas de líneas aéreas de transmisión.&lt;/h3&gt;
&lt;div&gt;
El diseño de líneas eléctricas aéreas conceptualmente los considera integrado por cuatro componentes: bases, soportes, interfaces y conductores. El proceso de diseño tiene en cuenta la coordinación de las resistencias mecánicas ya que el fallo de uno de los cuatro componentes puede dar lugar al colapso de toda la instalación de transmisión.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Cuando los diferentes componentes de una línea de transmisión se someten a sus límites de la fuerza, su fracaso podría ser repentina, que se producen en la fracción de segundo y puede dar lugar a la inestabilidad, la ruptura o separación completa; o podría ser progresiva, resultando en la pérdida de fuerza que eventualmente conduce a daños después de largos períodos de tiempo.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Hay dos tipos principales de estructuras de apoyo, la tensión y los apoyos de suspensión.&amp;nbsp;Teniendo en cuenta el costo relativamente bajo, una gran parte de una línea de transmisión se ven agravados por los soportes de suspensión. Por lo tanto, debido a sus características de construcción, cuando se produce un fallo en cualquiera de los miembros de suspensión de una sección determinada, hay una muy alta probabilidad de colapso de la suspensión restante de la sección afectada, produciendo un fallo en cascada estructural.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;h3&gt;
Red sensora propuesta&lt;/h3&gt;
Existen sensores capaces de controlar las variables mecánicas de la línea de transmisiòn que se podría utilizar para detectar condiciones anormales cuando aparecen los fenómenos ambientales extremos o accidentes relacionados con humanos o sabotajes. Los investigadores han encontrado que la utilización de sensores de aceleración, de deformación y el desplazamiento puede proporcionar un nivel adecuado de observabilidad para terremotos y vientos.&lt;br /&gt;
&lt;br /&gt;
Dado que la temperatura es también una preocupación en la transmisión de la energía eléctrica, la aplicación puede tomar ventaja de la infraestructura de detección para colocar sensores de temperatura en el punto de unión de conductores para detectar posibles puntos calientes y los problemas relacionados con el sobrecalentamiento sobrecargas.&lt;br /&gt;
&lt;br /&gt;
Para una evaluación más completa de las condiciones mecánicas de la línea de transmisiòn, como en la detección de el improbable caso de un fallo aislado, se recomienda para medir fuerzas de tracción en los conductores conectados a un número de soportes de suspensión, la colocación de ellos en ambos lados del punto de la unión de los conductores en cada tercera torre. De esta manera, cada soporte controla sólo un conductor de fase, pero el sistema no observabilidad suelta, ya que cada punto de unión no está supervisando directamente se controla mediante un soporte adyacente.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
El autor propone la instalación de acelerómetros en el cuerpo de soporte para la vibración y el seguimiento de inclinación, y en los puntos de unión de conductores para la detección de la vibración inducida por el viento. Esta instalación de conductores es recomendable para la optimización del mantenimiento.&lt;br /&gt;
&lt;br /&gt;
La instalación de sensores de temperatura para la detección de sobrecalentamiento se puede optimizar teniendo en cuenta que las condiciones de calentamiento debido a las sobrecargas son uniformes en porciones largas relativas de la línea. Sin embargo, dado que los puntos calientes son fenómenos muy localizados, sólo pueden ser detectados mediante la colocación de transductores de temperatura cerca de todos los puntos de fijación de los conductores.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Cabe señalar que todas las mediciones de los sensores propuestos por el autor están relacionados de varias maneras. La relación puede ser entre diferentes sensores aplicados a la misma estructura, como en el caso de la tensión y la tensión, o entre la vibración y la inclinación, o puede ser entre los mismos tipos de sensores en diferentes lugares, como en el caso de sensores de tensión aplicados a los conductores en ambos extremos de una interfaz de suspensión.&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir6EZ4d31oC2kBREBtJaQIKFWOBpkdSQR0n2ZnZrlozCavKLdy8BHI03WFeHkqq3qAueCCkoPGdbBvz8B9qTqxfTuDzUGyBHzkyN5br4D__6vfKHcB_LC9ie96tnEzJbVo7nGvFgMtYfuH/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir6EZ4d31oC2kBREBtJaQIKFWOBpkdSQR0n2ZnZrlozCavKLdy8BHI03WFeHkqq3qAueCCkoPGdbBvz8B9qTqxfTuDzUGyBHzkyN5br4D__6vfKHcB_LC9ie96tnEzJbVo7nGvFgMtYfuH/s320/Capture.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Posiciòn de los sensores&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h3&gt;
Arquitectura.&lt;/h3&gt;
&lt;/div&gt;
&lt;div&gt;
El autor propone depender de la comunicación inalámbrica entre torres, ya que ofrecerían un camino de transmisión fiable en el caso de un fallo de una estructura de soporte, a condición de que el evento causal no daña el transmisor.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Las características de construcción de líneas de transmisión, con soportes separados cientos o incluso miles de metros entre sí representa un obstáculo difícil para el rango de temperaturas para la comunicación inalámbrica entre los nodos sensores localizados en diferentes estructuras. Por diseño, el alcance de las comunicaciones de sensores inteligentes no es muy larga y extenderla no es eficiente debido a las limitaciones de suministro de energía.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El autor propone un modelo de dos capas para superar las restricciones impuestas por el problema de gestión del alcance/energía en los nodos del sensor:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi17sTuYW6lrQIhAraconucHctAXT7I691XvXiqeg8urhTO5pmaBrcbJ7UTAlQ_dpV7IuhIkZHTBwbl0U_yvBOblSujBI09vJjq0yUL2IGhUByzCt65YzB1jW7R6UWhhKtFu0HQu46FRKpP/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;191&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi17sTuYW6lrQIhAraconucHctAXT7I691XvXiqeg8urhTO5pmaBrcbJ7UTAlQ_dpV7IuhIkZHTBwbl0U_yvBOblSujBI09vJjq0yUL2IGhUByzCt65YzB1jW7R6UWhhKtFu0HQu46FRKpP/s320/Capture.PNG&quot; width=&quot;320&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Modelo de 2 capas&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Los nodos sensores instalados en cada estructura forman un grupo de sensores locales (LSG) con la comunicación requerida no mayor de 100 pies. A los datos locales y el procesador de comunicaciones (LDCP) instalados en cada soporte se utilizan para agregar la información de los sensores locales LSG. Su radio puede lograr una gama más amplia y viene con un mayor ancho de banda de la comunicación debido a el hecho de que no tiene limitaciones de tamaño y de energía. Por lo demás, se puede cosechar energía de una fuente inductiva colocado cerca del conductor de fase más cercana y también puede venir con una batería más grande. El rango normal esperado para la aplicación varía desde 300 hasta 1500 pies, usando radios más potentes en las estructuras particulares en los que existen tramos más largos.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Los datos del sensor en cada grupo de sensores locales se agregan y se analizan para la verificación de la los datos locales. Los datos de verificación es posible gracias a la relación inherente entre las variables detectadas. Los sensores y sus correspondientes datos locales y procesadores de comunicaciones formarán la capa 1 de la red sensora.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
La interacción entre los datos locales sobre cada soporte es la base para la capa 2 de la red sensora y forma las comunicaciones entre el apoyo y la colaboración de capa (ISCC). Esta capa se encarga de todo el procesamiento de mensajes y de transmisión requerido para la entrega de la información sobre el estado mecánico de la subestación.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El funcionamiento propuesto es el siguiente, un procesador de la subestación local (LSP) en un extremo de la línea de transmisión ordena el inicio de un barrido de los datos recogidos, interroga a los primeros datos y procesadores locales. La cabecera de control de mensaje contendrá los parámetros que indican si el barrido se corresponde con el modo de funcionamiento parcial o total, por lo tanto, instruyendo a los datos y procesadores locales, incluyendo qué tipo de tratamiento a aplicar a su contenido y sus propios datos de los sensores locales. La direccionalidad se logra mediante la inclusión de la dirección de remitente y receptor en la cabecera del mensaje. De esta manera, cuando una subestación inicia un barrido, se coloca un valor cero en la dirección de nodo emisor y 1 como el nodo receptor. Esto le dará instrucciones para procesar el mensaje y transmitirlo a los siguientes datps y procesadores locales. Este proceso continuará hasta que el barrido alcanza la subestacón local en el otro extremo de la línea. Entonces, esta subestación dará lugar a una recolección de datos en la dirección opuesta mediante la colocación de su dirección (&lt;i&gt;n+1&lt;/i&gt;) como el nodo emisor y &lt;i&gt;n&lt;/i&gt; como el nodo receptor.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El cuerpo del mensaje contiene un vector de valores de datos y las direcciones asociadas de los nodos sensores de la que esos valores vienen.&lt;br /&gt;
&lt;br /&gt;
La falta de detección de cualquier procesador de comunicaciones y datos locales (LDCP) se proporciona por medio de la implementación de una función de tiempo de espera en el anterior. Por lo tanto, cuando no hay ninguna confirmación de recepción desde el siguiente LDCP, es marcado como un enlace roto y el barrido invierte la dirección, transmitiendo la información de fallo a la ruta de la subestación local de inicio. Esto podría conducir a nuevos análisis para establecer si hubo un evento mecánico o simplemente un fracaso del LDCP.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Herramienta propuesta para la red sensora&lt;/h3&gt;
&lt;h4&gt;
Modos de fallo del sistema mecánico/eléctrico&lt;/h4&gt;
La severidad de la condición mecánica de una línea de transmisión se puede establecer mediante la comparación de los valores de las variables contra los diferentes límites definidos por el diseño de la línea de transmisión. Una clasificación para el estado mecánico es la siguiente:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Normal (N): No hay indicios de variables que son fuera de los límites normales de operación. Las tensiones están dentro de los parámetros de diseño y equilibradas en los soportes de suspensión. Las vibraciones son mínimas, y las estructuras están en la posición vertical.&lt;/li&gt;
&lt;li&gt;Sospechosa (S): Algunas de las variables están fuera del rango normal. Acumulación de hielo, fuertes vientos o la carga térmica máxima pueden ser eventos asociados a esta condición. No puede haber vibración medible y los inclinómetros detectan ángulos de inclinación pequeños.&lt;/li&gt;
&lt;li&gt;Inminente (I): Diversas variables están fuera de los límites de detección de los problemas mecánicos, pero no hay ninguna indicación clara de una falla mecánica. Se detectan niveles altos de vibración y ángulos de inclinación de la estructura son sensiblemente diferente de la vertical.&lt;/li&gt;
&lt;li&gt;Fallo (F): Los fallos mecánicos pueden ser detectados por red sensora de diferentes maneras, por la excursión fuera de los límites de algunas variables, por valores cercanos a cero en los demás, o por la ausencia total de señal de los sensores. Los sensores de tensión indican un conductor roto mediante la detección de valores anormalmente altos o bajos. Estructuras colapsadas serían detectados por los ángulos de inclinación cerca de la horizontal.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Para cada uno de los diferentes modos de falla, diferentes acciones necesitan ser tomadas en el sistema de energía con el fin de evitar la cascada eventos que podrían llevar a un colapso del sistema eléctrico interconectado. Para probar la viabilidad del uso de la red sensora, el autor y su equipo se centraron en la gestión de la sobrecarga de la transmisión impulsada por la clasificación de fallo. Es decir, si una línea que produce una sobrecarga en otra línea de transmisión, la clasificación de fallos proporciona dos maneras de manejar el evento. Para un fallo temporal, las medidas recomendadas deben esperar y tratar de volver a cerrar la línea de falla pocos minutos debido a la naturaleza puramente eléctrica de la culpa, sino para una falla permanente, se recomienda comenzar con el bloqueo más allá de reenganche y el inicio inmediato del proceso de recuperación que puede incluir reprogramación de la generación y/o la desconexión de carga.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Para la determinación de la combinación de aumento y disminución de inyección de nergía que más contribuyen a los cambios de flujo de línea de transmisión, es necesario identificar primero el nodo con el valor máximo de generación de desplazamiento vectorial resultante (GSDF) en el vector original como GSDF.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNBLjw7iSA7ki3-5iix7hxNjap7EwDRJPHd0UWuSFtZf1NTFPamsNWJMEczsUfvCVVDBwBconc1CwwgwX54fHjBDWoau3deRILBBcIXmbwoBAFPg_sBt2p6v2_FM0vGJwjSEkVdC9LgpOk/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNBLjw7iSA7ki3-5iix7hxNjap7EwDRJPHd0UWuSFtZf1NTFPamsNWJMEczsUfvCVVDBwBconc1CwwgwX54fHjBDWoau3deRILBBcIXmbwoBAFPg_sBt2p6v2_FM0vGJwjSEkVdC9LgpOk/s1600/Capture.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Entonces, la GSDF de cada nodo referenciado al pivote se obtiene con:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT335dBrsago4b-lrUI9s1CB9jeZ1qeJIp9XckA0DM6Shq2DsZyEDKYIOV9BvAqKcUU6AV0cSYa0vU9-YW_q7F5trJmJV9Lu45e_gyk5r_WMV0S4D7MObj8C-MZQG7Ee3s5vDt1PPuSCeE/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT335dBrsago4b-lrUI9s1CB9jeZ1qeJIp9XckA0DM6Shq2DsZyEDKYIOV9BvAqKcUU6AV0cSYa0vU9-YW_q7F5trJmJV9Lu45e_gyk5r_WMV0S4D7MObj8C-MZQG7Ee3s5vDt1PPuSCeE/s1600/Capture.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Una vez identificados los nodos para reprogramar la generación, la distribución de generación para cada dirección del cambio (hacia arriba o hacia abajo) que proporcione el alivio rápido de sobrecarga en la línea de transmisión puede ser establecida por:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeJYgHrAeb3gI8trQdoJSFVPOdNhPm0VWAPwClyEbsCBjvVy6RL1Y_7p2nGdRxIY6Z2YW0OXUrh5P4uyXF4BDW-jJqo54zBmEmu2zWpfE-z82MIAEvl96_76LanYaVoYwL8PT-0bYJQQ0J/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeJYgHrAeb3gI8trQdoJSFVPOdNhPm0VWAPwClyEbsCBjvVy6RL1Y_7p2nGdRxIY6Z2YW0OXUrh5P4uyXF4BDW-jJqo54zBmEmu2zWpfE-z82MIAEvl96_76LanYaVoYwL8PT-0bYJQQ0J/s1600/Capture.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
donde:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20\Delta%20P_{i}^{up-down}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white \Delta P_{i}^{up-down}&quot; title=&quot;\bg_white \Delta P_{i}^{up-down}&quot; /&gt;&lt;/a&gt;=&amp;nbsp;cambio generacional necesario en la unidad.&lt;br /&gt;
&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20Ramp_{i}^{up-down}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white Ramp_{i}^{up-down}&quot; title=&quot;\bg_white Ramp_{i}^{up-down}&quot; /&gt;&lt;/a&gt;=tasa de generación de unidad de cambio.&lt;br /&gt;
&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20a_{lj}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white a_{lj}&quot; title=&quot;\bg_white a_{lj}&quot; /&gt;&lt;/a&gt;&amp;nbsp;= valor GSDF de la unidad de referencia a la línea.&lt;br /&gt;
&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20\Delta%20f_{l}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white \Delta f_{l}&quot; title=&quot;\bg_white \Delta f_{l}&quot; /&gt;&lt;/a&gt;= sobrecarga en la línea&lt;br /&gt;
&lt;br /&gt;
Simulación&lt;br /&gt;
En las siguientes gráficas se muestra la evolución de un sistema sin una red sensora después de la interrupción de la línea de transmisión y la consiguiente sobrecarga. Se puede observar que durante el tiempo pasado para volver a cerrar la línea, un corte de luz adicional se produce una condición de sobrecarga, el sistema experimenta una caída de tensión.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4DxTFzB951gCCF-mv8AlcbMlvn47lZ8Uqed2bCpaEcPihxni4Xidm8BT1ucZCtUqA-qZSNXlAiHAJKezq0AH_Tkv4s0zVxRNREeiGhMf4VGJm8-trEBMweMO-XBfs7crh7SxRpcb1pycn/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4DxTFzB951gCCF-mv8AlcbMlvn47lZ8Uqed2bCpaEcPihxni4Xidm8BT1ucZCtUqA-qZSNXlAiHAJKezq0AH_Tkv4s0zVxRNREeiGhMf4VGJm8-trEBMweMO-XBfs7crh7SxRpcb1pycn/s200/Capture.PNG&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhavN8v-n1KJkn1dmv9QvRC9vcFWxnczPEkJ2o5FcTw4aTZ5kNqve9-ZcRg1cly6TsMwltYzWPGzZ9Brj4-wUp7zhnDM2KMiVLYLc1U_Bp1iJU_Ojbj-JLXNq0whwkIPoObmFbHMRldPi3R/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhavN8v-n1KJkn1dmv9QvRC9vcFWxnczPEkJ2o5FcTw4aTZ5kNqve9-ZcRg1cly6TsMwltYzWPGzZ9Brj4-wUp7zhnDM2KMiVLYLc1U_Bp1iJU_Ojbj-JLXNq0whwkIPoObmFbHMRldPi3R/s200/Capture.PNG&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div&gt;
Cuando está &amp;nbsp;la presencia de una red sensora para supervisar la línea de transmisiñon, un modo de fallo inminente simulada activará el sistema para recomendar acciones de transferencia entre las generaciones antes de la interrupción real de la línea controlada.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Con la reducción del flujo de la línea como resultado de las medidas recomendadas por el sistema, la línea de transmisión alcanzará 100% de carga (700 MW).&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_DBW8OHv3hn3e7zu5L4HoMegxdUQ8g4jNVusWgCd-I7qBLvOnvbfWtt9NxU6HYfTijzcWQiqruE7abB5yERrtq16GsQTQQBRQRKofDWmt7GN4fk459xK7iQR-sLaNZ6G7vSj1-LNKKfMK/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;130&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_DBW8OHv3hn3e7zu5L4HoMegxdUQ8g4jNVusWgCd-I7qBLvOnvbfWtt9NxU6HYfTijzcWQiqruE7abB5yERrtq16GsQTQQBRQRKofDWmt7GN4fk459xK7iQR-sLaNZ6G7vSj1-LNKKfMK/s200/Capture.PNG&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3X0eGFV09Jyu1MYizDI6-Y0BRAm8Vc67PGWPbXlpFx9T1dcyfhGr1adgTTUpSgW1TTsWW77XMgzk6y_5gRW26V22YhsIVnmsT1sDdww6t04kcx_XyKB4PV4roS-OwH51qn87XC-8JkUS8/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3X0eGFV09Jyu1MYizDI6-Y0BRAm8Vc67PGWPbXlpFx9T1dcyfhGr1adgTTUpSgW1TTsWW77XMgzk6y_5gRW26V22YhsIVnmsT1sDdww6t04kcx_XyKB4PV4roS-OwH51qn87XC-8JkUS8/s200/Capture.PNG&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;h3&gt;
Conlusiones&lt;/h3&gt;
Este documento propone un nuevo enfoque para el uso de la tecnología inalámbrica de sensores para evaluar la salud mecánica de las líneas de transmisión. Esto ofrece un entorno de monitorización completo para una línea de transmisión.&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El estudio realizado y los resultados de la simulación muestran que el utilizar una red sensora puede ayudar a los operadores tomar decisiones rápidas y adecuadas basadas en los modos de fallos mecánicos detectados por la red.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
En general el utilizar una red sensora puede ayudar de gran manera a tomar decisiones analizando posibles fallos en el sistema gracias a los sensores o algún punto que muestre cierta inestabilidad o datos fuera de rango y de esta manera evitar grandes problemas tratando desde un principio con problemas pequeños. Este tipo de redes ayuda en gran manera a los operadores ya que gracias a los datos arrojados por la red pueden tomar decisiones y saber en qué punto está fallando la red y no sólo actuar sin saber qué es lo que falla o dónde falla.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
Fuentes&lt;/h3&gt;
Ramón Alberto León Candela. Application of Sensor Network for Secure Electric Energy Infrastructure. Abril de 2007.&amp;nbsp;&lt;a href=&quot;http://www1.xm.com.co/Artculos%20y%20Reconocimientos/04141131%20Sensor%20Networks.pdf&quot;&gt;http://www1.xm.com.co/Artculos%20y%20Reconocimientos/04141131%20Sensor%20Networks.pdf&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/4443101220696306312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/05/aplicacion-redes-sensoras.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/4443101220696306312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/4443101220696306312'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/05/aplicacion-redes-sensoras.html' title='Aplicación Redes Sensoras.'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir6EZ4d31oC2kBREBtJaQIKFWOBpkdSQR0n2ZnZrlozCavKLdy8BHI03WFeHkqq3qAueCCkoPGdbBvz8B9qTqxfTuDzUGyBHzkyN5br4D__6vfKHcB_LC9ie96tnEzJbVo7nGvFgMtYfuH/s72-c/Capture.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-4373682138236474280</id><published>2013-05-23T07:13:00.002-07:00</published><updated>2013-05-23T08:00:31.413-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Visión Computacional"/><title type='text'>Proyecto Final.</title><content type='html'>&lt;h3&gt;
Reconocimiento de caracteres&lt;/h3&gt;
Link al proyecto en github: &lt;a href=&quot;https://github.com/JonathanAlvarado/proyecto_Vision&quot;&gt;Link&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Presentación.&lt;/h3&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen=&quot;true&quot; frameborder=&quot;0&quot; height=&quot;389&quot; mozallowfullscreen=&quot;true&quot; src=&quot;https://docs.google.com/presentation/d/19wvjjedCiKh4infZkYuIAMS1O-uGF8g_wCvpzN4-R3Y/embed?start=false&amp;amp;loop=false&amp;amp;delayms=3000&quot; webkitallowfullscreen=&quot;true&quot; width=&quot;480&quot;&gt;&lt;/iframe&gt;

&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;
Reporte&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;h3&gt;
Propósito&lt;/h3&gt;
&lt;/li&gt;
&lt;/ul&gt;
El propósito del proyecto es el reconocimiento de caracteres en imágenes en base a técnicas de visión computacional. Los caracteres o texto son grabados por una cámara o cargados desde una carpeta si es que ya han sido previamente escaneados.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;h3&gt;
Justificación&lt;/h3&gt;
&lt;/li&gt;
&lt;/ul&gt;
La justificación del proyecto son las aplicaciones que tiene, una de ellas la digitalización de documentos.&lt;br /&gt;
&lt;br /&gt;
La digitalización documentos ayuda a preservar documentos importantes (libros, revistas, notas), ahorra el tiempo de tener que transcribir el documento entero.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr7CKwqDayhwublqMu3STDAssg6i6McfIajySV33eA8DJHMR75zExNFzyIgX1VoA50rtA4WPRkBA4DPlwZWNV1kSF0yq_JPcxzEHKArPPdB4eSHtOVVpG-m_iSFtYufHuIkNYZMFUU0NvK/s1600/im.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr7CKwqDayhwublqMu3STDAssg6i6McfIajySV33eA8DJHMR75zExNFzyIgX1VoA50rtA4WPRkBA4DPlwZWNV1kSF0yq_JPcxzEHKArPPdB4eSHtOVVpG-m_iSFtYufHuIkNYZMFUU0NvK/s1600/im.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Esta idea de proyecto la tuve en base al proyecto Gutenberg (&lt;a href=&quot;http://www.gutenberg.org/&quot;&gt;Project Gutenberg&lt;/a&gt;) el cual digitaliza libros, en su mayoría clásicos, en distintos formatos (txt, html, epub, pdf, etc) y los distribuye de forma gratuita.&lt;br /&gt;
&lt;br /&gt;
Google también tiene en Google books un proyecto de digitalización de libros, solo que aquí si cobran por las descargas.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;h3&gt;
Descripción textual&lt;/h3&gt;
&lt;/li&gt;
&lt;/ul&gt;
Básicamente lo que el programa hace es:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Obtener los datos de entrada.&lt;/li&gt;
&lt;li&gt;Un pequeño preprocesamiento.&lt;/li&gt;
&lt;li&gt;Reconocimiento de caracteres con ayuda de Tesseract.&lt;/li&gt;
&lt;li&gt;Obtener la salida en forma de un archivo de extensión txt.&lt;/li&gt;
&lt;li&gt;Convertir ese archivo .txt en un archivo epub.&lt;/li&gt;
&lt;/ul&gt;
A continuación 
se presenta un diagrama para explicar de forma más sencilla el 
funcionamiento del programa: &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9T0LDJjPHMCgSquJ2oOgj9Ont6ixxbYOUpvqOmyN4SzRGk6Ln2jJ_Or0EFbCenQfj2rScavgWoQIkrdLqRKER_wjMIlpX-0GhpLsVDQ3kxkfteyA99lqN3sI3dzme2oBOFz2cJVL79MaO/s1600/Dibujo+sin+t%C3%ADtulo.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;155&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9T0LDJjPHMCgSquJ2oOgj9Ont6ixxbYOUpvqOmyN4SzRGk6Ln2jJ_Or0EFbCenQfj2rScavgWoQIkrdLqRKER_wjMIlpX-0GhpLsVDQ3kxkfteyA99lqN3sI3dzme2oBOFz2cJVL79MaO/s400/Dibujo+sin+t%C3%ADtulo.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
ó&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNC16XEH_WA82-QJFLs7gnu8-22O7Yvil3pcBWB-FiLTfUA-I2Jdx_zbRCA0dxF7tQmZ2UR13s6qKUUxnaiodNKwtePGtQwcUWSdn_cAP2cYEaORYUZE4-Rtpkr3oASwLLlizh_YpTOTOw/s1600/Dibujo+sin+t%C3%ADtulo.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;156&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNC16XEH_WA82-QJFLs7gnu8-22O7Yvil3pcBWB-FiLTfUA-I2Jdx_zbRCA0dxF7tQmZ2UR13s6qKUUxnaiodNKwtePGtQwcUWSdn_cAP2cYEaORYUZE4-Rtpkr3oASwLLlizh_YpTOTOw/s400/Dibujo+sin+t%C3%ADtulo.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
La entrada del sistema se puede hacer de dos formas distintas: mediante la cámara web ó cargando imágenes escaneadas previamente desde la carpeta &quot;imagenes&quot; que se encuentra en la misma carpeta que el script. Si se utiliza la opción de la cámara, se abre una ventana que muestra la toma hecha por la cámara web; donde el usuario debe poner a la vista de la cámara el documento que se va a digitalizar, una vez puesto el documento frente a la cámara se debe presionar la tecla &quot;enter&quot; para tomar captura a la imagen, cuando se tengan tomas de las imágenes necesarias se presiona la tecla &quot;esc&quot; para continuar con el proceso.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8w0zfSFK8vrLFh7NtHHzUGmGcpHvjmbmxEiWdhfqW2VAg1hpP7_yMxfnZu6bsgZyZqdBt5Zow-Ocykmv0weMMs9MT9KYH0yb_DcBwt2KKi7gNgRxk4BqwlY48Ic_GTcZHaANU7dfNDIwt/s1600/out0.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8w0zfSFK8vrLFh7NtHHzUGmGcpHvjmbmxEiWdhfqW2VAg1hpP7_yMxfnZu6bsgZyZqdBt5Zow-Ocykmv0weMMs9MT9KYH0yb_DcBwt2KKi7gNgRxk4BqwlY48Ic_GTcZHaANU7dfNDIwt/s320/out0.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Captura desde cámara web&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
En el caso de la cámara web todos los frames o imágenes tomadas se cargan y se recortan de manera de que solamente quede la región de interés, que en este caso es el texto.&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFegetVveX5_ElBCJ8CbK5_G37LNQsOxojo_NNCDnYsgbHUL7TDauyOgktmCkXuX2KD-gMXX28a5AYYDuypf2Pmqj0v8yojlzcOSekoHOYTUNW_Jb9gv7husVG6tWKdKfSbajYJ38toxiO/s1600/crop0.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFegetVveX5_ElBCJ8CbK5_G37LNQsOxojo_NNCDnYsgbHUL7TDauyOgktmCkXuX2KD-gMXX28a5AYYDuypf2Pmqj0v8yojlzcOSekoHOYTUNW_Jb9gv7husVG6tWKdKfSbajYJ38toxiO/s1600/crop0.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Región de interés&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Después a las imágenes recortadas o escaneadas se les aplican unos filtros (escala de grises y binarización) esto con el fin de que el motor de reconocimiento tenga imágenes más sencillas de reconocer. Cabe aclarar que obtuve mejores resultados cuando solamente cambiaba a escala de grises que cuando aplicaba ambos filtros.&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh38eFXGA-3zj2pS08hUPwI-NJ4WS9__g0jENhr2ZI2O9PqklD49ODvzz7bheqGj4M_JjjI1ByQgH3U4vjhqMYkXre9wBNQBU7sZnb62SL2VJ_CsSbZc8VxMGxnJ4bkTWbWxRNf7tx39srd/s1600/tmp0.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh38eFXGA-3zj2pS08hUPwI-NJ4WS9__g0jENhr2ZI2O9PqklD49ODvzz7bheqGj4M_JjjI1ByQgH3U4vjhqMYkXre9wBNQBU7sZnb62SL2VJ_CsSbZc8VxMGxnJ4bkTWbWxRNf7tx39srd/s1600/tmp0.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Imagen procesada&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Una vez procesada la imagen actual se llama a Tessaract OCR para que realice el reconocimiento de caracteres con la función &lt;b&gt;&lt;i&gt;image_to_string&lt;/i&gt;&lt;/b&gt;. Al final el texto que se alcanzó a reconocer (cabe aclarar que un motor de reconocimiento de caracteres no es perfecto) se guarda en un archivo .txt y por último se llama a un módulo que cree, el cual utiliza el módulo &lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;&lt;i&gt;&lt;b&gt;ez_epub y epub&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, los cuales al recibir un archivo de texto lo convierten en un archivo .epub que se puede visualizar desde un dispositivo móvil.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjaB3_I668S8sRh4wwmpdl7bs2GVKecBzZgGQpu-W5H7mD8JnOKgkYqMK8zKGbzify8R_IWEQR9Xd_o3_lQcB-oKcaByvzUu9qeNCDXNQRe3M9Pnx9NkXdbePKxDyUC24fz2486epR30cK/s1600/Screenshot_2013-05-23-05-02-38.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicQSziOHkPowSyzkSbFzY-ncCcdDXOQ8Vyak4W2OF2NPFxWd0rXbHcoc3Pptj9TwiJ0VUN9XKXbNaKXiZwlPkC7IKnt-OzZnlf4i1x1SV2flR3TtRi1_iakAdwbbsW62gix1q-NjATeHok/s1600/Screenshot_2013-05-23-05-02-58.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicQSziOHkPowSyzkSbFzY-ncCcdDXOQ8Vyak4W2OF2NPFxWd0rXbHcoc3Pptj9TwiJ0VUN9XKXbNaKXiZwlPkC7IKnt-OzZnlf4i1x1SV2flR3TtRi1_iakAdwbbsW62gix1q-NjATeHok/s200/Screenshot_2013-05-23-05-02-58.png&quot; width=&quot;120&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjaB3_I668S8sRh4wwmpdl7bs2GVKecBzZgGQpu-W5H7mD8JnOKgkYqMK8zKGbzify8R_IWEQR9Xd_o3_lQcB-oKcaByvzUu9qeNCDXNQRe3M9Pnx9NkXdbePKxDyUC24fz2486epR30cK/s200/Screenshot_2013-05-23-05-02-38.png&quot; width=&quot;120&quot; /&gt; &amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFxBEWGhQUDBVmLkURgULbqBnei7zZ31SLHbIxYJsOwWpl-svWcUnzcBItTCEXqtK2wj6i3Lh4qdgjl6TWx9xAdgjjikfjCN1c2nnFlk5IEOWfZH0ZnKN1pIzr9PnmIA08JfEXtek0atEP/s1600/Screenshot_2013-05-23-05-02-46.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFxBEWGhQUDBVmLkURgULbqBnei7zZ31SLHbIxYJsOwWpl-svWcUnzcBItTCEXqtK2wj6i3Lh4qdgjl6TWx9xAdgjjikfjCN1c2nnFlk5IEOWfZH0ZnKN1pIzr9PnmIA08JfEXtek0atEP/s200/Screenshot_2013-05-23-05-02-46.png&quot; width=&quot;120&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Hice distintas pruebas y como es ovbio cuando se capturan imágenes de la cámara entre más grande este la letra se realiza una mejor detección lo cual no es bueno si se considera que los libros tienen un tamaño de letra de 10 o 12.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;h3&gt;
Librerías utilizadas&lt;/h3&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;u&gt;&lt;b&gt;&lt;i&gt;OpenCV&lt;/i&gt;:&lt;/b&gt;&lt;/u&gt; El módulo de OpenCV para python lo utilicé para usar cámara web, cargar imágenes y para aplicar los filtros de escala de grises y binarización a las imágenes.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;os&lt;/b&gt;&lt;/u&gt;: proporciona una manera de emplear funciones del sistema 
operativo. Este módulo lo utilicé para crear y remover carpetas y el archivo .txt.&lt;br /&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;glob&lt;/b&gt;&lt;/u&gt;: este &lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;módulo&lt;/span&gt; permite &lt;span class=&quot;hps&quot;&gt;buscar todos&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;los&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;nombres de las rutas&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;que coincidan con un&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;patrón especificado&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;de acuerdo con las&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;reglas utilizadas&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;por el&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;shell de Unix&lt;/span&gt;. Lo utilicé para cargar todas las imágenes que se almacenaban en las distintas carpetas.&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;a href=&quot;http://code.google.com/p/pytesser/&quot;&gt;&lt;u&gt;&lt;b&gt;Pytesser&lt;/b&gt;&lt;/u&gt;:&lt;/a&gt; &lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;PyTesser&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;es un módulo de&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;reconocimiento óptico de caracteres&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;de&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;Python.&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;Toma como entrada&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;un archivo de imagen&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;o la imagen&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;y da salida a&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;una cadena&lt;/span&gt;. De este módulo utilicé la función image_to_string a la cual se le proporciona una imagen y retorna la cadena de texto que pudo reconocer.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;u&gt;&lt;b&gt;Image&lt;/b&gt;&lt;/u&gt;: es un módulo para &lt;/span&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;procesamiento de imágenes&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;para el intérprete de&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;Python. Este módulo lo utilicé solamente para cargar las imágenes que se pasan al motor Tesseract.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;&lt;a href=&quot;https://code.google.com/p/python-epub-builder/&quot;&gt;&lt;u&gt;&lt;b&gt;&lt;i&gt;ez_epub y epub&lt;/i&gt;:&lt;/b&gt;&lt;/u&gt;&lt;/a&gt; son una pequeña biblioteca&lt;/span&gt; de &lt;span class=&quot;hps&quot;&gt;python&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;para&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;generar&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;libros&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;en formato EPUB&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
Llegué a utilizar el motor Tesseract debido a que mis primeras aproximaciones fueron detectando caracter por caracter en una imagen. En un entrenamiento se detectaban todos los caracteres:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghE97Q-WK_4_ecrdhnzgIoK6oWzCRQrEdboJupDENmW8ACX6bLUr8jrbjmjPwp2B1LJQre7ShrWTse1ZpqOO9yybqkSKQW2qnhcGZ242vmX9ACWvpa8aEtV9SA65byWAgdITUzLfyRtWGu/s1600/detect.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghE97Q-WK_4_ecrdhnzgIoK6oWzCRQrEdboJupDENmW8ACX6bLUr8jrbjmjPwp2B1LJQre7ShrWTse1ZpqOO9yybqkSKQW2qnhcGZ242vmX9ACWvpa8aEtV9SA65byWAgdITUzLfyRtWGu/s320/detect.jpg&quot; width=&quot;235&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Detección caracter por caracter&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Al momento de detectar cada caracter aumentaba su tamaño, se detectaban los contornos de cada detección (fuese una sola letra o más) y tanto las coordenadas de los contornos como la letra a la que pertenecen los contornos se se almacenaban en dos archivos de texto distintos pero en orden de manera que coincidieran. Después utilizando el algoritmo K-nearest neighbors implementado en OpenCv se le proporcionaba los contornos y las letras y se guardaba un modelo. Pero esta implementación no daba como resultado ni un 10% del texto debido a que en muchas ocasiones no se detectaban letras solas sino en un conjunto y además cuando se pasaba a obtener el texto el algoritmo K-nearest obtiene el más parecido a los contornos que se le pasen como parámetro por lo que no es muy preciso sino se ha entrenado bien el modelo.&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB0JvMadmHL5D4PDpPmR7AupSIGL4IkVpU825pSicT_tp_oZgWg5aXba5scUYyjgeAQ9x3Go1EM5jH46MBUjs08k6qmGcy4YMikM17CFpG-c019HUfj_KItdHw8Nc7z11LBVpevVcmrQHA/s1600/roi.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;140&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB0JvMadmHL5D4PDpPmR7AupSIGL4IkVpU825pSicT_tp_oZgWg5aXba5scUYyjgeAQ9x3Go1EM5jH46MBUjs08k6qmGcy4YMikM17CFpG-c019HUfj_KItdHw8Nc7z11LBVpevVcmrQHA/s200/roi.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Imagen de entrenamiento&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
También hice una implementación utilizando un método de correlación pero de igual manera no obtuve resultados satisfactorios. &lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGhtjnJ9ZV7MGK2YD6u_cN42DfMsKXn20j6PH-oJxPOd2Z-2L9ApkLAg9GatBdJlt7GY9WlgFj1-084Sgw2raA8vXm40T8ksLbsGlTEcMg3wbZ87mBPmUpSpjo3aXutIJCHiECSqcWXjge/s1600/detect.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;136&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGhtjnJ9ZV7MGK2YD6u_cN42DfMsKXn20j6PH-oJxPOd2Z-2L9ApkLAg9GatBdJlt7GY9WlgFj1-084Sgw2raA8vXm40T8ksLbsGlTEcMg3wbZ87mBPmUpSpjo3aXutIJCHiECSqcWXjge/s320/detect.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Entrada: SERIF, salida obtenida:flflo&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Después de esto también noté que influye mucho el tipo de letra, el espaciado y el tamaño de letra por lo que crear un motor propio iba a requerir mucho tiempo de entrenamiento.&lt;br /&gt;
&lt;br /&gt;
Una implementación extra que intenté realizar fue corregir el ángulo de las imágenes cuándo éstas estuvieran inclinadas pero no pude realizarlo correctamente, el script que realicé se encuentra también en el git del proyecto con el nombre de &quot;ocrprep&quot;. Estas son algunas de las pruebas:&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii-7mPVlgD6Md3kWtHulzziuJY4iXF9BYePsGsMy1dT0kltVi8Qg1huObdIPzqKxCoDLeltl59S4cDCECdIcM3mGFjmsjjN16Y3wq1uGTfKQ5cYPKJDNBrd3NG5VhgNl4-UPQntR-uEpW-/s1600/movida2.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;197&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii-7mPVlgD6Md3kWtHulzziuJY4iXF9BYePsGsMy1dT0kltVi8Qg1huObdIPzqKxCoDLeltl59S4cDCECdIcM3mGFjmsjjN16Y3wq1uGTfKQ5cYPKJDNBrd3NG5VhgNl4-UPQntR-uEpW-/s200/movida2.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Imagen original&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqVrDErbWlJBCAtLXpu67BSNNUs9aBgKtWau2407vkAz3Cpdn8g74O7otWFf0jpwxmuBX7OecDX75wGamZfjojDuc9locg07ILQD7vGQmhpRKYXMYrB1IA7W3CKAFQYZtC59r8SN7Kxhew/s1600/skew_fix.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;197&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqVrDErbWlJBCAtLXpu67BSNNUs9aBgKtWau2407vkAz3Cpdn8g74O7otWFf0jpwxmuBX7OecDX75wGamZfjojDuc9locg07ILQD7vGQmhpRKYXMYrB1IA7W3CKAFQYZtC59r8SN7Kxhew/s200/skew_fix.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Imagen procesada&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;Prueba utilizando cámara:&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dyDTqLeo62gsAGZ_QnVy4HCmsUDWQw6-oZG7frz_RFVlAOzSwdhmjX8OGiAavNwQ0VgTce6d8G-Xh0W3ZYT5A&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Prueba utilizando imágenes escaneadas&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_B0mAinHcntidmoQfmHGeMZO8ASbJSPUJFBQ75huQ-fILgkHLIZ6fg5db32W-3ngnBORdDY2uBtu7KsPNyuGUwvzUFi7NsAY3qlvJIm6It_vghBR6iCbd0-jB-EPz0z_2GKOzLzuGnJ4G/s1600/prueba1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_B0mAinHcntidmoQfmHGeMZO8ASbJSPUJFBQ75huQ-fILgkHLIZ6fg5db32W-3ngnBORdDY2uBtu7KsPNyuGUwvzUFi7NsAY3qlvJIm6It_vghBR6iCbd0-jB-EPz0z_2GKOzLzuGnJ4G/s200/prueba1.jpg&quot; width=&quot;126&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Imagen original&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3jVuSgt_epUKqazawR3SWdzTyGWGovguNFNbs6-Xv-X1-x3ThuSFGy90fgHDryvwFA1qZbu1v7UbXHtBtwfX2cm2A0l4ebYMwwvGkBtveHdEeiMb7M4AHdkwoEji1PAVejWGn45BnE4ee/s1600/tmp0.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3jVuSgt_epUKqazawR3SWdzTyGWGovguNFNbs6-Xv-X1-x3ThuSFGy90fgHDryvwFA1qZbu1v7UbXHtBtwfX2cm2A0l4ebYMwwvGkBtveHdEeiMb7M4AHdkwoEji1PAVejWGn45BnE4ee/s200/tmp0.png&quot; width=&quot;126&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Imagen procesada &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dwdOfNj27-fSkfOeXIutXQ5W8qcggkXfIBJ_EGDYaedDS3WgqxH6c19-u2ysRPdGRwebog5NJQPyx0K8RwM9Q&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Archivo .epub:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjaB3_I668S8sRh4wwmpdl7bs2GVKecBzZgGQpu-W5H7mD8JnOKgkYqMK8zKGbzify8R_IWEQR9Xd_o3_lQcB-oKcaByvzUu9qeNCDXNQRe3M9Pnx9NkXdbePKxDyUC24fz2486epR30cK/s1600/Screenshot_2013-05-23-05-02-38.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjaB3_I668S8sRh4wwmpdl7bs2GVKecBzZgGQpu-W5H7mD8JnOKgkYqMK8zKGbzify8R_IWEQR9Xd_o3_lQcB-oKcaByvzUu9qeNCDXNQRe3M9Pnx9NkXdbePKxDyUC24fz2486epR30cK/s200/Screenshot_2013-05-23-05-02-38.png&quot; width=&quot;120&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicQSziOHkPowSyzkSbFzY-ncCcdDXOQ8Vyak4W2OF2NPFxWd0rXbHcoc3Pptj9TwiJ0VUN9XKXbNaKXiZwlPkC7IKnt-OzZnlf4i1x1SV2flR3TtRi1_iakAdwbbsW62gix1q-NjATeHok/s1600/Screenshot_2013-05-23-05-02-58.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicQSziOHkPowSyzkSbFzY-ncCcdDXOQ8Vyak4W2OF2NPFxWd0rXbHcoc3Pptj9TwiJ0VUN9XKXbNaKXiZwlPkC7IKnt-OzZnlf4i1x1SV2flR3TtRi1_iakAdwbbsW62gix1q-NjATeHok/s200/Screenshot_2013-05-23-05-02-58.png&quot; width=&quot;120&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFxBEWGhQUDBVmLkURgULbqBnei7zZ31SLHbIxYJsOwWpl-svWcUnzcBItTCEXqtK2wj6i3Lh4qdgjl6TWx9xAdgjjikfjCN1c2nnFlk5IEOWfZH0ZnKN1pIzr9PnmIA08JfEXtek0atEP/s1600/Screenshot_2013-05-23-05-02-46.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFxBEWGhQUDBVmLkURgULbqBnei7zZ31SLHbIxYJsOwWpl-svWcUnzcBItTCEXqtK2wj6i3Lh4qdgjl6TWx9xAdgjjikfjCN1c2nnFlk5IEOWfZH0ZnKN1pIzr9PnmIA08JfEXtek0atEP/s200/Screenshot_2013-05-23-05-02-46.png&quot; width=&quot;120&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;
&lt;b&gt;Evaluación de desempeño&lt;/b&gt;&lt;/h3&gt;
Como mencione anteriormente al utilizar el reconocimiento con la cámara entre más pequeña la letra el reconocimiento era peor, por lo que mi evaluación de desempeño se basó en eso.&lt;br /&gt;
&lt;br /&gt;
Realicé una gráfica que compara los errores y aciertos durante la detección de caracteres. Utilicé 6 pruebas con el mismo tipo de letra (&quot;Arial&quot;) pero distinto tamaño (10, 12, 14, 18, 24, 30).&lt;br /&gt;
&lt;br /&gt;
Estos fueron los resultados:&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;5&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: left;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;Tamaño de letra&lt;/b&gt;&lt;/td&gt;
     &lt;td&gt;&lt;b&gt;Aciertos&lt;/b&gt;&lt;/td&gt;
     &lt;td&gt;&lt;b&gt;Errores&lt;/b&gt;&lt;/td&gt;
     &lt;td&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;10&lt;/td&gt;
     &lt;td&gt;5&lt;/td&gt;
     &lt;td&gt;15&lt;/td&gt;
     &lt;td&gt;20&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;12&lt;/td&gt;
     &lt;td&gt;7&lt;/td&gt;
     &lt;td&gt;13&lt;/td&gt;
     &lt;td&gt;20&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;14&lt;/td&gt;
     &lt;td&gt;7&lt;/td&gt;
     &lt;td&gt;8&lt;/td&gt;
     &lt;td&gt;15&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;18&lt;/td&gt;
     &lt;td&gt;7&lt;/td&gt;
     &lt;td&gt;8&lt;/td&gt;
     &lt;td&gt;15&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;24&lt;/td&gt;
     &lt;td&gt;14&lt;/td&gt;
     &lt;td&gt;6&lt;/td&gt;
     &lt;td&gt;20&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;30&lt;/td&gt;
     &lt;td&gt;17&lt;/td&gt;
     &lt;td&gt;3&lt;/td&gt;
     &lt;td&gt;20&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwnUyhQmHiCBOyjYj39cG-_vfL7HrS6SWz-uyrrkv4gmw-ZtUV8PITl9e3YVl54i7hgxx89jOPonOm76kVCWNq-Qv06vbACe91NXUJBmLJKWjCIXECF_nxvX9T4M9TuzT1iWzkwFQHInaj/s1600/Screenshot+from+2013-05-23+09_08_07.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;292&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwnUyhQmHiCBOyjYj39cG-_vfL7HrS6SWz-uyrrkv4gmw-ZtUV8PITl9e3YVl54i7hgxx89jOPonOm76kVCWNq-Qv06vbACe91NXUJBmLJKWjCIXECF_nxvX9T4M9TuzT1iWzkwFQHInaj/s400/Screenshot+from+2013-05-23+09_08_07.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Como se puede apreciar en la gráfica entre más grande es la letra la detección fue mejor, pero esto también depende de que tan bien esté enfocada la cámara y cómo termina procesada la imagen con los filtros.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;h3&gt;
&lt;b&gt;Trabajo a futuro&lt;/b&gt;&amp;nbsp;&lt;/h3&gt;
&lt;/li&gt;
&lt;/ul&gt;
Ahora mismo mi intención solo es mejorar la parte del proyecto que toma las imágenes escaneadas ya que me parece más sencillo y más útil, además el convertir a .epub me sirve mucho para leer en el teléfono móvil. Algunas de las mejoras o ideas que se pueden aplicar a este proyecto es:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Mejorar los filtros para obtener al 100% la detección de caracteres mediante Tesseract OCR.&lt;/li&gt;
&lt;li&gt;Agregar de manera automática los capítulos de cada libro.&lt;/li&gt;
&lt;li&gt;Mejorar el módulo para corregir el ángulo de las imágenes escaneadas.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;h3&gt;
 Fuentes.&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;K.M. Sajjad.&amp;nbsp;Automatic License Plate Recognition system.&amp;nbsp;13 Jul 2010. &lt;a href=&quot;http://sajjad.in/content/alpr_final.pdf&quot;&gt;http://sajjad.in/content/alpr_final.pdf&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Genshi, Python toolkit for generation of output for the web. [Web en línea]. &lt;a href=&quot;http://genshi.edgewall.org/&quot;&gt;http://genshi.edgewall.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Basic OCR in OpenCV. [Web en línea]. http://blog.damiles.com/2008/11/basic-ocr-in-opencv/&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Executing cv::warpPerspective for a fake deskewing on a set of cv::Point. [Web en línea]. &lt;a href=&quot;http://stackoverflow.com/questions/7838487/executing-cvwarpperspective-for-a-fake-deskewing-on-a-set-of-cvpoint&quot;&gt;http://stackoverflow.com/questions/7838487/executing-cvwarpperspective-for-a-fake-deskewing-on-a-set-of-cvpoint&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;OpenCV Documentation. [Web en línea]. &lt;a href=&quot;http://docs.opencv.org/&quot;&gt;http://docs.opencv.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/4373682138236474280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/05/proyecto-final.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/4373682138236474280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/4373682138236474280'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/05/proyecto-final.html' title='Proyecto Final.'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr7CKwqDayhwublqMu3STDAssg6i6McfIajySV33eA8DJHMR75zExNFzyIgX1VoA50rtA4WPRkBA4DPlwZWNV1kSF0yq_JPcxzEHKArPPdB4eSHtOVVpG-m_iSFtYufHuIkNYZMFUU0NvK/s72-c/im.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-7616846488029665395</id><published>2013-05-21T10:31:00.003-07:00</published><updated>2013-05-21T10:51:45.290-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Redes de telecomunicaciones"/><title type='text'>Laboratorio. Aplicación de red Ad-hoc</title><content type='html'>Título: &lt;b&gt;Towards Commercial Mobile Ad Hoc Network Applications: &amp;nbsp;A Radio Dispatch System.&lt;/b&gt;&lt;br /&gt;
Autores:&amp;nbsp;Elgan Huangm, Wenjun Hu, Jon Crowcroft y Ian Wassell.&lt;br /&gt;
&lt;br /&gt;
En los últimos años ha habido un interés creciente en el uso de redes móviles ad hoc (MANET) para fines comerciales. Dentro de la industria automotriz ya hay una serie de esfuerzos dirigidos a la utilización de la tecnología de las comunicaciones para mejorar la seguridad del automóvil, proporcionar a los pasajeros información y entretenimiento, y lograr la fluidez del tráfico en las carreteras. Sin embargo, ha habido poco esfuerzo para vincular los aspectos técnicos y de negocio, junto con el fin de diseñar soluciones que sean técnica y económicamente viables; la mayor parte de la investigación se centra actualmente en determinadas cuestiones técnicas. Los escenarios estándar para MANETs tienden a ser innecesarios o demasiado limitados en su alcance.&lt;br /&gt;
&lt;br /&gt;
En este trabajo, proponemos un escenario de aplicación de carácter innovador en la forma de un sistema de despacho de taxis MANET. Una importante aportación novedosa de este trabajo es que utilizamos el realismo en nuestros modelos en todos los niveles, desde la propagación RF en una ciudad, a través de la movilidad de los nodos, hasta la aplicación y en el caso de negocios para el uso de una MANET en lugar de un sistema regulado y centralizado clásica basada en proveedores.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Escenario: Ciudad de taxis.&lt;/b&gt;&lt;/div&gt;
Uno de los componentes más importantes de las operaciones de una compañía de taxis de la ciudad es su unidad de despacho, que informa a los taxis individuales sobre camionetas de pasajeros, asigna a los pasajeros a los taxis vacíos, y transmite información adicional, como direcciones y noticias sobre el clima o las condiciones del tráfico.Tradicionalmente, las empresas de taxis se han basado en sistemas de despacho basados en radio para estas tareas. Los sistemas de radio tienen problemas de calidad de servicio, hay altos costos asociados con la instalación, funcionamiento y mantenimiento de los mismos, y deben adquirirse licencias de radio.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Sin embargo, la popularización de los teléfonos móviles hoy en día significa que las pequeñas empresas son capaces de entrar en el mercado, apoyándose en las redes públicas de telefonía móvil como a sus sistemas de despacho. Desafortunadamente, este método tiene muchos inconvenientes que incluyen un alto costo por llamada, y la comunicación limitada entre los conductores. Llamadas de teléfono móvil son más difíciles de coordinar y menos eficiente en el tiempo; los despachadores sólo se pueden comunicar con un controlador a la vez y las instrucciones por voz transmitidas también están sujetos a las tasas de error más elevados.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Muchas grandes empresas tienen a su vez actualizar sus propios sistemas para incluir software inteligente con GPS que permite el seguimiento de los taxis y la asignación eficiente de los puestos de trabajo, mejorar la productividad y la utilización de los recursos. Sin embargo, el hardware y el software necesario es costoso y su funcionamiento implica la transferencia de datos inalámbrica a través de redes de telefonía móvil públicas o privadas, que es un costo significativo y recurrente.&lt;br /&gt;
&lt;br /&gt;
En nuestro escenario, un sistema de despacho basado en MANET se utiliza para la comunicación. Cada taxi, está equipado con un dispositivo ad hoc y un servidor central ad hoc se encuentra en la sede de su expedición. Este es un escenario híbrido en el que, aunque el sistema es totalmente una red ad hoc móvil, hay un grado de centralización a la misma, con toda la información disponible procedente de un solo punto, lo que requiere que todos los nodos se conectan a él directamente o indirectamente para recibir trabajos.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Un cliente podría llamar a la sede de expedición de la compañía de taxis. La llamada entonces sería recogido por un gestor de expedición que entraría en los detalles de la oferta en el sistema. Una solicitud automatizada sería enviada a través de la red ad hoc a todos los taxis libres que se encuentren cerca de la vecindad de la solicitud. En el caso de contar con dispositivos especiales habilitados con información sobre la ubicación, el taxi libre más cercano al punto donde se recogerá al cliente se localiza y asigna el trabajo automáticamente, disminuyendo así los tiempos de espera para el cliente y la mejora de las tasas de rotación de la compañía de taxis. El sistema ad hoc se actualiza automáticamente con la información de la condición de camino y los conductores también podrán comunicarse entre sí, potenciando todas las partes interesadas con información valiosa.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Otra implementación de este sistema sería incluso llegar a ser posible que los clientes simplemente puedan pedir un taxi a través de sus propios dispositivos ad hoc donde quiera que estén y la petición se envíaría directamente al taxi más cercano. El taxi iba a la ubicacón del cliente, registra que recogió al cliente y envía la información a través de la red para actualizar otros taxistas y su estado. Con la adición de un punto de acceso en la sede del despacho, los clientes también podrán reservar taxis a través de Internet y la solicitud sería transmitida de inmediato a través de la red ad hoc.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Viabilidad financiera&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Los sistemas ad hoc son más robustos que los sistemas centralizados, y el servicio de red no depende de la actuación de los proveedores de servicios ni están sujetos a la infraestructura dañada. El uso de dispositivos especiales descentralizados también puede cambiar la estructura del mercado por lo que es posible ofrecer soluciones a las compañías de taxis, en lugar de obligarlos a firmar con un proveedor de servicios.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Una vez que los clientes se acostumbren a las alternativas a la reserva por teléfono, la carga de trabajo para los despachadores de taxis se reducirá. Sistemas automatizados fiables mejorará la exactitud y velocidad con la que se toman y se aprueban órdenes.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Los sistemas Ad hoc cuestan casi nada para poner en funcionamiento al igual que el mantenimiento del hardware en sí. Además, los móviles y el servicio Push to Talk son sólo los métodos de comunicación de voz, mientras que un sistema ad hoc se basa en las comunicaciones de datos y también proporcionan información sobre la ubicación. El 95% de las reservas se realizan dentro de un radio de 10 millas, lo que hace que las redes ad hoc factible y potencialmente más escalable de servicios autorizados.&lt;br /&gt;
&lt;br /&gt;
Por naturaleza, la cobertura de un sistema ad hoc depende de un número adecuado y la propagación de los nodos en toda la zona de servicio requerida. La movilidad de los nodos plantea el peligro de las brechas de servicios ocasionales cuando no hay taxis están actuando como relevadores dentro de una cierta área, aumentando las preocupaciones de calidad de servicio impredecible. A través de simulaciones basadas en una movilidad real y modelo de propagación, los autores evaluaron diversas métricas de rendimiento del sistema de despacho de radio para determinar el alcance de estos problemas.&lt;br /&gt;
&lt;br /&gt;
Su modelo consistió en una ciudad como una cuadrícula al estilo de Manhattan, con un tamaño de bloque uniforme a través del área de simulación. Todas las calles fueron de doble sentido, con un carril en cada dirección. Un taxi se caracteriza por una velocidad preferida, una aceleración máxima y desaceleración, una variación de la velocidad asociada con la velocidad preferida en el estado estacionario, y una lista de destinos preferidos, es decir, la paradas de taxis. Los taxis son asignados al azar a una de tres velocidades preferidas. Todos los demás parámetros se fijan para ser el mismo en todos los taxis, ya que son de la misma empresa.&lt;br /&gt;
&lt;br /&gt;
La simulación, modela una MANET basada en el estándar IEEE 802.11b, ya que se entiende bien, fácilmente disponible y adaptable a la aplicación bajo consideración. IEEE 802.11b opera en la banda ISM de 2,4 GHz, y una sensibilidad del receptor típico de -80 dBm y una potencia de transmisión de 100 mW (20 dBm) (el límite legal para esta banda). El sistema funciona con los sistemas eléctricos de los taxis en lugar de ser alimentado por baterías, el consumo de energía no es un gran problema.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
Las antenas omni-direccionales utilizadas se montan encima de los techos de los taxis, a una altura de aproximadamente 1,5 m, la propagación se puede caracterizar con mayor precisión por un modelo de microcélulas. Los mecanismos de propagación dominantes en tal ambiente se deben a interacciones entre la trayectoria directa y reflejada caminos de los edificios y el suelo, así como la difracción alrededor de los bordes verticales de edificios.&lt;/div&gt;
&lt;br /&gt;
El modelo de propagación que utilizaron supone una pérdida de segundo orden (-20dB/dec) a una distancia de rotura. Para separaciones de antenas mayores que la distancia de rotura, se obtiene el modelo de propagación de tierra plana:&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfCsoanJ_cq9WkkfRIXmUq3nsgAFkRnz_f8WeKV_11QfM4ZR5uUOWgYhpu3YC9mO8QQXZ6Utu2NULC1Rb9hz-GHa4d4SD67Q1q14QcWWARiSYnF33-ktbTYg_P3o2skE48_YREcdo6Tqj-/s1600/f1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfCsoanJ_cq9WkkfRIXmUq3nsgAFkRnz_f8WeKV_11QfM4ZR5uUOWgYhpu3YC9mO8QQXZ6Utu2NULC1Rb9hz-GHa4d4SD67Q1q14QcWWARiSYnF33-ktbTYg_P3o2skE48_YREcdo6Tqj-/s1600/f1.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
donde Pr es la potencia recibida (W), PT es la potencia de transmisión (W), h1 y h2 son las alturas de antena nodo (m) y d es la separación de antena (m). La distancia punto de corte está dada aproximadamente por:&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJvJ6dAdxCybnvEiRGskm9scpGDJc1vr_2eVWPPuRGu55fvc1v8P55gBNEWY6CNHPzWzBTQ55rdxw0o8uWd07CJFJQCKUmmY9HMrlAeGD5IQg6HHAzLEv1X9it-6urlrJMkSATeFhY-4_-/s1600/f1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJvJ6dAdxCybnvEiRGskm9scpGDJc1vr_2eVWPPuRGu55fvc1v8P55gBNEWY6CNHPzWzBTQ55rdxw0o8uWd07CJFJQCKUmmY9HMrlAeGD5IQg6HHAzLEv1X9it-6urlrJMkSATeFhY-4_-/s1600/f1.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Por lo tanto, antes del punto de corte se tiene:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHvM0-bx9nNO5bkwlZXAwXl_azf4fgr_JAerTLocu7d7anHH3niYatS93qSxREz9cjQ1poRm4LEgGwT717RbwmjNjZhL2HGjeE0zjqnwD2HQSQEsWvgkUkG6xPu3aGgwB-ung0N7QbHuVP/s1600/f1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHvM0-bx9nNO5bkwlZXAwXl_azf4fgr_JAerTLocu7d7anHH3niYatS93qSxREz9cjQ1poRm4LEgGwT717RbwmjNjZhL2HGjeE0zjqnwD2HQSQEsWvgkUkG6xPu3aGgwB-ung0N7QbHuVP/s1600/f1.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
y después del punto de corte:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgobeZqQcyYra0rBhMxaHH2KIV6063uvZOj6vWfIlmMy0CfhBQujqZjy-wjzjNtC-0XbhAdLdKa2geZumFRLyqRTPICiVHdkj3MTLL5YmY3kDJFXjsxuTEj7Hvl0H9mbyrcLi48gvJoemBD/s1600/f1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgobeZqQcyYra0rBhMxaHH2KIV6063uvZOj6vWfIlmMy0CfhBQujqZjy-wjzjNtC-0XbhAdLdKa2geZumFRLyqRTPICiVHdkj3MTLL5YmY3kDJFXjsxuTEj7Hvl0H9mbyrcLi48gvJoemBD/s1600/f1.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Las operaciones en el sistema se basan en simples intercambios de mensajes. Taxis enviar regularmente las actualizaciones de estado de su envío, y el despacho envía las solicitudes de trabajo y otros datos a los taxis. Los mensajes se envían siempre al salto accesible más cercano con el fin de minimizar la potencia de transmisión y la interferencia. Al ser una red ad hoc, es probable que los taxis entrar y salir de la cobertura, la frecuencia y duración de las cuales dependen del número de puntos de relevo, el rango de transmisión de cada dispositivo, el movimiento de los vehículos, la distancia media entre los coches, etc.&lt;br /&gt;
&lt;br /&gt;
Incluso cuando la cantidad de datos requeridos es grande, a partir de tipos de estudios similares, es posible que en condiciones de conectividad intermitente, un tampón o una unidad a través de proxy (basado en el envío, las paradas de taxis y los propios nodos individuales) podría ser utilizado para acumular datos y solicitudes/respuestas de sus compañeros dentro de la red y remitirá la información a la siguiente oportunidad sin sacrificar significativamente el rendimiento.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Resultados de la simulación.&lt;/b&gt;&lt;/div&gt;
Basado en el modelo, desarrollaron una simulación estadística para calcular las posiciones en 1 segundo. Los parámetros de control que utilizaron para la simulación son las siguientes: una cuadrícula de Manhattan de 5 x 5 kilómetros, con un tamaño de bloque uniforme de 100 x 100 metros. Un punto central de despacho situado en el centro exacto de la red y que funciona como una parada de taxis. Los resultados varían de acuerdo con el diseño y la distribución de las paradas/destinos de los taxis, sin embargo. Cada ejecución de la simulación duró 3 horas de tiempo de simulación tras un período inicial de calentamiento de 1.000 segundos. Elegieron 3 horas para dar a cada taxi, tiempo suficiente para hacer varios viajes para permitir la distribución de velocidad y destino a converger. Dentro de la red se colocaron un total de 300 taxis habilitados para un sistema ad hoc. Por último, un nodo se considera conectado sólo si es accesible desde el punto de expedición durante tres segundos consecutivos o más, para garantizar el tiempo suficiente para establecimiento de la conexión y la transferencia de datos.&lt;br /&gt;
&lt;br /&gt;
Se define la cobertura de conectividad como el porcentaje de los taxis accesible desde la central de despacho, y el tiempo de interrupción como un periodo continuo de tiempo cuando el taxi no es accesible desde la central de despacho. La siguiente gráfica muestra la cobertura bajo condiciones de control. El porcentaje de vehículos conectados en cualquier punto dado en el tiempo fluctúa, sin embargo siempre hay coches dentro de la cobertura e incluso con sólo 300 nodos, la cobertura media de más de 100 carreras es 107.7 coches o 35,91%. La mediana y la desviación estándar de la media es de 35,84% y 0,6%, respectivamente.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-cDRmRmvdSkbqyL8gKDcj3vGUuSYGOz5kF4lrxETyCWF3Gg0RIm-KSPI44XeYH06CZ2v9hX6uGmeNow-Ve4snvVTzxxSs8Ur7-bhJnXdyLlUi4TVyrHByw3eVTMBAsNb46J9uYNCLy-yM/s1600/f1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-cDRmRmvdSkbqyL8gKDcj3vGUuSYGOz5kF4lrxETyCWF3Gg0RIm-KSPI44XeYH06CZ2v9hX6uGmeNow-Ve4snvVTzxxSs8Ur7-bhJnXdyLlUi4TVyrHByw3eVTMBAsNb46J9uYNCLy-yM/s320/f1.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&#39;&lt;/div&gt;
La simulación sugiere que con 300 nodos en operación, la comunicación en tiempo real no es posible ya que con sólo un tercio de los taxis se puede llegar en cualquier instante dado. Teniendo en cuenta los números absolutos de los taxis contactables, sin embargo, el rendimiento es adecuado para los fines del sistema de despacho, dado el número probable de peticiones en cualquier punto en el tiempo típico. Además, dado el poco tiempo que cada nodo se pasa fuera de la cobertura media (28.47s), todos los taxis están localizables en intervalos razonables. Por el contrario, en ocasiones ciertos nodos serán inalcanzables para un período más largo (por ejemplo, la hora de tomar pasajeros a destinos lejanos).&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
Para investigar el efecto de la densidad de nodos, variamos el número de nodos 100 a 700. La siguiente gráfica muestra el porcentaje de nodos alcanzables como una función del número de nodos.&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieTgqZT7x0WOr1DnAQr6FwCM5KJ65q1xubxQPTm3wIV_rYPfvKmY22eTCgNdTsDBrUEwEZHeoavqnsQ3b7w34ZLyZdxJUZI8WpUqzHtSs1exFbUBo9qlyQu3HoB32GAF73iYCYOyUQYCLq/s1600/f1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;224&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieTgqZT7x0WOr1DnAQr6FwCM5KJ65q1xubxQPTm3wIV_rYPfvKmY22eTCgNdTsDBrUEwEZHeoavqnsQ3b7w34ZLyZdxJUZI8WpUqzHtSs1exFbUBo9qlyQu3HoB32GAF73iYCYOyUQYCLq/s320/f1.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Como era de esperar, la cobertura aumenta a medida que más nodos están disponibles para actuar como puntos de relevo. Con 700 nodos, casi el 70% de los taxis son accesibles en cualquier momento. Al aumentar el número de nodos, una compañía de taxis más grande o un número de pequeñas / medianas empresas que utilizan sistemas compatibles para poder lograr una buena cobertura.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Otro parámetro que afecta en gran medida las estadísticas de cobertura es el tiempo de conexión, es decir, el tiempo de la creación de vínculos y transmitir datos entre nodos vecinos. El tiempo de conexión predeterminado es 3 segundos, sin embargo, esto depende de los protocolos exactos y hardware utilizados. Manteniendo constantes los otros parámetros de control, variaron el tiempo de conexión entre 1 y 10 s, consiguiendo los siguientes resultados:&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiHIA34LUlYJFIdtwBDmgtFIt2jXTI3DQWT3N4G-P0uA4iWo_6Lm3R27iOsn9WGNQrhGp4JRUctCm-c8VNNZLd0QkPUx65swQDmDiiiAHjxmp1gnTMBY4Jr6knghorHv9Ce0lCNhdO8xf6/s1600/f1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiHIA34LUlYJFIdtwBDmgtFIt2jXTI3DQWT3N4G-P0uA4iWo_6Lm3R27iOsn9WGNQrhGp4JRUctCm-c8VNNZLd0QkPUx65swQDmDiiiAHjxmp1gnTMBY4Jr6knghorHv9Ce0lCNhdO8xf6/s1600/f1.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Con un tiempo de conexión de 1s, el 43% de los nodos están dentro de la cobertura, en promedio, en comparación con el 36% para un tiempo de conexión de 3s.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
El tráfico lo introdujeron insertando automóviles que se comportaban de la misma como los taxis, excepto que no tienen destinos preferidos y no hacen pausa entre secuencias de movimiento. Por lo tanto, varió el número de coches de 300 (sólo taxis) hasta 30.000 (300 taxis y 29.700 vehículos regulares) para estudiar cómo afecta la congestión de distribución de nodos, la movilidad y la cobertura. Todos los 30.000 vehículos fueron distribuidos de manera uniforme por todo el mapa, la distancia media entre los vehículos fue de 34 m. &lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Una de las observaciones es que la variación instantánea de la cobertura es más notable con la congestión añadida. Comparando la siguiente gráfica con la gráfica que muestra la cobertura (primer gráfica), el pico a las variaciones de pico son más grandes. Aunque el modo y la cobertura promedio aumenta sólo ligeramente (38,4% vs 36,3%), en un momento dado, ahora es mucho más probable que se conectará un número más alto (más de 140) de los coches.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1Yz5AeViQ9TSW5x8yPxlK_AqSSORn_Bm0X5fToxR1WX73x_eYAGrkjpiDhqCYwRachzhz6dwfUpGUwljN79uVJ31AZxJrbRQFeLCyZz8Z6Dkk2Md7Vgfhe9wYiuf_5Kdh19jL6TGqiW1v/s1600/f1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;203&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1Yz5AeViQ9TSW5x8yPxlK_AqSSORn_Bm0X5fToxR1WX73x_eYAGrkjpiDhqCYwRachzhz6dwfUpGUwljN79uVJ31AZxJrbRQFeLCyZz8Z6Dkk2Md7Vgfhe9wYiuf_5Kdh19jL6TGqiW1v/s320/f1.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h3&gt;
&lt;b&gt;Conclusiones&lt;/b&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;div&gt;
Este sistema de radio basado en redes ad hoc tiene gran potencial, por ejemplo aumenta el ingreso por taxi ya que disminuye el tiempo y el costo para ir a recoger al cliente y aparte es más accesible para el cliente al no tener que esperar demasiado tiempo por un taxi, lo cual aumenta su satisfacción. Además el implementar este sistema no es costoso y es escalable en tamaño.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El rendimiento de este sistema depende de factores como el protocolo de enrutamiento que se utilice, pero teniendo en cuenta la información que se transmitirá y el medio ambiente, los protocolos apto para el propósito y optimizaciones podría ser diseñado para adaptarse a la aplicación.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Las principales ventajas que las redes ad hoc tienen sobre estas otras formas de comunicación son de bajo costo y facilidad de despliegue.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Como se pudo observar en la simulación realizada por los autores es que un sistema basado en MANETs podría sufrir de bajo rendimiento debido a la baja densidad de nodos por lo que es importante que el número esperado de nodos en funcionamiento debe ser considerado en el diseño de un sistema. Un sistema basado en MANETs es ideal cuando se tiene una gran cantidad de nodos.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h3&gt;
&lt;b&gt;Fuentes.&lt;/b&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;div&gt;
Elgan Huangm, Wenjun Hu, Jon Crowcroft y Ian Wassell. Towards Commercial Mobile Ad Hoc Network Applications: A Radio Dispatch System. Mayo de 2005.&amp;nbsp;&lt;a href=&quot;http://128.232.0.20/research/srg/netos/papers/2005-mobihoc-taxi.pdf&quot;&gt;http://128.232.0.20/research/srg/netos/papers/2005-mobihoc-taxi.pdf&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/7616846488029665395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/05/laboratorio-aplicacion-de-red-ad-hoc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/7616846488029665395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/7616846488029665395'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/05/laboratorio-aplicacion-de-red-ad-hoc.html' title='Laboratorio. Aplicación de red Ad-hoc'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfCsoanJ_cq9WkkfRIXmUq3nsgAFkRnz_f8WeKV_11QfM4ZR5uUOWgYhpu3YC9mO8QQXZ6Utu2NULC1Rb9hz-GHa4d4SD67Q1q14QcWWARiSYnF33-ktbTYg_P3o2skE48_YREcdo6Tqj-/s72-c/f1.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-5836464044499552390</id><published>2013-05-21T10:23:00.000-07:00</published><updated>2013-05-21T10:23:18.898-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Laboratorio Cómputo Ubicuo"/><title type='text'>Retroalimentacion personal.</title><content type='html'>&lt;span data-ft=&quot;{&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2]&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0.[0]&quot;&gt;En el proyecto de Ubicuo en el que trabaje con mis compañeros Alejandro Avendaño, Pedro y Obed fue &quot;Segurilap&quot; y esto es mi retroalimentación:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span data-ft=&quot;{&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2]&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0.[0]&quot;&gt;Los módulos que propusimos al inicio del proyecto fueron realizados (autenticación de usuario, suspensión cuando se retire, login con el rostro y autopause del video), pero tuvimos algunos problemas durante su realización, por ejemplo:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span data-ft=&quot;{&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2]&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0.[0]&quot;&gt;En un principio pensábamos trabajar con todo el rostro de la persona, pero esto nos causó problemas y no había una muy buena detección.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span data-ft=&quot;{&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2]&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0.[0]&quot;&gt;Después tuvimos que cambiar a la detección de los ojos y utilizar la distancia que hay entre ellos, pero no es muy seguro esta implementación&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span data-ft=&quot;{&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2]&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0.[0]&quot;&gt;Cuando tuvimos la idea para la primera autenticación de usuario no la analizamos a fondo y simplemente nos pusimos a realizarla, aquí hubiera sido bueno analizar bien la idea y evitarnos la pérdida de tiempo con esta implementación.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span data-ft=&quot;{&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2]&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0.[0]&quot;&gt;Al final tuvimos la idea de mapear sólo las áreas de interés pero ya no nos alcanzó el tiempo.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span data-ft=&quot;{&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2]&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0.[0]&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span data-ft=&quot;{&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2]&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0.[0]&quot;&gt;Algunos problemas que tuvimos fue falta de organización y coordinación con las demás tareas y algunos compañeros con su trabajo.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span data-ft=&quot;{&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2]&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0.[0]&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span data-ft=&quot;{&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2]&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0.[0]&quot;&gt;En mi opinión todos trabajaron de forma equitativa en diferentes partes del proyecto. En lo que yo contribuí fue:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span data-ft=&quot;{&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2]&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0.[0]&quot;&gt;En la primera autenticación de usuario y un poco en la última implementación de autenticación de usuario.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span data-ft=&quot;{&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2]&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0.[0]&quot;&gt;Crear scripts para realizar las acciones de suspender, autopausar, etc.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span data-ft=&quot;{&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2]&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0.[0]&quot;&gt;&lt;br /&gt;Lo que logramos realizar funciona al 100%, aunque no es muy efectivo por la falta de implementación de filtros de luz, pero logra realizar las tareas que se querían implementar.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span data-ft=&quot;{&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2]&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0.[0]&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span data-ft=&quot;{&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2]&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0.[0]&quot;&gt;Lo que nos faltó implementar para que nuestro sistema fuera mejor fue:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span data-ft=&quot;{&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2]&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0.[0]&quot;&gt;Implementar un filtro de luz.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span data-ft=&quot;{&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2]&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0.[0]&quot;&gt;Una interfaz sencilla para ofrecerle retroalimentación al usuario.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span data-ft=&quot;{&amp;quot;tn&amp;quot;:&amp;quot;K&amp;quot;}&quot; id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2]&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0&quot;&gt;&lt;span id=&quot;.reactRoot[34].[1][4][1]{comment584724238229147_584725528229018}.0.[1].0.[1].0.[0].[0][2].0.[0]&quot;&gt;Una autenticación de usuario mediante mapeos de áreas de interés.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/5836464044499552390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/05/retroalimentacion-personal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/5836464044499552390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/5836464044499552390'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/05/retroalimentacion-personal.html' title='Retroalimentacion personal.'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-7613952546523689658</id><published>2013-05-21T10:22:00.001-07:00</published><updated>2013-05-21T10:22:52.017-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Laboratorio Cómputo Ubicuo"/><title type='text'>Retroalimentación a equipos.</title><content type='html'>&lt;b&gt;Car nxp.&lt;/b&gt;&lt;br /&gt;
Les faltó presentar una demo en vivo para poder brindarles ideas de mejora en usabilidad o en aspectos de apariencia.&lt;br /&gt;
&lt;br /&gt;
Como les dijeron que les faltó un líder, en mi opinión es mejor que se hubieran separado por áreas o por tareas y realizar una calendarización.&lt;br /&gt;
_______________________________________________________________________________&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Despertador inteligente.&lt;/b&gt;&lt;br /&gt;
Pudieron haber hecho encuestas a los usuarios sobre los sonidos a integrar con la aplicación y de esta manera que los usuarios escogieran los que más les agraden.&lt;br /&gt;
&lt;br /&gt;
El utilizar una prototipo de cama me pareció muy buena idea, para cuando tengan ya la aplicación al 100% sea menos difícil dimensionarlo.&lt;br /&gt;
&lt;br /&gt;
Como utilizaron un servidor les faltó mencionar que información toman del usuario y si realmente es sólo la necesaria y también qué tipo de enciptación utilizaron en caso de que utilizaran un tipo de encriptación.&lt;br /&gt;
_______________________________________________________________________________ &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Galería inteligente&lt;/b&gt;&lt;br /&gt;
Como dijeron les faltó implementar que el sonido fuera reproducido desde el arduino y no de la laptop, una opción es hacer una base de datos&amp;nbsp; o servidor local en el museo y así conectar el arduino a la base de datos o servidor y reproducirlo en las bocinas.&lt;br /&gt;
&lt;br /&gt;
Les faltó mencionar si implementaron o no algo para detener la reproducción del sonido cuando la persona se retire a mitad de la reproducción.&lt;br /&gt;
_______________________________________________________________________________&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Casa segura.&lt;/b&gt;&lt;br /&gt;
Como no terminaron la aplicación pudieron hacer presentado los módulos que lograron realizar y también unos bocetos de las pantallas de como esperaban que terminara viéndose la aplicación.&lt;br /&gt;
_______________________________________________________________________________ &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Garage inteligente.&lt;/b&gt;&lt;br /&gt;
Como les faltó implementar alguna encriptación hubieran utilizado algunos de los módulos de python para realizar aunque sea una encriptación sencilla sólo como muestra de lo que pensaban realizar.&lt;br /&gt;
_______________________________________________________________________________ &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Alarma inteligente&lt;/b&gt;&lt;br /&gt;
Hubiera sido bueno ver que alcance tiene la comunicación de arduino y bluetooth.&lt;br /&gt;
&lt;br /&gt;
En vez de utilizar una pantalla en el dispositivo móvil que te muestre el estado de la alarma sería mejor utilizar solamente notificaciones al dispostivo y esto se vería mejor y mas usable.&lt;br /&gt;
_______________________________________________________________________________&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Localizador inteligente.&lt;/b&gt;&lt;br /&gt;
Faltó una demo en video o donde se pudiera observar mejor, también les faltó que tomaran que cuenta las dimensiones para la apliación en tablet y así que no tuvieran botones demasiado grandes.&lt;br /&gt;
&lt;br /&gt;
También deben de tomar en cuenta el alcance de la comunicación bluetooth, así como también el utilizar algún tipo de encriptación.&lt;br /&gt;
______________________________________________________________________________&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Oficina inteligente&lt;/b&gt;&lt;br /&gt;
Para unir todos los módulos que realizaron no hubiera sido necesario juntarse sino usar github para subir todos los módulos y de esta manera irlos uniendo poco a poco.&lt;br /&gt;
&lt;br /&gt;
También sería buena opción utilizar un tipo de encriptación par la comunicación con el servidor.</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/7613952546523689658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/05/retroalimentacion-equipos.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/7613952546523689658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/7613952546523689658'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/05/retroalimentacion-equipos.html' title='Retroalimentación a equipos.'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-1966146923175143069</id><published>2013-05-20T11:53:00.001-07:00</published><updated>2013-05-20T11:53:31.404-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Laboratorio Cómputo Ubicuo"/><title type='text'>Plan de Negocios</title><content type='html'>Para esta entrega de laboratorio de cómputo ubicuo se nos pidió realizar un borrador de un plan de nogocios para una idea de proyecto de cómputo ubicuo.&lt;br /&gt;
&lt;br /&gt;
Del proyecto sobre el que hice este modelo de negocio es el proyecto que estoy realizando con mis compañeros, que es un login para computadora mediante el rostro.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;Resumen ejecutivo&lt;/b&gt;&lt;/h3&gt;
&quot;Segurilap&quot; se trata de un login en la computadora utilizando la autenticación del usuario, este método de inicio de sesión ofrece mayor seguridad, ya que el utilizar tu 
rostro para ingresar a tu sesión en la computadora no implica guardar 
alguna contraseña. Se podría pensar que con solo colocar alguna 
fotografía del usuario frente a la cámara sería posible ingresar pero 
esto se evita esperando a que el usuario parpadee y de esta manera saber
 que en realidad esta presente y no es una fotografía.&lt;br /&gt;
&lt;br /&gt;
Otra característica del producto es la suspensión de la computadora cuando el usuario se retire de su computadora, con lo que se evita que terceras personas ingresen a sus cuentas de correo, redes sociales y documentos.&lt;br /&gt;
&lt;br /&gt;
Como empresa la misión es proteger la seguridad de nuestros clientes ofreciendo un sistema de login innovador, rápido y seguro mediante un producto bajo el mejor régimen de calidad.&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;¿Por qué? &lt;/b&gt;&lt;/h4&gt;
El login tradicional que conocemos lleva en el mercado desde 1960 y desde entonces ha tenido problemas de seguridad y provacidad. Por lo que este nuevo método es innovador y aparte de ofrecer mayor seguridad, evita problemas de dejar sesiones abiertas y que terceras personas obtengan algún provecho de ello.&lt;br /&gt;
&lt;br /&gt;
Lo que principipalmente nos distingue de los demás competidores y crea un valor primordial para nosotros y nuestros clientes es la accesibilidad del sistema y su bajo precio, el cual nos es permitido brindar ya que nuestro sistema está hecho bajo software libre, pero sobre todo ofrecemos un estilo innovador y de muy buena calidad para aquellas personas que se mueven constantemente de su área de trabajo y quieren mantener protegida toda la información que se encuentra en su computadora.&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
Nuestros clientes deben sentirse sumamente seguros de que al comprar nuestro producto quedaran totalmente satisfechos con este, además que protegerá completamente su computadora y evitara cualquier robo de información, garantizamos una excelente calidad, con un bajo costo, listo y al alcance todos. &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;Definición y Justificación del Negocio.&lt;/b&gt;&lt;/h3&gt;
&lt;h4&gt;
&lt;b&gt;Descripción general del negocio. &lt;/b&gt;&lt;/h4&gt;
Nuestra empresa tiene por objetivo la comercialización de un sistema de login en la computadora utilizando la autenticación del usuario, contamos con una página web para la distribución de nuestro producto &quot;Segurilap&quot;.&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;Misión.&lt;/b&gt;&lt;/h4&gt;
&quot;Nuestra misión es ofreces sistemas innovadores, de alta calidad y seguros para facilitar la vida de nuestros clientes; nuestros productos son realizados bajo el mejor régimen de calidad&quot; &lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;Visión.&lt;/b&gt;&lt;/h4&gt;
&quot;Renovarnos en 3 pilares fundamentales: profesionalismo, tecnología y 
trayectoria, todo relacionado a mejorar nuestra calidad de vida. Ser 
reconocidos como una empresa de calidad, competitiva e innovadora en 
brindar soluciones íntegras a nuestros clientes.                &quot; &lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;Factores claves de éxit. &lt;/b&gt;&lt;/h4&gt;
Algunos factores fundamentales del éxito en nuestra empresa es debido a que consideramos las opiniones de nuestros clientes para así poder hacer cambios al sistema de manera que los beneficie y los haga sentir más cómodos con nuestro sistema.&lt;br /&gt;
&lt;br /&gt;
Otro aspecto muy importante es que nuestro sistema es innovador y ofrece seguridad contra robo de información.&lt;br /&gt;
&lt;br /&gt;
Un aspecto básico en nosotros es nuestro precio accesible el cual nos es posible ofrecer gracias al uso de software libre.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Ánalisis FODA&lt;/h4&gt;
&lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;4&quot; style=&quot;height: 204px; width: 642px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;Fortalezas&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Oportunidades&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;ul&gt;
&lt;li&gt;Producto innovador.&lt;/li&gt;
&lt;li&gt;Gran calidad en producto.&lt;/li&gt;
&lt;li&gt;Accesibilidad para adquirirlo.&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;
&lt;li&gt;Oportunidad de comercialización.&lt;/li&gt;
&lt;li&gt;Uso de software libre.&lt;/li&gt;
&lt;li&gt;Venta vía web.&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;Debilidades&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Amenazas&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;ul&gt;
&lt;li&gt;Ser empresa nueva.&lt;/li&gt;
&lt;li&gt;No estar establecido en un &lt;br /&gt;sistema operativo.&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;
&lt;li&gt;Aparición de nuevos competidores.&lt;/li&gt;
&lt;li&gt;Competidores con experiencia. &lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Tipo de organización propuesta.&lt;/h4&gt;
El tipo de organización de la empresa es de organización de propiedad colectiva, ya que somos un grupo de al menos cuatro personas trabajando y se espera contratar a más personal para las áreas de publicidad y mercadotecnia.&lt;br /&gt;
&lt;br /&gt;
En la empresa no existe una jerarquía ya que somos pocas personas para ello, la única división existente es por áreas, desarrollo, pruebas, publicidad y mercadotecnia. La forma de trabajo es toma de decisiones mediante un consenso.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;Mercadotecnia e imagen&lt;/b&gt;&lt;/h3&gt;
&lt;h4&gt;
&lt;b&gt;Mercado potencial&lt;/b&gt;&lt;/h4&gt;
Dentro de nuestro mercado potencial, el número de clientes potenciales son aquellas personas que tengan alguna de las siguientes caracerísticas:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Tengan un trabajo donde constantemente se mueven de su área de trabajo.&lt;/li&gt;
&lt;li&gt;Problemas de robo de información por dejar su computadora constanmente sin vigilancia ya sea en su casa o trabajo.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
&lt;b&gt;Mercado meta&lt;/b&gt;&lt;/h4&gt;
Dentro de nuestro segmento de mercado a quien va dirigido nuestro producto es a hombres y mujeres mayores de 10 años. Con un mayor en enfoque en personas con trabajos que requieran constante movimiento de su área de trabajo. Nuestro producto será vendido en todo el país, por inicio, como meta a mediano plazo pretendemos expandirnos a otros países y que el sistema sea adquirido e implementado en un sistema operativo por default.&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;Competencia&lt;/b&gt;&lt;/h4&gt;
Dentro de algunos de nuestros competidores se encuentran: KeyLemon y Rohos Face Logon. La ubicación de estas empresas son en Estados Unidos. Cabe destacar que su principal ventaja en común es que ofrecen una versión gratis de prueba. Nuestro producto desea mejorar entre cada competidor los servicios ofrecidos, el servicio personalizado y bajo precio.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;Producto&lt;/b&gt;&lt;/h3&gt;
Nuestro producto es un software con las siguientes características&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Login en la computadora mediante el reconocimiento de rostro del usuario.&lt;/li&gt;
&lt;li&gt;Suspender sesión del usuario cuando éste no sea detectado frente a la computadora por más de 3 minutos. &lt;/li&gt;
&lt;li&gt;&amp;nbsp;Autopausar videos en su página web de su preferencia cuando el usuario no se encuentre viendo la pantalla.&lt;/li&gt;
&lt;/ul&gt;
&lt;style type=&quot;text/css&quot;&gt;P { margin-bottom: 0.08in; direction: ltr; color: rgb(0, 0, 0); widows: 2; orphans: 2; }A:link { color: rgb(0, 0, 255); }&lt;/style&gt;


&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;Publicidad y Promoción&lt;/b&gt;&lt;/h3&gt;
&lt;style type=&quot;text/css&quot;&gt;P { margin-bottom: 0.08in; direction: ltr; color: rgb(0, 0, 0); widows: 2; orphans: 2; }A:link { color: rgb(0, 0, 255); }&lt;/style&gt;


&lt;br /&gt;
A corto y mediano plazo ejecutaremos campañas de publicidad en línea dirigiéndonos a promocionar nuestro producto esto con la finalidad de resaltar sus características las cuales lo hacen diferente a los demás. Se utilizarán:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Página web.&lt;/li&gt;
&lt;li&gt;Cuenta en redes sociales como Facebook y twiteer &lt;/li&gt;
&lt;li&gt;Anuncios publicitarios en páginas web.&lt;/li&gt;
&lt;li&gt;Google ads&lt;/li&gt;
&lt;li&gt;Promociones y ofertas temporales&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h3&gt;
Conclusiones&lt;/h3&gt;
En mi opinión para completar este plan de negocio hace falta recopilar estadísticas de opinion de usuarios, pruebas con usuarios y analizar más a fondo el mercado. También le hace falta agregar los precios finales y los porqué de ese precio.&lt;br /&gt;
&lt;br /&gt;
Un punto a favor tanto para el producto como del plan de negocios es que son tecnologías innovadoras y además saca de lo tradicional y aburrido al usuario; esto es un gran impulso.</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/1966146923175143069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/05/plan-de-negocios.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/1966146923175143069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/1966146923175143069'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/05/plan-de-negocios.html' title='Plan de Negocios'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-4350338997984893743</id><published>2013-05-16T08:30:00.002-07:00</published><updated>2013-05-16T09:02:20.495-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Visión Computacional"/><title type='text'>Laboratorio 10. Detección de movimiento</title><content type='html'>Para esta entrega se nos pidió hacer una implementación de detección de movimiento, sin utilizar librerías de visión, utilizando una secuencia de video.&lt;br /&gt;
&lt;br /&gt;
Para realizar esto hice uso de OpenCV para hacer la captura de video desde mi cámara web con el siguiente script que lo único que hace es tomar un video de 50 frames y guardarlo con el nombre de &quot;video.mp4&quot;:&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Código&lt;/h3&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/JonathanAlvarado/5592579.js&quot;&gt;&lt;/script&gt;

Después volví a utilizar OpenCV para leer este video y hacer la detección de movimiento.&lt;br /&gt;
&lt;br /&gt;
Para realizar la detección de movimiento lo primero es obtener los cambios de posición que ocurrían entre 2 frames consecutivos, calculando la diferencia entre cada frame, esto es, restar ambos frames pixel por pixel para obtener solamente los pixeles que sufrieron cambios.&lt;br /&gt;
&lt;br /&gt;
Después se aplican filtros de escala de grises y binarización pero esta vez estos filtros los manejé con arreglos de numpy para hacer más ágil la detección ya que para mi primera aproximación mi meta era hacer la detección al momento de obtener cada frame de la cámara, pero se me hizo más fácil primero grabar el video y después realizar la detección.&lt;br /&gt;
&lt;br /&gt;
Los filtros siguen los mismos principios, la escala de grises hace un promedio de los valores r,g,b de cada pixel y la binarización tiene como umbral un entero 10 donde cada pixel arriba de este umbral se convierte a blanco.&lt;br /&gt;
&lt;br /&gt;
Como resultado de este procedimiento resulta una imagen con pixeles en color negro donde no hubo ningún cambio y pixeles en color blanco donde existe algún cambio.&lt;br /&gt;
&lt;br /&gt;
Después de esto se toma el frame original y el arreglo con binarización, que es la imagen binarizada, y se comparan, donde existan pixeles blancos (como son arreglos se buscan valores de 255) son cambiados en el frame original por un color azul. Esto para demostrar que existe un cambio de posición en los objetos del video.&lt;br /&gt;
&lt;br /&gt;
Por último de nuevo se toma el frame original y el arreglo con binarización y ahora se recorre el arreglo pero esta vez por regiones para marcar con cuadros de color verde las regiones donde exista movimiento.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Código&lt;/h3&gt;
&lt;h3&gt;
&lt;/h3&gt;
&lt;h3&gt;
Resultados&lt;/h3&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dx_Z9-jUm3j2wpAxSVSGgdtS27skrblVXFHRUAvx-9aBla585lNmZlEKUfBkAl9D0PVQmHRkRtpX2WkHiE&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;Video Original&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dxJ05ZZ3MPOqZT2eS0HE2sYdL9OLllFjkNmBU4GgnOn3gfLRbDCNaQDlAUkWO778fJEhb5GDI9JRX8UvAErAA&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;Resta de frames &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dxFa2l7q-n7uQcdFcArTclAStaxdGuHy-KfwXNJ18vee6_mqyjO3Rb4-rwuyGfEgwYo2DcskNPAQlW-EakanA&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;Detección de movimiento &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dzUcz5Yg6AQ8rlTqpKXJ3IDuhivCOm80uzat6tepLYodggzgJaCbD0o3eQLrd2ZcRErNSSIBFyX3x1rehicKw&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Video Original&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dzi2w9LnFg5gpeMypNIvlhhAgHhorcCgDm_ZtlLmV6DAnDmuaYXOGGemY2NTnOsW27485SiKNJXJwQNDEZQoQ&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Detección de movimiento&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Fuentes&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;opencv v2.1 documentation, última modificación: 2010. &lt;a href=&quot;http://opencv.willowgarage.com/documentation/python/cookbook.html&quot;&gt;http://opencv.willowgarage.com/documentation/python/cookbook.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Create a movie file from single image files (png, jpegs), última modificación: 20 abril de 2013. &lt;a href=&quot;http://www.miscdebris.net/blog/2008/04/28/create-a-movie-file-from-single-image-files-png-jpegs/&quot;&gt;http://www.miscdebris.net/blog/2008/04/28/create-a-movie-file-from-single-image-files-png-jpegs/&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Numpy and Scipy Documentation, última modificación: 12 de febrero de 2013. &lt;a href=&quot;http://docs.scipy.org/doc/numpy/reference/routines.html&quot;&gt;http://docs.scipy.org/doc/numpy/reference/routines.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;EOL comment on stackoverflow, Fastest way to zero out low values in array?. &lt;a href=&quot;http://stackoverflow.com/questions/1623849/fastest-way-to-zero-out-low-values-in-array&quot;&gt;http://stackoverflow.com/questions/1623849/fastest-way-to-zero-out-low-values-in-array&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/4350338997984893743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/05/laboratorio-10-deteccion-de-movimiento.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/4350338997984893743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/4350338997984893743'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/05/laboratorio-10-deteccion-de-movimiento.html' title='Laboratorio 10. Detección de movimiento'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-2834614688642817283</id><published>2013-05-14T07:43:00.004-07:00</published><updated>2013-05-14T11:18:29.343-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Redes de telecomunicaciones"/><title type='text'>Tarea 6: Geolocalización</title><content type='html'>&lt;br /&gt;
Geolocalización se refiere al posicionamiento con el que se define la localización de un objeto espacial (representado mediante punto, vector, área, volumen) en un sistema de coordenadas.[&lt;a href=&quot;http://es.wikipedia.org/wiki/Georreferenciaci%C3%B3n&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;wikipedia&lt;/span&gt;&lt;/a&gt;]&lt;br /&gt;
&lt;h4&gt;
Triangulación.&lt;/h4&gt;
&lt;a href=&quot;https://confluence.slac.stanford.edu/download/attachments/90768644/tri.png?version=1&amp;amp;modificationDate=1277040290000&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;197&quot; src=&quot;https://confluence.slac.stanford.edu/download/attachments/90768644/tri.png?version=1&amp;amp;modificationDate=1277040290000&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;La triangulación es el uso de la trigonometría de triángulos para determinar posiciones de puntos, medidas de distancias o áreas de figuras.&lt;br /&gt;
&lt;br /&gt;
La triangulación tiene aplicación en la tecnología GPS conocida como trilateración, consiste en determinar la posición de un receptor con respecto a tres antenas. Conociendo la posición de las tres antenas o satélites se determina posición relativa respecto a los tres &lt;br /&gt;
satélites o antenas.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Algoritmo TULIP&lt;/h4&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;La técnica de &lt;span class=&quot;hps&quot;&gt;trilateración&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;utiliza tres&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;valores de&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;RTT (&lt;/span&gt;&lt;/span&gt;Round-trip delay time&lt;br /&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;para calcular&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;las coordenadas del&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;nodo de destino o receptor&lt;/span&gt;.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;En esta técnica &lt;/span&gt;&lt;span class=&quot;hps&quot;&gt;&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;los tres&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;puntos de referencia&lt;/span&gt; (antenas) &lt;span class=&quot;hps&quot;&gt;con&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;los valores de&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;RTT&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;más pequeños&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;(probablemente&lt;/span&gt; ubicados con mayor cercanía&lt;span class=&quot;hps&quot;&gt;&lt;/span&gt;) &lt;span class=&quot;hps&quot;&gt;se seleccionan&lt;/span&gt;. &lt;span class=&quot;hps&quot;&gt;Después, el algoritmo&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;trata de estimar&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;la ubicación en&lt;/span&gt;&lt;span class=&quot;hps&quot;&gt;&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;base al alcance (en la imagen mostrada arriba el alcance son los círculos alrededor de los puntos de referencia) de los puntos de referencia (antenas).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;hps&quot;&gt;l centro de la&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;región de solapamiento&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;de los alcances (círculos) se considera&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;como&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;la ubicación&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;del nodo de destino&lt;/span&gt;&lt;span class=&quot;&quot;&gt; o receptor.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;&quot;&gt;Este algoritmo es una implementación en 2D del alortimo de trilateración que se encuentra en Wikipedia ya que este último se aplica en 3D.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;&quot;&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;Esta técnica&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;se basa en&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;la resolución de ecuaciones&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;de&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;círculo&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://confluence.slac.stanford.edu/download/attachments/90768644/trilateration.png?version=3&amp;amp;modificationDate=1277822841000&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;197&quot; src=&quot;https://confluence.slac.stanford.edu/download/attachments/90768644/trilateration.png?version=3&amp;amp;modificationDate=1277822841000&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;&quot;&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;Los parámetros en la imagen son: &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
P1, P2, P3 = puntos de referencia (coordenadas en x,y)&lt;br /&gt;
d1, d2, d3 = distancias de los puntos de referencia al objetivo o receptor (se obtiene con distancia=(MinRTT/2)*alpha)&lt;br /&gt;
&lt;br /&gt;
Dada la ecuación para el círculo:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20(x%20-%20h)^{2}%20@plus;%20(y%20-%20k)^{2}%20=%20r^{2}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white (x - h)^{2} + (y - k)^{2} = r^{2}&quot; title=&quot;\bg_white (x - h)^{2} + (y - k)^{2} = r^{2}&quot; /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
donde:&lt;br /&gt;
h y k : son las coordenadas &quot;x&quot; y &quot;y&quot; del centro del círculo .&lt;br /&gt;
&quot;x&quot; y &quot;y&quot; : son las coordenadas donde el círculo intersectará con otro. Son las coordenadas a buscar.&lt;br /&gt;
r: es el radio del círculo o alcance de las antenas.&lt;br /&gt;
&lt;br /&gt;
Se despeja para cada círculo&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20r{_{1}}^{2}%20=%20x^{2}%20@plus;%20y^{2}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white r{_{1}}^{2} = x^{2} + y^{2}&quot; title=&quot;\bg_white r{_{1}}^{2} = x^{2} + y^{2}&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20r{_{2}}^{2}%20=%20(x-d)^{2}@plus;y^{2}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white r{_{2}}^{2} = (x-d)^{2}+y^{2}&quot; title=&quot;\bg_white r{_{2}}^{2} = (x-d)^{2}+y^{2}&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20r{_{3}}^{2}%20=%20(x-i)^{2}@plus;(y-j)^{2}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white r{_{3}}^{2} = (x-i)^{2}+(y-j)^{2}&quot; title=&quot;\bg_white r{_{3}}^{2} = (x-i)^{2}+(y-j)^{2}&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Después se resta la primera ecuación de la segunda y obtenemos la siguiente:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20x%20=%20\frac{r{_{1}}^{2}%20-%20r{_{2}}^{2}%20@plus;%20d^{2}}{2d}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white x = \frac{r{_{1}}^{2} - r{_{2}}^{2} + d^{2}}{2d}&quot; title=&quot;\bg_white x = \frac{r{_{1}}^{2} - r{_{2}}^{2} + d^{2}}{2d}&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20y=\frac{r{_{1}}^{2}%20-%20r{_{3}}^{2}%20@plus;%20i^{2}%20@plus;%20j^{2}}{2j}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white y=\frac{r{_{1}}^{2} - r{_{3}}^{2} + i^{2} + j^{2}}{2j}&quot; title=&quot;\bg_white y=\frac{r{_{1}}^{2} - r{_{3}}^{2} + i^{2} + j^{2}}{2j}&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
En la implementación que hice de este algoritmo utilizo las fórmulas anteriores, y para ejecutar el script es de la siguiente manera: python geo.py coord_x_antena1 coord_y_antena1 alcance/radio coord_x_antena2 coord_y_antena2 alcance/radio coord_x_antena3 coord_y_antena3 alcance/radio. Es fastidioso proporcionar esos datos pero fue la primera implementación que hice, una solución sería poner estos datos en un txt y leerlos con el script.&lt;br /&gt;
&lt;br /&gt;
El receptor detectado lo marco con un punto en color rojo.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Código.&lt;/h3&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/JonathanAlvarado/5576177.js&quot;&gt;&lt;/script&gt;

&lt;br /&gt;
&lt;h3&gt;
Resultados.&lt;/h3&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6H4nRPFx3SDBbiZyNmaj2BYNS90AMGxmwNK3BzxvlRTKTPvLDfTeQTAlIU5KZg-M45FQPi7McIZGMI86ulmn6bLM67l_y_ihRy7W4G4SZT4_zxiWSGi59YMPD0UyO5SKrGkd-v5AZEwC-/s1600/prueba1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;160&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6H4nRPFx3SDBbiZyNmaj2BYNS90AMGxmwNK3BzxvlRTKTPvLDfTeQTAlIU5KZg-M45FQPi7McIZGMI86ulmn6bLM67l_y_ihRy7W4G4SZT4_zxiWSGi59YMPD0UyO5SKrGkd-v5AZEwC-/s200/prueba1.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
Como se puede ver cuando los 3 círculos se están intersectando es posible detectar al receptor en su posición exacta.&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtXPUQ15hiOJ0QRlyDZ9ShEJ3rt-brTOfWrX_m9ZZGtkPv3iZt8u_tBxGWv_KG_omyEUaZI-JTpDt-Wuk529YGYKTjUZu1sNALVQIwzUbCAI-QDk8c_FV_irgeJ7n38b_qEfl7qKjH69ox/s1600/prueba2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;156&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtXPUQ15hiOJ0QRlyDZ9ShEJ3rt-brTOfWrX_m9ZZGtkPv3iZt8u_tBxGWv_KG_omyEUaZI-JTpDt-Wuk529YGYKTjUZu1sNALVQIwzUbCAI-QDk8c_FV_irgeJ7n38b_qEfl7qKjH69ox/s200/prueba2.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
Cuando no hay un punto exacto de intersección, el receptor se detecta en la región donde los 3 círculos comparten un área en común.&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdee-_vZFGK6h4pCCGeRMDRGVltaRydVIvtp1qb9G1nhUhhaZ6Unjp2rzaghu9pd1lU8PCZsaQRKx1gCq_ARh7life3wRGUdz6uQeGQYa5fpxnm0q6u3YjU1FS1QMwb3SZur3Be51i-NIU/s1600/prueba3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;158&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdee-_vZFGK6h4pCCGeRMDRGVltaRydVIvtp1qb9G1nhUhhaZ6Unjp2rzaghu9pd1lU8PCZsaQRKx1gCq_ARh7life3wRGUdz6uQeGQYa5fpxnm0q6u3YjU1FS1QMwb3SZur3Be51i-NIU/s200/prueba3.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
Cuando no comparten un área en común el receptor se detecta en un punto medio donde el segundo y tercer círculo intersectan al primero.&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjydliFlxoPJCyEqiTnK6TOog87Yt2C7l5WBKbscBm10N_GoxIB5MGgBX71B0Xo_yh7DIHBCLl0HKnUza_GQH1NizF8F6s3UFVMQlFLhSTQGDwd4Opri_t5xkz9gchQHoCLDdfUm8Pw3hpE/s1600/prueba4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;152&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjydliFlxoPJCyEqiTnK6TOog87Yt2C7l5WBKbscBm10N_GoxIB5MGgBX71B0Xo_yh7DIHBCLl0HKnUza_GQH1NizF8F6s3UFVMQlFLhSTQGDwd4Opri_t5xkz9gchQHoCLDdfUm8Pw3hpE/s200/prueba4.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
Cuando no existe ninguna intersección de los círculos el receptor se detecta en un punto medio entre los 3 centros de los círculos.&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
Fuentes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Triangulación, última modificación 31 de marzo de 2013. &lt;a href=&quot;http://es.wikipedia.org/wiki/Triangulaci%C3%B3n&quot;&gt;http://es.wikipedia.org/wiki/Triangulaci%C3%B3n&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Trilateración, última modificación 14 de marzo de 2013.&amp;nbsp;&lt;a href=&quot;http://es.wikipedia.org/wiki/Trilateraci%C3%B3n&quot;&gt;http://es.wikipedia.org/wiki/Trilateraci%C3%B3n&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;LesCottrell, TULIP Algorithm Alternative Trilateration Method, 2012,&amp;nbsp;&lt;a href=&quot;https://confluence.slac.stanford.edu/display/IEPM/TULIP+Algorithm+Alternative+Trilateration+Method&quot;&gt;https://confluence.slac.stanford.edu/display/IEPM/TULIP+Algorithm+Alternative+Trilateration+Method&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/2834614688642817283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/05/tarea-6-geolocalizacion.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/2834614688642817283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/2834614688642817283'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/05/tarea-6-geolocalizacion.html' title='Tarea 6: Geolocalización'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6H4nRPFx3SDBbiZyNmaj2BYNS90AMGxmwNK3BzxvlRTKTPvLDfTeQTAlIU5KZg-M45FQPi7McIZGMI86ulmn6bLM67l_y_ihRy7W4G4SZT4_zxiWSGi59YMPD0UyO5SKrGkd-v5AZEwC-/s72-c/prueba1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-9083033528739911436</id><published>2013-05-13T22:16:00.000-07:00</published><updated>2013-05-13T22:16:37.337-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Redes de telecomunicaciones"/><title type='text'>Comunicaciones satelitales.</title><content type='html'>&lt;div&gt;
Los satélites artificiales se utilizan en todo el mundo para diversas razones, la comunicación es una de ellas. El primer satélite artificial que estuvo equipado con un transmisor de radio se puso en marcha en 1957 por el gobierno soviético y fue llamado Sputnik 1.&lt;br /&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkO1eO-E4LlDgXto8uGJOx41Ie5gkEoDEz0pJr_VBgdmJ05ueQO6NTbOHUmPRdyNUhPPBMQF3J2GYNXKNaqXzvwX9j9Y25UIEzLYhzTh3UiCFU9YAS_HLWD5hQP74l5Rs6Pdj0XaEuDZV0/s320/22-1.jpg&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;149&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkO1eO-E4LlDgXto8uGJOx41Ie5gkEoDEz0pJr_VBgdmJ05ueQO6NTbOHUmPRdyNUhPPBMQF3J2GYNXKNaqXzvwX9j9Y25UIEzLYhzTh3UiCFU9YAS_HLWD5hQP74l5Rs6Pdj0XaEuDZV0/s200/22-1.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;Un satélite de comunicaciones es un satélite artificial estacionado en el espacio para los fines de telecomunicaciones. Satélites de comunicaciones modernos utilizan órbitas geoestacionaria, órbitas Molniya u órbitas terrestres bajas.&amp;nbsp;El primer satélite de comunicaciones estadounidense fue llamado SCORE proyecto que se inició en 1958. Tras el lanzamiento de estos satélites de comunicación, la comunicación alcanza nuevas alturas.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
 Aplicaciones&lt;/h3&gt;
&lt;/div&gt;
A continuación algunas de las aplicaciones que se han realizado utilizando satélites artificiales y que son medios de comunicación, lo que se le puede denominar comunicación satelital.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Telefonía Satelital.&lt;/b&gt;&lt;br /&gt;
Una de las primeras aplicaciones y podría decirse que la más importante, se encuentra en la telefonía satelital. Un teléfono satelital es un dispositivo móvil de comunicación similar a un teléfono celular. Las diferencias principales entre estos dos residen en su tamaño y que el primero se conecta directamente a través de los satélites de telecomunicaciones en la órbita alrededor de la tierra. Teléfonos de punto fijo retransmiten las llamadas a una estación, donde se transmiten a un satélite geoestacionario. En cambio, los teléfonos móviles (en barcos y aviones) deben ser conectados directamente al equipo para enviar la señal de enlace ascendente al satélite, así como ser capaz de garantizar un satélite apuntando a su ubicación para evitar lo más que se pueda la presencia de perturbaciones.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;http://www.suparco.gov.pk/assets/images/communication-satellite.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;http://www.suparco.gov.pk/assets/images/communication-satellite.jpg&quot; width=&quot;180&quot; /&gt;&lt;/a&gt;Televisión y Radio.&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
Hay dos tipos de satélites utilizados para la televisión y la radio:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Direct Broadcast Satellite (DBS): son las emisiones de televisión por satélite destinadas a la recepción en casa, también podría decirse que es señal directa al hogar. Abarca tanto la televisión analógica y digital, y la recepción de radio, y se extiende a menudo a otros servicios proporcionados por los sistemas de televisión digital modernas, como vídeo bajo demanda y características interactivas. Un &quot;servicio DBS&quot; por lo general se refiere tanto a un servicio comercial, o un grupo de canales libres disponibles de una posición orbital dirigidas a un solo país.&lt;br /&gt; &lt;/li&gt;
&lt;li&gt;Servicio fijo por satélite (SFS): es la clasificación oficial de los satélites geoestacionarios de comunicaciones utilizados principalmente para la emisión de canales para las estaciones y cadenas de televisión y radio, así como para la telefonía, las comunicaciones de datos, y también para Directo a casa (Direct-To-Home) de cable y los canales de televisión por satélite.&lt;br /&gt;&lt;br /&gt;Los sistemas utilizados para recibir los canales de televisión y otros canales de satélites SFS se refieren generalmente como sistemas TVRO (Televisión de sólo recepción), que se conocen como sistemas de gran plato o antena (debido al tamaño del plato o antena mucho más grande en comparación con los sistemas de satélite de transimisión directa).&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Banda ancha por satélite.&lt;/b&gt;&lt;br /&gt;
En los últimos años, la tecnología de comunicación por satélite se ha utilizado como un medio para conectarse a Internet a través de conexiones de datos de banda ancha. Esto es muy útil para los usuarios probar que se encuentran en zonas muy remotas, y no puede acceder a una línea fija de banda ancha o conexión telefónica.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Radio Amateur.&lt;/b&gt;&lt;br /&gt;
Operadores aficionados tienen acceso a los satélites OSCAR que han sido diseñados específicamente para llevar el tráfico de radio amateur. La mayoría de estos satélites funcionan como repetidores bordo de vehículos espaciales.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Razones para interceptar comunicaciones satelitales&lt;/h3&gt;
Entre las razones más predominantes para interceptar comunicaciones satelitales podemos encontrar:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Entrar a redes de cajeros automáticos o bancos y robar dinero.&lt;/li&gt;
&lt;li&gt;Censura de la información por parte del gobierno o empresas.&lt;/li&gt;
&lt;li&gt;Comunicarse con los satélites y escuchar transmisiones.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
Ataques a satélites.&lt;/h3&gt;
Algunos tipos de ataques de satélite:&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;Servicio Denegado (DoS).&lt;/i&gt;&lt;/b&gt; C&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;onsiste&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;en interrumpir o suspender&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;de forma temporal o&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;indefinidamente&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;hps&quot;&gt; los&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;servicios de todo aquel que quiera conectarse a una red o en este caso al satélite&lt;/span&gt;&lt;span class=&quot;hps&quot;&gt;. Algunos de los métodos más utilizados son los siguientes:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;u&gt;Jam Uplink&lt;/u&gt;. Consiste en crear interferencia en enlaces o transmisiones de subida.&lt;/li&gt;
&lt;li&gt;&lt;u&gt;Jam Downlink&lt;/u&gt;. Consiste en crear interferencia en enlaces o transmisiones de descarga.&lt;/li&gt;
&lt;/ul&gt;
Buscando por métodos para atacar satélitesencontré en el sitio de forbes un artículo del 2010 sobre Leonardo Nve, un investigador de seguridad que por menos de 75 dólares logró interceptar una transmisión de video digital (DVB). Este investigador utilizó herramientas de software libre para realizar broadcasting, Wireshark que utilizó para interceptar paquetes y una tarjeta Skystar 2 PCI que consiguió por ebay y que actúa como receptor satelital.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Seguridad en comunicaciones satelitales&lt;/h3&gt;
Algunas de las medidas de seguridad que se utilizan en comunicaciones satelitales se encuentran en las siguientes categorías:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;Capacidad de&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;la evasión&lt;/span&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt; Es la capacidad de&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;un satélite&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;para alterar&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;su curso&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;para evitar&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;cualquier interrupción en&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;su funcionamiento&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;. Este método puede parecer simple pero en realidad no es muy eficiente, ya que, uno&lt;/span&gt;&lt;b&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;/span&gt;&lt;/b&gt; de los problemas es que los satélites ya tienen una órbita predefinida dependiendo del objetivo para el que fueron puestos en órbita por lo que es difícil cambiar esa órbita, un&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;segundo&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;problema &lt;/span&gt;&lt;span class=&quot;hps&quot;&gt;se encuentra&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;en el&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;método utilizado para&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;cambiar de dirección&lt;/span&gt;; &lt;span class=&quot;hps&quot;&gt;el sistema de propulsión&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;a bordo&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;necesario&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;para proporcionar&lt;/span&gt; el&lt;span class=&quot;hps&quot;&gt; cambio&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;en la velocidad&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;en&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;ocasiones&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;requiere&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;una cantidad&lt;/span&gt; grande&lt;span class=&quot;hps&quot;&gt; de&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;propelente&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;Disposición &lt;span class=&quot;hps&quot;&gt;táctica&lt;/span&gt;&lt;span class=&quot;hps&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
Este concepto es explorado principalmente por los militares, el cual consiste en la posibilidad de emplear un sistema de defensa activo. Este tipo de defensa&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;proporcionaría&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;al satélite&lt;/span&gt;&lt;span class=&quot;hps&quot;&gt; la capacidad&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;de&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;defenderse de&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;un ataque ofensivo&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;y la posibilidad de&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;operar&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;continuamente&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;durante un período prolongado&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;de&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;tiempo a pesar de&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;las circunstancias&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;hostiles&lt;/span&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;El principal problema de&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;este concepto&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;se debe a las&lt;/span&gt;&lt;span class=&quot;hps&quot;&gt; políticas de&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;militarizar&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;el espacio.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Alteración del haz de comunicaciones.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;Este tipo de defensa &lt;span class=&quot;hps&quot;&gt;es tal vez&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;la solución más&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;simple y&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;más&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;fácilmente&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;empleable&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;para evitar&lt;/span&gt; que las trasmisiones sean interceptadas&lt;span class=&quot;hps&quot;&gt;&lt;/span&gt;, así &lt;span class=&quot;hps&quot;&gt;como la detección&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;del propio satélite&lt;/span&gt;.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot;&gt;Este sistema consiste en un transmisor &lt;/span&gt;&lt;span class=&quot;hps&quot;&gt;capaz de transmitir señales&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;de alta resistencia&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;con un&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;ancho de haz&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;mínimo&lt;/span&gt;, &lt;span class=&quot;hps&quot;&gt;para&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;no dar&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;oportunidad&lt;/span&gt;&lt;/span&gt; de que los datos sean interceptados.&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
La principal desventaja al utilizar este tipo de sistema es que requiere una sincronización con la órbita del satélite con respecto al receptor en la Tierra.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Conclusiones.&lt;/h3&gt;
Las comunicaciones satelitales tienen diversas aplicaciones y algunas muy importantes por lo que su seguridad es de gran importancia; en mi opinión la seguridad también debería centrarse en la encriptación de las transmisiones ya que al estar buscando encontré algoritmos que utilizan para este fin ( A5-GMR-1, A5-GMR-2, GMR-1 y GMR-2) pero ya han sido rotos.&lt;br /&gt;
&lt;br /&gt;
La seguridad toma un mayor grado de importancia al hablar de telefonía e internet, por lo que la encriptación u otros métodos deberían implementarse o desarrollarse para proteger la información que viaja por estos medios.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;h3&gt;
Fuentes&lt;/h3&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Pakistan Space and Upper Atmosphere Research Comission, &quot;Applications of Satellites&quot;, 2013,&lt;a href=&quot;http://www.suparco.gov.pk/pages/applications-satellite.asp&quot;&gt; http://www.suparco.gov.pk/pages/applications-satellite.asp&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Denial-of-service attack, última modificación: 3 de mayo de 2013. &lt;a href=&quot;https://en.wikipedia.org/wiki/Denial-of-service_attack&quot;&gt;https://en.wikipedia.org/wiki/Denial-of-service_attack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Andy Greenberg, &quot;How To Hack The Sky&quot;, Forbes, 2010, &amp;nbsp; &lt;a href=&quot;http://www.forbes.com/2010/02/02/hackers-cybercrime-cryptography-technology-security-satellite.html&quot;&gt;http://www.forbes.com/2010/02/02/hackers-cybercrime-cryptography-technology-security-satellite.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Sean Patrick Bain, The Increasing Threat to Satellite Communications, 2006, &lt;a href=&quot;http://spacejournal.ohio.edu/issue6/pdf/bain.pdf&quot;&gt;http://spacejournal.ohio.edu/issue6/pdf/bain.pdf &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/9083033528739911436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/05/comunicaciones-satelitales.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/9083033528739911436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/9083033528739911436'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/05/comunicaciones-satelitales.html' title='Comunicaciones satelitales.'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkO1eO-E4LlDgXto8uGJOx41Ie5gkEoDEz0pJr_VBgdmJ05ueQO6NTbOHUmPRdyNUhPPBMQF3J2GYNXKNaqXzvwX9j9Y25UIEzLYhzTh3UiCFU9YAS_HLWD5hQP74l5Rs6Pdj0XaEuDZV0/s72-c/22-1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-1598930817836243604</id><published>2013-05-13T21:43:00.000-07:00</published><updated>2013-05-13T21:43:11.589-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Laboratorio Cómputo Ubicuo"/><title type='text'>Retroalimentación en privacidad y seguridad en proyectos.</title><content type='html'>Esta entrega de laboratorio de cómputo ubicuo es una retroalimentación a los proyectos de mis compañeros a sus presentaciones de seguridad y privacidad de sus proyectos.&lt;br /&gt;
________________________________________________________________________________&lt;br /&gt;
&lt;h4&gt;
Alarma inteligente.&lt;/h4&gt;
Para la comunicación bluetooth aunque solamente la vayan a utilizar para comandos sencillos, errores, etc, aún así deberían utilizar algún método de encriptación sencillo para de esta manera evitar que alguien por diversión cambie algunos de los comandos que se envíen.&lt;br /&gt;
&lt;br /&gt;
En cuanto al uso de GPS deben de informar al usuario (en su aviso de privacidad) qué información van a utilizar y cuáles métodos van a utilizar para cuidar la información que obtendrán al utilizar esta tecnología.&lt;br /&gt;
_________________________________________________________________________________&lt;br /&gt;
&lt;h4&gt;
Oficina inteligente.&lt;/h4&gt;
Su manera de identificación o llave de identificación me parece muy buena pero para hacerlo más seguro podrían utilizar un número ID que fuera único y que no pudiera ser extraído para ser copiado en otra tarjeta.&lt;br /&gt;
&lt;br /&gt;
En caso de que la información la piensen usar para llevar estadísticas o algún tipo de control de quiénes entran a la oficina sería necesario mencionarlo en el aviso de privacidad.&lt;br /&gt;
&amp;nbsp;________________________________________________________________________________&lt;br /&gt;
&lt;h4&gt;
Localizador inteligente.&lt;/h4&gt;
La información de sus términos y condiciones está muy bien definida y muy completa, si acaso solamente les faltó agregar cuáles datos del usuario van a accesar.&lt;br /&gt;
_________________________________________________________________________________&lt;br /&gt;
&lt;h3&gt;
Galería inteligente.&lt;/h3&gt;
En su presentación hablaron de los usuarios y de ellos no obtienen información más que para contar la cantidad de personas que ven las obras; en este caso debieron de hablar de como van a proteger los usuarios y contraseñas de los administradores o de quienes se vayan a encargar del sistema, de qué datos van a solicitar al instalar el sistema y cómo cuidarán la provacidad de estos datos.&lt;br /&gt;
_________________________________________________________________________________&lt;br /&gt;
&lt;h3&gt;
Despertador inteligente.&lt;/h3&gt;
Su presentación está muy completa, sólo les recomendaría que aparte de sesiones con llave pública podrían utilizar algún método de encriptación y como sugerencia deberían de checar que datos realmente necesitan en el servidor y de esta manera al ser menos datos protegen más la información del usuario.&lt;br /&gt;
_________________________________________________________________________________&lt;br /&gt;
&lt;h3&gt;
Casa inteligente.&lt;/h3&gt;
Hubiera estado bien que expusieran cuál cifrado utilizarán o qué opciones tienen para dar nuestra opinión. En mi opinión no es necesario que guarden toda la información de los sensores, es mejor que guarden solo la que sea de utilidad y así evitar problemas de robo de información que no necesitaban.&lt;br /&gt;
&lt;br /&gt;
La idea de distintos niveles de privacidad me parece buena, sólo en la parte de las alertas me parece que si avisan al usuario cada vez que necesiten un permiso puede resultar molesto, me parece mejor si las guardan y el usuario elija cuando verlas.&lt;br /&gt;
&lt;br /&gt;
Otro aspecto que les faltó mencionar en qué parte se guardarían sus datos, ya sea localmente o en algún servidor.&lt;br /&gt;
_________________________________________________________________________________&lt;br /&gt;
&lt;h3&gt;
CarNXP.&lt;/h3&gt;
Su presentación está muy completa, solamente no sé si ya lo tengan previsto, cómo evitarían que los tags sean clonados porque aunque se encuentren encriptados al clonarlos el lector podría leerlos.&lt;br /&gt;
_________________________________________________________________________________&lt;br /&gt;
&lt;h3&gt;
Garaje inteligente.&lt;/h3&gt;
Su presentación está muy completa, me agradó que tengan muy bien definido cuáles datos son los que necesitan del usuario así como el tipo de cifrado que utilizarán.&lt;br /&gt;
&lt;br /&gt;
Algo que no mencionaron es cómo manejarían la situación en caso de que no haya corriente eléctrica y eso es importante en cuánto a seguridad porque de esta manera cualquier persona cortaría la energía y podría abrir el garage o en caso contrario el garaje no podría abrirse.</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/1598930817836243604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/05/retroalimentacion-en-privacidad-y.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/1598930817836243604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/1598930817836243604'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/05/retroalimentacion-en-privacidad-y.html' title='Retroalimentación en privacidad y seguridad en proyectos.'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-273304769828379267</id><published>2013-05-09T09:49:00.004-07:00</published><updated>2013-05-09T09:49:54.371-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Visión Computacional"/><title type='text'>Deteccion de esquinas</title><content type='html'>Para esta semana el objetivo para laboratorio era detectar las esquinas de imágenes, como parte básica, después unir estos puntos de manera que formen la figura original.&lt;br /&gt;
&lt;br /&gt;
Para la parte de detectar esquinas lo que realicé fue lo siguiente:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Convertir la imagen a escala de grises.&lt;/li&gt;
&lt;li&gt;Aplicar un filtro mediano, esto es recorrer la imagen, para cada pixel guardar sus vecinos en una lista incluyéndolo, ordenar la lista y tomar el pixel que se encuentre en el centro de la lista.&lt;/li&gt;
&lt;li&gt;Tomar la imagen en escala de grises y la que se le aplicó el filtro mediano y restar ambas imágenes, lo que da como resultado las esquinas de la imagen.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
Ya teniendo esto lo que hice fue utilizar bfs tomando como punto de partida cada una de las esquinas para obtener de esta manera los bordes de la imagen, ya que por obvias razones las esquinas están dentro de los bordes.&lt;br /&gt;
&lt;br /&gt;
Después busco cada coordenada de las esquinas en las coordenadas arrojadas por el bfs y calculo su ángulo, así como en la detección de líneas, para de esta manera conocer el orden en que se van a unir las líneas. Obteniendo los ángulos solo falta ordenar el arreglo para que siga el orden correcto.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Código:&lt;/h3&gt;
&lt;script src=&quot;https://gist.github.com/JonathanAlvarado/1b8968403787aee2e556.js&quot;&gt;&lt;/script&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;
&lt;h3&gt;
Imágenes:&lt;/h3&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0in;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKQncxrcDFpgA3nhFV9zFVRi_rKCJv3L0c75C3QfwyJOcWlE3ZVw_4-bFLZaOz9w1BtD3DO3QvBhPSyELhEQ0Fahb-PenD6VSaiE5xEMPuavjy_vgXWUaaiQQQ9oqq1JHtCGQ5oef6pGNW/s1600/prueba10.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKQncxrcDFpgA3nhFV9zFVRi_rKCJv3L0c75C3QfwyJOcWlE3ZVw_4-bFLZaOz9w1BtD3DO3QvBhPSyELhEQ0Fahb-PenD6VSaiE5xEMPuavjy_vgXWUaaiQQQ9oqq1JHtCGQ5oef6pGNW/s320/prueba10.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd6_1Jk8ZObGVhoqCAsqTbaHv41gboud1gErstdhvc1DvaKj5CHSe4SFrPhxII15IeJ86rKlA5dZn79hj5tr_wzyy-qXCj3oGHj42Sjigzj8gH2xVBSvTvBQOsb5yTdGk1OUhEhrGb4h7k/s1600/dots.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd6_1Jk8ZObGVhoqCAsqTbaHv41gboud1gErstdhvc1DvaKj5CHSe4SFrPhxII15IeJ86rKlA5dZn79hj5tr_wzyy-qXCj3oGHj42Sjigzj8gH2xVBSvTvBQOsb5yTdGk1OUhEhrGb4h7k/s320/dots.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0eMst8nTwrZcZRrO0kPCU7sCLRbahhL5tol9bIps4IMEgnTHiTnT1Yzxbxriw9eNVHbRqqjjssT5nYd_fU1ZGvZpoza6ReL4FJxqdYK2wbxryAs4zfZWR9PnOI7RlumuSN1UpQkI4xNrj/s1600/union1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0eMst8nTwrZcZRrO0kPCU7sCLRbahhL5tol9bIps4IMEgnTHiTnT1Yzxbxriw9eNVHbRqqjjssT5nYd_fU1ZGvZpoza6ReL4FJxqdYK2wbxryAs4zfZWR9PnOI7RlumuSN1UpQkI4xNrj/s320/union1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/273304769828379267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/05/deteccion-de-esquinas.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/273304769828379267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/273304769828379267'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/05/deteccion-de-esquinas.html' title='Deteccion de esquinas'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKQncxrcDFpgA3nhFV9zFVRi_rKCJv3L0c75C3QfwyJOcWlE3ZVw_4-bFLZaOz9w1BtD3DO3QvBhPSyELhEQ0Fahb-PenD6VSaiE5xEMPuavjy_vgXWUaaiQQQ9oqq1JHtCGQ5oef6pGNW/s72-c/prueba10.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-5090680355013450706</id><published>2013-05-09T07:32:00.002-07:00</published><updated>2013-05-09T07:48:35.480-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Teoría de la Información y métodos de codificación"/><title type='text'>Hamming code</title><content type='html'>&lt;br /&gt;&lt;br /&gt;The task for this week was to implement a block code of our choice for a binary channel and simulate a transmission through a noisy channel.&lt;br /&gt;&lt;br /&gt;Block codes are error-correcting codes designed to recover from one or more transmission error and allow determining what code word the message corresponds to even in the presence of errors.&lt;br /&gt;&lt;br /&gt;For this task I chose Hamming code. This error-correcting code encodes 4 bits of data into 7 bits using a specific matrix, this process add 3 parity bits; Hamming code can only correct errors of 1 bit and if it is an error in 2 bits this code just detect it but it doesn&#39;t correct it.&lt;br /&gt;&lt;br /&gt;I relied on the Encoding and Decoding with the Hamming Code pdf of the University of Wyoming and with numpy of python was easier.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;margin-bottom: 0in;&quot;&gt;
&lt;h3&gt;
Hamming Code&lt;/h3&gt;
&lt;/div&gt;
This block code uses the following matrix to encode:&lt;br /&gt;&lt;div style=&quot;margin-bottom: 0in;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxEFRkn_eXhH3CIYfy54SoYIhFx6BVpFsKaFIWjBcbcBCbNNNwXBdCgQ57nTRZlRjwP98EBhvUHMqiNNqM8t2HjrODdyp8WznqycDx81SaVa5Jxu7poIzJNfCZ8ggwFksJ36pBT3_ag6Vc/s1600/Screenshot+from+2013-05-09+09:19:57.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxEFRkn_eXhH3CIYfy54SoYIhFx6BVpFsKaFIWjBcbcBCbNNNwXBdCgQ57nTRZlRjwP98EBhvUHMqiNNqM8t2HjrODdyp8WznqycDx81SaVa5Jxu7poIzJNfCZ8ggwFksJ36pBT3_ag6Vc/s1600/Screenshot+from+2013-05-09+09:19:57.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;The result of the multiplication between the message and this matrix produces a vector of four bits.&lt;br /&gt;&lt;br /&gt;Now imagine this message is sent through a noisy channel. To check if the message has errors, first the received message (y) is transposed and multiplied, but now with the decode matrix.&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0in;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT5BK9PfxBAAWyCAs_2d1N7o3hOkYTqPKd0kaEZY5BosTBuLLqNeX5V81Y1C_NBO0ZNKFWth2yUz0Rknxt-tpzaD6NDjUF2b2ZcnnlUYGMb9EBARH0FDi3hyphenhyphenM1MZhUgpsEU9JcWmOE0xhS/s1600/Screenshot+from+2013-05-09+09:20:13.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT5BK9PfxBAAWyCAs_2d1N7o3hOkYTqPKd0kaEZY5BosTBuLLqNeX5V81Y1C_NBO0ZNKFWth2yUz0Rknxt-tpzaD6NDjUF2b2ZcnnlUYGMb9EBARH0FDi3hyphenhyphenM1MZhUgpsEU9JcWmOE0xhS/s1600/Screenshot+from+2013-05-09+09:20:13.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;&lt;br /&gt;The result of the multiplication between the message and this matrix produces a vector of three bits, if in the vector are just 0&#39;s that means that the message has no errors, but if the vector has 1&#39;s it tells us that has errors, but it is easy to detect the position of the bit with error because the resultant vector is a binary number and if we transform it we can know in which position is the error.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;
Test.&lt;/h3&gt;
The program ask for the total bits in the message (in this case is always 4), the total of repetitions that the program has to simulate the transmissions, the percentage of error (to simulate the noisy channel) and the number of bits that are going to have an error.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;margin-bottom: 0in;&quot;&gt;
&lt;h3&gt;
Images of the tests:&lt;/h3&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFd2nXAFGwfzpAuysBxdv3QiWqb5JLT7xT6rNkyKXOvHwLeUVsIHWpfE7cSevqoT-JLUkxktJN2fBiN1xWk0u1ZjTskvevV_wzYfGtWorQ2eY_c-sDkNaDYOS8QWeIuDt3ba4ZTG_2ls9Z/s1600/prueba1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;88&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFd2nXAFGwfzpAuysBxdv3QiWqb5JLT7xT6rNkyKXOvHwLeUVsIHWpfE7cSevqoT-JLUkxktJN2fBiN1xWk0u1ZjTskvevV_wzYfGtWorQ2eY_c-sDkNaDYOS8QWeIuDt3ba4ZTG_2ls9Z/s320/prueba1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSj745tJcPgJKP-Fi6YpOAJeZJYUzd1w_xxW3JJtCPAKx9lvbCzrnhNYf9Yy9syMdUoF5_UrSACZ1TylYUbkqKkcLsI6VgF_XmcXCFtAzeqMjm9P_EbipdZ9wbTsrr2HGdnMJ2Cltf0ko4/s1600/prueba2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;65&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSj745tJcPgJKP-Fi6YpOAJeZJYUzd1w_xxW3JJtCPAKx9lvbCzrnhNYf9Yy9syMdUoF5_UrSACZ1TylYUbkqKkcLsI6VgF_XmcXCFtAzeqMjm9P_EbipdZ9wbTsrr2HGdnMJ2Cltf0ko4/s320/prueba2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
As you can see I get better results when I test with a single bit error than when it has 2 bits with errors, thats because this block code just detect the errors but doesn&#39;t correct them when there are 2 bits with errors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Code:&lt;/h3&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/JonathanAlvarado/998bc587a62a2023e480.js&quot;&gt;&lt;/script&gt;

&lt;br /&gt;
&lt;h3&gt;
References.&lt;/h3&gt;
University of Wyoming, &quot;Encoding and Decoding with the Hamming Code&quot;, 2006,&amp;nbsp;&lt;a href=&quot;http://www.uwyo.edu/moorhouse/courses/4600/encoding.pdf&quot;&gt;http://www.uwyo.edu/moorhouse/courses/4600/encoding.pdf&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/5090680355013450706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/05/hamming-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/5090680355013450706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/5090680355013450706'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/05/hamming-code.html' title='Hamming code'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxEFRkn_eXhH3CIYfy54SoYIhFx6BVpFsKaFIWjBcbcBCbNNNwXBdCgQ57nTRZlRjwP98EBhvUHMqiNNqM8t2HjrODdyp8WznqycDx81SaVa5Jxu7poIzJNfCZ8ggwFksJ36pBT3_ag6Vc/s72-c/Screenshot+from+2013-05-09+09:19:57.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-5873210225999364669</id><published>2013-05-07T14:38:00.000-07:00</published><updated>2013-05-07T14:38:01.601-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Redes de telecomunicaciones"/><title type='text'>Satélites</title><content type='html'>&lt;iframe src=&quot;//infogr.am/Satlites-00626976&quot; width=&quot;550&quot; height=&quot;6017&quot; scrolling=&quot;no&quot; frameborder=&quot;0&quot; style=&quot;border:none;&quot;&gt;&lt;/iframe&gt;&lt;div style=&quot;width:550px;border-top:1px solid #acacac;padding-top:3px;font-family:Arial;font-size:10px;text-align:center;&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;//infogr.am/Satlites-00626976&quot; style=&quot;color:#acacac;text-decoration:none;&quot;&gt;Satélites
 Fuentes
&lt;/a&gt; | &lt;a style=&quot;color:#acacac;text-decoration:none;&quot; href=&quot;//infogr.am&quot; target=&quot;_blank&quot;&gt;Create infographics&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/5873210225999364669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/05/satelites.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/5873210225999364669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/5873210225999364669'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/05/satelites.html' title='Satélites'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-6611781944615866798</id><published>2013-05-07T11:02:00.000-07:00</published><updated>2013-05-07T14:44:16.539-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Redes de telecomunicaciones"/><title type='text'>Laboratorio.Seguridad en redes de telefonía</title><content type='html'>&lt;iframe frameborder=&quot;0&quot; height=&quot;3920&quot; scrolling=&quot;no&quot; src=&quot;//infogr.am/-712743713_1367903087&quot; style=&quot;border: none;&quot; width=&quot;550&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;div style=&quot;border-top: 1px solid #acacac; font-family: Arial; font-size: 10px; padding-top: 3px; text-align: center; width: 550px;&quot;&gt;
&lt;a href=&quot;http://infogr.am/-712743713_1367903087&quot; style=&quot;color: #acacac; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;Seguridad en redes de telefonía móvil.
 Principales redes de telefonía móvil
&lt;/a&gt; | &lt;a href=&quot;http://infogr.am/&quot; style=&quot;color: #acacac; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;Infographics&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/6611781944615866798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/05/seguridad-en-redes-de-telefonia.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/6611781944615866798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/6611781944615866798'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/05/seguridad-en-redes-de-telefonia.html' title='Laboratorio.Seguridad en redes de telefonía'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-1888886883605727991</id><published>2013-05-06T21:31:00.002-07:00</published><updated>2013-05-07T07:23:43.150-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Laboratorio Cómputo Ubicuo"/><title type='text'>Resumen.</title><content type='html'>Título del pdf:&amp;nbsp;&lt;b&gt;&lt;u&gt;&lt;a href=&quot;http://www.cs.indiana.edu/~connelly/Papers/B1_BeyondConsentChapter.pdf&quot;&gt;Beyond Consent: Privacy in Ubicomp&lt;/a&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
Autores:&amp;nbsp;&lt;u&gt;Jean Camp y Kay Connelly&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;br /&gt;&lt;/u&gt;
La computación ubicua, integra la tecnología en nuestros entornos cotidianos. La computación ubicua altera fundamentalmente la privacidad mediante la creación de flujos de datos detallados continuas.&amp;nbsp;&amp;nbsp;La combinación de una población vulnerable, cómputo integrado, y prácticas de privacidad inadecuada puede dar lugar a una tormenta perfecta digitales.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Con la computación ubicua la sociedad ya no es consciente de cuándo están interactuando con la red y la creación de registros de datos. Las consecuencias negativas de esto son claras. Sin embargo, la computación ubicua tiene un inmenso potencial para mejorar la vida, incluyendo la vida de las personas vulnerables que pueden aprovechar las capacidades de este tipo de cómputo para alcanzar o mantener la independencia y la autonomía personal. En este artículo los autores proponen que hay dos fuentes de preocupación por la privacidad: el riesgo a las concepciones individuales y personales de la vida privada.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
La protección de datos y las prácticas justas de información requieren un enfoque transaccional para la gestión de datos, donde los usuarios toman decisiones discretas sobre los flujos de datos que se integran. Ninguno de ellos es un enfoque adecuado para los innumerables problemas de privacidad en la computación ubicua.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Para implementar un diseño de valor es necesario comprender lo que la intimidad significa en el contexto del diseño. La protección de datos y las prácticas justas de información son ampliamente aceptados como los mecanismos por los que la privacidad puede protegerse en la práctica. Una evaluación popular es que cuando los datos son protegidos, la privacidad se ocupa de sí misma.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
La primera instancia de protección de la privacidad a través de prácticas de información cuidadosos se basa en el Código de las Prácticas Justas de la Información, el cual fue ofrecida por la Oficina de Evaluación de Tecnología en 1986 y es una base sobre la que se han construido subsiguientes prácticas de protección de datos. El Código (y los requisitos de protección de datos relacionados) tiene como núcleo la transparencia, el consentimiento y la corrección.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El uso del consentimiento implica que los datos se pueden borrar o corregirse cuando se desee por el sujeto. En el caso del cómputo ubicuo en el hogar hablando de cuidados a personas mayores,&amp;nbsp;los individuos pueden tratar de ocultar cualquier aumento en el deterioro mediante la supresión de los datos o el aumento de filtrado para el punto en el que los datos ya no son ilustrativos.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
La capacidad para modificar los datos, incluidos en el requisito de que los individuos se les permite asegurar que los datos son correctos, obviamente, tiene implicaciones distintas cuando los datos se almacenan localmente y el individuo no puede percibir datos correctos como estar en su propio interés. Además, la corrección y la interpretación de datos médicos puede requerir personal de quien existen otras preocupaciones sobre la privacidad.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
La privacidad es una forma de autonomía, porque una persona bajo vigilancia no es libre.&amp;nbsp;En los sistemas técnicos, la intimidad como la autonomía se suelen implementar como un fuerte anonimato. Sin embargo, en las instalaciones en las que hay proveedores de servicios médicos, familiares y proveedores de pagos médicos, el anonimato será inevitablemente limitada. Es evidente que con un botón de navegación que dice: &quot;¿Dónde está papá&quot; el padre no está buscando el anonimato de la vigilancia.&lt;br /&gt;
&lt;br /&gt;
La autonomía exige la capacidad de actuar libremente. Elementos de la autonomía incluyen la libertad de expresión y la libertad de religión, los cuales se practican en el hogar. Algunos datos, inevitablemente, proporcionan información religiosa, por ejemplo, es probable que siguiendo los preceptos del judaísmo ortodoxo del hogar que apaga todos sensores desde la puesta del sol del viernes hasta el ocaso del Sábado. Esto podría utilizarse para atacar a los residentes con los fraudes personalizados, o dirigirse a la casa por robo durante los oficios ortodoxos locales.&lt;br /&gt;
&lt;br /&gt;
La autonomía también requiere la intimidad en el derecho de asociación, y el derecho a leer anónimamente. El derecho de asociación está amenazado explícitamente por los sistemas de vigilancia en el hogar que detectan los visitantes, y los monitores de alerta para interacciones en las puertas del hogar. El monitoreo de la interacción en las puertas es fundamental en el cómputo ubicuo en hogares para hacer frente al riesgo de personas de edad avanzada, que sufren demencia, o personas simplemente confusas que pueden pasear de su casa a un considerable riesgo para sí mismos. También puede ser necesaria la supervisión de las entidades en la casa, ya que de otro modo los ancianos son dirigidos en estafas o fraudes.&lt;br /&gt;
&lt;br /&gt;
La privacidad puede ser un derecho de reclusión - &quot;el derecho a ser dejado solo&quot;. Un ambiente donde hay grabación de vídeo constante violaría el derecho a la reclusión, incluso cuando el sistema permite la preservación del anonimato; por ejemplo, en un cuarto de baño.&amp;nbsp;Sin embargo utilizar cómputo ubicuo puede ser necesario en un sistema de atención médica en el hogar, por ejemplo, el baño es un lugar común para las caídas.&lt;br /&gt;
&lt;br /&gt;
Diferentes tecnologías implementan diferentes conceptos de privacidad. Por ejemplo, el Sistema de Cero Conocimiento (Zero Knowledge System, ZKS) ,una empresa de servicios de privacidad que ofrece completa privacidad de información, incluso en los servidores de la propia empresa. ZKS ofrece autonomía a través de anonimato. ZKS requiere confianza sólo en la tecnología subyacente, mientras iPrivacy confianza concentrada en su empresa matriz. ZKS permitió a la gente a participar con seudónimos criptográficamente seguros. El enrutamiento Cebolla (Onion routing) como se aplica en Tor permite a las personas a obtener el anonimato limitado al ocultar la dirección IP de origen sin perjuicio de cualquier nodo de conocer el destino y el destino de cualquier nodo de conocer el autor. Las implicaciones de privacidad de un sensor en particular puede variar según la aplicación y el medio ambiente, con el diseñador y los temas trayendo sus propios matices a la comprensión de la vida privada.&lt;br /&gt;
&lt;br /&gt;
Aunque muchas investigaciones sobre la privacidad es aplicable a la computación ubicua y hay cerca de 150 tecnologías para una mayor privacidad en el mercado, así como decenas de innovaciones presentadas cada año al Taller de Tecnologías para mejorar la privacidad (Privacy Enhancing Technologies Workshop), ha habido muy poca actividad en examinar estas cuestiones en el contexto del cómputo ubicuo domiciliario para el cuidado de personas, en cuanto a la privacidad.&lt;br /&gt;
&lt;br /&gt;
La combinación de una población vulnerable, cómputo integrado, y los regímenes de privacidad inadecuada puede dar lugar a una tormenta digital perfecta. Un peligro obvio es el fraude financiero permitido por la combinación de los flujos de datos transfronterizos (legales o no) y las oportunidades financieras internacionales.&lt;br /&gt;
&lt;br /&gt;
Se prevé que el número de personas mayores de 65 años en los EE.UU. se duplique en el año 2030 a más de 69 millones, un aumento del 8% al 22% de la población de EE.UU. Esta información lleva muchas preguntas, por ejemplo, un anciano desearía revisar e interactuar con datos? ¿Preferirían diseños visibles o integrados (invisible)? o una persona mayor puede no querer ser monitoreada dentro y fuera de su dormitorio. El énfasis de protección de datos visibles puede no ser apropiado para el cómputo ubicuo en el hogar, ya que la gente puede llegar a cansarse de conscientemente interactuar con la tecnología en el día a día.&lt;br /&gt;
&lt;br /&gt;
Algunas de las soluciones para el cómputo ubicuo enfocadas a personas mayores se basan en la idea de que se puede utilizar para controlar los síntomas de las acciones en lugar de acciones y de esta manera no molestar demasiado la privacidad de la persona. Por ejemplo, una tasa de cambio en el ritmo cardiaco puede estar asociada con la deshidratación, infección, medicamento equivocado, sobredosis de medicación, o alguna forma de estrés. Un monitor de frecuencia cardiaca puede ser usado para medir este aspecto de una manera física. Un diseño puede colocar el monitor de frecuencia cardíaca en un control remoto de TV, que mide el un ritmo cardíaco de manera invisible cada vez que el anciano utilice el control remoto. Otro diseño puede colocar un monitor de frecuencia cardíaca en un botón que el anciano se le recuerda empujar todas las mañanas cuando le preparen el desayuno. El segundo diseño es visible, el primero es integrado.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h3&gt;
Conclusión&lt;/h3&gt;
&lt;/div&gt;
&lt;div&gt;
Llegamos a la conclusión de que no sólo hay un método de privacidad aplicable, sino también que el conocimiento de la tecnología y los riesgos para la privacidad es un requisito razonable para los diseñadores de cómputo ubicuo. La intimidad de la tecnología, la continuidad del flujo de datos y la invisibilidad del riesgo en cualquier sistema de computación ubicua limita la eficacia de la protección de datos y las prácticas de información justas. La protección de datos debe ser aumentada por métodos más fuertes y eficaces.&lt;br /&gt;
&lt;br /&gt;
Los autores aplican la privacidad en ejemplos con personas mayores y en sistemas en el hogar donde si la información no es bien cuidada puede resultar muy peligroso, estos sistemas desde su diseño deben de asegurarse que la información solicitada al usuario de alguna forma este encriptada y bien asegurada para que no caiga en manos de otras personas, además de que ninguna información solicitada por el sistema sea distribuida al menos que tengan el consentimiento del usuario.&lt;br /&gt;
&lt;br /&gt;
Muchos de estos sistemas involucran el uso de internet o de alguna otra red muchas veces para localizar personas o algún lugar como en el ejemplo del botón para encontrar a papá, esto representa un gran problema ya que hoy en día resulta muy fácil robar información que viaje por alguna red.&lt;br /&gt;
&lt;br /&gt;
Para mejorar estos sistemas no es sólo de integrar un conjunto de las mejores prácticas, sino también un proceso de diseño que se centre en el tema de la tecnología y su diseño.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;h3&gt;
Fuentes&lt;/h3&gt;
Jean Camp y  Kay Connelly, Beyond Consent: Privacy in Ubicomp. Indiana University Bloomington, IN. 2007.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/1888886883605727991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/05/resumen.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/1888886883605727991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/1888886883605727991'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/05/resumen.html' title='Resumen.'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-4352820676238276925</id><published>2013-04-30T13:09:00.002-07:00</published><updated>2013-04-30T13:32:19.135-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Redes de telecomunicaciones"/><title type='text'>Control de congestión</title><content type='html'>Para esta semana se nos pidió realizar un algoritmo de control de congestión, platicando con mis compañeros Alejandro Avendaño y Eduardo Triana comentamos que una forma sencilla sería medir la banda ancha del nodo al que llega el tráfico y si el tráfico que llega es mayor tomar alguna medida.&lt;br /&gt;
&lt;br /&gt;
Bueno lo que hice al igual que mis compañeros (creo) fue que cuando la banda o en este caso es un buffer pues resetear toda la transmisión de paquetes y así de esta manera evitar que se tiren los paquetes por no tener cupo en el enlace.&lt;br /&gt;
&lt;br /&gt;
En el código genero tráfico de manera exponencial y utilizó tres archivos distintos para tres ejemplos en este caso&lt;br /&gt;
&lt;br /&gt;
Después para obtener cuánto se está consumiendo del enlace o el total de paquetes que ya hay en la cola se hace con la siguiente instrucción:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;set bw0 [$sink0 set bytes_]&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Código&lt;br /&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/JonathanAlvarado/5491519.js&quot;&gt;&lt;/script&gt;

&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4P5g3DpAebKbgYLoBm48b72rqKl71oEpaCPlofHaueRq1Rd2o6TxL96aJQt9lfvij2BxCtZSk3CDtmzz5_9NwXLEmAqQSBJh0hqOPTi7VUiOs2re3y1nLm9eWwqyQ6ZJ8PksqgbOAo_uv/s1600/terminal.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;199&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4P5g3DpAebKbgYLoBm48b72rqKl71oEpaCPlofHaueRq1Rd2o6TxL96aJQt9lfvij2BxCtZSk3CDtmzz5_9NwXLEmAqQSBJh0hqOPTi7VUiOs2re3y1nLm9eWwqyQ6ZJ8PksqgbOAo_uv/s200/terminal.png&quot; width=&quot;200&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgegkoae-lgMu3chyphenhyphenu4Rz4FC0xbs6KZm2oh_Ml1laDh90K5Jd21Cy71QMR9z7sEAAG3gzMDLoCnUDxoMMq5I0Xks_G1IXMlTF14ZRzjFJ_f0Bthc35K0mmq6M9mSOntzMpvGDDZ06fRwEYt/s1600/grafica.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;253&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgegkoae-lgMu3chyphenhyphenu4Rz4FC0xbs6KZm2oh_Ml1laDh90K5Jd21Cy71QMR9z7sEAAG3gzMDLoCnUDxoMMq5I0Xks_G1IXMlTF14ZRzjFJ_f0Bthc35K0mmq6M9mSOntzMpvGDDZ06fRwEYt/s320/grafica.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Como se puede apreciar en la gráfica hay momentos donde se vuelve a realizar la transmisión (comienza desde 0), que es cuando hay congestión de tráfico.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/4352820676238276925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/04/control-de-congestion_30.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/4352820676238276925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/4352820676238276925'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/04/control-de-congestion_30.html' title='Control de congestión'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4P5g3DpAebKbgYLoBm48b72rqKl71oEpaCPlofHaueRq1Rd2o6TxL96aJQt9lfvij2BxCtZSk3CDtmzz5_9NwXLEmAqQSBJh0hqOPTi7VUiOs2re3y1nLm9eWwqyQ6ZJ8PksqgbOAo_uv/s72-c/terminal.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-355406902644165482</id><published>2013-04-29T09:07:00.004-07:00</published><updated>2013-04-30T06:51:03.459-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Laboratorio Cómputo Ubicuo"/><title type='text'>Laboratorio. Retroalimentación</title><content type='html'>En la clase anterior de Cómputo Ubicuo se mostraron pruebas de usabilidad en cada uno de los proyectos que se están desarrollando. Para esta entrega de laboratorio se nos pidió realizar una retroalimentación, dando sugerencias y/u opiniones para mejorar cada una de las propuestas.&lt;br /&gt;
&lt;br /&gt;
Esta es mi retroalimentación:&lt;br /&gt;
&lt;b&gt;_________________________________________________________________________________&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Alarma inteligente&lt;/b&gt;&lt;br /&gt;
Les faltó hacer pruebas en el alcance que tienen los sensores y también pruebas en la velocidad de respuesta cuando la alarma se activa y cuánto tarda en llegar la notificación al usuario.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;_________________________________________________________________________________&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Oficina inteligente&lt;/b&gt;&lt;br /&gt;
Faltó
 mencionar que tan rápido es el sistema porque mencionan la distancia de
 la lectura pero no dicen que tan rápido es en apagarse el sistema 
completo.&lt;br /&gt;
&lt;br /&gt;
Una prueba que les puede ser de mucha ayuda 
es probar el sistema bajo distinta iluminación más que nada les serviría
 para el seguimiento ocular.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;_________________________________________________________________________________&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Galería inteligente&lt;/b&gt;&lt;br /&gt;
Como aún no tienen el sensor integrado, hubiera sido bueno hacer pruebas con el sonido ya que sino se utilizan audífonos pues al ser un museo sería algo molesto el que estuviera muy fuerte el sonido o muy bajo que no se pueda escuchar.&lt;br /&gt;
&lt;br /&gt;
Otra prueba que les faltó es ir probando con distintos tipos de voces y de esta manera preguntar al usuario que le agrada más.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;_________________________________________________________________________________&lt;/b&gt; &lt;br /&gt;
&lt;b&gt;Despertador inteligente&lt;/b&gt;&lt;br /&gt;
En las pruebas que realizaron les faltó tomar en cuenta utilizar distintos tonos o música para despertar, así de esta manera podrían saber cuales les agradan más a las personas e incluir esos y no los que sean más molestos.&lt;br /&gt;
&lt;br /&gt;
También al darse cuenta que el tono era muy bajo, hubieran probado con distintas intensidades y de esta manera tomar la que sea agaradable y que también despierte al usuario más rápidamente. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;_________________________________________________________________________________&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Casa inteligente&lt;/b&gt;&lt;br /&gt;
Un aspecto que les faltó probar es la velocidad de la aplicación. También hubiera sido bueno que probarán con algunos usuarios que solamente les explicarán el concepto y ellos experimentaran con la aplicación y de esta forma saber si es intuitiva.&lt;br /&gt;
&lt;br /&gt;
Otro aspecto que no tomaron en cuenta fue mostrarle al usuario distintos colores en la interfaz para que ellos escogieran los más agradables&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;_________________________________________________________________________________&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Car NXP&lt;/b&gt;&lt;br /&gt;
Su presentación está muy completa, si acaso solamente les faltó probar la velocidad del sistema.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;_________________________________________________________________________________&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Garage inteligente&lt;/b&gt;&lt;br /&gt;
Aquí sólo les faltó preguntar a los usuarios con cual de los prototipos se sintieron más cómodos y también tomar en cuenta la seguridad que cada una las tecnologías provee.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;_________________________________________________________________________________&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Localizador de personas&lt;/b&gt;&lt;br /&gt;
Sólo faltaría probar qué tan rápida es la aplicación, así como pregunatles a los usuarios por sugerencias en la interfaz gráfica.</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/355406902644165482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/04/laboratorio-retroalimentacion.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/355406902644165482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/355406902644165482'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/04/laboratorio-retroalimentacion.html' title='Laboratorio. Retroalimentación'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-7006635739221658535</id><published>2013-04-28T15:45:00.001-07:00</published><updated>2013-04-30T14:25:25.665-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Redes de telecomunicaciones"/><title type='text'>Laboratorio. Ahorro de  energía </title><content type='html'>Para esta entrada de laboratorio de redes el objetivo es buscar y hablar un artículo sobre ahorro de energía en un sistema donde involucre una red de telecomunicaciones como componente fundamental.&lt;br /&gt;
&lt;br /&gt;
El &lt;a href=&quot;http://conferences.sigcomm.org/sigcomm/2009/workshops/presto/papers/p49.pdf&quot;&gt;artículo&lt;/a&gt; que escogí lleva como título:&amp;nbsp;Energy-Aware Performance Optimization for Next-Generation Green Network Equipment, los autores son:&amp;nbsp;Raffaele Bolla, Roberto Bruschi, Franco Davoli y Andrea&lt;br /&gt;
Ranieri.&lt;br /&gt;
&lt;br /&gt;
Además de una sensibilidad más amplia ante los problemas ecológicos, el interés por tecnologías en redes con eficiencia energética surge de necesidades económicas fuertes y críticas, ya que tanto el costo de energía y los requisitos eléctricos de la red muestran un crecimiento continuo, con una tendencia alarmante en los últimos años.&lt;br /&gt;
&lt;br /&gt;
El propósito de la investigación hecha por los autores consistió en explorar y evaluar la&amp;nbsp;factibilidad y el impacto de las políticas de administración de energía capaces de adaptarse bien un conjunto de arquitecturas altamente modulares,&amp;nbsp;generalmente utilizado para el desarrollo de equipos de red de hoy en día.&amp;nbsp;Las políticas propuestas por los autores tienen como objetivo la optimización del consumo de energía de cada componente del dispositivo con respecto a su rendimiento de red esperado.&lt;br /&gt;
&lt;br /&gt;
La eficiencia energética puede ser considerado como uno de los mayores retos en una gran parte de los campos industriales y de investigación. Surge de la necesidad de reducir los gastos relacionados con el funcionamiento, la fabricación y la energía de las empresas, las industrias, así como edificios residenciales, sin perder de vista en los objetivos de reducción de emisiones de gases de efecto invernadero. Centrándose en las redes de telecomunicaciones, se estima que producirá alrededor de 0,6% de las emisiones globales de CO2. Hoy en día, las infraestructuras de redes fijas y móviles tienen enormes y fuertemente crecientes necesidades en materia de energía eléctrica.&lt;br /&gt;
&lt;br /&gt;
Tomando en cuenta el consumo total de energía y las emisiones de CO2, el desafío específico de telecomunicaciones, fabricantes de equipos de red y la comunidad de investigación de redes consideran la introducción de criterios y tecnologías innovadoras, capaces de ahorrar energía, adaptando dinámicamente capacidades y recursos de la red para cargas de tráfico actuales y los requisitos.&lt;br /&gt;
&lt;br /&gt;
El enfoque de los autores parte de considerar los dos tipos principales de soporte de hardware de administración de energía, hoy disponibles en la mayor parte de los procesadores de COTS y en rápido desarrollo en otras tecnologías de hardware.&amp;nbsp;Estas tecnologías de administración de energía permiten reducir al mínimo el consumo de energía cuando no se realiza ninguna actividad, y modificar el equilibrio entre el rendimiento y la energía cuando el hardware está activo y realizando alguna operación.&lt;br /&gt;
&lt;br /&gt;
El objetivo de la investigación es reducir al mínimo el consumo de energía de un dispositivo de red, manteniendo al mismo tiempo un cierto nivel de rendimiento; por lo que para el experimento que realizaron hacen las siguientes suposiciones: el router está compuesta por componentes de hardware C, cada uno para administrar una cierta parte del tráfico global reenviado. Por otra parte, suponen que los componentes para cambiar de forma independiente en diferentes P estados, proporcionan un equilibrio diferente entre el rendimiento y el consumo de energía para cada elemento de HW. Por último, cada elemento se supone, obviamente, para aumentar su capacidad de reenvío máxima, cada que se selecciona que requiere un estado con más energía.&lt;br /&gt;
&lt;br /&gt;
A partir de esas consideraciones, dividieron un día en diferentes intervalos de tiempo, durante el cual las cargas de tráfico de enlace tienen un comportamiento estadístico casi similar. Durante cada segmento de tiempo, se piensa que el administrador de energía debe:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Estimar las características estadísticas del tráfico de entrada para cada componente del dispositivo.&lt;/li&gt;
&lt;li&gt;Adoptar una configuración de alimentación adecuada para cada elemento del dispositivo para optimizar el intercambio entre el desempeño esperado y el reenvío de desperdicio de energía.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
De esta manera, la configuración óptima global del dispositivo modular se logra mediante la forma óptima e individual que se fijan los valores de frecuencia de trabajo de cada componente.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Utilizaron una función de costo que representa el consumo total de energía del router, y que se puede expresar como la suma de los consumos de energía de los elementos individuales:&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJCeo_2Ir0ULMYTJtPZetYHnegBP2AwmbyXyTy_PtUwCTvbmYhnk-9Q3sdJv-mEpK1KbOQr_Wsaex4QRg06mWYpk0FnWPYjJcZ_k-d0CI2yZkxSZwDUs9y09w5z3FpXIl0DFYgBKz3unT3/s1600/costo.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJCeo_2Ir0ULMYTJtPZetYHnegBP2AwmbyXyTy_PtUwCTvbmYhnk-9Q3sdJv-mEpK1KbOQr_Wsaex4QRg06mWYpk0FnWPYjJcZ_k-d0CI2yZkxSZwDUs9y09w5z3FpXIl0DFYgBKz3unT3/s1600/costo.png&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;Función de costo. Imagen tomada del artículo.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Para encontrar la configuración óptima del router, se tiene que encontrar la matriz de frecuencia {f1,...fc}, que garantiza el valor mínimo de que respeta los límites de rendimiento.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
El enfoque de dividir un día en diferentes intervalos de tiempo, es con el fin de recoger y estimar por separado las cargas de tráfico, y para calcular una configuración óptima del router para cada uno de tales períodos de tiempo.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Las muestras de carga obtenidas se utilizan para estimar tres principales parámetros estadísticos:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20\lambda%20_{c}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white \lambda _{c}&quot; title=&quot;\bg_white \lambda _{c}&quot; /&gt;&lt;/a&gt;,&amp;nbsp;&amp;nbsp;el valor medio de la carga del tráfico ofrecido.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\sigma%20_{2}^{c}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white \sigma _{2}^{c}&quot; title=&quot;\sigma _{2}^{c}&quot; /&gt;&lt;/a&gt;, la varianza decarga del tráfico ofrecido.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20\pi%20_{c}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white \pi _{c}&quot; title=&quot;\bg_white \pi _{c}&quot; /&gt;&lt;/a&gt;,&amp;nbsp;el valor pico de la carga del tráfico ofrecido.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
Asumiendo que cada componente c puede trabajar a distintas frecuencia de reloj internas, se supone que cada uno aumente su capacidad de procesamiento de paquetes y su consumo de energía, cada que aumente los valores de la frecuencia de trabajo. También tomaron en cuenta el modo &quot;en espera&quot;, que permite reducir el consumo de energía cuando no se realiza ninguna actividad u operaciones. Por lo que se deben tomar en cuenta los siguientes parámetros para el router:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20\mu%20_{c}f_{c}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white \mu _{c}f_{c}&quot; title=&quot;\bg_white \mu _{c}f_{c}&quot; /&gt;&lt;/a&gt;,&amp;nbsp;la velocidad máxima de servicio cuando se trabaja a&amp;nbsp;&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20f_{c}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white f_{c}&quot; title=&quot;\bg_white f_{c}&quot; /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20\phi%20_{idle}(f_{c})&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white \phi _{idle}(f_{c})&quot; title=&quot;\bg_white \phi _{idle}(f_{c})&quot; /&gt;&lt;/a&gt;,&amp;nbsp;el consumo medio de energía cuando no hay actividad que se realiza en el interior del router cuando trabaja a&amp;nbsp;&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20f_{c}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white f_{c}&quot; title=&quot;\bg_white f_{c}&quot; /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20\phi%20_{active}(f_{c})&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white \phi _{active}(f_{c})&quot; title=&quot;\bg_white \phi _{active}(f_{c})&quot; /&gt;&lt;/a&gt;,&amp;nbsp;el consumo de energía promedio cuando el elemento del router c realiza una operación en la frecuencia&amp;nbsp;&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20f_{c}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white f_{c}&quot; title=&quot;\bg_white f_{c}&quot; /&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
La &quot;probabilidad inactivo&quot; &lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20P_{idle}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white P_{idle}&quot; title=&quot;\bg_white P_{idle}&quot; /&gt;&lt;/a&gt; corresponde a la probabilidad de que la unidad de procesamiento de paquetes del componente no se está ejecutando ninguna operación de reenvío, y 1 - &lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20P_{idle}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white P_{idle}&quot; title=&quot;\bg_white P_{idle}&quot; /&gt;&lt;/a&gt; es la probabilidad de que se llevan a cabo este tipo de operaciones.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
En particular, suponiendo que la unidad de procesamiento de paquetes en un componente puede ser modelado como un único sistema de gestión de colas de servidor, con buffer finito y distribuciones genéricas de hora de llegada/servicio, se puede expresar su probabilidad de inactividad de la siguiente manera:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRVuovrG9y1TedJn1F5jSdj9z1QNKDKpbCb_wPdtV1eFgEhCJ0PC4zUq0nJdJMwnsuNlpym4302GD6e8fKt-U3UO5cn9RB_K1OsSeG8BZIt6IpDcm25JPxhyphenhyphenTs1l6G79hXAddTk3RtFeXF/s1600/pidle.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRVuovrG9y1TedJn1F5jSdj9z1QNKDKpbCb_wPdtV1eFgEhCJ0PC4zUq0nJdJMwnsuNlpym4302GD6e8fKt-U3UO5cn9RB_K1OsSeG8BZIt6IpDcm25JPxhyphenhyphenTs1l6G79hXAddTk3RtFeXF/s1600/pidle.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Ya que no se puede obtener una expresión de forma cerrada para la probabilidad de pérdida de un sistema de colas genérico, se puede aproximar el límite inferior y superior:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIyrSVsFL5E1JtyvhH4kwLxyougNnWosgRhpz8x6IQz4Kfij8Ky3tNKT_lwVpzbehiZ0ihEtHgGsMEjlvYQAZBubNMUr2ejqrcmHq6utlU5xjrIxymEVeBcBXR738FFivQXKdX6eTnp6N6/s1600/pidle.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIyrSVsFL5E1JtyvhH4kwLxyougNnWosgRhpz8x6IQz4Kfij8Ky3tNKT_lwVpzbehiZ0ihEtHgGsMEjlvYQAZBubNMUr2ejqrcmHq6utlU5xjrIxymEVeBcBXR738FFivQXKdX6eTnp6N6/s1600/pidle.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
donde:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTMrlKFNthbbHkyknL9VRzHP1pP60gVNCcBlPXpN3m-QeSNgh736rI5_mAC7ZhnU9j0awiBZajlyKUNmZ8IK5szB2lVz22iJdhOuME1mImBYuOwkRwOdXHcnMHxvzz20aH0WDShxMhoDZS/s1600/pidle.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTMrlKFNthbbHkyknL9VRzHP1pP60gVNCcBlPXpN3m-QeSNgh736rI5_mAC7ZhnU9j0awiBZajlyKUNmZ8IK5szB2lVz22iJdhOuME1mImBYuOwkRwOdXHcnMHxvzz20aH0WDShxMhoDZS/s1600/pidle.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Con el fin de aplicar correctamente la política de optimización de cada componente, tenemos que conocer y estimar las características estadísticas de la cuota de tráfico entrante a ese elemento. La arquitectura del dispositivo en general y cómo el tráfico de intercambio de componentes entre sí se deben conocer. Esto porque si el plano de datos del dispositivo está compuesto por uno o más componentes que trabajan en serie, la probabilidad de pérdida de los primeros componentes de la cadena puede afectar a la &lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20\lambda%20_{c}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white \lambda _{c}&quot; title=&quot;\bg_white \lambda _{c}&quot; /&gt;&lt;/a&gt; de los últimos.&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;
Nuevos routers SW generación, basados ​​en procesadores multi-núcleo y hardware COTS, despliegan una arquitectura muy diferente con respecto a sus primos comerciales. Cada núcleo incluido en un router SW puede ser considerado como un componente independiente que procesa por completo una cierta parte del tráfico entrante (es decir, el tráfico de entrada desde las interfaces de red (NIC) delimitadas a ese núcleo). Un router SW puede ser pensado como un conjunto de núcleos de trabajo de una manera paralela y totalmente independiente. En tal caso, la &lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20\lambda%20_{c}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white \lambda _{c}&quot; title=&quot;\bg_white \lambda _{c}&quot; /&gt;&lt;/a&gt; de un componente no se verá afectado por otros, y no se necesita ningún procedimiento de optimización recursiva. Por lo tanto, se puede descomponer el problema de optimización de la siguiente manera:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZV1tGU3ht3T7OKF04rzLl5rLOku5RuvikjkYpFEvuyTjZJYvgZLD296HHkMpZ4Ie1o_WuUpPJmTclsi-6zQL_HliGo3r0nrg47c2v3CKYDo8Og0LB35bzNcT9FtXhdhYNiT1np7Imr92B/s1600/pidle.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZV1tGU3ht3T7OKF04rzLl5rLOku5RuvikjkYpFEvuyTjZJYvgZLD296HHkMpZ4Ie1o_WuUpPJmTclsi-6zQL_HliGo3r0nrg47c2v3CKYDo8Og0LB35bzNcT9FtXhdhYNiT1np7Imr92B/s1600/pidle.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Las nuevas generaciones de routers pueden aprovechar una mayor libertad de medida por cambiar dinámicamente los enlaces a los núcleos-NIC. Esto le da la oportunidad de distribuir entre los núcleos el tráfico de carga ofrecido, entrante de diferentes tarjetas de red y encontrar la configuración de energía más consciente. Gracias a todo esto se comprobó que&amp;nbsp;los consumos de energía mínimos dependen generalmente de las configuraciones en las que un mayor número de núcleos está activo a velocidades más bajas.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4CmdMhQwWapBKtm8Cn2M_XqWr2dIAPnvTHlGrxGmir_jpzEoTQh2znKgOU1-_HuYYzMak1zi2ZVCQ44MKnHJ5xctVmR-Rp72yVP5nMaPNy5mqYkVU6z3GV7IdA8gm6WXdC2KpOPNt7iT4/s1600/pidle.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;254&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4CmdMhQwWapBKtm8Cn2M_XqWr2dIAPnvTHlGrxGmir_jpzEoTQh2znKgOU1-_HuYYzMak1zi2ZVCQ44MKnHJ5xctVmR-Rp72yVP5nMaPNy5mqYkVU6z3GV7IdA8gm6WXdC2KpOPNt7iT4/s320/pidle.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Una mejora adicional para el procedimiento de optimización original, consiste en la adición de un control de bucle cerrado, que puede ser explotada para elevar los componentes de las frecuencias de funcionamiento en caso de un aumento inesperado de las cargas de tráfico entrantes suceda.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Esta mejora se realizó, simplemente al permitir que el modelo de tráfico para recoger datos sobre las pérdidas de paquetes en cada componente del dispositivo. Si la tasa de pérdida de uno o más componentes supera &lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20\rho%20_{c}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white \rho _{c}&quot; title=&quot;\bg_white \rho _{c}&quot; /&gt;&lt;/a&gt; para un determinado período de tiempo, el marco de optimización se invoca inmediatamente, y un nuevo y más conservador re-configuración de frecuencias de funcionamiento se realiza.&lt;br /&gt;
&lt;br /&gt;
El paso principal de todo procedimiento es la reducción al mínimo el consumo de energía de cada componente individual.&amp;nbsp;Con el fin de resolver el problema de minimización y de obtener la &lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20\phi_{c}(f_{c})&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white \phi_{c}(f_{c})&quot; title=&quot;\bg_white \phi_{c}(f_{c})&quot; /&gt;&lt;/a&gt; mínimo, se utiliza un enfoque de fuerza bruta en el subconjunto de valores de frecuencia que satisfacen la restricción probabilidad de pérdida. Sin embargo, ya que el número de frecuencias de trabajo &lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20\left%20|%20F_{c}%20\right%20|&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white \left | F_{c} \right |&quot; title=&quot;\bg_white \left | F_{c} \right |&quot; /&gt;&lt;/a&gt; es generalmente muy baja, y dado que el modelo propuesto se caracteriza por una muy baja complejidad computacional, encontrar el mínimo es factible incluso mediante la realización de una búsqueda por fuerza bruta.&lt;br /&gt;
&lt;br /&gt;
Los autores con el fin de validar y evaluar el desempeño de la propuesta de optimización energética, implementaron una aplicación de prototipo, que se ocupara de la gestión dinámica del intercambio entre el desempeño de la red y el consumo de energía.&lt;br /&gt;
&lt;br /&gt;
El Estimador de tráfico es responsable de la vigilancia continua y la toma de muestras de los registros de equipo con respecto a la carga de tráfico actual. Este módulo procesa la información recogida para la evaluación de&amp;nbsp;&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20\lambda%20_{c},%20\sigma%20_{2}^{c},\pi%20_{c}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white \lambda _{c}, \sigma _{2}^{c},\pi _{c}&quot; title=&quot;\bg_white \lambda _{c}, \sigma _{2}^{c},\pi _{c}&quot; /&gt;&lt;/a&gt; para cada segmento de tiempo en un día. El tiempo de muestreo promedio de registros de carga de tráfico es 30 segundos, mientras que los valores de &lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20\lambda%20_{c},%20\sigma%20_{2}^{c},\pi%20_{c}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white \lambda _{c}, \sigma _{2}^{c},\pi _{c}&quot; title=&quot;\bg_white \lambda _{c}, \sigma _{2}^{c},\pi _{c}&quot; /&gt;&lt;/a&gt; se vuelven a calcular cada 10 minutos.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Con más detalle, el marco de optimización se compone fundamentalmente por dos sub-módulos, &quot;Equipos&quot; y componentes &quot;modelos&quot;, que son utilizados iterativamente para obtener la configuración del dispositivo optimizado. A partir de la estimación de tráfico de carga ofrecida, el modelo de equipo es responsable de decidir los valores de candidatos de reloj de frecuencia &lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20f%20_{c},&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white f _{c},&quot; title=&quot;\bg_white f _{c},&quot; /&gt;&lt;/a&gt; y parámetros del tráfico estimado para cada núcleo.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_N0pfxUYAloLZTjzoXfQjWFtBBf_JsLBTgpuguDvICoVRyfbdSdcbc_grCcTVCw5vOxsWong68IkdK3sAxRe3cm7hjHMYrvTztiIOCJ1BGz6xKBdj-50z1BcqBa5YI2-JUpEu_tIUhluE/s1600/pidle.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;197&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_N0pfxUYAloLZTjzoXfQjWFtBBf_JsLBTgpuguDvICoVRyfbdSdcbc_grCcTVCw5vOxsWong68IkdK3sAxRe3cm7hjHMYrvTztiIOCJ1BGz6xKBdj-50z1BcqBa5YI2-JUpEu_tIUhluE/s320/pidle.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
A partir de los valores anteriores candidatos, C diferentes instancias del modelo de componentes se utilizan para estimar el consumo de energía promedio y la probabilidad de pérdida máxima para cada componente del dispositivo. Para todos los posibles enlaces entre núcleos y tarjetas de red, el modelo de equipo encuentra, la frecuencia de los valores de &lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20f_{1},...,f_{c}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white f_{1},...,f_{c}&quot; title=&quot;\bg_white f_{1},...,f_{c}&quot; /&gt;&lt;/a&gt; que minimiza el consumo de energía del dispositivo, respetando las limitaciones de rendimiento. Las frecuencias óptimas finales corresponderán a los que proporcionan el consumo de energía estimado más bajo.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
En el experimento que realizaron utilizaron routers de doble núcleo.Cada núcleo puede trabajar de forma independiente a cuatro frecuencias, 3.0, 2.667, 2.333 y 2.0 GHz.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyTLntwTTqV48nl5T5bwOoN57In3JJKK68gRMN5b8F1hjtPLg1xoJhyphenhyphen0Dlcz737YQjK_eHqp91AQ6X-R2aUJ8rZStRAyZeKnSRjDL1vIeOUaeYsUZKP-KF0XwkA5mPLa2o-acfa-yVntuX/s1600/pidle.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;293&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyTLntwTTqV48nl5T5bwOoN57In3JJKK68gRMN5b8F1hjtPLg1xoJhyphenhyphen0Dlcz737YQjK_eHqp91AQ6X-R2aUJ8rZStRAyZeKnSRjDL1vIeOUaeYsUZKP-KF0XwkA5mPLa2o-acfa-yVntuX/s320/pidle.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
El marco de optimización funciona en 144 segmentos de tiempo diario, cada uno con una duración igual a 10 minutos. La imagen siguiente muestra los valores medios, la desviación, de carga general del tráfico ofrecido a los enlaces de 4 Gigabit. La restricción de probabilidad de pérdida se fijó en 0,01%..&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiof48uMEDrvJ6mx-CbRck8rgK92bEvYmTyTAJo_firQCq705D7WW3-qj1QmEKw6QR0u9IKpz5dkn2o77bq7T2MN8xlbYHwYnu58fBDHotSiG7f3-ST28dOEy1NRbCFrisjPYw_asVQcsgV/s1600/pidle.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiof48uMEDrvJ6mx-CbRck8rgK92bEvYmTyTAJo_firQCq705D7WW3-qj1QmEKw6QR0u9IKpz5dkn2o77bq7T2MN8xlbYHwYnu58fBDHotSiG7f3-ST28dOEy1NRbCFrisjPYw_asVQcsgV/s1600/pidle.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
La siguiente gráfica describe que la propuesta permite reducir efectivamente el desperdicio de energía en general: tomando un día, se obtiene un consumo total de energía igual a 13,77 kW, mientras que sin optimización es de 16,69 KW. Por lo tanto, el ahorro de energía resultante es de aproximadamente 30% con sólo la optimización en la parte de inactividad.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqk_0nILQrm9pY21ECV7CwJ0S7SuHjMqZ0C35hwvQc4c0QtjsloFhI1TqInzqF569_zghNzuXaFKJPDB1yj_Am7zusn9d_AguOy_e2hfQ3rxLu6oYErV7b8VTo3EA05raSilUBRVzYrsbz/s1600/pidle.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqk_0nILQrm9pY21ECV7CwJ0S7SuHjMqZ0C35hwvQc4c0QtjsloFhI1TqInzqF569_zghNzuXaFKJPDB1yj_Am7zusn9d_AguOy_e2hfQ3rxLu6oYErV7b8VTo3EA05raSilUBRVzYrsbz/s320/pidle.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h3&gt;
Conclusión&lt;/h3&gt;
Como podemos ver es posible el reducir el consumo de energía en las redes de telecomunicaciones, en este caso utilizaron routers de doble núcleo pero es posible utilizarlo en cualquier tipo de router y red, tan sólo con hacer los cálculos adecuados y además implementar estados &quot;en espera&quot; donde la energía que se gaste sea mínima.&lt;br /&gt;
&lt;br /&gt;
Con este artículo y la última gráfica se muestra que si hay un cambio notable en el consumo de energía. Tal vez y algunos de estos mecanismos ya se encuentren implementados pero no creo que en todos lados existan y con esta energía ahorrada podría utilizarse como energía de reserva.&lt;br /&gt;
&lt;h3&gt;
Fuentes.&lt;/h3&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Artículo:&amp;nbsp;&lt;a href=&quot;http://conferences.sigcomm.org/sigcomm/2009/workshops/presto/papers/p49.pdf&quot;&gt;conferences.sigcomm.org&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/7006635739221658535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/04/laboratorio-ahorro-de-energia.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/7006635739221658535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/7006635739221658535'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/04/laboratorio-ahorro-de-energia.html' title='Laboratorio. Ahorro de  energía '/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJCeo_2Ir0ULMYTJtPZetYHnegBP2AwmbyXyTy_PtUwCTvbmYhnk-9Q3sdJv-mEpK1KbOQr_Wsaex4QRg06mWYpk0FnWPYjJcZ_k-d0CI2yZkxSZwDUs9y09w5z3FpXIl0DFYgBKz3unT3/s72-c/costo.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-1331368214716220610</id><published>2013-04-25T01:17:00.000-07:00</published><updated>2013-04-25T01:17:40.358-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Visión Computacional"/><title type='text'>Laboratorio 7. Histogramas laterales para detectar agujeros</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
Para esta entrada se trabajó con un preprocesamiento para detectar agujeros. Se trabajó con las intensidades de color de filas y columnas de una imagen.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Un agujero es un orificio de forma aproximadamente circular, esto quiere decir que cuando existe un agujero hay un cambio de intensidad de luz lo cual facilita detectar utilizando histogramas.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Los histogramas nos permiten reducir el espacio de búsqueda y encontrar donde existen los cambis de intensidad.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Para obtener el histograma horizontal basta con sumar los pixeles de las filas y para el histograma vertical se suman los pixeles de las columnas.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Por ejemplo de la siguiente imagen:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh17Ven5tvEmgw3j4vcKxRMYon12F7OsEYVOOdFdUzCsuwLqEUvCcQfQMXs2Ndh1lqIg7JPJD5GS5AYjgbx5gHUMHSKxF_D3-0Q94aZ_9uXE7dLo8Ob9L7SX3iCXsHe_M_NvhGXt0X5-PC6/s1600/prueba2.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh17Ven5tvEmgw3j4vcKxRMYon12F7OsEYVOOdFdUzCsuwLqEUvCcQfQMXs2Ndh1lqIg7JPJD5GS5AYjgbx5gHUMHSKxF_D3-0Q94aZ_9uXE7dLo8Ob9L7SX3iCXsHe_M_NvhGXt0X5-PC6/s1600/prueba2.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Se obtiene este histograma:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMmdf37JLMbBHXQb41FCsIxBk9hn_xyAGOVzyuAIDX6dXmBlB2THyUcJ-3HlG0gj3pS_fNzgL3RLtTC4hLIi85tENF1DSOcvqyHOKWs9Ux9ksyxQ4tkSKmH37Zz_DiP65MJZ7-5PBnRDkt/s1600/histograma1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;145&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMmdf37JLMbBHXQb41FCsIxBk9hn_xyAGOVzyuAIDX6dXmBlB2THyUcJ-3HlG0gj3pS_fNzgL3RLtTC4hLIi85tENF1DSOcvqyHOKWs9Ux9ksyxQ4tkSKmH37Zz_DiP65MJZ7-5PBnRDkt/s200/histograma1.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Después de obtener el histograma se tenía que dibujar en las imágenes líneas rectas para cada uno de los picos de cada histograma lateral.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Lo primera idea fue obtener un promedio para establecerlo como rango y todos los puntos que estuvieran debajo de ese rango serían los posibles agujeros pero lo que obtuve fue lo siguiente:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcdC1xda_98QkrkA74uG-4bAzLllzXXU7IM_OLOrWbNP8L84JmVrE67-XRolOTLJpEZwpZ122rBX2GeCpDI7TgM_P4Hj-k1e73co2A8xw8io8iPR1C1-782L6shYvUUgrirkiLD-C-8rTw/s1600/lineas.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcdC1xda_98QkrkA74uG-4bAzLllzXXU7IM_OLOrWbNP8L84JmVrE67-XRolOTLJpEZwpZ122rBX2GeCpDI7TgM_P4Hj-k1e73co2A8xw8io8iPR1C1-782L6shYvUUgrirkiLD-C-8rTw/s1600/lineas.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Como se puede apreciar son demasiadas líneas. Por lo que me puse a ver los histogramas y observé que para obtener un pico sólo es comparar el dato actual con el anterior y posterior, si el actual es menor que el anterior y menor que posterior quiere decir que es uno de los mínimos y ya con esto me trajo mejores resultados:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvyN9l70CSMc2-xEPkZFRrYJTDVPO3epsYef4y_BtlFJ5-FF_nanCdIDq9klqzLE34dXvDqslrAGfEbnsEiAsJX3pUa1Q48P0rU7ajvXBrzkNN3f2Eti99GRMfkZnOLLGOPoxStDnTFpkI/s1600/lineas.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvyN9l70CSMc2-xEPkZFRrYJTDVPO3epsYef4y_BtlFJ5-FF_nanCdIDq9klqzLE34dXvDqslrAGfEbnsEiAsJX3pUa1Q48P0rU7ajvXBrzkNN3f2Eti99GRMfkZnOLLGOPoxStDnTFpkI/s1600/lineas.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
Código&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/JonathanAlvarado/5440512.js&quot;&gt;&lt;/script&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h3&gt;
Más pruebas&lt;/h3&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiW1kYzYfA0ECZxSO1YEwclNSmH-4Avh6Mz9WjBK1tP-a3wsPLSR87q-BjGjv0sI4KxJWXAskfzmE1A3f8YsbC2As7VWX3SIcsnYCEjow8qFuzUu8ftPilQEvpJQQtQ_KPKfrJrO3E-V_9/s1600/agujero.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;100&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiW1kYzYfA0ECZxSO1YEwclNSmH-4Avh6Mz9WjBK1tP-a3wsPLSR87q-BjGjv0sI4KxJWXAskfzmE1A3f8YsbC2As7VWX3SIcsnYCEjow8qFuzUu8ftPilQEvpJQQtQ_KPKfrJrO3E-V_9/s200/agujero.jpg&quot; width=&quot;150&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFSC0OlLBiQ8_PEUnyZQFqzkTHhBHKzFwrXXWKTyCBQP3DxBdqo6fF77d9RBSOoHgHWZR_EKr8Nko2mu6Hgz5q9j0Hi98DlpCfsriJWVYKEHGHG4BeAf5qNfXGrItCag91rBasTpkHbCDM/s1600/histograma.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;106&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFSC0OlLBiQ8_PEUnyZQFqzkTHhBHKzFwrXXWKTyCBQP3DxBdqo6fF77d9RBSOoHgHWZR_EKr8Nko2mu6Hgz5q9j0Hi98DlpCfsriJWVYKEHGHG4BeAf5qNfXGrItCag91rBasTpkHbCDM/s200/histograma.png&quot; width=&quot;160&quot; /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6Pk25YAz06lcnMwgdEzm9xPaiTMTnGR5SvA1KGudo-amQf6Lz4qmf_wX4q_ArySQi6aew4tGBzrJkww9Jq_cb5SUuROjQT-lm5xhoysFRf9qAKqap7slq5cJJ_TaVTPTuZAXc881D5ZZN/s1600/lineas.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;100&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6Pk25YAz06lcnMwgdEzm9xPaiTMTnGR5SvA1KGudo-amQf6Lz4qmf_wX4q_ArySQi6aew4tGBzrJkww9Jq_cb5SUuROjQT-lm5xhoysFRf9qAKqap7slq5cJJ_TaVTPTuZAXc881D5ZZN/s200/lineas.png&quot; width=&quot;150&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQPtyEbBBgGoWRKNoaLcYKSilVEu2H3tlbhzZUB8s4D6YRwSrpHzINUGpxMrzthPkKSTp2EUJNqAfAh3GpaTtNZB-KNrodBOdqDO9Hebf4o65_ZiByWSy2lGS2E0xQazZTJZ2tZrT5OjyU/s1600/prueba3.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;82&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQPtyEbBBgGoWRKNoaLcYKSilVEu2H3tlbhzZUB8s4D6YRwSrpHzINUGpxMrzthPkKSTp2EUJNqAfAh3GpaTtNZB-KNrodBOdqDO9Hebf4o65_ZiByWSy2lGS2E0xQazZTJZ2tZrT5OjyU/s200/prueba3.jpg&quot; width=&quot;150&quot; /&gt;&amp;nbsp; &amp;nbsp;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUm-Z4gz_XYMcDRP2S21qLBhU_zZg0mZodqyXBcXwb9H-STZLZKQQWMqX2c04dUvX2CqXBGeakcNVYq3l40SBkZ1XKoE5WrrZAe3IRnf-ReOy6A46Uozaz0WSRiwPZU3SdWep0MOtjT1eC/s1600/histograma.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;95&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUm-Z4gz_XYMcDRP2S21qLBhU_zZg0mZodqyXBcXwb9H-STZLZKQQWMqX2c04dUvX2CqXBGeakcNVYq3l40SBkZ1XKoE5WrrZAe3IRnf-ReOy6A46Uozaz0WSRiwPZU3SdWep0MOtjT1eC/s200/histograma.png&quot; width=&quot;150&quot; /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl4H4NNgO9_hUD9YOp3Lr7cwrf47351Htf2Qe7S53pmpjcZj33I4AJuMkOPfdhICpvsdVFNZk10esCVXCXnbmL5r39PXjGkIR0imQZf8y90NPnafXmYoREhPUl3hik9Nq2EYzMisVzSHDT/s1600/lineas.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;82&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl4H4NNgO9_hUD9YOp3Lr7cwrf47351Htf2Qe7S53pmpjcZj33I4AJuMkOPfdhICpvsdVFNZk10esCVXCXnbmL5r39PXjGkIR0imQZf8y90NPnafXmYoREhPUl3hik9Nq2EYzMisVzSHDT/s200/lineas.png&quot; width=&quot;150&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/1331368214716220610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/04/laboratorio-7-histogramas-laterales.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/1331368214716220610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/1331368214716220610'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/04/laboratorio-7-histogramas-laterales.html' title='Laboratorio 7. Histogramas laterales para detectar agujeros'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh17Ven5tvEmgw3j4vcKxRMYon12F7OsEYVOOdFdUzCsuwLqEUvCcQfQMXs2Ndh1lqIg7JPJD5GS5AYjgbx5gHUMHSKxF_D3-0Q94aZ_9uXE7dLo8Ob9L7SX3iCXsHe_M_NvhGXt0X5-PC6/s72-c/prueba2.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-3102142480368031479</id><published>2013-04-25T00:35:00.000-07:00</published><updated>2013-04-25T01:17:22.232-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Teoría de la Información y métodos de codificación"/><title type='text'>Adaptive Coding</title><content type='html'>For this week&#39;s class information theory and coding methods, we were given the task of thinking, implement and evaluate our own adaptive coding method.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
An adaptive coding means that the program has no previous knowledge of the distribution of the symbols.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The method that I implement is very simple and dummy, that truth is that I don&#39;t understand very well how I have to do this. My method consists in given a file the program read it and takes the first 4 words, pass them to the encoder and for each letter of the words it creates a random code of 8 bits and looks in a table (dictionary) if it is not in this table is added, otherwise another code is created until it is not in the table. This is done until there is no words to encode, then the table and a counter of how many symbols are in the table, are added at the end of the file because it is needed to decompress it.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
To decompress the file first reads all the bin file (compressed file) ant takes the last byte that is the counter n. With this counter the program reads the last n lines and makes the table. After this is just look for every byte of the compressed file in the table and get the letter that corresponds it.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This almost works because from the compressed file the program gets the original text, but without spaces, this is a thing that I have to correct.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
Code.&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/JonathanAlvarado/5458046.js&quot;&gt;&lt;/script&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h3&gt;
Tests&lt;/h3&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD8uM-NLEApyVXEaFGEMApeojfieo6oqePECltkPjiijpwtVDiuawHhuUXEC8Gs4DZYH4YsCO94rBTWfBvsU275M0VZQXIa7XG-2v1RTDD0MYHZWkGw7WkVfTnPzaGhIkGQYfEq14lZMxJ/s1600/prueba1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;47&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD8uM-NLEApyVXEaFGEMApeojfieo6oqePECltkPjiijpwtVDiuawHhuUXEC8Gs4DZYH4YsCO94rBTWfBvsU275M0VZQXIa7XG-2v1RTDD0MYHZWkGw7WkVfTnPzaGhIkGQYfEq14lZMxJ/s200/prueba1.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKhQsumpn30G2FEi7ZPpihCgJ1s50Yn1gCmJ2m2cwY81KRQo_MKgv1ZURvSEXAS1sBxjs3YW4ldg9feIjAy2Q6Rc40GmAigZVAl-CjOr5jCNfcPVfgWAsGv5kA3N5VQkPeuGtfviC-3nmO/s1600/prueba2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;57&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKhQsumpn30G2FEi7ZPpihCgJ1s50Yn1gCmJ2m2cwY81KRQo_MKgv1ZURvSEXAS1sBxjs3YW4ldg9feIjAy2Q6Rc40GmAigZVAl-CjOr5jCNfcPVfgWAsGv5kA3N5VQkPeuGtfviC-3nmO/s200/prueba2.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD9-SbaOFi0BuCWWF9FAZoayi-zRI_OmH2I9f7Ke1xotvDcOZkUIJg9cy0f6pYkj5gsDmZgXfim1lhPDrEtbW3kw3yZZ45EZ-FfdrnByQHMMngpvrnNNRFHhPxcqE0-499hfVodWqVF_Na/s1600/prueba3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;51&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD9-SbaOFi0BuCWWF9FAZoayi-zRI_OmH2I9f7Ke1xotvDcOZkUIJg9cy0f6pYkj5gsDmZgXfim1lhPDrEtbW3kw3yZZ45EZ-FfdrnByQHMMngpvrnNNRFHhPxcqE0-499hfVodWqVF_Na/s200/prueba3.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see in the images, using a short text in the source file the program doesn&#39;t give a compressed file with less kb.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaWly4kTzseVPCfW2N9Wjxe4DLqxhyAUSNY1sR022ONGgqfCLELQXUoRNeXLHeKzikaDjbPnWJFmHh-aNZZVnlr_s4-i-l44cC1bAmzpGDRJ9ft7dBXvsJ4JD3VEpojv-B87XCCBJ-vwiW/s1600/prueba1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaWly4kTzseVPCfW2N9Wjxe4DLqxhyAUSNY1sR022ONGgqfCLELQXUoRNeXLHeKzikaDjbPnWJFmHh-aNZZVnlr_s4-i-l44cC1bAmzpGDRJ9ft7dBXvsJ4JD3VEpojv-B87XCCBJ-vwiW/s200/prueba1.png&quot; width=&quot;180&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje6mV3jLk4GKuw7x3zZkp4LQRjmQqtT_85AHfQamTsl2NoRKztUck3GGMr3R_IHz65-CkTCy8KdrPC8rVp-m8u4dCMWlJE3l3s143fZvW4DhCGVoGyR67Nnu2xIOwsI4u_Sv2BHLK3L84-/s1600/prueba2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;56&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje6mV3jLk4GKuw7x3zZkp4LQRjmQqtT_85AHfQamTsl2NoRKztUck3GGMr3R_IHz65-CkTCy8KdrPC8rVp-m8u4dCMWlJE3l3s143fZvW4DhCGVoGyR67Nnu2xIOwsI4u_Sv2BHLK3L84-/s200/prueba2.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcvkP0ftKQWiTIrZcbBvyj9LF4-tDIF2LGxV9IMJvFgZmuAX4HgD5SgUSxfJ0tzK0zRqs0juxIsexKB7mkaLfEllxU971V1aTIljXsJeCx6qWhO3_yXOWoPtXwuNLTOZAwoio0qyaPUDLF/s1600/prueba3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;121&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcvkP0ftKQWiTIrZcbBvyj9LF4-tDIF2LGxV9IMJvFgZmuAX4HgD5SgUSxfJ0tzK0zRqs0juxIsexKB7mkaLfEllxU971V1aTIljXsJeCx6qWhO3_yXOWoPtXwuNLTOZAwoio0qyaPUDLF/s200/prueba3.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
In this one test can be appreciated that using longer file the compressed file is smaller than the original.&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #666666; font-family: &#39;Trebuchet MS&#39;, Trebuchet, Verdana, sans-serif; font-size: 15px; line-height: 21px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
Size of the data obtained.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJOTlRk7rE_9z_4qzAe0jQJPTsodY-QNxosO-fga0diQtVtE0sGZTmuzl9DEA1e0Tkft6uI_fU4BiEkoqQVWvAS7SJKX14D6bovq5_38jRCx-brRrYic2_qV_S-RlqwBYgoelI9oa5BnW3/s1600/graph.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;232&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJOTlRk7rE_9z_4qzAe0jQJPTsodY-QNxosO-fga0diQtVtE0sGZTmuzl9DEA1e0Tkft6uI_fU4BiEkoqQVWvAS7SJKX14D6bovq5_38jRCx-brRrYic2_qV_S-RlqwBYgoelI9oa5BnW3/s320/graph.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Time taken to decompressed&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg93DAoC_a-ku8644l15Ha5j9di9QR4vnZVSJ-sz3b6AnyfWWrhO_aTF_ghxEVfc_baT4XBa3Kus10UIYlkeGdmx_-vpZ0qLMDitw8B7GScZ-DsuFdRwt_ea9FnUQqVwRPUzwd03b1t31cK/s1600/graf.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;234&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg93DAoC_a-ku8644l15Ha5j9di9QR4vnZVSJ-sz3b6AnyfWWrhO_aTF_ghxEVfc_baT4XBa3Kus10UIYlkeGdmx_-vpZ0qLMDitw8B7GScZ-DsuFdRwt_ea9FnUQqVwRPUzwd03b1t31cK/s320/graf.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/3102142480368031479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/04/for-this-weeks-class-information-theory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/3102142480368031479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/3102142480368031479'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/04/for-this-weeks-class-information-theory.html' title='Adaptive Coding'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD8uM-NLEApyVXEaFGEMApeojfieo6oqePECltkPjiijpwtVDiuawHhuUXEC8Gs4DZYH4YsCO94rBTWfBvsU275M0VZQXIa7XG-2v1RTDD0MYHZWkGw7WkVfTnPzaGhIkGQYfEq14lZMxJ/s72-c/prueba1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-1550943614087116085</id><published>2013-04-22T22:06:00.001-07:00</published><updated>2013-04-22T22:07:00.084-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Visión Computacional"/><title type='text'>Tarea 6. Detección de agujeros</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
Para esta entrada el objetivo es detectar la posición de agujeros en una imagen y cumplir con las siguientes especificaciones:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Los agujeros detectados se marcan con un borde morado oscuro y un&amp;nbsp;relleno de morado claro.&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Un tono ligeramente diferente en cada agujero.&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Se marca el centro de cada agujero con un punto amarillo.&lt;/li&gt;
&lt;li&gt;Al centro de cada agujero se agrega una etiqueta del ID del agujero.&lt;/li&gt;
&lt;li&gt;El programa imprime un listado que indica para cada ID el tamaño del&amp;nbsp;agujero (como porcentajes del tamaño de la imágen).&lt;/li&gt;
&lt;/ul&gt;
Un agujero es un orificio de forma aproximadamente circular, esto quiere decir que cuando existe un agujero hay un cambio de intensidad de luz lo cual facilita detectar utilizando histogramas.&lt;br /&gt;
&lt;br /&gt;
Los histogramas nos permiten reducir el espacio de búsqueda y encontrar donde existen los cambis de intensidad.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Los histogramas nos sirven como preprocesamiento, para más información en la entrada de &lt;a href=&quot;http://programacionits.blogspot.mx/2013/04/laboratorio-7-histogramas-laterales.html&quot;&gt;laboratorio&lt;/a&gt; de esta semana se realizó este procesamiento.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Utilizando el código de la entrada de laboratorio, lo siguiente fue buscar las intersecciones de las líneas por lo que modifiqué un poco la función donde obtengo las coordenadas de los posibles agujeros utilizando cada histograma por separado y lo que hice fue manejar los dos histogramas juntos y de esta manera marcar solamente las intersecciones:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_YswX0jUUTS_X9t5S8JBy__gyva5iFLbyo5SNZqHBvIqKnDO_AROuX51X21iJCcUS8Apm5eW_fK-ROmX_uwzSRA4WQGIzVtLTwBt32FI6tXdYJJKPZVI7hmlSbNZzUL3-M-xPhX8d5g1W/s1600/lineas.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;160&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_YswX0jUUTS_X9t5S8JBy__gyva5iFLbyo5SNZqHBvIqKnDO_AROuX51X21iJCcUS8Apm5eW_fK-ROmX_uwzSRA4WQGIzVtLTwBt32FI6tXdYJJKPZVI7hmlSbNZzUL3-M-xPhX8d5g1W/s200/lineas.png&quot; width=&quot;109&quot; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy6h2TrH835OYC9QvMoxD65_NHypgK9qDla0YFw14GSEC61qZd-8xzPJbuJsf-YCPzdg3-k4_N0z0oea9kIrFFQ-rYVuCQBbxk_7FyItP0iNmlgq4K8XZ8NX5JVQJD6iEgRRa3gl1rT90Z/s1600/inter.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;160&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy6h2TrH835OYC9QvMoxD65_NHypgK9qDla0YFw14GSEC61qZd-8xzPJbuJsf-YCPzdg3-k4_N0z0oea9kIrFFQ-rYVuCQBbxk_7FyItP0iNmlgq4K8XZ8NX5JVQJD6iEgRRa3gl1rT90Z/s200/inter.png&quot; width=&quot;109&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Conociendo las intersecciones, después binarizé la imagen para de esta manera utilizando bfs conocer las posiciones de los agujeros y descartar aquellos que en realidad no fueran agujeros ya que los agujeros permanecía generalmente en color negro y fué más sencillo buscar las coordenadas de esta manera. Con bfs también me fue posible determinar el tamaño de cada agujero con respecto a la imagen.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Ya por último solamente fue dibujar sobre la imagen el centro, colorear el círculo y etiquetarlo:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgblCeNFvV4USbAZFNQH9rLCECWNYazGVN8VFKBpIuSrq67PtS6WduWmYBZGGaLQvsyTp1COYIRuMxuavdLE4oagTMdUwK8RIoAq-NCPlLhngmgx2ZompYPO2h3gudN1tEqsCPUlkXbe4PX/s1600/agujeros.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgblCeNFvV4USbAZFNQH9rLCECWNYazGVN8VFKBpIuSrq67PtS6WduWmYBZGGaLQvsyTp1COYIRuMxuavdLE4oagTMdUwK8RIoAq-NCPlLhngmgx2ZompYPO2h3gudN1tEqsCPUlkXbe4PX/s200/agujeros.png&quot; width=&quot;149&quot; /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmax6y7kf8CqJrpGncY4UkTdjtwiOVhyJI-esPeU6ja5cjs3SLBqO6cM66Ma42Tv9Ylzg8igG5oKQ2MyNSP0vwxNdFKIb7cJ6GYk8btKA01heTDk84VlMoGL8Gewsdnnk0Ja_nnHwdFWrg/s1600/screen.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;45&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmax6y7kf8CqJrpGncY4UkTdjtwiOVhyJI-esPeU6ja5cjs3SLBqO6cM66Ma42Tv9Ylzg8igG5oKQ2MyNSP0vwxNdFKIb7cJ6GYk8btKA01heTDk84VlMoGL8Gewsdnnk0Ja_nnHwdFWrg/s400/screen.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
Código&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/JonathanAlvarado/5440897.js&quot;&gt;&lt;/script&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4&gt;
Pruebas&lt;/h4&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN0odXGSpEUsGbKVxFDlL18LvTPboTrJ5hLukAMPAFYGH73wIkKKWvmZa_6zRvPCBe0v81dbWR68N-hapA_hpVoBfsqXOcHzGxkA7pzKPSHoxeXkymdg5WUSgVCuMGq3ajcQv0vjr8diLX/s1600/agujero.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;110&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN0odXGSpEUsGbKVxFDlL18LvTPboTrJ5hLukAMPAFYGH73wIkKKWvmZa_6zRvPCBe0v81dbWR68N-hapA_hpVoBfsqXOcHzGxkA7pzKPSHoxeXkymdg5WUSgVCuMGq3ajcQv0vjr8diLX/s200/agujero.jpg&quot; width=&quot;160&quot; /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-efWKlBUQ8txAO8MfhOndu_4BNvkJm_jZVb6MJtw2PcSEBsyuMiU6X2Hdnv6qbvur22M3Onmbaa3aroW-D6nYbfQfYTNYGj7bhD-wh9OnS2XNtW4P9x32FJQQsrqTkqFB9jotJRqONoJ8/s1600/agujeros.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;110&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-efWKlBUQ8txAO8MfhOndu_4BNvkJm_jZVb6MJtw2PcSEBsyuMiU6X2Hdnv6qbvur22M3Onmbaa3aroW-D6nYbfQfYTNYGj7bhD-wh9OnS2XNtW4P9x32FJQQsrqTkqFB9jotJRqONoJ8/s200/agujeros.png&quot; width=&quot;160&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMtAn4YvuoMqpGlB2YrHjdinOhOgEFgrfSr6-f7tpbsxlO1eErXf1_r6FnSqcSoUEjEtILSaxyt1DXiQoobUs3Mmej6W2K_fYxK8X3OdSOO1WWRA2ZnJqO1Yarn51nShX7msGAhrai5Dbs/s1600/screen.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;148&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMtAn4YvuoMqpGlB2YrHjdinOhOgEFgrfSr6-f7tpbsxlO1eErXf1_r6FnSqcSoUEjEtILSaxyt1DXiQoobUs3Mmej6W2K_fYxK8X3OdSOO1WWRA2ZnJqO1Yarn51nShX7msGAhrai5Dbs/s400/screen.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQI0T_fR4OGtqvPMTL9_tTWQSbndrQXBYM_FNrbvJnZ_ztQGneVrVv70Yd-f0OOaHvJIuPANSMGOm8EzkDQv-vN34402yqLN1rpUaRyWLN9YYDtb2c1iHqjKJbxa81wJuP-br__2gEcN7f/s1600/prueba5.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQI0T_fR4OGtqvPMTL9_tTWQSbndrQXBYM_FNrbvJnZ_ztQGneVrVv70Yd-f0OOaHvJIuPANSMGOm8EzkDQv-vN34402yqLN1rpUaRyWLN9YYDtb2c1iHqjKJbxa81wJuP-br__2gEcN7f/s200/prueba5.jpg&quot; width=&quot;150&quot; /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW9yYZgbGkBlfDNlY-MD1SvDYu9vUokAL2Z86UaDbsNdkncv3XboPFmLxJsporbYcHsXtJPeR500fePmvxDpL_D0jS3SI43KPhGncBLdm6cwijCaqdeRaymKxwrZ4YuwdHDFXTNjPQTI5L/s1600/agujeros.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW9yYZgbGkBlfDNlY-MD1SvDYu9vUokAL2Z86UaDbsNdkncv3XboPFmLxJsporbYcHsXtJPeR500fePmvxDpL_D0jS3SI43KPhGncBLdm6cwijCaqdeRaymKxwrZ4YuwdHDFXTNjPQTI5L/s200/agujeros.png&quot; width=&quot;150&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh79GlNEej5VpHq7gs30fhhwsyxZzaUzFddBH-_niB2LsznAkfFmM51OAdmKYJahXZXwobFy_9rcSA-Kq2BCgz95DE_OAWS0EUQe9kdMDJcuvE3VHtvo00u8jJgYU_v_7q_SDUkgEtu7lgR/s1600/screen.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;43&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh79GlNEej5VpHq7gs30fhhwsyxZzaUzFddBH-_niB2LsznAkfFmM51OAdmKYJahXZXwobFy_9rcSA-Kq2BCgz95DE_OAWS0EUQe9kdMDJcuvE3VHtvo00u8jJgYU_v_7q_SDUkgEtu7lgR/s400/screen.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6uFFZz0SY2muD-vkUOAGReKyWV8NPul1zXPjvwjoJUT-rtm1SexyWz6TShXbug8cAMwSD1d-cH1e9oodyVnct_lG0vSMq88xlRjP31PSLlDaQN9duRL95tctPuKcooZtR4wUzPG2viuKt/s1600/prueba1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;103&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6uFFZz0SY2muD-vkUOAGReKyWV8NPul1zXPjvwjoJUT-rtm1SexyWz6TShXbug8cAMwSD1d-cH1e9oodyVnct_lG0vSMq88xlRjP31PSLlDaQN9duRL95tctPuKcooZtR4wUzPG2viuKt/s200/prueba1.jpg&quot; width=&quot;170&quot; /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAa8ooQt7ZwZx3hNsImSCunTBJK3Crm2eaBfUM4qQmrqcyeMoJNSBrZ70x3JCxxbViiwj1bcJzzpywtx64KkknNE632wmJy-lkilznNWj7u0SLdHt4JJFc5uqGrBZVegjOXnnJY8KCj05s/s1600/agujeros.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;103&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAa8ooQt7ZwZx3hNsImSCunTBJK3Crm2eaBfUM4qQmrqcyeMoJNSBrZ70x3JCxxbViiwj1bcJzzpywtx64KkknNE632wmJy-lkilznNWj7u0SLdHt4JJFc5uqGrBZVegjOXnnJY8KCj05s/s200/agujeros.png&quot; width=&quot;170&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7h02bfMi1oUC-1CXOhkVgHjcvQb6RcehELs9TqsTajefYNS9o2eVgURJt0DA0MA7GG9F9ZRzWmU55FCGQJAMpxiWLggvfOTAfaO_KrvDI_VPO-31vN8WNOVA3e0Lf_4JpKHtpr2fUeZE4/s1600/screen.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;53&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7h02bfMi1oUC-1CXOhkVgHjcvQb6RcehELs9TqsTajefYNS9o2eVgURJt0DA0MA7GG9F9ZRzWmU55FCGQJAMpxiWLggvfOTAfaO_KrvDI_VPO-31vN8WNOVA3e0Lf_4JpKHtpr2fUeZE4/s400/screen.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/1550943614087116085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/04/tarea-6-deteccion-de-agujeros.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/1550943614087116085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/1550943614087116085'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/04/tarea-6-deteccion-de-agujeros.html' title='Tarea 6. Detección de agujeros'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_YswX0jUUTS_X9t5S8JBy__gyva5iFLbyo5SNZqHBvIqKnDO_AROuX51X21iJCcUS8Apm5eW_fK-ROmX_uwzSRA4WQGIzVtLTwBt32FI6tXdYJJKPZVI7hmlSbNZzUL3-M-xPhX8d5g1W/s72-c/lineas.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-8348925489472415576</id><published>2013-04-21T22:57:00.000-07:00</published><updated>2013-04-22T09:07:37.779-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Redes de telecomunicaciones"/><title type='text'>Laboratorio. Mecanismos de control de congestión</title><content type='html'>Para esta entrega se nos pidió buscar un artículo académico sobre mecanismos de control de congestión en TCP/IP, video streaming, VoIP o algún otro protocolo. Yo encontré este &lt;a href=&quot;http://arxiv.org/pdf/cs.NI/9809085.pdf&quot;&gt;artículo&lt;/a&gt;: Congestion Control and Traffic Management in ATM Networks: Recent Advances and A Survey, realizado por Raj Jain.&lt;br /&gt;
&lt;br /&gt;
Para comprender un poco mejor el Modo de Transferencia Asíncrona o Asynchronous Transfer Mode (ATM) es una tecnología de telecomunicación desarrollada para hacer frente a la gran demanda de capacidad de transmisión para servicios y aplicaciones.[&lt;a href=&quot;http://es.wikipedia.org/wiki/Asynchronous_Transfer_Mode&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Wikipedia&lt;/span&gt;&lt;/a&gt;].&lt;br /&gt;
&lt;br /&gt;
Este artículo fue realizado en 1996 por lo que mucho de lo que voy a mencionar puede que ya esté realizado o implementado pero es interesante conocer como las personas ya preveían un mundo como el que tenemos ahora.&lt;br /&gt;
&lt;br /&gt;
Se esperaba que las futuras redes de alta velocidad para utilizar el modo de transferencia asíncrono ATM en el que se transmite la información a través de celdas de tamaño corto las cuales constan de 48 bytes de carga útil y 5 bytes de cabecera. El tamaño fijo de las celdas reduce la varianza de retardo haciendo las redes adecuadas para el tráfico integrado que consta de voz, vídeo y datos. La gestión adecuada del tráfico ayuda a garantizar un funcionamiento eficiente y equitativo de las redes, a pesar de la constante demanda variable. Esto es particularmente importante para el tráfico de datos que tiene muy poca previsibilidad y, por lo tanto, no se puede reservar recursos de antemano como en el caso de las redes de telecomunicaciones de voz.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
La gestión del tráfico se ocupa de garantizar que los usuarios obtienen la calidad de servicio que desean. El problema es especialmente difícil durante los períodos de carga pesada sobre todo si las demandas de tráfico no se puede predecir de antemano.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Control de congestión es fundamental tanto en redes no ATM y ATM. Cuando dos ráfagas de tráfico llegan simultáneamente en un nodo, la cola llega a crecer muy rápido lo que resulta en un desbordamiento del búfer.&lt;br /&gt;
&lt;br /&gt;
Las redes ATM son orientadas a la conexión, en el sentido de que antes de que dos sistemas puedan comunicarse, deben informar a todos los switches intermedios acerca de sus necesidades de servicio y parámetros del tráfico. Las conexiones permiten a la red garantizar calidad del servicio al limitar el número de circuitos virtuales (por donde viajará la información). Por lo general, el usuario declara requisitos de servicio clave en el momento que se establece la conexión, declara los parámetros de tráfico y puede estar de acuerdo con el control de estos parámetros de forma dinámica a medida tal como lo pide la red.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Para una conexión en redes ATM, los usuarios pueden especificar los siguientes parámetros relacionados con las características de tráfico de entrada y de la calidad de servicio que desean:&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Peak Cell Rate (PCR): La velocidad máxima instantánea en la que el usuario se transmitir.&lt;/li&gt;
&lt;li&gt;Sustained Cell Rate (SCR): velocidad promedio durante un largo intervalo.&lt;/li&gt;
&lt;li&gt;Cell lost rate (CLR): El porcentaje de celdas que se pierden en la red debido a un error y la congestión y no se entrega al destino.&amp;nbsp;Cada celda tiene un bit en su cabecera el cual dice la prioridad de pérdida de celda (CLP). Durante una congestión, la red pierde primero las células que tienen el bit CLP.&lt;/li&gt;
&lt;li&gt;Cell Transfer Delay (CTD): &amp;nbsp;es el retraso experimentado por una celda entre la entrada de la red y los puntos de salida.&lt;/li&gt;
&lt;li&gt;Cell Delay Variation (CDV):&amp;nbsp;Alta variación implica búfer mayor para el tráfico sensible al retardo, como voz y vídeo.&lt;/li&gt;
&lt;li&gt;Cell Delay Variation Tolerance (CDVT)  and Burst Tolerance (BT): para las fuentes de transmisión, de cualquier velocidad, se permite una ligera variación en el tiempo entre las celdas.&lt;/li&gt;
&lt;li&gt;Maximum Burst Size (MBS): El número máximo de celdas de respaldo que se pueden enviar cuando hay un pico de velocidad, pero sin violar la velocidad de celdas promedio.&lt;/li&gt;
&lt;li&gt;Minimum Cell Rate  (MCR) : Es la velocidad mínima deseada por el usuario.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;h4&gt;
Métodos de control de congestión.&lt;/h4&gt;
Una congestión sucede siempre que la velocidad de entrada es mayor que la capacidad de enlace disponible.&amp;nbsp;La mayoría de los sistemas de control de la congestión consisten en ajustar las tasas de entrada para que coincida con la capacidad del enlace.&lt;br /&gt;
&lt;br /&gt;
El mejor método para las redes que están casi siempre congestionadas es instalar conexiones de mayor velocidad y rediseñar la topología para que coincida con el patrón de la demanda.&lt;br /&gt;
&lt;br /&gt;
Para redes con congestión esporádica, un método consiste en enrutar por nivel de carga de enlaces y en rechazar nuevas conexiones si todos los caminos están altamente cargados. Esto se conoce como conexión de control de admisión &quot;CAC&quot;.&lt;br /&gt;
&lt;br /&gt;
Para redes donde la congestión tiene una duración menor que la conexión, un esquema punto a punto puede ser utilizado.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
GCRA.&lt;/h4&gt;
Uno de los algoritmos utilizados para ajustar la velocidad de entrada es el&amp;nbsp;GCRA (Generalized Cell Rate Algorithm). Lo que hace este algoritmo es poner en un &quot;cubo&quot;y lo va vaciando a una velocidad establecida. Las celdas que no caben o no son admitidas en este cubo y cuando con admitidas el bit CLP es cambiado para que en caso de que se llene el cubo, éstas serán las primeras en ser retiradas.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Retroalimentación.&lt;/h4&gt;
La tarjeta de interfaz de red que utilizaban en este tipo de redes permite dos tipos de retroalimentación:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;GFC (Generalized Flow Control)&lt;/li&gt;
&lt;li&gt;EFCT (Explicit Forward Congestion Indication)&lt;/li&gt;
&lt;/ul&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ4QgeaabRpzuI-Nw7L-WxpZ9fpUFNc6maZUiPSJYNNBQyeFiNUGcWTK0GHU20hEsOF2-4D-ticHcjYhi5QRqH3AfMlsOPVUKdZS_G9nKebJ0GtC_1CXchAivRgBBEqMJxjNA0JNmZ-9zN/s1600/encabezado.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;55&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ4QgeaabRpzuI-Nw7L-WxpZ9fpUFNc6maZUiPSJYNNBQyeFiNUGcWTK0GHU20hEsOF2-4D-ticHcjYhi5QRqH3AfMlsOPVUKdZS_G9nKebJ0GtC_1CXchAivRgBBEqMJxjNA0JNmZ-9zN/s320/encabezado.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Cabecera de una celda ATM&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Los switches utilizan el bit que indica el tipo de payload para convertir la información a una forma binaria. Cuando el primer bit de este campo es 0, el segundo bit es tratado como una indicación de que podrá ocurrir una congestión. Los destinos pueden monitorear los bits EFCT y avisar a las fuentes de aumentar o reducir su velocidad de envío.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Escalabilidad.&lt;/h4&gt;
Como las redes ATM fueron creadas para cubrir grandes cantidades de nodos y distintos tipos de velocidad, es necesesario que utilizen un esquema que no se encuentre limitado a solo un rango de velocidad, número de switches o a un número de switches. Esto para asegurar que estas redes puedan utilizarse tanto para WAN&#39;s como para LAN&#39;s.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Optimización.&lt;/h4&gt;
En un ambiente donde se comparte este tipo de red el throughput de una fuente depende de de lo que demanden otras fuentes. El criterio más común para compartir correctamente el ancho de banda se utiliza el método conocido como &quot;max-min allocation&quot;, lo que hace este método es asignar el mayor ancho de banda posible a la fuente que está recibiendo la menor cantidad de banda.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Robustez.&lt;/h4&gt;
El esquema que utiliza este tipo de redes no es sensible a desviaciones, por ejemplo algún cambio o mal parámetro o pérdida de paquetes no provocaría que la red se cayera.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Delay Based Rate Control.&lt;/h4&gt;
Este método requiere que las fuentes monitoreen el retardo de ida y vuelta, enviando periódicamente celdas de gestión de recursos (RM) que contienen una marca de tiempo (timestamp). Las celdas son devueltas por &amp;nbsp;el destinatario y la fuente utiliza la marca de tiempo para medir el retardo de ida y vuelta y con esto deducir el nivel de congestión.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Backward Explicit Congestion Notification (BECN).&lt;/h4&gt;
Este método consiste en switches monitoreando la longitud de su cola y envían una celda RM de vuelta a la fuente si está congestionado. Las fuentes reducen sus tasas de velocidad por la mitad si al recibir la celda está muestra que está congestionado. Si no se reciben celdas BECN dentro de un período de recuperación, la tasa de circuitos virtuales se duplica una vez cada período hasta que se alcanza la tasa máxima.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Fair queueing.&lt;/h4&gt;
Cada switch implementa espera equitativa en su cola que consiste en el mantenimiento de una cola separada para cada circuito virtual y calculando el tiempo en el que la celda termine su transmisión si las colas fueran atendidas por un algoritmo round-robin de un bit a la vez. Las celdas están programadas para transmitir en este orden el tiempo calculado.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
OSU Time-based Congestion Avoidance.&lt;/h4&gt;
Uno de los esquemas para prevenir la congestión en las redes ATM fue el que desarrollaron Jain, Kalyanaraman y Viswanathan en la Universidad Estatal de Ohio (OSU). Este esquema se componía de switches que medían su ritmo de entrada obteniendo un promedio de velocidad de entrada y se comparaba con una tasa o velocidad &amp;nbsp;objetivo para calcular el factor de carga actual z:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOZuffCit66_Zbs-anihyphenhyphenqxPuxJ4JARIFL9-4pQvliArnHJnNGZ-oSmbqqNuzU5_U_PPqkciCGB3pG1B6K86UWhn1P88QWop_l6wF5ygK4bq2pg6aUne-lFHPr0eTSdeP1gOXP7As-bw8L/s1600/z.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOZuffCit66_Zbs-anihyphenhyphenqxPuxJ4JARIFL9-4pQvliArnHJnNGZ-oSmbqqNuzU5_U_PPqkciCGB3pG1B6K86UWhn1P88QWop_l6wF5ygK4bq2pg6aUne-lFHPr0eTSdeP1gOXP7As-bw8L/s1600/z.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Esto es, &amp;nbsp;si el factor de carga (z) es cerca de 1, todos los circuitos virtuales dividen su velocidad de carga por este factor z. Por ejemplo, si el factor de carga es 0,5, todos los circuitos virtuales su tasa en un factor de 0,5, es decir, el doble de sus tasas. En cambio, si el factor de carga es 2, todos los circuitos virtuales reducen a la mitad su tasa de velocidad.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimuBwPOKWOmbZEKpWsGUDyn2x-7FtIuT86sG9OqKDvJCfQfLKVL00PAcLFZJxRp74Ybk-MPZ6shoJQotZcDiLYylZHbDcDZRBCzPCXRHsP7qUK0XY_XF_x-uiKhKzPXDfgv_pIBj-BcE4q/s1600/fair.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimuBwPOKWOmbZEKpWsGUDyn2x-7FtIuT86sG9OqKDvJCfQfLKVL00PAcLFZJxRp74Ybk-MPZ6shoJQotZcDiLYylZHbDcDZRBCzPCXRHsP7qUK0XY_XF_x-uiKhKzPXDfgv_pIBj-BcE4q/s1600/fair.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Si el factor de carga es cercano a uno&amp;nbsp;el switch da diferente retroalimentación a la carga insuficiente de fuentes y la sobrecarga fuentes. Para compartir justamente el ancho de banda se hace lo siguiente:&lt;br /&gt;
&lt;br /&gt;
Todas aquellas fuentes cuyas velocidades sean mayores que este factor dividían sus velocidades por:&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20\frac{z}{1@plus;\Delta%20}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white \frac{z}{1+\Delta }&quot; title=&quot;\bg_white \frac{z}{1+\Delta }&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
En cambio, si su velocidad era menor se dividía por:&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.codecogs.com/eqnedit.php?latex=\bg_white%20\frac{z}{1-\Delta%20}&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://latex.codecogs.com/gif.latex?\bg_white \frac{z}{1-\Delta }&quot; title=&quot;\bg_white \frac{z}{1-\Delta }&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Ese algoritmo se conoce como&amp;nbsp;Target Utilization Band (TUB).&lt;br /&gt;
&lt;br /&gt;
Este esquema y algoritmo fue el último utilizado en este tipo de redes, de este esquema se derivaron muchas variantes pero todas con la misma base.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Fuente virtual y destino virtual.&lt;/h4&gt;
Uno de los problemas de la tasa de control de extremo a extremo es que el retardo de ida y vuelta puede ser muy grande. Este problema se resuelve mediante la segmentación de la red en trozos pequeños y dejar que los interruptores actúan como &quot;fuente virtual&quot; yo &quot;destino virtual&quot;.&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2eQMBa0SoGphlEaHC2TvphcEVfP5AKamdlJ84dQ3NtAJwyxYg7PRkHPEd12m7BnDI-gwd4rDp65LKVRXEottUYQ6nfiFmMrEuJiMcG2QvSVCD7DN0GNW6BZRx3l98d7xF1RNKuK0amI1h/s1600/esquema.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;81&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2eQMBa0SoGphlEaHC2TvphcEVfP5AKamdlJ84dQ3NtAJwyxYg7PRkHPEd12m7BnDI-gwd4rDp65LKVRXEottUYQ6nfiFmMrEuJiMcG2QvSVCD7DN0GNW6BZRx3l98d7xF1RNKuK0amI1h/s320/esquema.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Fuente virtual/Destino virtual&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
En la imagen el switch A en segmento medio actúa como un destino virtual y devuelve todas las celdas RM recibidas de la fuente como si el switch fuera el destino. El switch B en el mismo segmento actúa como una fuente virtual y genera celdas RM como si se tratara de una fuente.&lt;br /&gt;
&lt;br /&gt;
La segmentación utilizando fuentes virtuales y destinos virtuales reduce el tamaño de los ciclos de retroalimentación. Además, los segmentos intermedios pueden utilizar cualquier esquema de control de la congestión.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/8348925489472415576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/04/laboratorio-mecanismos-de-control-de.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/8348925489472415576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/8348925489472415576'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/04/laboratorio-mecanismos-de-control-de.html' title='Laboratorio. Mecanismos de control de congestión'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ4QgeaabRpzuI-Nw7L-WxpZ9fpUFNc6maZUiPSJYNNBQyeFiNUGcWTK0GHU20hEsOF2-4D-ticHcjYhi5QRqH3AfMlsOPVUKdZS_G9nKebJ0GtC_1CXchAivRgBBEqMJxjNA0JNmZ-9zN/s72-c/encabezado.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-8637005166687425635</id><published>2013-04-19T10:06:00.000-07:00</published><updated>2013-04-19T10:06:10.984-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Laboratorio Cómputo Ubicuo"/><title type='text'>Usabilidad en cómputo ubicuo</title><content type='html'>Para esta entrega se nos encargó investigar sobre usabilidad en aplicaciones de cómputo ubicuo, la idea era buscar un artículo relacionado con el proyecto que se está desarrollando, en mi caso el login a una computadora mediante reconocimiento de usuario.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El artículo sobre el que voy a hablarles lo pueden encontrar en el siguiente link: &lt;a href=&quot;http://www.itu.dk/people/bardram/pdf/printed.login.puc.2005.pdf%C2%A0&quot;&gt;pdf&lt;/a&gt;. El autor de esta investigación es: Jakob E. Bardram.&lt;br /&gt;
&lt;br /&gt;
Primero que nada hablemos un poco de lo que involucra un login.&lt;br /&gt;
&lt;br /&gt;
Un login implica utilizar la autenticación de usuarios el cual es un tema básico en la seguridad informática y establece quién es el usuario (identificación), verificando la identidad (verificación o autenticación), y el acceso adecuado a los recursos que el usuario está autorizado a utilizar (autorización). La autenticación de usuarios llegó a ser importante cuando se introdujeron las computadoras multiusuario y sistemas operativos.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El login a una computadora es el que comúnmente conocemos de teclear usuario y contraseña, en algunos casos seleccionar con el usuario y teclear su contraseña, que para ambos casos se requiere recordar y teclear una contraseña. A pesar de que el login tradicional se ha desarrollado técnicamente en los últimos años no ha cambiado desde la década de 1960 visto desde el punto de vista de la usabilidad.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
En el campo de cómputo ubicuo accesar de esta manera a algún disposito no es inapropiado ya que generalmente los usuarios accesan a distintos dispositvos para los cuales tienen que estar recordando muchos usuarios y distintas contraseñas, en caso de que se tengan diversas contraseñas porque muchas veces los usuarios eligen una o dos contraseñas para todos sus usuarios, esto las vuelve más vulnerables ya que descubriendo una solo contraseña se puede accesar a distintos dispositvos, páginas web, etc, por lo que se tiene que cambiar constantemente de contraeña. Y en muchos casos los usuarios escriben sus contraseñas lo que las vuelve también vulnerables.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
En el diseño de sistemas es un aspecto al que no se le presta demasiada atención y resulta siendo poco atractivo para los usuarios y causando muchos problemas. Los login tradicionales están diseñados para las personas de oficina que pasan la gran mayoría de su tiempo frente a una computadora o algún otro dispositivo, pero para los trabajadores que son más activos esto les resulta un problema, ya que el estar tecleando su contraseña cada vez que se alejan del dispositivo no es nada atractivo ni eficiente.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Imaginen el futuro en donde las computadoras estén presentes en todo tipo de objetos, por ejemplo muebles, carros, edificios, casas (ya no está muy lejos este futuro), y que los usuarios tengan que recordar cada una de sus contraseñas para poder utilizarlos; otro ejemplo es que las computadoras ya son casi objetos de nuestra vida diaria por lo que ya no se usaran computadoras personales sino que pordríamos usar cualquier computadora y poder accesar a toda nuestros archivos y tener que teclear usuario y contraseña, no aparenta ser lo más óptimo ni lo más cómodo.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Muchas alternativas han sido propuestas, por ejemplo el utilizar una tarjeta para autenticación de usuarios y accesar a la última sesión que se tuvo de manera automática pero el uso de tarjetas involucrea que muchos usuarios las pierdan o se las roben y esto lleva a que además del uso de la tarjeta muichas veces también tengan que introducir una contraseña, otra de las alternativas es un software en el que se puedan guardar los distintos usuarios junto con sus contraseñas y sitios a los que pertenecen éstos así al accesar no haya necesidad de teclearlas sino que el software por sí solo permita el login.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Actualmente la Biometría está tomando gran iniciativa en este campo, permitiendo utilizar algún rasgo biológico como la geometría de la cara, huellas dactilares, geometría de la mano, el patrón del iris, patrones de retina, firma, y voz para de esta manera identificar usuarios. La Biometria está trabajando para que estas nuevas formas de identificación sean cada vez más agradables para los usuarios aunque aún están trabajando en aspectos como lo que es la seguridad y la presición.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El uso de sistemas biométricos es una solución atractiva para el problema de nombres de usuario y contraseñas. Mediante el uso de sistemas biométricos de las personas pueden ser identificados por algo que son en vez de algo que tienen (una tarjeta) o saben (su contraseña). Existen ya varias soluciones biométricas comerciales, por ejemplo los que combinan una tarjeta inteligente con un lector de huella digital.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
La investigación de este artículo fue hecha en el 2004 y el autor junto con su equipo realizaron una investigación de campo en el Departamento quirúrgico de Cardio-Torácica en un hospital danés donde utilizaban un sistema de historia clínica electrónica (EPR por sus siglas en inglés). En este sistema los doctores y enfermeras llevan el registro de los pacientes junto con su historia médica, el tratamiento que está recibiendo, sus mejoras, etc.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El uso de este sistema no era nada agradable ya que en cada día había aproximadamente de 13 a 15 enfermeras y de 8 a 10 cirujanos trabajando, en cada turno de 3 a 5 enfermeras juntos con 2 doctores.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Uno de los problemas es que cada una de estas personas tiene su cuenta la cual le otorga diversos permisos para modificar archivos y registros, por ejemplo una enfermera para poder cambiar el tratamiento de un paciente necesita salirse de su cuenta y que uno de los doctores accese a su cuenta para poder autorizarlo, cambiar el registro y hacer la receta. Otro ejemplo de los problemas es por ejemplo que las enfermeras y doctores tienen que checar a los pacientes por lo que tienen que consultar los registros en el EPR, ir con lo pacientes, ver sus mejoras y apuntarlas en el EPR y pasar con el siguiente paciente; esto no suena nada productivo considerando que en ese entonces aún no se utilizaban tablets o y en el hospital solamente contaban con computadoras de escritorio por lo que las enfermeras y doctores tenían que ir con el paciente, regresar a la sala donde estaba la computadora, loguearse y actualizar el registro y ya despúes de todo esto pasar con el siguiente paciente. Muchos de las enfermeras y doctores optaban mejor por imprimir los registros a primera hora, tomar notas y hasta el final las mismas enfermeras o las del siguiente turno tenían que actualizar los registros.Un último problema es que si alguna enfermera recibía alguna llamada de uno de los pacientes y necesitaba ayuda de alguien más de su equipo, este tenía que dejar lo que estaba haciendo en su computadora, cerrar sesión y ayudar. Después regresar e introducir su contraseña y volver a su trabajo.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Muchos se preguntarán que porque no simplemente bloqueban la computadora en vez de cerrar sesión, el problema era que si por ejemplo una enfermera bloqueaba la computadora y llegaba otra enfermera o doctor y quería actualizar algún registro en el EPR primero tenía que localizar a la enfermera que bloqueó la computadora para que cerrara su sesión.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Para solucionar un poco estos problemas lo que hicieron fue crear un solo usuario el cual pudieran usar todos los que se encontraban en ese turno, pero como problema trajo que cada vez que el sistema pedía un cambio de contraseña solamente alternaban entre &quot;123&quot; y &quot;456&quot;, y la apuntaban en alguna parte, lo cual podría generar muchos problemas de seguridad.&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Como podemos ver los parámetros de seguridad de identidad, autenticación y trazabilidad son requisitos fundamentales para cualquier sistema de información como también en cualquier computadora.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Es fácil de observar que las computadoras con sus login anticuados no están hechas para hospitales ni para personas que están en constante movimiento en su trabajo, aunque ya se utilizan más los dispositivos móviles, las computadoras aún no están hechas para este tipo de usuarios donde la información la tienen que compartir y cada usuario cuenta con ciertos privilegios.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Para obtener un buen login para todo tipo de personas y que se sencillo y fácil de utilizar se debe poner atención en estos aspectos:&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Admitir la autenticación de usuario basada en la proximidad, donde los usuarios se registran en con sólo acercarse a una pantalla.&lt;/li&gt;
&lt;li&gt;Sesiones silenciosas donde los usuarios pueden perfectamente alterna entre estar conectado y salir.&lt;/li&gt;
&lt;li&gt;Sesiones de usuario migratorias, que permita a los usuarios llevar con ellos su trabajo mientras están moviéndose.&lt;/li&gt;
&lt;li&gt;Sesiones de usuario suspendibles.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Como resultado de este estudio el autor y su equipo implementaron en el hospital un sistema con el cual los doctores y enfermeras podían loguearse sin necesidad de contraseñas, utilizando sensores de proximidad y una pluma inteligente; esto debido a que necesitaban una forma de autenticación y la higiene es algo importante en los hospitales por lo que andar utilizando tarjetas no era algo óptimo. El uso de estas plumas permitía el no tener que cerrar cada sesión sino tener una sesión silenciosa corriendo en fondo para cuando se vuelva a utilizar, y de esta manera solo cambiar o quitar aspectos en la pantalla a los cuales la enfermera o doctor no tenga acceso a utilizar.&lt;/div&gt;
&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgItDCRWxFxMWzwn8yEGpI_zUgZ527iQABlaBOqyNS1EBI5ppMfJ6F97jlr4VJnkADHZcFM6tBpRxIfP8xhLIH3khiYvm8WAjVDfeeeT8mmlCN6Drz_3TItIaYzqRozrjIfT6_ZfXEt_zrM/s1600/ubicuo1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;231&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgItDCRWxFxMWzwn8yEGpI_zUgZ527iQABlaBOqyNS1EBI5ppMfJ6F97jlr4VJnkADHZcFM6tBpRxIfP8xhLIH3khiYvm8WAjVDfeeeT8mmlCN6Drz_3TItIaYzqRozrjIfT6_ZfXEt_zrM/s320/ubicuo1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Enfermera utilizando su pluma inteligente en un proyector utiizando su sesión. Imagen tomada del pdf&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Por último para solucionar el poblema de tener que regresar a la computadora para actualizar los registros, el equipo primero hizo pruebas dando a los doctores y enfermeras PDA&#39;s pero estos dispositivos no fueron capaces de procesar toda la información rápidamente ni podían desplegar bien los resultados; otra prueba se hizo con tablets pero resultaban ser muy grandes para llevarlas y utilizarlas; debido a esto se optó por utilizar computadoras &quot;públicas&quot; colocadas en los pasillos donde los doctores podían accesar a los registros del EPR migrando su sesión que tenían en sus computadoras de trabajo a estas computadoras &quot;públicas&quot;.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/8637005166687425635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/04/usabilidad-en-computo-ubicuo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/8637005166687425635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/8637005166687425635'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/04/usabilidad-en-computo-ubicuo.html' title='Usabilidad en cómputo ubicuo'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgItDCRWxFxMWzwn8yEGpI_zUgZ527iQABlaBOqyNS1EBI5ppMfJ6F97jlr4VJnkADHZcFM6tBpRxIfP8xhLIH3khiYvm8WAjVDfeeeT8mmlCN6Drz_3TItIaYzqRozrjIfT6_ZfXEt_zrM/s72-c/ubicuo1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2705281376371342000.post-8444541586783236808</id><published>2013-04-18T08:53:00.000-07:00</published><updated>2013-04-18T14:10:50.809-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Visión Computacional"/><title type='text'>Laboratorio 5. Relleno de elipses </title><content type='html'>Para esta entrega de laboratorio se pidió detectar elipses y/o círculos utilizando el &amp;nbsp;con las siguientes tareas:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Identiﬁca cada elipse/círculo individual&lt;/li&gt;
&lt;li&gt;Rellénalo de un color aleatorio&lt;/li&gt;
&lt;li&gt;Sigue marcando su centro con bolita &amp;amp; ID con etiqueta&lt;/li&gt;
&lt;li&gt;Imprime un listado de los áreas de los círculos/elipses&lt;/li&gt;
&lt;li&gt;En porcentaje de la imagen completa&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
El procedimiento que seguí fue el siguiente:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Preprocesar la imagen utilizando el método de convolución con las máscaras de Prewitt, normalizarla y recorrer la imagen con el algoritmo bfs para localizar los bordes de los elipses,&lt;/li&gt;
&lt;li&gt;Después de esto se escogen dos puntos aleatorios que están en el borde de cada elipse, estos puntos deben ser antiparalelos y con ellos se pasa a calcular las tangentes.&lt;/li&gt;
&lt;li&gt;Se calculan las intersecciones de estas tangentes y con ellas se calculan los puntos medios.&lt;/li&gt;
&lt;li&gt;Luego, se dibujan muchas líneas que pasen por los puntos medios para de esta manera encontrar los posibles centros.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Cabe aclarar que para realizar esta entrega tomé como base el código de mi compañero Max.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;
&lt;se aleatoria=&quot;&quot; br=&quot;&quot; de=&quot;&quot; dos=&quot;&quot; en=&quot;&quot; imagen=&quot;&quot; intersecci=&quot;&quot; la=&quot;&quot; manera=&quot;&quot; medios=&quot;&quot; n=&quot;&quot; p=&quot;&quot; para=&quot;&quot; puntos=&quot;&quot; tangentes=&quot;&quot; toman=&quot;&quot; trazar=&quot;&quot; xeles=&quot;&quot;&gt;
Código&lt;/se&gt;&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/JonathanAlvarado/5413856.js&quot;&gt;&lt;/script&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;h3&gt;
Pruebas:&lt;/h3&gt;
Nota: los porcentajes representan lo que ocupan los bordes del elipse del total de la imagen.&lt;br /&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-CEeYrJC4kTMA5TbHVTTzXaauvM9mNp2WG_bSiy7HFo2WbwMaBo2LA9_qz15jM2eUMf1LCmZLHftZ9gASufEld5tFKE7hVyvQ93uXjO1VFvZjxfn-7-DlsSnPY20O41tU76HGf9dcctJ9/s1600/prueba1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;98&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-CEeYrJC4kTMA5TbHVTTzXaauvM9mNp2WG_bSiy7HFo2WbwMaBo2LA9_qz15jM2eUMf1LCmZLHftZ9gASufEld5tFKE7hVyvQ93uXjO1VFvZjxfn-7-DlsSnPY20O41tU76HGf9dcctJ9/s200/prueba1.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Imagen Original&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQXDwh-_pSYN4Aw49WZHMMd8xRlX-8WHcNyDifnbcsVIaNjWpzQZi8-W04jtIx2wtDQZXuvaCc9VK2YFO-iMIXZ49FINwZIZVRDK9G66Hn5d7VV5ubFUiRGG5wuiOTuKQPLig9DL2Yd9SP/s1600/centers.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;96&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQXDwh-_pSYN4Aw49WZHMMd8xRlX-8WHcNyDifnbcsVIaNjWpzQZi8-W04jtIx2wtDQZXuvaCc9VK2YFO-iMIXZ49FINwZIZVRDK9G66Hn5d7VV5ubFUiRGG5wuiOTuKQPLig9DL2Yd9SP/s200/centers.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Prosible centro&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_Y-2aWsbc_W3OxAjPpmK7Rl6j9ktm5g-MrWvU7dqjKv2iML5ra2kDh6tXuDQ8Ve4SpZeju9Xu36clbm52FjCvebCwurwKki8CrX74OfxXzgBSGhylZLQ-Al9ULWG1OXyp6Fv3fFrDqEjL/s1600/detection.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;98&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_Y-2aWsbc_W3OxAjPpmK7Rl6j9ktm5g-MrWvU7dqjKv2iML5ra2kDh6tXuDQ8Ve4SpZeju9Xu36clbm52FjCvebCwurwKki8CrX74OfxXzgBSGhylZLQ-Al9ULWG1OXyp6Fv3fFrDqEjL/s200/detection.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Detección&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh955rrH5KmSiePxAw3uB-ZuoKVEpuI_wtWMx80NTs5VxmlKn9jSZW-ixcKZdTz08fNkIoIrRJdfNz8Au-hARfMj3HvTFUfJiiZWMOkqSs7cioR_Lq0zz8x9Gvpkg_wf8MJyYklH_Qwvc4d/s1600/pantalla1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;44&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh955rrH5KmSiePxAw3uB-ZuoKVEpuI_wtWMx80NTs5VxmlKn9jSZW-ixcKZdTz08fNkIoIrRJdfNz8Au-hARfMj3HvTFUfJiiZWMOkqSs7cioR_Lq0zz8x9Gvpkg_wf8MJyYklH_Qwvc4d/s320/pantalla1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf7C1PexNObKvYkcuOKRL64lVDwgjPX-cX52QjHAymBELEh56bXobrozVAWj3wfQbMeNHTnjNg-sYsppVIRoKeHNmpFAOKpwHThOCpBobPsdDz8HWRZGfBFkKvtlRlN7rSg0CoIM-eg3Kd/s1600/prueba2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf7C1PexNObKvYkcuOKRL64lVDwgjPX-cX52QjHAymBELEh56bXobrozVAWj3wfQbMeNHTnjNg-sYsppVIRoKeHNmpFAOKpwHThOCpBobPsdDz8HWRZGfBFkKvtlRlN7rSg0CoIM-eg3Kd/s200/prueba2.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Imagen original&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNZIysGrT9CsVLLEHlvGM6yw_2gP6AgGjj8zXahszYclg464wljoyd-9KC621O8pDoqxTBSWsEZLFMwMg1cEzwKQhRG-zKBr42fonxpKkJzqrg-POwsyYrxms4fxtbNaBJGtd0UF_Ub2UE/s1600/binarized.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNZIysGrT9CsVLLEHlvGM6yw_2gP6AgGjj8zXahszYclg464wljoyd-9KC621O8pDoqxTBSWsEZLFMwMg1cEzwKQhRG-zKBr42fonxpKkJzqrg-POwsyYrxms4fxtbNaBJGtd0UF_Ub2UE/s1600/binarized.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Posibles centros&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJAP7SXDvoh4deygC2c1xo_3TI1nzZ0KkkTWOufcRs-9x_EuzcLL3QrfY1_V24NmQ9jcGTXgyfYCzZgWPryRu5FObAjN5Em0EAdVWwPXzmelbhz2hweI7bFLXjaVs1YVkffXKNzp9O1X2b/s1600/detection.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJAP7SXDvoh4deygC2c1xo_3TI1nzZ0KkkTWOufcRs-9x_EuzcLL3QrfY1_V24NmQ9jcGTXgyfYCzZgWPryRu5FObAjN5Em0EAdVWwPXzmelbhz2hweI7bFLXjaVs1YVkffXKNzp9O1X2b/s200/detection.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Detección&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigcxBrwBMx86WvNBpJo1T-pJmHrUJCX6IL0auL6GxIzBHd371hTyQV_z4N7LsxEOyBUK7iVYvldvCc6PYfENjIkIgAyLhxiQtkqdBZewgn-JLSlb222-8SAeykjIxmpeRwUF06RG9rvmZa/s1600/prueba2screen.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;67&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigcxBrwBMx86WvNBpJo1T-pJmHrUJCX6IL0auL6GxIzBHd371hTyQV_z4N7LsxEOyBUK7iVYvldvCc6PYfENjIkIgAyLhxiQtkqdBZewgn-JLSlb222-8SAeykjIxmpeRwUF06RG9rvmZa/s320/prueba2screen.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEvFhRCyTxDG-gUE_5TgBLUwRYcAVR4mGQgK4J_kphl7O91k_J0nq7zcAFE2txTtIho2KKPHVqSnbE14UlbST8wRp5I84ph7sHon8Yedok-tFBByPeMrvgElL-Re_opP3EUgQA_2tP025x/s1600/prueba3.jpeg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;157&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEvFhRCyTxDG-gUE_5TgBLUwRYcAVR4mGQgK4J_kphl7O91k_J0nq7zcAFE2txTtIho2KKPHVqSnbE14UlbST8wRp5I84ph7sHon8Yedok-tFBByPeMrvgElL-Re_opP3EUgQA_2tP025x/s320/prueba3.jpeg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Imagen Original&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvCy01bfSoqdDJqo4qdWBC_aMcPPTJ7LJ396EKeFUmatHLA3EGqss3P313NRFtcXnzCxgczEzMb8km7FqSLcWG367-oE0C7tHPZDSyYgS7g2hsfIm64RNejFUy9rdfPSl9kBGVQ77CYMpi/s1600/centers.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvCy01bfSoqdDJqo4qdWBC_aMcPPTJ7LJ396EKeFUmatHLA3EGqss3P313NRFtcXnzCxgczEzMb8km7FqSLcWG367-oE0C7tHPZDSyYgS7g2hsfIm64RNejFUy9rdfPSl9kBGVQ77CYMpi/s1600/centers.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Posibles centros&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFaxW1k34mTg3YGo9s6VO8o7953lUCgTWFUmCJO59eWX6TPCafve1QBnk0xJtgvlItrMQt3ZkbeIbAHQGp4PYzpYh7CeGUoWn-UzoSHUPvUFwj9USHTue42B2YD7BEvCH8B0g2zIp3jC7h/s1600/detection.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;157&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFaxW1k34mTg3YGo9s6VO8o7953lUCgTWFUmCJO59eWX6TPCafve1QBnk0xJtgvlItrMQt3ZkbeIbAHQGp4PYzpYh7CeGUoWn-UzoSHUPvUFwj9USHTue42B2YD7BEvCH8B0g2zIp3jC7h/s320/detection.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Detección&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC1tI_LN1xpo7xKjtJ6nQdYkyLfcRDMm68t_kQTVavN2LfYKMWoXD5KFzz8s491qNRl5B9bSuYmF0Jpr2Pcu6jCEDR3GDJNk2MUM8D2ncS9sPn9zHj95XZbxVAFd46LI-AN0_a0FfguZ_L/s1600/prueba3screen.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;62&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC1tI_LN1xpo7xKjtJ6nQdYkyLfcRDMm68t_kQTVavN2LfYKMWoXD5KFzz8s491qNRl5B9bSuYmF0Jpr2Pcu6jCEDR3GDJNk2MUM8D2ncS9sPn9zHj95XZbxVAFd46LI-AN0_a0FfguZ_L/s320/prueba3screen.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://programacionits.blogspot.com/feeds/8444541586783236808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://programacionits.blogspot.com/2013/04/laboratorio-5-relleno-de-elipses.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/8444541586783236808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2705281376371342000/posts/default/8444541586783236808'/><link rel='alternate' type='text/html' href='http://programacionits.blogspot.com/2013/04/laboratorio-5-relleno-de-elipses.html' title='Laboratorio 5. Relleno de elipses '/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02319870328781842612</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-CEeYrJC4kTMA5TbHVTTzXaauvM9mNp2WG_bSiy7HFo2WbwMaBo2LA9_qz15jM2eUMf1LCmZLHftZ9gASufEld5tFKE7hVyvQ93uXjO1VFvZjxfn-7-DlsSnPY20O41tU76HGf9dcctJ9/s72-c/prueba1.jpg" height="72" width="72"/><thr:total>1</thr:total></entry></feed>