<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s91108863</article-id>
<article-id pub-id-type="publisher-id">sensors-09-08863</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Asphalted Road Temperature Variations Due to Wind Turbine Cast Shadows</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Arnay</surname><given-names>Rafael</given-names></name><xref ref-type="corresp" rid="c1-sensors-09-08863"><sup>*</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Acosta</surname><given-names>Leopoldo</given-names></name></contrib>
<contrib contrib-type="author">
<name><surname>Sigut</surname><given-names>Marta</given-names></name></contrib>
<contrib contrib-type="author">
<name><surname>Toledo</surname><given-names>Jonay</given-names></name></contrib>
<aff id="af1-sensors-09-08863">Department of Systems Engineering and Automatics, University of La Laguna, Avda. Francisco Sánchez S/N, 38204 La Laguna, Canary Islands, Spain; E-Mails: <email>leo@isaatc.ull.es</email> (L.A.S); <email>marta@isaatc.ull.es</email> (M.S.S.); <email>jonay@isaatc.ull.es</email> (J.T.C.)</aff></contrib-group>
<author-notes>
<corresp id="c1-sensors-09-08863">
<label>*</label>Author to whom correspondence should be addressed; E-Mail: <email>rafa@isaatc.ull.es</email>; Tel.: +34-922-318-287; Fax: +34-922-318-288.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2009</year></pub-date>
<pub-date pub-type="epub">
<day>5</day>
<month>11</month>
<year>2009</year></pub-date>
<volume>9</volume>
<issue>11</issue>
<fpage>8863</fpage>
<lpage>8883</lpage>
<history>
<date date-type="received">
<day>6</day>
<month>7</month>
<year>2009</year></date>
<date date-type="rev-recd">
<day>9</day>
<month>10</month>
<year>2009</year></date>
<date date-type="accepted">
<day>31</day>
<month>10</month>
<year>2009</year></date></history>
<permissions>
<copyright-statement>© 2009 by the authors; licensee Molecular Diversity Preservation International, Basel, Switzerland.</copyright-statement>
<copyright-year>2009</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>The contribution of this paper is a technique that in certain circumstances allows one to avoid the removal of dynamic shadows in the visible spectrum making use of images in the infrared spectrum. This technique emerged from a real problem concerning the autonomous navigation of a vehicle in a wind farm. In this environment, the dynamic shadows cast by the wind turbines' blades make it necessary to include a shadows removal stage in the preprocessing of the visible spectrum images in order to avoid the shadows being misclassified as obstacles. In the thermal images, dynamic shadows completely disappear, something that does not always occur in the visible spectrum, even when the preprocessing is executed. Thus, a fusion on thermal and visible bands is performed.</p></abstract>
<kwd-group>
<kwd>shadow removal</kwd>
<kwd>road detection</kwd>
<kwd>thermal spectrum images</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p><italic>Verdino</italic> is a self guided, electrical vehicle [<xref ref-type="bibr" rid="b1-sensors-09-08863">1</xref>] that will carry out the autonomous transportation of passengers in a bioclimatic estate located in the Technological Institute of Renewable Energies (ITER) in the south of Tenerife, Canary Islands, Spain. The vision system of <italic>Verdino</italic> consists of three visible spectrum cameras and one infrared thermal spectrum camera. The detection of the road is accomplished by applying a variation of an Ant Colony Optimization metaheuristic described in Section 2. The input information for the road detection algorithm is a contribution of the information provided by one visible spectrum camera and the thermal one. The way the different image sources are used depends on certain environmental circumstances, explained in Section 4.</p>
<p>The ITER has a wind farm located in the surroundings of the route where the vehicle is going to navigate. This results in dynamic cast shadows produced by the wind turbines appearing on the road, making it harder to achieve a correct road detection in the visible spectrum.</p>
<p>In computer vision, cast shadows in an image frequently lead to misdetections. Preprocessing the image to remove these shadows is a common procedure that additionally loads the CPU. Consequently, the frame rate can drop under what is considered acceptable for real time detections. The study presented in this paper determines the variations of temperature in an asphalted road due to wind turbines' dynamic cast shadows and the conditions that lead to them. If the difference of temperature in the road surface between a shaded area and an irradiated one is relatively small, it will not be detected in the infrared spectrum. In these cases, the road detection will be entirely based on the infrared (thermal) spectrum, saving both the preprocessing time that would be needed to remove the shadows in the visible spectrum, and the problems in later processing as consequence of improper shadow elimination.</p>
<p>Thermal vision in the field of autonomous driving is frequently related to pedestrian detection [<xref ref-type="bibr" rid="b2-sensors-09-08863">2</xref>]. The fusion of thermal and visible spectrum is well studied and implemented in satellite or aerial imagery. In [<xref ref-type="bibr" rid="b3-sensors-09-08863">3</xref>] the infrared information is used to enhance airborne thematic mapper (ATM) data in cloud-shadowed areas. We have not found any other study in the literature that applies thermal vision to avoid the shadow-removal step.</p>
<p>This paper is organized as follows: Section 2 will describe the application of the Ant Colony Optimization algorithm to the vision problem, while in Section 3 a study of the impact of dynamic shadows on the road detection is performed. How the information from both visible and thermal spectrum images can be joined to overcome the shadows problem is explained in Section 4. Section 5 and Section 6 present some experimental results and conclusions, respectively.</p></sec>
<sec>
<label>2.</label>
<title>Non-Structured Roads Detection Applying an Ant Colony Optimization (ACO) Algorithm</title>
<p>Lane detection in structured environments has been resolved using monochromatic stereo and monocular images in [<xref ref-type="bibr" rid="b4-sensors-09-08863">4</xref>] and [<xref ref-type="bibr" rid="b5-sensors-09-08863">5</xref>], respectively, using some <italic>a priori</italic> knowledge like the existence of line markers. These approaches can not be used on unknown, unstructured environments, due to the lack of such <italic>a priori</italic> information.</p>
<p>Other authors have addressed the problem of navigating a robot vehicle in non-structured environments using different methods. Some of them use pattern recognition techniques [<xref ref-type="bibr" rid="b6-sensors-09-08863">6</xref>], or algorithms based on the HSI color space and 2D-spatial constraints [<xref ref-type="bibr" rid="b7-sensors-09-08863">7</xref>]. Recently, a method based on the extrapolation of the characteristics of a road pattern (supposedly free of obstacles) to detect the road [<xref ref-type="bibr" rid="b8-sensors-09-08863">8</xref>] has been proposed. Obviously, the pattern chosen determines the performance of this kind of methods, relying on some other tools (like laser based obstacle detectors) to perform this task.</p>
<p>The approach proposed in this paper neither uses supplementary tools nor relies on the uniformity of the road to perform an extrapolation. It applies an Ant Colony Optimization to detect the road using information of the margins [<xref ref-type="bibr" rid="b9-sensors-09-08863">9</xref>]. Due to degraded road boundaries, noise in the image and occlusion, among others, variable quality in the initial segmentation of the road can be achieved. Mapping the road detection problem as an optimization one allows the algorithm to perform well under different initial segmentation conditions and for different types of roads (<xref ref-type="fig" rid="f1-sensors-09-08863">Figure 1</xref>). Broggi and Cattani have also used the ACO methodology to detect roads [<xref ref-type="bibr" rid="b10-sensors-09-08863">10</xref>]. In this paper, the initial segmentation process is different from the one they propose and the motion rule of the agents has been simplified, not implementing the backtracking process. Moreover, in the algorithm presented in this paper the offline pheromone contribution is influenced by a parameter proportional to the distance between the last pixel of the solution and the attraction point. The method has been generalized to indistinctly work with infrared and visible input images.</p>
<p>When the vehicle is on the road, it can be assumed that its margins are two curves that go from the bottom to the horizon line of the input image. Some local features of the pixels that conform these curves have to be found in order to establish a probability for these pixels to belong to them. The problem is then reformulated as an optimization one, so the ACO metaheuristic [<xref ref-type="bibr" rid="b11-sensors-09-08863">11</xref>-<xref ref-type="bibr" rid="b15-sensors-09-08863">15</xref>] can be applied. Pixels belonging to edges and located in a certain interest area that changes with the orientation of the road have a higher probability of belonging to the road margins. The optimal solutions are the ones containing the higher number of pixels belonging to the margins.</p>
<p>The next subsections resume some features of the ACO based road detection algorithm. For a complete description see [<xref ref-type="bibr" rid="b9-sensors-09-08863">9</xref>].</p>
<sec>
<label>2.1.</label>
<title>Preprocessing</title>
<p>If necessary, a shadow removal step is performed (see Sections 4 and 5). Basically, the pattern of the road detected in the previous frame is used to look for low brightness areas. These areas are not taken into account in the <italic>canny</italic> edge detection procedure as they produce strong edges. Finally, some dilation and erosion operations are performed on the edge detection output in order to highlight long contours, theoretically belonging to the road margins.</p></sec>
<sec>
<label>2.2.</label>
<title>Colony Initialization</title>
<p>The starting states of the agents will be located in the starting areas, where the colonies are going to be placed. These areas, with a high density of edge pixels and located in the laterals of the image, are, a priori, good starting points for the exploratory movement of the agents. They represent the start of the road margins as perceived in the image. Two colonies are placed on these areas, one to detect each margin.</p>
<p>The stop condition determines when the agents decide to stop their exploratory movement, obtaining a partial solution of the problem. This solution will be the path followed by the agents so far. When an agent reaches the row of pixels of the horizon line in the image, it stops.</p></sec>
<sec>
<label>2.3.</label>
<title>The Point of Attraction</title>
<p>When an agent is in a given state, it can move to a group of feasible neighbors. These neighbours are calculated with what is called a point of attraction. Because the final objective of the algorithm is the real time road detection, the number of feasible neighbors to be explored has to be minimized. The point of attraction, located on the horizon line, where the supposed road boundaries intersect with each other, polarizes the movement of the agents. As a consequence of this, they tend to explore where the road limits are supposed to be.</p></sec>
<sec>
<label>2.4.</label>
<title>The Motion Rule</title>
<p>The agents pass from their current states to the next ones following a movement rule that can be divided into two levels. The first level is the random-proportional rule for artificial ants proposed in the first ACO algorithm, Ant System. This rule determines a probability for each feasible neighbour of an agent of being its next position. This probability is influenced by heuristic information and the pheromone trails. The heuristic value of a pixel is directly proportional to its edge intensity. The second level is a pure random movement that is applied when there is no heuristic information and there are no pheromone trails either.</p>
<p>As seen, the artificial ants start in their initial states, defined by the starting areas located in the beginning of the road margins. They move row by row of pixels following their motion rule and building their solution until they reach the horizon line or, in other words, their stop condition.</p></sec>
<sec>
<label>2.5.</label>
<title>Pheromone Update</title>
<p>When an agent reaches a stop condition, it updates the pixels that conform the path that it followed with artificial pheromone. The amount of pheromone the agent deposits is directly proportional to the number of edge pixels of the path, and inversely proportional to the distance between the last pixel of the path and the attraction point. Thus, the solutions that end nearer the attraction point are favored and the exploratory movement outside the road boundaries penalized.</p></sec>
<sec>
<label>2.6.</label>
<title>Agents Organization</title>
<p>The colonies are divided into subgroups, each one of them with different motion rule parameters. The groups are sequentially executed. The first groups give more credit to the heuristic information, thus making an exploratory movement. However, the last groups are more likely to follow the pheromone trails. This is due to the fact that the pheromone information becomes more reliable as the agents update it with their solutions, which represent the accumulated experience of the colony.</p></sec>
<sec>
<label>2.7.</label>
<title>Solution Extraction</title>
<p>The algorithm output consists of two paths, one for each road boundary. These paths are obtained by two special agents that are attracted by the pheromone trails only, travelling to the feasible neighbour with the greater amount of it.</p></sec>
<sec>
<label>2.8.</label>
<title>Road Pattern Update</title>
<p>A very important step in the road detection process it is to determine the parameters of the road pattern. This pattern represents the road as the algorithm output. It is conformed by two lines, which are the result of the problem solution-paths interpolation. This simplified representation of the road (orientation of the road and the lateral distance to its margins) gives the required information for the control mechanism of the vehicle. The road pattern varies frame to frame with certain inertia, making rapid variations of the input information less harmful to the detection. Typically, these rapid variations are caused by noise in the image or potholes.</p></sec></sec>
<sec sec-type="methods">
<label>3.</label>
<title>Study of the Effect of Wind Turbines Shadows on the Road Detection Performance</title>
<p>Cast shadows are a problem in vision-based road detection. In several articles this problem has been solved relying on some <italic>a priori</italic> knowledge of the road like, for example, visible lane markings [<xref ref-type="bibr" rid="b5-sensors-09-08863">5</xref>]. The roads where <italic>Verdino</italic> is going to navigate are what it is called unstructured roads. This kind of roads has no lane markings or signals. Moreover, they do not have to be homogeneous or flat, so their detection can not be easily based on <italic>a priori</italic> knowledge [<xref ref-type="bibr" rid="b6-sensors-09-08863">6</xref>-<xref ref-type="bibr" rid="b8-sensors-09-08863">8</xref>].</p>
<p>When cast shadows appear during visible spectrum-based road detection, they can be misclassified as obstacles. If the shadows are on the road, they have to be removed in a preprocessing step in order to achieve a good road detection. Apart from the fact that this preprocessing step takes time, which is a problem from the real time road detection point of view, the main drawback is that the complete removal of the shadows is not guaranteed.</p>
<p>Cast shadows on the road cool the surface. If the shadow is static enough, the temperature of the shaded area starts to decrease, so a gradient of temperature between this area and a contiguous one that is irradiated by the sun appears. When this gradient surpasses certain value, the shadow is detected by both the visible and the thermal-based vision system as an obstacle. On the other hand, if the shadow is dynamic (as the ones cast by the wind turbines) there is less time for the asphalt to cool, so the gradient of temperature remains small.</p>
<p>As it will be explained in more detail in the next section, the gradient of temperature depends on the occlusion percentage due to the wind turbine blades and their spinning speed. In certain conditions, shadows that are perfectly perceived using a camera in the visible spectrum disappear when using the thermal camera. It is in these conditions when the road detection mechanism is entirely based on the thermal information so there is no need for a shadow removal step.</p>
<sec>
<label>3.1.</label>
<title>Asphalt Cooling due to Wind Turbine Dynamic Cast Shadows</title>
<p>As previously said, there is a wind farm in the surroundings where the vehicle is going to navigate. Due to wind turbines' cast shadows, certain regions of the road are periodically shaded. This periodicity depends on the wind turbine blades spinning speed. The slower the blades spin, the lower the temperature of the affected asphalt area is going to be, because it will be shaded for a longer period of time.</p>
<p>Any surface exposed to solar radiation absorbs part of this radiation. If the area of the surface is <italic>A (m<sup>2</sup>)</italic> and the amount of incident solar radiation is 
<inline-formula>
<mml:math id="mm1">
<mml:semantics id="sm1">
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mspace width="0.2em"/>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mi>m</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula>, the absorbed energy per unit of time is <italic>aAI (w), a</italic> being the solar absortance (0 ≤ <italic>a</italic> ≤ 1)that basically depends on the color of the surface. The darker the surface is, the bigger <italic>a</italic> is.</p>
<p>If the material has a thermal capacity 
<inline-formula>
<mml:math id="mm2">
<mml:semantics id="sm2">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>c</mml:mi>
<mml:mi>m</mml:mi>
<mml:mspace width="0.2em"/>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mo>°</mml:mo>
<mml:mi>C</mml:mi></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula>, being 
<inline-formula>
<mml:math id="mm3">
<mml:semantics id="sm3">
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mspace width="0.2em"/>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>K</mml:mi>
<mml:mi>g</mml:mi>
<mml:mo>°</mml:mo>
<mml:mi>C</mml:mi></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> the specific heat of the material and <italic>m (Kg)</italic> its mass, then the increment of heat per unit of time is 
<inline-formula>
<mml:math id="mm4">
<mml:semantics id="sm4">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mtext mathvariant="italic">CdT</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula>, <italic>T</italic> being the temperature. This increment must be equal to the absorbed energy per unit of time, as shown in <xref rid="FD1" ref-type="disp-formula">equation 1</xref>:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math id="mm5" display="block">
<mml:semantics id="sm5">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>T</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi></mml:mrow></mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">aAI</mml:mtext></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>According to this expression, given a constant solar irradiation, the temperature rises constantly without limit. However, when the temperature of the material rises above the ambient temperature <italic>T<sub>a</sub></italic>, it losses heat towards the environment, via radiation, conduction or convection. This heat flow is proportional to the difference of temperature between the material and the ambient:
<disp-formula id="FD2">
<label>(2)</label>
<mml:math id="mm6" display="block">
<mml:semantics id="sm6">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>l</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>a</mml:mi></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>
<inline-formula>
<mml:math id="mm7">
<mml:semantics id="sm7">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mspace width="0.2em"/>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mo>°</mml:mo>
<mml:mspace width="0.1em"/>
<mml:mi>C</mml:mi>
<mml:msup>
<mml:mi>m</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> is the general losses coefficient, which contributes to the heating of the material with another term, as shown in <xref rid="FD3" ref-type="disp-formula">equation 3</xref>:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math id="mm8" display="block">
<mml:semantics id="sm8">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>T</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi></mml:mrow></mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">AaI</mml:mtext>
<mml:mo>−</mml:mo>
<mml:mi>A</mml:mi>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>l</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>a</mml:mi></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The insolation that reaches the road surface can be decomposed into two different types: direct and diffuse. The diffuse insolation comes from several directions and is the result of the scattering and reflexion of the radiation due to atmospheric components in the sky. The estimation of the road temperature in a shaded area is mainly based on the amount of direct insolation that reaches the surface, as the diffuse one remains the same.</p>
<p>In their periodic movement, the shadows of the wind turbine blades cool the surface of the asphalt in the whole area <italic>A (m<sup>2</sup>)</italic> of the projection of the circle described by them. Let us call this the <italic>projection area</italic>. Given a direct insolation measurement 
<inline-formula>
<mml:math id="mm9">
<mml:semantics id="sm9">
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>d</mml:mi></mml:msub>
<mml:mspace width="0.2em"/>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mi>m</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula>, the amount of direct insolation that effectively reaches <italic>A</italic> is given by <xref rid="FD4" ref-type="disp-formula">equation 4</xref>:
<disp-formula id="FD4">
<label>(4)</label>
<mml:math id="mm10" display="block">
<mml:semantics id="sm10">
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>d</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>p</italic> is the ratio between the area of the blades and the area of the circle described by them in their spinning movement. In other words, when the direct insolation gets through the wind turbine, it will be occluded by the blades in a proportion equal to the mentioned ratio. Let us call <italic>p</italic> the occlusion percentage.</p>
<p>As mentioned earlier, when a wind turbine spins, the reduction of irradiation distributes homogenously in the projection area. Two different situations must be taken into account in order to study the temperature gradients. On the one hand, when the wind turbine blades spinning speed is above a certain threshold, the individual cast shadows of the blades do not generate a temperature gradient detectable by the thermal camera, but they go on contributing to the cooling of the projection area. In Section 5, some results concerning the study of the gradient of temperature that appears between the projection area and the contiguous one is carried out. On the other hand, when the spinning speed is low, individual blades cast shadows generating a temperature gradient that is detected by the thermal camera because there is more time for the asphalt to cool. In Section 5 a spinning speed threshold for which a detectable gradient appears is established.</p>
<p>From the vision-based road detection point of view, these two kinds of situations can be misclassified as obstacles on the road. In the first case, the gradient between a projection area and a non-shaded area can be misclassified as a static obstacle on the road. In the second case, the gradients caused by the individual blades can be miss-classified as rapid moving obstacles.</p></sec>
<sec>
<label>3.2.</label>
<title>Influence of the Wind Turbine Blades Spinning Speed</title>
<p>If the wind turbines' blades spinning speed is high enough, the temperature of the projection area decreases homogenously. The greater the occlusion percentage is, the faster the road surface cools.</p>
<p>Asphalt temperature can be estimated using <xref rid="FD3" ref-type="disp-formula">equation 3</xref>. Experimental results show that both the ambient temperature behavior and radiation intensity variations during a day can be approximated by a Gaussian distribution. In <xref ref-type="fig" rid="f3-sensors-09-08863">Figures 3</xref> and <xref ref-type="fig" rid="f4-sensors-09-08863">4</xref> the direct radiation and the asphalt and ambient temperatures during a sunny day in the ITER surroundings, respectively, are shown.</p>
<p>The model of the wind turbine determines the occlusion percentage due to the blades. This percentage modifies the direct radiation according to <xref rid="FD4" ref-type="disp-formula">equation 4</xref>. In <xref ref-type="fig" rid="f5-sensors-09-08863">Figure 5</xref>, the gradients of temperature between a non-shaded area and a shaded one for a range of occlusion percentages are shown.</p></sec>
<sec>
<label>3.3.</label>
<title>Reduction of the Shaded Area Temperature VS Blades Surface</title>
<p>The temperature variation of a region of asphalt subject to a static shadow that blocks all the direct irradiation (100 % of occlusion) for a relatively long period of time is the one shown in <xref ref-type="fig" rid="f6-sensors-09-08863">Figure 6</xref>. In this figure, given an ambient temperature, it is shown how the temperature of the road surface (blue line) varies when it is exposed to periods of irradiation and shadows (green line).</p>
<p>The time needed for the shaded asphalt to cool <italic>1 °C</italic> is T<sub>1c</sub> <italic>(sec)</italic>. Given a blade shadow width <italic>l (m)</italic>, there is a spinning speed 
<inline-formula>
<mml:math id="mm11">
<mml:semantics id="sm11">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>c</mml:mi></mml:mrow></mml:msub>
<mml:mspace width="0.2em"/>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mtext mathvariant="italic">rad</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mo>sec</mml:mo></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> for which the shadows remain in the same place of the road the necessary time to cool it beneath a temperature which can be detected by the thermal camera. If <italic>r</italic> is the blade length, then the perimeter of the wind turbine is:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math id="mm12" display="block">
<mml:semantics id="sm12">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>π</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The shadow width in radians is 
<inline-formula>
<mml:math id="mm13">
<mml:semantics id="sm13">
<mml:mrow>
<mml:mfrac>
<mml:mi>l</mml:mi>
<mml:mi>r</mml:mi></mml:mfrac></mml:mrow></mml:semantics></mml:math></inline-formula>, so it is necessary the shadow covers this width in <italic>t</italic> seconds as maximum for the asphalt to cool <italic>1°C</italic>. This gives a spinning speed shown in <xref rid="FD6" ref-type="disp-formula">equation 6</xref>:
<disp-formula id="FD6">
<label>(6)</label>
<mml:math id="mm14" display="block">
<mml:semantics id="sm14">
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>°</mml:mo>
<mml:mi>C</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mspace height=".6"/>
<mml:mi>l</mml:mi></mml:mover>
<mml:mo stretchy="true">/</mml:mo>
<mml:munder accentunder="true">
<mml:mspace depth="-.8"/>
<mml:mi>r</mml:mi></mml:munder></mml:mrow></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>°</mml:mo>
<mml:mi>C</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>In <xref ref-type="fig" rid="f7-sensors-09-08863">Figure 7</xref>, the wind turbine blades revolution time expressed in minutes as a function of the cast shadows width and the temperature gradient between the shaded and non shaded areas is shown. As it can be seen, with an average shadow width of 1 m, more than three hours per revolution are needed for the asphalt to cool 5 °C. Wind turbines usually spin much faster. That is the reason why, in practice, the gradient of temperature is not noticed in the thermal spectrum.</p></sec></sec>
<sec>
<label>4.</label>
<title>Visible and Thermal Images Fusion to Solve the Shadows Problem</title>
<sec>
<label>4.1.</label>
<title>Visible or Thermal Images?</title>
<p>The information of the road obtained by processing images in the visible spectrum can be complemented by information obtained from images captured by a thermal camera. The ACO-based road detection algorithm described in Section 2 processes the two kinds of images, so the information obtained from both of them is joined to build a more accurate and robust representation of the road.</p>
<p>Due to the windy nature of the environment where the prototype is going to navigate, it is frequent for dust to partially cover the road, making it highly difficult to achieve a proper road detection. If the asphalt under the dust is warm enough, the temperature of the road will be considerably higher than the temperature of the margins. In these cases, the road can be detected by its temperature rather than by its visible borders. In certain illumination conditions, for example when facing the sun during dawn, the video sensor saturates, making it very difficult to achieve a proper road detection. In these situations the thermal vision may be used to complement the poor detection achieved when using the visible spectrum. Of course, this is valid when the temperature of the road is different than the temperature of the margins, in <xref ref-type="fig" rid="f8-sensors-09-08863">Figure 8</xref> it is shown an example of the contrary case. This implies that the thermal images based detection will perform much better on sunny, warm days and, of course, during daytime. What is more, there are road stretches where the temperature measurements are very heterogeneous due to patches of different materials. In these zones it is easier to achieve a good detection via the visible spectrum.</p>
<p>When the previously mentioned illumination conditions are detected, the system starts capturing from two different video sources: one in the visible spectrum and another one in the thermal spectrum. In the first stages of the preprocessing step, right after the edge detection, both images are added, so the lack of edge information in the visible spectrum is complemented by the information obtained by the thermal camera, when possible. As seen, there is a time to use each kind of images, making it possible to complement the information from both to accomplish a proper road detection in a wide range of conditions, as shown in <xref ref-type="fig" rid="f9-sensors-09-08863">Figure 9</xref>.</p></sec>
<sec>
<label>4.2.</label>
<title>Shadows Occluding the Road Margins</title>
<p>Cast shadows on the road that are near its edges, like the ones produced by the wind turbines blades, affect the performance of the ACO-based road detection algorithm if they are not removed, as shown in <xref ref-type="fig" rid="f10-sensors-09-08863">Figure 10</xref>. Typically, cast shadows produce strong edges. If these edges are near the ones belonging to the road margins, the agents can miss the election and follow the shadow edge in their probabilistic exploratory movement. This can occur more frequently than desired because these edges inside the road will probably end near the point of attraction making them more appealing for the agents.</p>
<p>This situation is usually addressed by implementing a shadow removal step previous to the road detection. This step takes CPU time, which is very restricted in real time detection. The solution proposed in this article tries to anticipate these situations when difficult shadows produced by the wind turbines blades appear. Thus, the road detection switches the source image to work with the thermal ones, avoiding the shadow removal step.</p></sec></sec>
<sec sec-type="results">
<label>5.</label>
<title>Experimental Results</title>
<p>As it has been explained along the paper, shadows produce strong edges and, consequently, lead to misdetections if they are not removed. This makes it easy to detect them in the visible spectrum. On the other hand, shadows are not always detected in the thermal spectrum because they need to remain in the same position to cool the road under certain temperature.</p>
<p>The thermal camera assigns a color to each temperature detected in a scene. The wider the range of temperature in the scene is, the smaller the difference in the color code assigned to small temperature gradients is. This means that it is more difficult to detect small gradients when the range of temperature in a scene is big, since they produce weak edges in the preprocessing step. With this in mind, a <italic>detectability</italic> function can be defined to determine how well the temperature gradient is going to be detected as an edge in the preprocessing step. <italic>Detectability</italic> is defined as 
<inline-formula>
<mml:math id="mm15">
<mml:semantics id="sm15">
<mml:mrow>
<mml:mfrac>
<mml:mi>d</mml:mi>
<mml:mi>z</mml:mi></mml:mfrac></mml:mrow></mml:semantics></mml:math></inline-formula> and it is in the range:
<disp-formula id="FD7">
<label>(7)</label>
<mml:math id="mm16" display="block">
<mml:semantics id="sm16">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>≤</mml:mo>
<mml:mfrac>
<mml:mi>d</mml:mi>
<mml:mi>z</mml:mi></mml:mfrac>
<mml:mo>≤</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>z</italic> represents the range of temperature in a scene, in other words, the difference between the highest and the lowest temperatures detected. This range can be approximated by the difference between the irradiated asphalt temperature and the ambient one. <italic>d</italic> is the gradient of temperature between a shaded area and a non shaded one. When the ratio is big, the temperature gradient will be more probably detected and <italic>vice versa</italic>.</p>
<p>The <italic>detectability</italic> function on its own gives some idea of how well a gradient of temperature will be detected and segmented in the preprocessing step. However, it is necessary to establish some threshold above which it can be guaranteed the gradient will be detected.</p>
<p>To obtain the mentioned threshold, a set of grayscale images with increasing intensity difference between the background and a certain object were passed through a <italic>canny</italic>-based edge detection tuned as in the preprocessing step. Intensity differences from 14 to 255 grayscale levels make the object perfectly detectable by the edges processor. The minimum variation still detectable is 14 over 255, in other words, 
<inline-formula>
<mml:math id="mm17">
<mml:semantics id="sm17">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>14</mml:mn></mml:mrow>
<mml:mrow>
<mml:mn>255</mml:mn></mml:mrow></mml:mfrac>
<mml:mo>≃</mml:mo>
<mml:mn>5.5</mml:mn>
<mml:mo>%</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> of the grayscale range. Going back to the <italic>detectability</italic> function, the following inequality is obtained:
<disp-formula id="FD8">
<label>(8)</label>
<mml:math id="mm18" display="block">
<mml:semantics id="sm18">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>≥</mml:mo>
<mml:mn>0.055</mml:mn>
<mml:mo>∗</mml:mo>
<mml:mi>z</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Because <italic>z</italic> is variable, an absolute threshold for <italic>d</italic> can not be defined. Instead of that, it can be designed as a percentage of <italic>z</italic>. If the variation of temperature between shaded and non shaded areas is a 5.5% or greater of the maximum variation in the scene, it will be detected in the thermal image preprocessing step. The obtained threshold can not be applied to the study as it is, though. In real road scenes, heat transfer occurs between shaded and non shaded areas in proximity. From the thermal vision point of view, given an Euclidean distance in pixels between two points in the image, the camera assigns a color gradient that depends on its <italic>detectability</italic>, as previously seen. However, the same temperature gradient on the road may reflect on different pixels sets on the image depending on the perspective in which the scene is captured, thus appearing sharper or smoother color gradients. That means that for a low range of <italic>detectability</italic> values, there is an uncertainty of the gradient being effectively detected. With this in mind, some tests were performed. On these tests, shaded and non-shaded patches of asphalt in proximity were recorded by the thermal camera. Empirical results show that, for relatively long road patches, it is needed a difference of at least 15% of the maximum temperature variation in the scene for being detected, as shown in <xref ref-type="fig" rid="f11-sensors-09-08863">Figure 11</xref>.</p>
<p>In the next sections, thresholds for the occlusion percentage and wind turbines spinning speed are obtained. Those thresholds are deduced from the ones for <italic>detectability</italic>, as shown in <xref ref-type="fig" rid="f11-sensors-09-08863">Figure 11</xref>. To validate the empirical results, a theoretical model of a road patch subject to periodic cast shadows has been developed. The periodic shadows are modeled as a square-wave signal where the period is proportional to the spinning speed, and the width of the pulse is proportional to the occlusion percentage of the wind turbine.</p>
<sec>
<label>5.1.</label>
<title>Spinning Speed Threshold</title>
<p>Spinning speed thresholds can be obtained from the ones on the <italic>detectability</italic> range. When the spinning speed of the wind turbines blades is above 50 minutes per revolution, the individual blades produce a temperature gradient. In <xref ref-type="fig" rid="f12-sensors-09-08863">Figure 12</xref> this behavior is modeled for 800 <italic>w/m<sup>2</sup></italic> of irradiation and 25 °C of ambient temperature, for an average wind turbine of 7% of occlusion, that is the average occlusion in the wind farm of the ITER. The uppermost threshold for the spinning speed (150 mins. per rev.) is showed in a red curve. As seen, ≃ 5 °C temperature variations due to periodic shadows are produced: this is the gradient between the individual blades shadows and an irradiated area in their proximity. The maximum gradient of temperature, that is to say, the difference between the highest and the ambient temperatures, in the graph is ≃ 34 °C. Then, <italic>Detectability</italic> is 
<inline-formula>
<mml:math id="mm19">
<mml:semantics id="sm19">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mspace height=".6"/>
<mml:mi>d</mml:mi></mml:mover>
<mml:mo stretchy="true">/</mml:mo>
<mml:munder accentunder="true">
<mml:mspace depth="-.8"/>
<mml:mi>z</mml:mi></mml:munder></mml:mrow>
<mml:mo>→</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mspace height=".6"/>
<mml:mn>5</mml:mn></mml:mover>
<mml:mo stretchy="true">/</mml:mo>
<mml:munder accentunder="true">
<mml:mspace depth="-.8"/>
<mml:mrow>
<mml:mn>34</mml:mn></mml:mrow></mml:munder></mml:mrow>
<mml:mo>≃</mml:mo>
<mml:mn>0.15</mml:mn></mml:mrow></mml:semantics></mml:math></inline-formula>, corresponding to the highest threshold, shown in <xref ref-type="fig" rid="f11-sensors-09-08863">Figure 11</xref>. The same correspondence can be obtained for the lowest threshold of spinning speed, showed in a green curve. <xref ref-type="table" rid="t1-sensors-09-08863">Table 1</xref> numerically shows those gradients for the lowest and the uppermost thresholds.</p>
<p>The relation between spinning speed and <italic>detectability</italic> is shown in <xref ref-type="fig" rid="f14-sensors-09-08863">Figure 14</xref>. As can be seen in ths figure, <italic>detectability</italic> grows inversely proportional to the spinning speed, while it remains independent of the time of the day. In windy conditions, wind turbines spins between 15 and 45 revolutions per minute, much faster that the lowest threshold obtained for the spinning speed, which is 50 m.p.r (50 minutes per revolution = 0.02 revolutions per minute). That is why in practice there is no noticeable gradient produced by the blades when the turbine is spinning. Only when it is almost stopped it can be detected.</p></sec>
<sec>
<label>5.2.</label>
<title>Occlusion Threshold</title>
<p>Occlusion percentage thresholds can be also obtained from the ones in the <italic>detectability</italic> range. When the spinning speed of the wind turbines is high enough (beneath 50 minutes per revolution; which is the lowest threshold for spinning speed obtained in the previous section, as shown in <xref ref-type="fig" rid="f13-sensors-09-08863">Figure 13</xref>), individual blades gradients are not detected in the preprocessing step. In these circumstances, the temperature of the road in the projection area homogeneously lowers according to a reduction of irradiation equivalent to the occlusion percentage. In <xref ref-type="fig" rid="f15-sensors-09-08863">Figure 15</xref> this behavior is modeled for 800 <italic>w/m</italic><sup>2</sup> of irradiation and 25 °C of ambient temperature. The lowest threshold for the occlusion range (5 %) is shown in a red curve. As seen, temperature stabilizes approximately 2 °C beneath the maximum temperature of the road: this is the gradient between the projection area and an area in its proximity that is always irradiated. The maximum gradient of temperature in the graph is ≃ 34°C. Then, <italic>Detectability</italic> is d/z → 2/34 = 0.05, corresponding to the lowest threshold, shown in <xref ref-type="fig" rid="f11-sensors-09-08863">Figure 11</xref>. The same correspondence can be obtained for the highest threshold of occlusion, showed in a green curve. <xref ref-type="table" rid="t2-sensors-09-08863">Table 2</xref> numerically shows those gradients for the lowest and the uppermost thresholds.</p>
<p>As it can be seen in <xref ref-type="fig" rid="f17-sensors-09-08863">Figure 17</xref>, <italic>detectability</italic> grows with the occlusion percentage while it remains independent of the time of the day. Transferring the <italic>detectability</italic> thresholds to the occlusion percentage range, it is needed at least a 15% of occlusion to guarantee the detection of the gradient, as shown <xref ref-type="fig" rid="f16-sensors-09-08863">Figure 16</xref>. Considering that the average occlusion for the ITER wind turbines is 7%, it is very improbable for them to produce a noticeable difference of temperature, as it corresponds to the lowest part of the uncertainty range, see <xref ref-type="fig" rid="f16-sensors-09-08863">Figure 16</xref>. In practice, no gradient has been detected for this percentage of occlusion, although it cannot be theoretically discarded.</p>
<p>The relation between occlusion and <italic>detectability</italic> is showed in <xref ref-type="fig" rid="f17-sensors-09-08863">Figure 17</xref>.</p></sec></sec>
<sec sec-type="conclusions">
<label>6.</label>
<title>Conclusions</title>
<p>Road detection in the presence of shadows is a problem that has been addressed by several authors. While the usual solution proposed consists on carrying out a shadows removal preprocessing stage, in this paper this problem is overcome by the use of a thermal camera.</p>
<p>The self-guided electrical vehicle <italic>Verdino</italic> is going to navigate in a route in whose near surroundings there is a wind farm. The shadows produced by the wind turbines blades can be wrongly classified as obstacles when visible spectrum images are used for the road detection. As it is well known, shadow removal procedures do not completely guarantee to eliminate the shaded areas, so they are both time consuming and imperfect. However, if the asphalt cooling due to the shadows is not big enough the shadows do not appear in the thermal images. The method proposed in this paper switches the road detection input information to thermal vision only when the proper conditions are given. In these conditions, it is guaranteed that the shadows are not detected in the thermal spectrum, saving both the time needed for the removal step and the problems in later processing as consequence of non-proper shadows elimination. This is the reason why in this paper a study of the influence on the shaded area temperature reduction of both the wind turbines blades spinning speed and the blades surface is presented. As seen in the experimental section, the conditions required for the shadows absence in the thermal images are satisfied in the ITER wind farm. Only the average occlusion percentage lies on the lowest part of the <italic>detectability</italic> uncertainty range. That means that it can be possible to detect a gradient in the preprocessing step, although this is very improbable. In practice it has not been detected. In spite of the advantage of working with thermal images from the point of view of dynamic shadows, the ACO algorithm implemented to carry out the road detection can not do without the visible spectrum cameras. As explained in Section 4, there exist certain situations in which it is more efficient to use the visible camera and others in which the thermal camera provide with more useful information for the autonomous navigation. As a consequence of this, the fusion of the visible and thermal images is the solution proposed in this paper to solve, in certain circumstances, the shadows problem in navigation based on vision.</p></sec></body>
<back>
<ack>
<p>This work was supported by the Spanish Ministry of Education and Science, through the project SIBTRA (Low cost intelligent system for the transport and Surveillance in non-structured ecological environments) with reference DPI2007/64137, and the ITER (Technological Institute of Renewable Energies). This support is gratefully acknowledged.</p></ack>
<ref-list>
<title>References and Notes</title>
<ref id="b1-sensors-09-08863"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bertozzi</surname><given-names>M.</given-names></name><name><surname>Broggi</surname><given-names>A.</given-names></name><name><surname>Fascioli</surname><given-names>A.</given-names></name></person-group><article-title>Vision-based Intelligent Vehicles: State of the Art and Perspectives</article-title><source>J. Robot. Aut. Syst.</source><year>2000</year><volume>32</volume><fpage>116</fpage></citation></ref>
<ref id="b2-sensors-09-08863"><label>2.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Bertozzi</surname><given-names>M.</given-names></name><name><surname>Broggi</surname><given-names>A.</given-names></name><name><surname>Gomez</surname><given-names>C.H.</given-names></name><name><surname>Gomez</surname><given-names>R.I.</given-names></name><name><surname>Frediga</surname><given-names>R.I.</given-names></name><name><surname>Vezzoni</surname><given-names>G.</given-names></name><name><surname>Del Rose</surname><given-names>M.</given-names></name></person-group><article-title>Pedestrian Detection in Far Infrared Images Based on the Use of Probabilistic Templates</article-title><conf-name>Proceedings of IEEE Intelligent Vehicles Symposium</conf-name><conf-loc>San Diego, CA, USA</conf-loc><year>2007</year><fpage>327</fpage><lpage>332</lpage></citation></ref>
<ref id="b3-sensors-09-08863"><label>3.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lui</surname><given-names>J.G.</given-names></name><name><surname>Moore</surname><given-names>J.M.</given-names></name></person-group><article-title>Cloud Shadow Suppression Technique for Enhancement of Airborne Thematic Mapper Imagery</article-title><source>Photogramm. Eng. Remote Sens.</source><year>1993</year><volume>59</volume><fpage>1287</fpage><lpage>1291</lpage></citation></ref>
<ref id="b4-sensors-09-08863"><label>4.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bertozzi</surname><given-names>M.</given-names></name><name><surname>Broggi</surname><given-names>A.</given-names></name></person-group><article-title>GOLD: A Parallel Real-Time Stereo Vision System for Generic Obstacle and Lane Detection</article-title><source>IEEE Trans. Image Proc.</source><year>1998</year><volume>7</volume><fpage>6281</fpage></citation></ref>
<ref id="b5-sensors-09-08863"><label>5.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Broggi</surname><given-names>A.</given-names></name></person-group><article-title>Robust Real-Time Lane and Road Detection in Critical Shadow Condition</article-title><conf-name>International Symposium on Computer Vision</conf-name><conf-loc>Coral Gables, FL, USA</conf-loc><year>1995</year><fpage>353</fpage><lpage>358</lpage></citation></ref>
<ref id="b6-sensors-09-08863"><label>6.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Crisman</surname><given-names>J.</given-names></name><name><surname>Thorpe</surname><given-names>C.</given-names></name></person-group><article-title>UNSCARF: A Color Vision System for the Detection of Unstructured Roads</article-title><conf-name>Proceedings of the IEEE Internetional Conference on Robotics and Automation</conf-name><conf-loc>Sacramento, CA, USA</conf-loc><year>1991</year><fpage>2496</fpage><lpage>2501</lpage></citation></ref>
<ref id="b7-sensors-09-08863"><label>7.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sotelo</surname><given-names>M.A.</given-names></name><name><surname>Rodrguez</surname><given-names>F.J.</given-names></name><name><surname>Magdalena</surname><given-names>L.</given-names></name><name><surname>Bergasa</surname><given-names>L.M.</given-names></name><name><surname>Boquete</surname><given-names>L.</given-names></name></person-group><article-title>A Color-Based Lane Tracking System for Autonomous Driving on Unmarked Roads</article-title><source>Auto. Robots</source><year>2004</year><volume>16</volume><fpage>95</fpage><lpage>116</lpage><pub-id pub-id-type="doi">10.1023/B:AURO.0000008673.96984.28</pub-id></citation></ref>
<ref id="b8-sensors-09-08863"><label>8.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Dahlkamp</surname><given-names>H.</given-names></name><name><surname>Kaehler</surname><given-names>A.</given-names></name><name><surname>Stavens</surname><given-names>D.</given-names></name><name><surname>Thrun</surname><given-names>S.</given-names></name><name><surname>Bradski</surname><given-names>G.</given-names></name></person-group><article-title>Self-Supervised monocular Road Detection in Desert Terrain</article-title><conf-name>Proceedings of Robotics, Science and Systems</conf-name><conf-loc>Philadelphia, PA, USA</conf-loc><year>2006</year></citation></ref>
<ref id="b9-sensors-09-08863"><label>9.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Arnay</surname><given-names>R.</given-names></name><name><surname>Acosta</surname><given-names>L.</given-names></name><name><surname>Sigut</surname><given-names>M.</given-names></name><name><surname>Toledo</surname><given-names>J.</given-names></name></person-group><article-title>Applying an Ant Colony Optimization Algorithm to an Artificial Vision Problem in a Robotic Vehicle</article-title><source>Adv. Soft Comput.</source><year>2009</year><volume>50</volume><fpage>490</fpage><lpage>497</lpage></citation></ref>
<ref id="b10-sensors-09-08863"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Broggi</surname><given-names>A.</given-names></name><name><surname>Cattani</surname><given-names>S.</given-names></name></person-group><article-title>An Agent Based Evolutionary Approach to Path Detection for Off-Road Vehicle Guidance</article-title><source>Pattern Recognition Lett.</source><year>2006</year><volume>27</volume><fpage>1164</fpage><lpage>1173</lpage><pub-id pub-id-type="doi">10.1016/j.patrec.2005.07.014</pub-id></citation></ref>
<ref id="b11-sensors-09-08863"><label>11.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Denebourg</surname><given-names>J.L.</given-names></name><name><surname>Pasteels</surname><given-names>J.M.</given-names></name><name><surname>Vergaeghe</surname><given-names>J.C.</given-names></name></person-group><article-title>Probabilistic Behaviour in Ants: A Strategy of Errors?</article-title><source>J. Theor. Biology</source><year>1983</year><volume>105</volume><fpage>259</fpage><lpage>271</lpage><pub-id pub-id-type="doi">10.1016/S0022-5193(83)80007-1</pub-id></citation></ref>
<ref id="b12-sensors-09-08863"><label>12.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Dorigo</surname><given-names>M.</given-names></name><name><surname>Stützle</surname><given-names>T.</given-names></name></person-group><article-title>The Ant Colony Optimization Metaheuristic: Algorithms, Applications and Advances</article-title><source>Handbook of Metaheuristics</source><publisher-name>Springer</publisher-name><publisher-loc>New York, NY, USA</publisher-loc><year>2002</year><fpage>250</fpage><lpage>285</lpage></citation></ref>
<ref id="b13-sensors-09-08863"><label>13.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Dorigo</surname><given-names>M.</given-names></name><name><surname>Stützle</surname><given-names>T.</given-names></name></person-group><source>Ant Colony Optimization</source><publisher-name>MIT Press</publisher-name><publisher-loc>Cambridge, MA, USA</publisher-loc><year>2004</year></citation></ref>
<ref id="b14-sensors-09-08863"><label>14.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Dorigo</surname><given-names>M.</given-names></name><name><surname>Maniezo</surname><given-names>V.</given-names></name><name><surname>Colorni</surname><given-names>A.</given-names></name></person-group><article-title>The Ant System: Optimization by a Colony of Cooperating Agents</article-title><source>IEEE Trans. Syst. Man Cybern.</source><year>1996</year><volume>26</volume><fpage>29</fpage><lpage>41</lpage><pub-id pub-id-type="doi">10.1109/3477.484436</pub-id></citation></ref>
<ref id="b15-sensors-09-08863"><label>15.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Heck</surname><given-names>P.S.</given-names></name><name><surname>Ghosh</surname><given-names>S.</given-names></name></person-group><article-title>A Study of Synthetic Creativity: Behavior Modeling and Simulation of An Ant Colony</article-title><source>IEEE Int. Syst.</source><year>1996</year><volume>15</volume><fpage>58</fpage><lpage>66</lpage></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Tables</title>
<fig id="f1-sensors-09-08863" position="float">
<label>Figure 1.</label>
<caption>
<p>Application of the ACO algorithm to different types of non-structured roads input images: synthetic desert paths (left), unmarked roads (center) and partially occluded non-structured roads (right). The input of the algorithm is shown in the uppermost part of the figure and the output (detected road) is shown in the lowest part.</p></caption>
<graphic xlink:href="sensors-09-08863f1.gif"/></fig>
<fig id="f2-sensors-09-08863" position="float">
<label>Figure 2.</label>
<caption>
<p>Direct radiation occluded by the wind turbine generates the <italic>projection area</italic>.</p></caption>
<graphic xlink:href="sensors-09-08863f2.gif"/></fig>
<fig id="f3-sensors-09-08863" position="float">
<label>Figure 3.</label>
<caption>
<p>Direct radiation during a day in the ITER surroundings.</p></caption>
<graphic xlink:href="sensors-09-08863f3.gif"/></fig>
<fig id="f4-sensors-09-08863" position="float">
<label>Figure 4.</label>
<caption>
<p>Asphalt (blue line) and external temperature (green line) during a day in the ITER surroundings.</p></caption>
<graphic xlink:href="sensors-09-08863f4.gif"/></fig>
<fig id="f5-sensors-09-08863" position="float">
<label>Figure 5.</label>
<caption>
<p>Temperature gradient between shaded and non shaded areas in proximity during a day for different occlusion percentages.</p></caption>
<graphic xlink:href="sensors-09-08863f5.gif"/></fig>
<fig id="f6-sensors-09-08863" position="float">
<label>Figure 6.</label>
<caption>
<p>Asphalt temperature variation when exposed to periods of irradiation and shadows.</p></caption>
<graphic xlink:href="sensors-09-08863f6.gif"/></fig>
<fig id="f7-sensors-09-08863" position="float">
<label>Figure 7.</label>
<caption>
<p>Minutes per revolution needed to obtain the temperature gradients showed for different shadow widths.</p></caption>
<graphic xlink:href="sensors-09-08863f7.gif"/></fig>
<fig id="f8-sensors-09-08863" position="float">
<label>Figure 8.</label>
<caption>
<p>Both images in this figure show the same road stretch in the infrared (left) and visible (right) spectrums. As it can be seen in the visible spectrum image, there is a stone wall on the right margin of the road. The temperature of the wall is the same as the temperature of the road, making it impossible to distinguish the road from it margins in the thermal spectrum image. In cases like this, it is necessary to base the road detection on the visible spectrum input image only.</p></caption>
<graphic xlink:href="sensors-09-08863f8.gif"/></fig>
<fig id="f9-sensors-09-08863" position="float">
<label>Figure 9.</label>
<caption>
<p>Example of how thermal (right) and visible (left) spectrum information is joined to improve the road detection.</p></caption>
<graphic xlink:href="sensors-09-08863f9.gif"/></fig>
<fig id="f10-sensors-09-08863" position="float">
<label>Figure 10.</label>
<caption>
<p>Example of how dynamic shadows difficult the road detection in the visible spectrum. However, they are usually not detected in the thermal spectrum.</p></caption>
<graphic xlink:href="sensors-09-08863f10.gif"/></fig>
<fig id="f11-sensors-09-08863" position="float">
<label>Figure 11.</label>
<caption>
<p>Thresholds for <italic>detectability</italic> range. Non detection range (red): temperature gradients are not detected in the preprocessing step. Uncertainty range (yellow): it can not be guaranteed if the gradient is detected or not. It strongly depends on the perspective in which the scene is captured. Detection range (green): the gradient is strong enough for being detected in the preprocessing step.</p></caption>
<graphic xlink:href="sensors-09-08863f11.gif"/></fig>
<fig id="f12-sensors-09-08863" position="float">
<label>Figure 12.</label>
<caption>
<p>Temperature variation on a road patch surface due to periodic dynamic shadows. Green and red curves show temperature variations for a spinning speed of 50 and 150 minutes per revolution, respectively. Blue curve shows the temperature of a non-shaded road patch.</p></caption>
<graphic xlink:href="sensors-09-08863f12.gif"/></fig>
<fig id="f13-sensors-09-08863" position="float">
<label>Figure 13.</label>
<caption>
<p>Thresholds for the wind turbines spinning speed range (m.p.r). Non detection range (red): individual blades gradients are not detected in the preprocessing step. Uncertainty range (yellow): it can not be guaranteed if the gradient is detected or not. It strongly depends on the perspective in which the scene is captured. Detection range (green): the gradient is strong enough for being detected in the preprocessing step.</p></caption>
<graphic xlink:href="sensors-09-08863f13.gif"/></fig>
<fig id="f14-sensors-09-08863" position="float">
<label>Figure 14.</label>
<caption>
<p><italic>Detectability</italic> as function of the wind turbines blades revolution time.</p></caption>
<graphic xlink:href="sensors-09-08863f14.gif"/></fig>
<fig id="f15-sensors-09-08863" position="float">
<label>Figure 15.</label>
<caption>
<p>Temperature variation on a road patch surface due to periodic dynamic shadows for a spinning speed of 1 minute per revolution. Red and green curves show temperature variations for 5% and 15% of occlusion, respectively. Blue curve shows the reference temperature of a non-shaded road patch.</p></caption>
<graphic xlink:href="sensors-09-08863f15.gif"/></fig>
<fig id="f16-sensors-09-08863" position="float">
<label>Figure 16.</label>
<caption>
<p>Thresholds for the occlusion percentage of the wind turbines. Non detection range (red): projection area gradient is not detected in the preprocessing step. Uncertainty range (yellow): it can not be guaranteed if the gradient is detected or not. It strongly depends on the perspective in which the scene is captured. Detection range (green): the gradient is strong enough for being detected in the preprocessing step.</p></caption>
<graphic xlink:href="sensors-09-08863f16.gif"/></fig>
<fig id="f17-sensors-09-08863" position="float">
<label>Figure 17.</label>
<caption>
<p>Detectability as a function of the occlusion percentage during a day.</p></caption>
<graphic xlink:href="sensors-09-08863f17.gif"/></fig>
<table-wrap id="t1-sensors-09-08863" position="float">
<label>Table 1.</label>
<caption>
<p>Gradients of temperature produced by individual blade shadows corresponding to the proposed thresholds. (7 % occlusion, 800<italic>w/m</italic><sup>2</sup>, 25°C ambient temp.).</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="top"><bold>Spinning speed</bold></th>
<th align="left" valign="top"><bold>Blade gradient min. temp.</bold></th>
<th align="left" valign="top"><bold>Blade gradient max. temp.</bold></th>
<th align="center" valign="top"><bold><italic>d</italic></bold></th>
<th align="center" valign="top"><bold><italic>z</italic></bold></th>
<th align="left" valign="top"><bold><italic>Detectability</italic></bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top">50 m.p.r</td>
<td align="left" valign="top">59.37 °C</td>
<td align="left" valign="top">61.26 °C</td>
<td align="center" valign="top">1.89 °C</td>
<td align="center" valign="top">34.28 °C</td>
<td align="left" valign="top">0.0552</td></tr>
<tr>
<td align="left" valign="top">150 m.p.r</td>
<td align="left" valign="top">56.78 °C</td>
<td align="left" valign="top">61.95 °C</td>
<td align="center" valign="top">5.17 °C</td>
<td align="center" valign="top">34.28 °C</td>
<td align="left" valign="top">0.1508</td></tr></tbody></table></table-wrap>
<table-wrap id="t2-sensors-09-08863" position="float">
<label>Table 2.</label>
<caption>
<p>Gradients of temperature produced between the projection area and the irradiated area in its proximity corresponding to the proposed thresholds. (800 <italic>w/m<sup>2</sup></italic>, 25°C ambient temp.).</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="top"><bold>Occlusion %</bold></th>
<th align="left" valign="top"><bold>Projection area gradient min. temp.</bold></th>
<th align="left" valign="top"><bold>Projection area gradient max. temp.</bold></th>
<th align="center" valign="top"><bold><italic>d</italic></bold></th>
<th align="center" valign="top"><bold><italic>z</italic></bold></th>
<th align="left" valign="top"><bold><italic>Detectability</italic></bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top">5 %</td>
<td align="left" valign="top">60.27 °C</td>
<td align="left" valign="top">62.28 °C</td>
<td align="center" valign="top">2.11 °C</td>
<td align="center" valign="top">34.28 °C</td>
<td align="left" valign="top">0.058</td></tr>
<tr>
<td align="left" valign="top">15 %</td>
<td align="left" valign="top">57.00 °C</td>
<td align="left" valign="top">62.28 °C</td>
<td align="center" valign="top">5.28 °C</td>
<td align="center" valign="top">34.28 °C</td>
<td align="left" valign="top">0.154</td></tr></tbody></table></table-wrap></sec></back></article>
