Silvère Gauthier

William Puech

Roseline Bénière

Gérard Subsol

Analysis of digitized 3D mesh curvature histograms for reverse engineering

Keywords: 3D Mesh, digitized, curvature, distribution, reverse engineering

teaching and research institutions in France or abroad, or from public or private research centers.

Introduction

The availability of 3D scanners has increased the fast development of applications in Computed-Aided Design (CAD), reverse engineering, medicine and inspection. Many 3D processes use the objects shape, like segmentation, recognition or classification for example. In the production line of manufactured objects, steps can be distributed to many partners, and during the process, some data can be lost. An industrial reverse engineering application aims to reconstruct an object as a combination of geometric primitives, from a digitized 3D mesh or 3D point cloud [START_REF] Benkő | Algorithms for reverse engineering boundary representation models[END_REF][START_REF] Bénière | A comprehensive process of reverse engineering from 3D meshes to CAD models[END_REF]. For mechanical objects, we search for planes, spheres, cylinders and cones, but also torus and more specifically developable or ruled surfaces. This can lead to quality control or object modification issues for example. To reconstruct the initial geometry, we must take into account the shape of the objects and their relationship with each other. But an object shape can be very complex, and the measured data can often be noisy. So, we need robust 3D descriptors to accurately define the objects shape.

In previous work, geometry descriptors like the curvatures [START_REF] Gatzke | Estimating Curvature on Triangular Meshes[END_REF][START_REF] Magid | A comparison of Gaussian and mean curvature estimation methods on triangular meshes of range image data[END_REF] allow us to deal with the 3D mesh shape. But the curvature is computed locally, while it is often necessary to characterize the shape globally. To do this, we can construct curvature distributions [START_REF] Chen | Automatic prismatic feature segmentation of scanning-derived meshes utilising mean curvature histograms[END_REF][START_REF] Masmoudi | A finite mixture model of geometric distributions for lossless image compression[END_REF] and analyze them.

In this paper, we propose a method based on the analysis of a digitized 3D mesh curvature histogram. We use the curvature approximation from Bénière et al. [START_REF] Bénière | Recovering Primitives in 3D CAD meshes[END_REF] who incorporates two other methods [START_REF] Chen | Intrinsic surface properties from surface triangulation[END_REF][START_REF] Dong | Curvatures estimation on triangular mesh[END_REF]. Then, a distribution is constructed continuously by a kernel estimation from all of the curvature values.

Finally, an accurate curvature distribution analysis is realized. In the distribution, we propose to search for peaks and valleys, and compute some statistics depending on the chosen application. Indeed, curvature distribution approximately describes the objects shape, so these distributions can be useful to many applications. In this paper, we propose to use a curvature histogram to segment 3D meshes, detect primitive type and measure the quality of the mesh. This paper is organized as follows. Previous work in this topic is presented in Section 2. In Section 3, we present in detail our distribution construction and analysis. Section 4 is dedicated to three uses of curvature distribution, which are mesh segmentation, primitive type detection with tolerances adaptation and mesh quality evaluation. In Section 5, we apply our proposed analysis on digitized 3D surfaces of real objects and we show that our analysis hugely improves the obtained results. Finally, we conclude and propose directions for future research in Section 6.

Previous work

We present in Section 2.1 previous work on curvatures and distributions. Then, we show three fields in 3D mesh processing: mesh segmentation in Section 2.1.1, geometric primitive type detection in Section 2.1.2 and mesh quality evaluation in Section 2.1.3.

Curvature distribution

Intuitively, curvature quantifies the deviation between a curve and a straight line, or between a surface and a plane in 3D. The curvature of a 2D curve at a point P equals the inverse of the osculating circle radius r at P . The osculating circle is the circular arc which best approximates the curve around P (Fig. 1.a).

On a 3D surface, an infinity of curvature directions exists around the normal vector of P (Fig. 1.b). So, we need to distinguish particular curvatures. Principal curvatures are the minimum and maximum curvatures. Mean curvature and Gaussian curvature equal respectively the mean and the product of principal curvatures. The Euler formula gives the continuous curvature at a point P for each tangent vector t i :

k n (t i ) = k max cos 2 (θ) + k min sin 2 (θ), (1)
where k max and k min are the principal curvatures, and θ is the angle between the maximum principal direction d max and the direction of k n . But since a mesh is a discrete object, we need to approximate the curvature from a point cloud.

Chen and Schmitt [START_REF] Chen | Intrinsic surface properties from surface triangulation[END_REF] compute "discrete" curvatures at P with the Meusnier theorem:

k n (t) = k C * cos(θ), (2)
where k C is the curvature at P of the curve obtained by intersection between the surface and a plane P C , and θ is the angle between the normal at P and the normal of the plane P C . Each neighbor pair of P defines a plane with P , and the curvature circle is the circumscribed circle of the three points. A linear regression is then applied on all discrete curvatures to retrieve approximated principal curvatures. Dong and Wang [START_REF] Dong | Curvatures estimation on triangular mesh[END_REF] compute discrete curvatures with:

k n (t) = < P i -P, N i -N > ||P i -P || 2 , (3)
where P i is a neighbor of P with a normal N i , and t the projection of P i P on the tangent plane of P . A linear regression is also applied on all discrete curvatures, but with a coefficient fixed to the maximum computed value. Bénière et al. [START_REF] Bénière | A comprehensive process of reverse engineering from 3D meshes to CAD models[END_REF] compute discrete curvatures with the formula 3 for each neighbor of P , and apply the linear regression of [START_REF] Chen | Intrinsic surface properties from surface triangulation[END_REF]. For our proposed approach, we prefer to use this approximation because it is more accurate. Indeed, equation 3 uses each neighbor independently and avoids some curve distortion. Moreover, fixing a linear regression coefficient when we do not know if we have computed the real maximum curvature is dangerous. Curvatures are often used to caracterize surface shape [START_REF] Koenderink | Surface shape and curvature scales[END_REF][START_REF] Tang | Robust Estimation of Curvature Information from Noisy 3D Data for Shape Description in Computer Vision[END_REF]. So, for example, it is possible to analyze a shape to detect saliency [START_REF] Watanabe | Detection of Salient Curvature Features on Polygonal Surfaces[END_REF] or apply segmentation [START_REF] Lavoué | A new CAD mesh segmentation method, based on curvature tensor analysis[END_REF][START_REF] Chen | Automatic prismatic feature segmentation of scanning-derived meshes utilising mean curvature histograms[END_REF].

There are many different types of distributions. But overall, we can distinguish discrete and continous distributions. A discrete distribution is often represented by a histogram, as illustrated in Fig. 2.a. On the other hand, continous distributions correspond to mathematical models. Common models are Gaussian or Normal distributions (Fig. In our case, computed curvature values are real. So, it is necessary to approximate a discrete distribution with a continuous model. Most of the time, models are optimized from the measured data. Model optimization estimates the parameters of a density function by maximizing the joint likelihood of the observed samples to be generated by this model. A common optimization algorithm is the Expectation-Maximisation (EM) [START_REF] Mclachlan | The EM Algorithm and Extensions[END_REF]. For example, these distributions can be used in image processing to improve compression [START_REF] Masmoudi | A finite mixture model of geometric distributions for lossless image compression[END_REF], for perceptual hashing systems [START_REF] Hadmi | A robust and secure perceptual hashing system based on a quantization step analysis[END_REF], or even automatic image thresholding [START_REF] Huang | A new image thresholding method based on Gaussian mixture model[END_REF].

Previous methods in 3D mesh processing proposed to use distributions [START_REF] Demarsin | Meshless Extraction of Closed Feature Lines Using Histogram Thresholding[END_REF][START_REF] Chen | Automatic prismatic feature segmentation of scanning-derived meshes utilising mean curvature histograms[END_REF].

For example, Demarsin et al. [START_REF] Demarsin | Meshless Extraction of Closed Feature Lines Using Histogram Thresholding[END_REF] compute an absolute mean curvature histogram used to extract object edges. They analyze many histogram resolutions to define a sufficient bin number. However, Chen and Feng [START_REF] Chen | Automatic prismatic feature segmentation of scanning-derived meshes utilising mean curvature histograms[END_REF] construct a signed mean curvature histogram, then apply a Laplacian smooth modifier and analyze the histogram to segment the object. They can separate homogeneous intervals by histogram analysis. But the main limitation of these two methods is that the histogram is constructed with a discrete approach, whereas curvature values are real. To extend their methods, we can construct a histogram by optimisation or kernel estimation for example.

Segmentation

A segmentation is a partitioning of a digital image, a 3D mesh or a 3D point cloud in several regions, as illustrated in Fig. 3. For 3D objects, we distinguish between cloud-based [START_REF] Sitnik | Segmentation of unsorted cloud of points data from full field optical measurement for metrological validation[END_REF] and mesh-based approaches [START_REF] Shamir | A survey on Mesh Segmentation Techniques[END_REF].

Many different 3D mesh segmentation algorithms have been published [START_REF] Petitjean | A Survey of Methods for Recovering Quadrics in Triangle Meshes[END_REF][START_REF] Theologou | A Comprehensive Overview of Methodologies and Performance Evaluation Frameworks in 3D Mesh Segmentation[END_REF], but each segmentation gives more or less good results depending on the chosen application. Most of the time, a segmentation brings together points with similar criteria. For example, the segmentation can be based on a waterfall [START_REF] Delest | Fast segmentation of triangular meshes using waterfall[END_REF], hierarchical clustering [START_REF] Garland | Hierarchical face clustering on polygonal surfaces[END_REF], iterative merging [START_REF] Kim | Boundary-trimmed 3D triangular mesh segmentation based on iterative merging strategy[END_REF] or remeshing [START_REF] Lai | Feature sensitive mesh segmentation[END_REF]. In reverse engineering, the best results are reached when using curvatures, because primitives are extracted from curvatures analysis. Some methods use curvatures to segment by discontinuities [START_REF] Benkő | Algorithms for reverse engineering boundary representation models[END_REF][START_REF] Chen | Automatic prismatic feature segmentation of scanning-derived meshes utilising mean curvature histograms[END_REF], clustering [START_REF] Di Angelo | Geometric segmentation of 3D scanned surfaces[END_REF], or to better digitize [START_REF] Courtial | New 3D segmentation approach for reverse engineering selective sampling acquisition[END_REF], but they are often not robust enough around object edges or are sensitive to noise [START_REF] Lavoué | A new CAD mesh segmentation method, based on curvature tensor analysis[END_REF][START_REF] Bénière | A comprehensive process of reverse engineering from 3D meshes to CAD models[END_REF]. Indeed, curvatures are often inaccurate around object edges because adjacent points can run over many different primitives. Moreover, we are searching for a fully automatic method, so we cannot use parameters like a cluster number [START_REF] Attene | Hierarchical mesh segmentation based on fitting primitives[END_REF].

The edge extraction of Demarsin et al. [START_REF] Demarsin | Meshless Extraction of Closed Feature Lines Using Histogram Thresholding[END_REF] is interesting, but it is not entirely automatic. Indeed, they compute an absolute mean curvature histogram and define a threshold leading to edge extraction. Then, they ask for user help to validate the result or compute another threshold. To extend this threshold computation, we can normalize the curvature and fix the histogram range.

Chen and Feng [START_REF] Chen | Automatic prismatic feature segmentation of scanning-derived meshes utilising mean curvature histograms[END_REF] propose to construct the mean curvature histogram, and then to apply a Laplacian smooth modifier. After, they compute valleys on the histogram, which define segmentation thresholds. Finally, they retrieve the isolated regions and improve their boundaries. But their method is limited since they do not have a single primitive per submesh. To extend this segmentation, we can apply a recursive extraction of salient edges.

Primitive type detection

Primitive extraction starts from an initial set of measured data and builds derived values, which are primitives (Fig 4 ). We generally search for planes, spheres and cylinders because they are the most common primitives contained in mechanical objects, but we can also search for cones, torus or ruled surfaces for example. Primitive extraction can be based on fitting profiles [START_REF] Benkő | Algorithms for reverse engineering boundary representation models[END_REF], quadratic surfaces [START_REF] Wang | A Framework for 3D Model Reconstruction in Reverse Engineering[END_REF] or freeform surfaces [START_REF] Weiss | Advanced Surface Fitting Techniques[END_REF]. But most of the time, primitive extraction uses curvature analysis, after a mesh segmentation [START_REF] Bénière | A comprehensive process of reverse engineering from 3D meshes to CAD models[END_REF], with a distribution [START_REF] Chen | Idealization of scanning-derived triangle mesh models of prismatic engineering parts[END_REF], or even with outlier handling [START_REF] Tran | Extraction of Reliable Primitives from Unorganized Point Clouds[END_REF]. Since two primitives with identical parameters are not distinguished by their curvature, these methods cannot directly handle primitive positions. But curvature is robust to noise, and can be analyzed locally to extract each primitive separately.

The limit of these methods is that they can not estimate the primitive type before extraction. To detect this primitive type, we propose to analyze the principal curvature distributions.

Noise and mesh quality evaluation

In many 3D processes, it is important to handle noise properly to avoid distorted representation. But noise characterization depends on the chosen scanner. In fact, noise characterization for depth sensors [START_REF] Pomerleau | Noise characterization of depth sensors for surface inspections[END_REF] and for laser beams [START_REF] Masuda | Reliable Surface Extraction from Point-Clouds using Scanner-Dependent Parameters[END_REF] are different. So, digitization noise estimation is difficult. Most of the time, methods presume a Gaussian and isotropic noise, which does not reflect reality. To properly deduce the real noise type, it is necessary to know the object shape before the analysis. But in case of digitized meshes, we cannot know this shape. Moreover, many different noises can be present at the same time. In Fig. 5, we apply different values of gaussian noise to a sphere and compare curvature histograms. We show that curvature distributions of noisy spheres have a gaussian shape, which is related to the noise type. We can also introduce an estimation for the roughness of the surface [START_REF] Lavoué | A Local Roughness Measure for 3D Meshes and Its Application to Visual Masking[END_REF],

which is defined by a local analysis of the curvature values. Like the noise on coordinates, the roughness can be difficult to characterize since it depends also on the object material and the digitization. Sometimes, roughness can quantify locally the noise.

Proposed curvature distribution analysis

Our proposed method first computes a discrete curvature on each vertex of the initial 3D mesh. This method constructs a continuous estimated and normalized histogram for each curvature (Section 3.1), then analyzes it (Section 3.2). An overview of our proposed method is illustrated Fig. 6. We provide, for example, a peak and valley extraction used for segmentation (Section 4.1). In the same way, some statistics computed on each histogram are useful to adapt geometric extraction tolerances (Section 4.2) or measure the quality of the mesh (Section 4.3).

Probability curvature distribution

A probability distribution assigns a probability to each measurable subset of the possible outcomes of a random experiment, survey, or procedure of statistical inference. We can represent a probability distribution by a histogram. But to define the probability distributions for the simplest cases, we need to distinguish between discrete and continuous random variables. In the discrete case, we can easily assign a probability to each possible value. By contrast, when a random variable like curvature takes values from a continuum, then probabilities can be nonzero only if they refer to intervals.

To approximate continuous curvatures on a discrete 3D mesh, we use the method proposed by Bénière et al. [START_REF] Bénière | A comprehensive process of reverse engineering from 3D meshes to CAD models[END_REF]. In our case, meshes can be defined with different scales and can give different curvature ranges. So, to construct curvature histograms which can be compared between many objects, we must normalize curvature values with each mesh (Section 3.1.1). Moreover, curvature values are real, so it is more suitable to construct a histogram with kernelestimation for example (Section 3.1.2).

Normalized curvature

Histograms must have the same range to make a comparison. Indeed, we must take into account the mesh scale. To homogenize them, curvature values have to be normalized. Our method normalizes curvature values by multiplying them by the mean edge length of the mesh.

If the object is correctly meshed and edge lengths are equal, we can deduce the minimum and maximum possible curvature values, as illustrated in Fig. 7.

We propose then to limit the histogram range according to these values. Edge lengths of a digitized mesh are not all equal, but they are similar enough to not distort the histogram. If a mesh has varying edge lengths, some curvature values can be truncated. Most of the time, there is only a small number of long edges, and the histogram is similar with or without these edges.

Kernel estimation

Curvature values are real, so it is more suitable to compute a histogram with a continuous estimation. Our method computes histograms with a kernel-type estimation. We chose a gaussian kernel because digitized meshes with only one primitive often give gaussian-type curvature distributions. This may be related to scanner characteristics. We compute the histogram with:

fh (x) = 1 n n i=1 K h (x -x i ), ( 4
)
where x is the central value of a bin, fh (x) is the quantity inside the bin, n is the number of points, x i is the i th point and h is the kernel standard deviation. The gaussian kernel is defined by:

K h (x -x i ) = 1 h √ 2π e -1 2 ( x-x i h ) 2 . ( 5
)
Each bin of the histogram is computed by centering the kernel on it. Then, kernel density estimation (KDE) is applied on each curvature value and added to the bin. So each bin is computed with a neighborhood defined by the kernel standard deviation. Fig. 8 shows an example of a normalized mean curvature distribution with a kernel deviation h = 0.01. This continuous estimation makes histograms less sensitive to noise and bin number. Indeed, high frequency fluctuations are naturally smoothed by the kernel. Besides, if the noise deviation is close to or greater than the kernel deviation, curvature values can be too mixed and histogram analysis is limited.

Analysis

Many caracteristics of a histogram can be useful to numerous applications. We can, for example, search for a modal number and positions (named "peaks" here), pattern, sparsity and statistics. In our method, we essentially provide robust peak and valley detection (Section 3.2.1), and use some statistics like mean and standard deviation (Section 3.2.2).

Peaks and valleys

To detect homogeneous curvature intervals, we need to detect peaks and valleys in the histogram, as illustrated in Fig. 9.a and Fig. 9.b. A peak defines a dominant curvature value and a pair of two consecutive valleys defines an homogeneous interval of curvature.

To detect peaks (or modes), many methods exist like the mean-shift algorithm [START_REF] Carreira-Perpiñán | A review of mean-shift algorithms for clustering[END_REF]. But these kind of methods can be heavy and do not detect valleys. Therefore, we prefer to use a simple method based on derivatives.

We begin by computing a discrete approximation of the second derivative of the histogram:

D 2 (i) = H(i + 1) + H(i -1) -2H(i), (6)
with D 2 (i) the i th second derivative value and H(i) the i th histogram value. Thus, we aim to detect robust peaks and valleys from the second derivative. A peak (resp. a valley) is a bin with a higher (resp. a lower) probability than the two adjacent bins. A robust peak (resp. a robust valley) is a bin with the highest (resp. the lowest) probability in a window. Finally, a robust peak (resp. a robust valley) in the second derivative corresponds to a valley (resp. a peak) in the histogram. Our method uses small sliding windows for both peaks and valleys detection, just to avoid small fluctuations.

Gaussian Mixture Model

We can also estimate our distribution by a Gaussian Mixture Model (GMM), which provides mean and standard deviation of each homogeneous interval of curvature. To do this, we can use algorithms like K-Means or Bayesian Information Criterion (BIC) to give a number of gaussian models. Thus, we can use an Expectation-Maximisation algorithm (EM) to optimize these models (Fig. 10.a). With our peak and valley detection, it is possible to obtain a fast convergence of EM. Indeed, we can suppose that the optimal number of models is close to our number of valleys. Moreover, we can compute starting mean and standard deviation of each model by computing it between each couple of consecutive valleys (Fig. 10.b). We can see that these models are already close to optimized ones, so fewer iterations are needed to compute them.

Curvature distribution applications

Our method can be useful in many applications. This section presents three applications which can be used, for example, in a reverse engineering process: digitized 3D mesh segmentation (Section 4.1), primitive type detection with tolerances adaptation (Section 4.2) and mesh quality measurement (Section 4.3).

Segmentation

In our case, we work on digitized meshes, with point coordinate inaccuracies and noise. To correctly segment these, we aim to extract salient object edges matching with intersections between geometric primitives (Section 4.1.1). We can retrieve isolated and homogeneous regions (Section 4.1.2). Finally, we also apply recursivity (Section 4.1.3) to improve results and obtain only one primitive in each submesh. Our proposed segmentation, based on curvature histogram analysis, is fast and completely automated. Fig. 11 shows an overview of our proposed segmentation.

Edge extraction

The edges of an object are the salient mesh areas characterized by a high curvature. We propose to extract these edges with curvature histogram analysis, as described in Section 3. Indeed, high curvatures are on the extremities of curvature histograms. To detect and extract the edges, we apply a thresholding on curvature values. Our method defines two thresholds, matching with the extreme left and right valleys of the histogram (Fig. 12). Points with curvature between the two thresholds are labelled "uniform", and others are labelled "edge". We can also realize multiple thresholding by taking each valley pair as thresholds (Fig. 13). This method directly isolates homogeneous intervals, but we need to be aware of potential curvature inaccuracy. To improve edge detection, we may have to remove some valleys which are due to downsampling on some curvature intervals.

Region growing

After curvature thresholding, we can retrieve connected points by region growing. Our method retrieves triangles instead of points, but it is based on the same principle. A triangle type is defined by its dominant point type. Region growing is a common algorithm that groups similar adjacent elements: take a "seed" triangle and assign a unique ID (Fig. 14.a) and propagate the seed ID to its neighbors (Fig. 14.b) until it reaches the borders (Fig. 14.c). The choice of the seed does not matter since triangles have only two possible values: threshold or non-threshold. We always retrieve the same set of regions.

Recursivity

A mechanical object can be composed of many parts with different scales. In this case, it is not possible to compute a unique threshold to obtain optimal results. So in our method, we choose to apply recursive segmentation. In fact, we segment the input mesh, then segment again each submesh with the same method, until we obtain only one region by submesh. Since our method is based on curvature histogram analysis, each submesh has a different histogram and we can detect object edges with many scales (Fig. 15).

Primitive type detection tolerances

Most of the time, geometric primitive extraction uses many tolerances. These tolerances, on curvature for example, are often specific to the primitive type (plane, sphere, cylinder, cone, torus, ...). If we can determine the dominant surface type in a mesh, we can also adapt tolerances thanks to this information.

In fact, we can deduce it directly from curvature histogram analysis. So, it is possible to improve geometric surface fitting. This section presents tolerance adaptation for planes and spheres in Section 4.2.1, cylinders in Section 4.2.2 and more complex primitives in Section 4.2.3.

Planes and spheres

On a plane, the two principal curvatures equal zero. So we can define a planar mesh as a mesh with minimum and maximum curvature histogram values around zero (Fig. 16.a).

The tolerance of zero curvature can be computed from the principal curvature histograms:

CurvatureZero P lane = Sigma M in + Sigma M ax 2 , (7)
with Sigma M in and Sigma M ax the standard deviations of minimum and maximum curvature histograms. On a sphere, the two principal curvature histogram values are equals and far from zero. So we can define a spherical mesh as a mesh with minimum and maximum curvature histogram values which are similar and far from zero, as illustrated in Fig. 16.b.

The curvature similarity tolerance can be computed with:

LowerBound = min(M u M in -Sigma M in ; M u M ax -Sigma M ax ), U pperBound = max(M u M in + Sigma M in ; M u M ax + Sigma M ax ), SimilarCurvatures Sphere = [LowerBound, U pperBound], (8)
with (M u M in , Sigma M in ) and (M u M ax , Sigma M ax ) the mean and standard deviation of minimum and maximum curvature histograms respectively.

Cylinders

On a cylinder, one of the principal curvatures equals zero and the other is far from zero. So we can define a cylindrical mesh as a mesh with a principal curvature histogram around zero and the other far from zero (Fig. 17 We can compute a zero curvature tolerance from the histogram with curvature values around zero:

CurvatureZero Cylinder = Sigma Zero , (9)
with Sigma Zero the standard deviation of the histogram which is around zero.

Other primitives

We can also find other primitive signatures in curvature histograms.

On a cone, one of the principal curvatures equals zero and the other is variable (Fig. 18 We can extend this to other surfaces. For example, on a torus or a uniform generalized cylinder, one of the curvatures is constant, even if we can have the same curvature inversion as a developable surface. In all cases, if we can find a constant curvature, we can use it to adapt tolerances and also measure mesh quality, as described in Section 4.3.

Quality measurement

In many 3D processes, noise leads to distortion and has an impact on result accuracy. So to handle this noisy data, we can quantify it on curvature values.

From our curvature distribution approximated by a GMM, as defined in Section 3.2.2, we can retrieve standard deviation of each homogeneous interval, as illustrated in Fig. 19.a, and so estimate a global value representing the noise quantity. For example, we can basically use the mean of standard deviations, before or after removing outliers.

In Fig. 19.a, models number 6 and 7 could be outliers because a primitive leads to a sharp mode, whereas smooth ones are often due to noise. We can also weight each standard deviation by the number of corresponding points to compute the mean.

Furthermore, we can also analyse each standard deviation according to the surface type (primitive), size, position, and so characterize noise more accurately. Indeed, the noise depends on the scanner sensor type (depth, laser...), but also on object material, texture, or even scene luminosity and object radiance. In fact, we can approximate curvature distortion between the digitized mesh (Fig. 19.a) and the corresponding CAD mesh (Fig. 19.b).

We can also construct many distributions, like minimum, maximum, mean and gaussian curvature histograms, and gather all the informations of those to obtain a better characterization. But it is very difficult to have a good, accurate and mostly exhaustive method allowing proper noise characterization. In previous work they try to quantify impact of noise on point coordinates, for depth sensor [START_REF] Pomerleau | Noise characterization of depth sensors for surface inspections[END_REF] or laser beam [START_REF] Masuda | Reliable Surface Extraction from Point-Clouds using Scanner-Dependent Parameters[END_REF] scanners, and propose adapted algorithms.

In our case, we can even characterize the noise on each submesh from a segmentation (Section 4.1), and avoid object edge curvature errors in our analysis.

So, it is possible to measure the noise depending on the mesh area, compare values and compute some statistics. This possibly leads to other applications like scanner noise characterization [START_REF] Kharboutly | Improving sensor noise analysis for CT-Scanner identification[END_REF], for example.

Experimental results

Section 5.1 presents three meshes from different scanners. Then, we show our results on these meshes, for segmentation in Section 5.2, primitive type detection in Section 5.3 and quality measurement in Section 5.4.

Presentation of the three used meshes

For experimental results, we used three digitized meshes from two different structured light scanners. The first two come from a first scanner and are illustrated in Fig. 20 and Fig. 21 respectively. The third comes from a second scanner and is illustrated in Fig. 22. To have an accuracy with an order of magnitude of -3 and center values around zero in the same bin, our method constructs histograms with 1001 bins. These histograms are constructed using a kernel with a standard deviation h = 0.01. Moreover, we limit our histogram range in the interval [-2; 2] since we normalize curvature by edge length.

Segmentation

This section presents results of our segmentation using curvature histogram analysis. Each figure shows edge extraction and the final submesh set. In reverse engineering, our results are very good, since most of the primitives are correctly isolated. Indeed, edge extraction is accurate since curvature thresholds are computed from distribution, and so are adaptative.

The sharp edges of Aerospace are properly detected (Fig. 23.a) and the primitives are correctly isolated, except for a few tangent ones. We obtain 70 submeshes and 94.3% of them contain a single primitive (Fig. 23.b).

The sharp edges of Moldy are properly detected (Fig. 24.a) and the primitives are also correctly isolated. We note that freeforms are not over-segmented. We obtain 48 submeshes and all of them contain a single primitive (Fig. 24.b).

The sharp edges of Outlet are properly detected (Fig. 25.a), except for the serrated cylinders, and the primitives are almost all correctly isolated. We obtain 72 submeshes and all of them contain a single primitive (Fig. 25.b).

As illustrated in Fig. 26, curvatures and thresholds are computed from each submesh at each recursion step. Then, we can continue to segment a submesh until we obtain only one region. We can observe that sharp edges are removed from the sharpest to the smoothest. Indeed, each recursion step refines the curvature thresholds to extract smoother edges. This recursion has a major impact on the robustness of our method, which is fully automated and adapts to each step. For example, it is possible to correctly segment an object with heterogeneous noise. We have segmented 30 meshes, with a processor Intel R Core TM i7-4710 CPU @ 2.50GHz. These meshes are extremely varied: they are generated from different softwares, with or without preprocessing, small or large, more or less noisy.

Results are presented in Table 1, where bold names correspond to the three presented meshes (see section 5.1).

We can see that our segmentation is fast: less than one minute, except for very large amounts of triangles. Morover, these times also include curvatures and mesh topology computation, which represents a large part of the calculation.

To validate our approach, we count the number of submeshes that contain only one primitive. We can see in Table 2 that about 96% of submeshes match with only one primitive (remaining 4% can contain similar tangent primitives).

Since primitives are correctly isolated, obtained results are suitable for a reverse engineering application. Indeed, it is more accurate and easy to extract only one primitive than many on the same mesh, since we do not encounter curvature neighborhood problems or primitive intersections.

Primitive type detection

This section presents results of our geometric extraction using curvature histogram analysis to detect the primitive type and then adapt the tolerances. Each figure shows extracted primitives with tolerances computed by mesh analysis [START_REF] Bénière | Recovering Primitives in 3D CAD meshes[END_REF] and curvature analysis. The best mesh analysis results are obtained with parameter computations using edge lengths, numbers of points or elements and object size. We show that our results are better with curvature analysis because the tolerances are more accurate and suitable for the purpose. Indeed, we can determine the main primitive on a mesh (Section 4.2), and particularly on each submesh after segmentation. Since our segmentation gives submeshes with only one primitive (Table 2), we can more accurately compute the tolerances for each primitive independently.

Aerospace contains 71 primitives with mesh analysis (Fig. 27.a). Some cylinders and cones are not extracted because they are often more noisy and so less stable than planes. We extracted them with curvature analysis and obtained 105 primitives (Fig. Outlet contains 31 primitives with mesh analysis (Fig. 29.a). All cylinders are missing, because they are too noisy or are serrated on this mesh. With curvature analysis, our tolerance adaptation balances the noise and we obtain 52 primitives (Fig. 29.b). The serrated cylinders are still not very well rendered, but it is a relatively specific case where the curvature is not constant.

We have extracted primitives from 30 meshes after segmentation, and compared results between the mesh analysis proposed by Bénière et al. [START_REF] Bénière | A comprehensive process of reverse engineering from 3D meshes to CAD models[END_REF] and our proposed curvature analysis in Table 3. These results are related to regions containing only one primitive, presented in Table 2. We can see that curvature analysis leads to a better primitive extraction, which is suitable for reverse engineering applications. Indeed, tolerances are more accurate and adaptative for each submesh, and take the primitive type into account. Moreover, curvature analysis tolerances can balance a larger amount of noise than mesh analysis.

Quality measurement

This section presents results of our proposed method using curvature analysis to quantify the noise of a digitized mesh. We have analyzed the noise of four meshes after segmentation, i.e. the noise in each submesh (Fig. 30). We can see that the noise is often different between submeshes. Moreover, mean curvature is almost always less sensitive to noise.

These results can lead to a better primitive extraction tolerance adaptation (Section 4.2), or use in other fields like scanner recognition and authentication [START_REF] Kharboutly | Improving sensor noise analysis for CT-Scanner identification[END_REF].

To quantify mesh quality, we can compute statistics on this noise, and then give a global measurement. For example, we can compute a mean or a point number weighted mean of standard deviations. In the same way, we can compute the noise directly from the entire mesh, i.e. without segmentation, from the curvature distribution GMM (Section 4.3). Since we use a gaussian kernel with a standard deviation h to construct our distribution (Section 3.1.2), we measure a mesh quality by: σ M ean < 2h → Good quality, 2h ≤ σ M ean < 3h → M iddle quality, σ M ean ≥ 3h → Bad quality. [START_REF] Koenderink | Surface shape and curvature scales[END_REF] Mean curvature analysis results on the three used meshes (Section 5.1) are compared in Table 4. First of all, we used the entire mesh and a GMM (Section 3.2.2). Then, we used the segmented mesh with its corresponding submeshes (Section 5.2). Aerospace curvature distribution contains 3 gaussian models which are similar with a low standard deviation. After segmentation, we obtained a similar basic average, but with a better weighted average, suggesting that there are large areas that are of a high quality. Globally, this mesh has good qualities.

Moldy curvature distribution contains 2 gaussian models which are different with a low to middle standard deviations. After segmentation, the averages are significantly better, suggesting that distribution analysis on the entire submesh is not adapted. This mesh has an average quality whereas most of its submeshes have a very good quality.

Outlet curvature distribution contains 3 gaussian models which are different with two middle and a high standard deviations. After segmentation, the averages are better, suggesting that distribution analysis on the entire mesh is not the best approach. This mesh has a high quality when evaluated on submeshes.

Globally, we can see through our results that curvature distribution analysis on a segmented mesh is better than on the entire mesh. Indeed, the submeshes have homogeneous curvature values and so are consistent for noise evaluation. Although, the entire mesh contains many primitives that are mixed in a unique distribution. So, a model can approximate many primitives at the same time. This leads to a degraded approximation and therefore a degraded mesh quality evaluation.

The noise evaluation, associated with primitive type detection after segmentation (Fig. 31), can give a quality coefficient depending on the type. For example, we can compute the quality coefficient with:

if P lane : Q f = SigmaM ean, if Sphere : Q f = SigmaM ean, if Cylinder : Q f = max(SigmaM in, SigmaM ax). (11)
Note that in this object, a submesh contains a torus with two sheres. Our method detects the submesh as spherical, because the minor radius of the torus equals one of the spheres. So, the associated curvature values are similar. However, the major radius leads to a small peak on the maximum curvature histogram, but not significant enough to disturb the method (Fig. 32).

In the same way, we can detect submeshes with higher noise than the others and have a better adaptation of our algorithms. To illustrate this, the upper right plane in Fig. 33 has a slightly higher noise than others for the minimum curvature distribution.

We can also use this to improve some processes. For example, we can apply a recursion on segmentation with noise handling, depending on the primitive type. Indeed, the interpretation of the noise from a plane is slightly different than that from a cylinder or a sphere. So, we can construct histograms with a different bin number and kernel standard deviation, according to this noise.

Case study: quality control

The proposed approaches developed in this paper can be used in many applications. In case of a process using reverse engineering, we can, for example, control the quality of some parts during a manufacturing process, as illustrated Fig. 34. In fact, we can digitize separately each part of an object, then analyze their curvature distributions, as presented in Section 3. This allows us to segment the digitized meshes (Section 4.1) and then extract the geometric primitives (Section 4.2). Finally, we can measure distances between the primitives and the initial points (Section 4.3), but also angles and distances between the different primitives. We can thus quantify the quality of the manufactured object, and eventually stop the manufacturing process if an anomaly is detected, as illustrated Fig. 34.

Since our proposed methods are fast and automatic, this process can be used in real time for control on a production line.

Conclusion

In this paper, we proposed a new digitized 3D mesh shape analysis based on curvature analysis. Our proposed method is fast and fully automated, which is an advantage for industrial applications like reverse engineering for example. Our proposed analysis first constructs a continuous normalized curvature distribution, then searches for peak and valley positions and values, and finally provides some statistics computed from the curvature distribution.

Our histogram analysis leads to an automatic computation of some parameters. So, it can be useful for a large number of processes using many parameters, which often need to be fixed by an expert.

We chose a reverse engineering process because it is a growing research area, which becomes a hot topic for industrials. Indeed, it is used in many applications since it allows to retrieve directly a parametric model (and thus a CAD model if discretized) from a digitized object. We can also measure object deviation for quality control, reconstruct lost models, copy and understand how a mechanical object works for example. Moreover, our proposed applications can be a reliable base for primitive adjustments (like beautification), assembly or symmetry analysis.

We applied our method on three fields: 3D mesh segmentation, geometric primitive type detection and measurement of quality. We showed that our proposed method is accurate and adapted to many fields, through results on digitized 3D meshes from different scanners.

For 3D mesh segmentation, curvature thresholds are computed from the distribution to extract the object salient edges. Then, it is possible to retrieve isolated regions corresponding to the object primitives. The final submeshes are homogeneous, and each submesh matches with only one primitive. It also provides important information, like the primitive neighborhood through edge connectivity. Our segmentation is fast and automatic.

For primitive extraction, the type of the primitive is deduced from the distribution and then curvature tolerances are computed to fully adapt them to each 3D mesh. Then, more primitives are extracted and they are more accurate.

For quality measurement, statistics are computed in the first instance on the entire mesh, and then on each submesh after segmentation. These statistics, like standard deviation, quantify the noise of a mesh or its submeshes, and so the mesh quality. This quality measurement must be interpretated according to the distribution construction parameters.

We show that our three applications can be associated to improve results. These three fields show the extensibility and the robustness of our method, which can be used with any distribution to quickly and automatically adapt a method according to the input data.

In future work, we will analyze more precisely our curvature distribution construction parameters, like bin number or kernel standard derivation, to improve computing accuracy. In the same way, we will try to compute multiple primitive extraction tolerances in the case of 3D meshes with more than one type of primitive. We can also search for multi-resolution curvature distributions.

Figure 1 :

 1 Figure 1: Curvature representation on: a) 2D curves and b) 3D surfaces.

  2.b).

Figure 2 :

 2 Figure 2: a) Discrete and b) Continuous distribution samples.

Figure 3 :

 3 Figure 3: Examples of mesh segmentation from [19]: a) A section-type segmentation, b) a surface-type segmentation.

Figure 4 :

 4 Figure 4: a) Original 3D mesh, b) Curvature: planar (green), spherical (yellow), convex (blue) and concave (red), c) Point areas, d) Extracted primitives [2].

Figure 5 :

 5 Figure 5: Spheres of radius r = 10 with gaussian noise and their corresponding mean curvature histogram: a) original sphere, b) σ = 0.01, c) σ = 0.1.

Figure 6 :

 6 Figure 6: Method overview.

Figure 7 :

 7 Figure 7: Minimum and maximum possible for absolute curvature values.

Figure 8 :

 8 Figure 8: Normalized mean curvature kernel-estimated histogram example.

Figure 9 :

 9 Figure 9: Histogram: a) peaks and b) valleys.

Figure 10 :

 10 Figure 10: a) Gaussian Mixture Model of a histogram, b) Starting models with peak and valley detection.

Figure 11 :

 11 Figure 11: Segmentation overview based on the proposed curvature analysis.

Figure 12 :

 12 Figure 12: Edge extraction.

Figure 13 :

 13 Figure 13: Homogeneous area extraction.

Figure 14 :

 14 Figure 14: Region growing algorithm.

Figure 15 :

 15 Figure 15: Recursive segmentation.

Figure 16 :

 16 Figure 16: Principal curvature histograms: a) for a plane and b) for a sphere.

  ).

Figure 17 :

 17 Figure 17: Principal curvature histograms for a cylinder.

  .a). So we can only analyze the zero curvature histogram. On a developable surface, one of the curvature equals zero, and the other is variable. The difficulty is that we may have an inversion of minimum and maximum curvatures values (Fig. 18.b). A possible solution can be to use the principal directions to test the consistency of the two sets of curvatures.

Figure 18 :

 18 Figure 18: Principal curvature histograms: a) for a cone and b) for a developable surface. We can see in hatched orange a constant curvature which can be analyzed.

Figure 19 :

 19 Figure 19: a) Example of GMM standard deviations. b) Corresponding CAD curvature distribution.

Figure 20 :

 20 Figure 20: Initial mesh from Scanner 1: Aerospace.

Figure 21 :

 21 Figure 21: Initial mesh from Scanner 1: Moldy.

Figure 22 :

 22 Figure 22: Initial mesh from Scanner 2: Outlet.

Figure 23 :

 23 Figure 23: a) Edge extraction and b) Segmentation of Aerospace.

Figure 24 :

 24 Figure 24: a) Edge extraction and b) Segmentation of Moldy.

Figure 25 :

 25 Figure 25: a) Edge extraction and b) Segmentation of Outlet.

Figure 26 :

 26 Figure 26: Example of automatic recursion: a) Edge extraction and b) Segmentation of Manique, c) Edge extraction and d) Segmentation of the first submesh from b), e) Edge extraction and f) Segmentation of the first submesh from d). The computed curvature thresholds are shown in the middle, computed from the corresponding grey part.

  27.b).

Figure 27 :

 27 Figure 27: Geometric primitives extraction with a) mesh analysis and b) curvature analysis of Aerospace.Moldy contains 37 primitives with mesh analysis (Fig.28.a). The small cylinders are not extracted because the tolerances must be more accurate than those of larger ones. Curvature analysis resolves this problem and leads to extraction of 55 primitives (Fig.28.b).

Figure 28 :

 28 Figure 28: Geometric primitives extraction with a) mesh analysis and b) curvature analysis of Moldy.

Figure 29 :

 29 Figure 29: Geometric primitives extraction with a) mesh analysis and b) curvature analysis of Outlet.

Figure 30 :

 30 Figure 30: Noise in submesh minimum (blue, left), maximum (orange, middle) and mean (grey, right) curvature distributions. Each position on horizontal axis represents a different submesh, and vertical axis shows the corresponding standard deviation values.

Figure 31 :

 31 Figure 31: Primitive type detection and noise evaluation on Metrologic.

Figure 32 :

 32 Figure32: Principal curvature histograms of the submesh containing the torus and the two spheres (Fig.31).

Figure 33 :

 33 Figure 33: Primitive type detection and noise evaluation on Lego small.

Figure 34 :

 34 Figure 34: Example: quality control in a production line.

Table 1 :

 1 Segmentation performances: time (T.) and region number (R.).

	Mesh	Triangle	T.	R.	Mesh	Triangle		T.	R.
	Vase	20 000	<1s	6	Part2	414		12s	20
	Fandisk	23 964	<1s	21	Chair	500		7s	85
	Lego	24 748	<1s	35	Gear	500		6s	283
	Lego small	26 371	<1s	10	Aerospace	799		16s	70
	Cup	55 552	1s	32	Master	820		29s	53
	Yoke	62 276	1s	8	Moldy	851		13s	48
	Manique	65 090	1s	40	Watertight	921		16s	40
	Nespresso	71 012	1s	5	OilPump	1 064		22s	175
	MediumBolt	89 000	2s	11	Carter	1 067		34s	108
	StripedShoe	100 000	1s	16	Pump	1 105		21s	518
	Connector	195 424	4s	36	Block	1 125		33s	113
	Outlet	195 853	5s	72	Te	1 297		40s	39
	Etui	210 963	5s	3	Splint	2 095	1m09s	21
	Shoe	258 994	3s	4	Metrologic	2 159	1m27s	14
	Czslowakei	400 026	8s	162	ProductPart	3 427	2m16s	191
	Mesh	O.P.	Total	in %	Mesh	O.P.	Total	in %
	Vase	6	6	100	Part2		20		100
	Fandisk	20	21	95.2	Chair		85		92.9
	Lego	35	35	100	Gear		283		98.6
	Lego small	10	10	100	Aerospace		70		94.3
	Cup	32	32	100	Master		53		92.5
	Yoke	7	8	87.5	Moldy		48		100
	Manique	33	40	82.5	Watertight		40		87.5
	Nespresso	5	5	100	OilPump		175		96.6
	MediumBolt	10	11	90.9	Carter		108		98.1
	StripedShoe	16	16	100	Pump		518		96.9
	Connector	33	36	91.7	Block		113		98.2
	Outlet	72	72	100	Te		39		92.3
	Etui	3	3	100	Splint		21		90.5
	Shoe	4	4	100	Metrologic		14		92.9
	Czslowakei	162	162	100	ProductPart		191		95.3

Table 2 :

 2 Submeshes with only one primitive (O.P.).

  A.

				Mesh	F.M.A.[2] F.C.A.
	Vase	1	4	Part2	16
	Fandisk	14	20	Chair	44
	Lego	15	30	Gear	279
	Lego small	5	9	Aerospace	105
	Cup	1	4	Master	7
	Yoke	1	3	Moldy	55
	Manique	28	32	Watertight	28
	Nespresso	1	4	OilPump	56
	MediumBolt	4	6	Carter	9
	StripedShoe	2	2	Pump	263
	Connector	22	28	Block	89
	Outlet	31	52	Te	28
	Etui	2	3	Splint	14
	Shoe	2	2	Metrologic	16
	Czslowakei	102	107	ProductPart	62

Table 3 :

 3 Primitive extraction with Mesh Analysis (F.M.A.) proposed by Bénière et al.[START_REF] Bénière | A comprehensive process of reverse engineering from 3D meshes to CAD models[END_REF] and Curvature Analysis (F.C.A.) tolerance adaptation.

Table 4 :

 4 Measuring the quality: a) without segmentation and b) with segmentation.

	a) Without segmentation:
	Mesh	GMM Models	Deviation Mean Weighted mean
	Aerospace	3	0.015	0.014	0.015
			0.015
			0.013
	Moldy	2	0.023	0.019	0.022
			0.015
	Outlet	3	0.027	0.030	0.028
			0.028
			0.034
	b) With segmentation:
	Mesh	Submeshes	Deviation Mean Weighted mean
	Aerospace	70 min = 0.003	0.013	0.009
			max = 0.122
	Moldy	48 min = 0.001	0.008	0.006
			max = 0.086
	Outlet	72 min = 0.001	0.013	0.010
			max = 0.065


Alexandre Boulch

ShaResNet: reducing residual network parameter number by sharing weights

Deep Residual Networks have reached the state of the art in many image processing tasks such image classification. However, the cost for a gain in accuracy in terms of depth and memory is prohibitive as it requires a higher number of residual blocks, up to double the initial value. To tackle this problem, we propose in this paper a way to reduce the redundant information of the networks. We share the weights of convolutional layers between residual blocks operating at the same spatial scale. The signal flows multiple times in the same convolutional layer. The resulting architecture, called ShaResNet, contains block specific layers and shared layers. These ShaResNet are trained exactly in the same fashion as the commonly used residual networks. We show, on the one hand, that they are almost as efficient as their sequential counterparts while involving less parameters, and on the other hand that they are more efficient than a residual network with the same number of parameters. For example, a -layer-deep residual network can be reduced to convolutional layers, i.e. a parameter gain of %, while loosing less than . % accuracy on ImageNet.

Introduction

Convolutional Neural Networks (CNNs) are now widely used for image processing tasks from clas-sification [LBBH ] and object detection [GDDM , RHGS ] to semantic segmentation [BKC , ASL ]. Their utilisation even generalizes to other fields where data can be represented as tensors like in point cloud processing [BM ] or D shape style identification [LGK ]. Today's network architectures still carry a strong inheritance of the CNN early stage designs. They are based on stacking convolutional, activation and dimensionality reduction layers. Over the past years, the progress in image processing tasks went together with a gradual increase in the number of layers, from AlexNet [KSH ] to Residual networks [HZRS a] (ResNets) that may contain up to hundreds of convolutions.

Practical use of such networks may be challenging when using low memory system, such as autonomous vehicles, both for optimization and inference. Moreoever, from a biological point of view, a higher number of stacked layers leads to networks further from the original underlying idea of neural networks: biological brain mimicry. According to the current knowledge of the brain, cerebral cortex is composed of a low number of layers where the neurons are highly connected. Moreover the signal is also allowed to recursively go through the same neurons. In that sense recurrent neural networks are much closer to the brain structure but more difficult to optimize [BSF , HS ].

Looking more closely at the repetition of residual blocks in ResNets, it could somehow be interpreted as an unwrapped recurrent neural networks. This constatation raises questions such as "how similar are the weights of the blocks ?", "do the same parts of the blocks operate similar operations ?" and in the later case "is it possible to reduce the parameter number of a residual network ?". Driven by these observations and The paper is organized as follow: section presents the related work on convolutional neural networks (CNNs) ; the ShaResNets are presented in section and finally, in section , we expose our experimentations on classification datasets CIFAR and and ILSVRC Imagenet.

Related work

CNNs were introduced in [LBD + ] for hand written digits recognition. They became over the past years one of the most enthusiastic field of deep learning [LBH ]. The CNNs are usually built using a common framework. They contains many convolutional layers and operate a gradual spatial dimension reduction using convolutional strides or pooling layers [CMS , JKL + ]. This structure naturally integrates low/mid/high level features along with a dimension compression before ending with a classifier, commonly a perceptron [Ros ], multi-layered or not, i.e. one or more fully connected layers.

Looking at the evolution CNNs, the depth appears to be a key feature. On challenging image processing tasks, an increase of performance is often related to a deeper network. As an example, AlexNet [KSH ] has convolutions while VGG and VGG [SZ ] have respectively and convolutional layers and more recently, in [HSL + ], the authors train a layer deep network. Variations in the LeNet structure have also been used to improve convergence. In a Network in Network (NiN) [LCY ], convolutions are mapped with a multilayer perceptron ( x convolutions), which prevent overfitting and improved accuracy on datasets such as CIFAR [KH ]. GoogLeNet [SLJ + ] introduced a multiscale approach using the inception module, composed of parallel convolutions with dif-ferent kernel sizes.

Optimizing such deep architectures can face practical problems such as overfitting or vanishing or exploding gradients. To overcome these issues, several solutions have been proposed such as enhance optimizers [SMDH ], dropout [SHK + ] applying a random reduction of the number of connection in fully connected layers or on convolutional layers [ZK ], intelligent initialization strategies [GB ] or training sub-networks with stochastic depth [HSL + ].

Residual networks [HZRS a] achieved the state of the art in many recognition tasks including Imagenet [RDS + ] and COCO [LMB + ]. They proved to be easier to optimize. One of the particularities of these networks is to be very deep, up to hundreds of residual layers. More recently, the authors of [ZK ] introduced wide residual networks which reduce the depth compared to usual resnets by using wider convolutional blocks.

To balance the increasing size of CNNs, various work consider reducing the weight number of the network to reduce memory size and or testing speed. We can distinguish three categories. The first kind of approaches consists in statically modifying the architecture to get lighter networks, e.g. the replacement of the fully connected layers by average pooling [SLJ + , HZRS a], the replacement and factorization of convolutions [SVI + ] or the weights constrained to be binary [RORF , CB ]. This work follows this approach as we modify the internal structure of the residual networks to make it lighter. The second category regroups works that dynamically modify the network at training. Among them, [CK ] alternate between regularization and neuron deactivation (forcing weights to zero) to progressively reduce the number of neurons. In Hashnets [CWT + ] uses a hash function to regroup connections that will share the same weights. Finally the third category post process the network to compress it. Some consider weight pruning [SB , Pra ] and sparsification [LWF + ]. Other try to compress the data via weight matrix factorization [GLYB , WLW + , KPY + ]. [HMD ] remove redundant connections and allow weight sharing, As for dynamical network modifications, these compression methods may also apply to our proposed architectures and add a compression step to our optimized ResNet architecture.

Sharing Residual Networks

ShaResNets are based on residual networks architectures in which we force the residual blocks in the same stage, i.e. between two spatial dimension reduction, to share the weights of one convolution. In this section, we first present the residual architectures we based our work on, and then, detail the sharing process.

. Residual networks.

The residual networks basic without [HZRS a] or with pre-activation [HZRS b] or wide [ZK ] are a sequential stack of residual blocks, with several convolution layers bypassed by parallel branch. The output of block k, x k+1 can be represented as:

x k+1 = x k + F(x k , W k ) ( )
where x k is the input (output of block k -1), F is the residual function and W k are the parameters of the residual unit. Among them two types of residual blocks are used in this paper.

• basic composed of two consecutive x convolutions.

• bottleneck composed of one x convolution surrounded by two x convolutions for reducing and then expanding the dimensionality.

A common element of the convolutional structure in the residual blocks is at least a x convolution. This convolution allows a neighborhood connection so that the final decision is taken using neighborhood relations between pixels and not only independent pixel values. Figure describes the blocks composing the networks presented in this paper. We used two implementations, depending on the datasets (CIFARand ImageNet) to fit the original network structure we will compare to (section ). They differ in the position of batch normalization and ReLU, before convolutions for CIFAR datasets and after for ImageNet. The underlying idea of our approach is that it is possible to somehow distinguish two types of mechanisms in a residual block. The first, specific to the block, is the abstraction of the residual block. From block to block, it created higher level features. The second, redundant in the blocks of the same stage, is the spatial connection relations between neighboring tensor cells, between pixels. The equation becomes:

x s,k+1 = x s,k + F(x s,k , W s,k , W s ) ( )
where x s,k (resp. x s,k+1 ) is the input (resp. the output) of block (k, s), k-th residual unit of stage s. W k of equation is split into W k,s , the parameters specific to the residual block and W s the parameters shared at the stage level.

In ResNets, the spatial information is taken into account in the x convolutions and in the layers with dimension reduction (convolution with stride or pooling layers). We first look at the bottleneck block, composed of convolutions ( x , x and x ). The fictive separation between spatial connection and specific operations is easy as the x convolution do not connect neighboring cells. This is the top line of figure (a). Then, for all spatial connections in the same stage, i.e. for all the blocks between two pooling layers (or convolution with stride), we share the weights. By using a unique x convolution, we consider that all the spatial connections of a given stage can be explained by a common set of kernels (figure (b)).

We adapt the approach to the basic residual block. As it is composed of two x convolutions, extracting the spatial component is not possible. Still, we adopt a similar approach, the first convolution is considered as specific and the second is shared with the blocks of the same stage (figure , bottom line).

In the two cases, we obtain a similar global architecture represented in figure . For each stage, the green convolution is common to all block while the specific items are blue (the number of specific items depends on the architecture choice). The red blocks are the dimensionality reduction layers and the yellow one would be either a multi-layer perceptron or an average pooling.

. Gradient propagation

In modern neural network frameworks, the backward stage is a two step process: gradient computation and actual weight update.In our implementation, the spatial connection layers share weights as well as gradients. At gradient computation, a storage tensor (initialized to zero) is first created for each weight matrix, in our case one tensor for all the convolutional layers sharing the same weights. Then the gradients for each layer are progressively computed from the network output to the input and added to the storage tensor, such that, for the shared convolution at stage s:

∇ Ws = i∈S ∇ Ws J(W s,i ) ( )
where i stands for the index of the block of stage s and J(W s,k ) is the objective function.

Finally at weight update step, the weight are modified in the same fashion as with usual non shared convolution according to the optimizer update rule. In our implementation with stochastic gradient descent with momentum the update rule at time t is the same for all layers l: v l,t = γv l,t-1 + α∇ W l,t ( )

W l = W l -v l ( )
where γ is the momentum, α is the learning rate and v is the velocity vector.

Experimental results

.

Datasets and architectures

We experiment on three dataset, CIFAR , CIFAR and ImageNet. We propose evaluations consisting into a comparison between the ShaResNets and their ResNet counterpart.

CIFAR

. Parameter number reduction

This section deals with the consequences of sharing convolutional weights on the network parameter number. Using one convolution for the spatial relations per stage instead of one per block reduce significantly the size of the network. Comparatively, the deeper the ResNet is the the bigger the gain is for its ShaResNet version.

. Training

ShaResNet are trained using the same training process as their non-shared counterpart. We used a stochastic gradient descent with momentum and step dropping learning rate policy. CIFAR models were trained with whitened data from PyLearn [GWFL + ] and we applied a random horizontal flip on the input image to simulate a larger training dataset and avoid over-fitting. For ImageNet, we adopted a similar approach, we apply on the input image a random crop, random contrast, lighting and color normalization as well as horizontal flip. According to our experiments, the behaviors of our networks are very similar to the original ones. As to the non-shared version, adding a dropout (plain line) increases the performance. However the effect is less significant and while models performs almost the same without dropout, dropout make the original version overcomes the shared one.

. Accuracy

Quantitative evaluation of the networks are presented on table . On all these experiments, the topdecrease by less than 1% when using the ShaRes-Net version of the algorithm. The gap between original and shared version is lower on ImageNet and CI-FAR . This is to be related to the sizes of the networks.

The CIFAR networks are smaller than the others (less than 10M parameters). To our understanding, smaller residual networks induces less redundancy, so that reducing the number of parameters only reduce the learning capacity. On the contrary, large networks such as wide residual network with large widening factor or residual networks for Im-ageNet are more subject to redundant parameters. In that case, sharing weights makes more sense, like for CIFAR where the accuracy gap is only of 0.2% with parameters reduced by 26%.

Compared to sequential networks, sharing spatial connections at stage level induces a loss of accuracy at test time. We now compare our ShaResNets to less deep networks with a similar number of parameters. Table shows these results for CIFAR. For each shared architecture, we compare its sequential counterpart with reduced depth. We can draw similar conclusion as in the first paragraph. Sharing weights on relatively small architectures (CIFAR ) is not more efficient than using a less deep network. On the contrary, Wide ResNet with a widen factor of (CIFAR ) gets a boost in accuracy using shared On Imagenet, table underlines that the sharing is more efficient as the network goes larger. We even reach similar accuracy (less than . % drop) for the layer architecture. The figure presents the top-error function of the weight on ImageNet. The shared architectures plot (green curve) is situated under the blue curve (residual networks). It illustrates that for large networks, shared networks are more efficient than their sequential peers with similar number of parameters. For comparison, we also add the Inception v [SVI + ] model performance, in which the authors perform convolution factorization at inception module level to reduce model size.

Timings By reducing the number of parameters in the network and smoothing the gradients (by averaging) at the shared convolution, a gain in training times would be expected. From figure , it is ob-viously not the case, and the same behavior is observed on ImageNet too. Our interpretation is that, at block level, due to the sharing, the weight update may not correspond to the local expected direction of the gradient. In this case, local convolutions (not shared) need to constantly adapt to the new behavior of the shared ones. This latency may explain the similar timings.

. Limitations and perspectives

We have shown in the previous section that residual networks with shared spatial connections are particularly efficient on large networks: given a number of parameters, ShaResNets are more efficient (figure ). However, they induce a loss in terms of accuracy sometimes even leading to performances similar to networks with reduced depth (CIFAR networks). The conclusions we can draw is that, first, in relatively small networks parameters are used to their potential or at least that redundant spatial connectivities are fewer in number than for large networks.

Second, we chose an arbitrary shared structure. We considered the x convolutions to operate similar operations for all blocks in the same stage. This assumption may be too restrictive. In our future work we will investigate flexible shared networks, where the sharing rate would be adaptive, function of the noise, the position in the stage and classification dataset (image size, class number). Moreover, we would also investigate other possible splits between spatial relations and block specific operations that would require to modify the basic or bottleneck

Inception v2

Red: SRN performs better than RN with less param. Magenta: SRN and RN have similar performances. residual block structure, for example using channel wise convolution as spatial relations and x convolution for information abstraction.

Finally, considering only network compression, it will be interesting to test our ShaResNets with compression method mentioned in the related work.

Conclusion

In this paper, we introduced the ShaResNet, a new convolutional neural network architecture based on residual networks. By sharing convolutions between residual blocks, we create neural architectures lighter than their sequential residual counterpart by 25% to 45% in terms of number of parameters. The training of such network is as easy as with common residual networks. We experimented on three classification datasets. Shared residual architecture proved to be efficient for large networks. We observed an accuracy gap to the corresponding residual architecture of less than 1% for a substantial size reduction. By exploiting the redundant relations of x convolutions between residual blocks, the ShaResNets make better use of the optimizable weights. With an equivalent parameter number, we obtain better results. We hope that these findings will help further investigation in image processing and more generally in deep learning research.

Implementation details

The experiments uses Torch . Our code for CI-FAR and experiments is based on the original implementations at github.com/ szagoruyko/wide-residual-networks) and github.com/facebook/fb.resnet.torch. The code is available online at github.com/ aboulch/sharesnet.

Figure :

 : Figure : Residual blocks used for evaluation.

Figure :

 : Figure : Block specific operations and operations to shared residual block.

  Figure presents the testing accuracy plots obtained on the CIFAR datasets. The gradient accumulation at shared convolutions does not induces instabilities at both training and testing time. The top sub-figure shows the test accuracy of the ResNet-architecture on CIFAR-. Blue curves are the original version [HZRS a] (third architecture on figure ) and red the shared version. The plane line is the mean over runs, the colored area represents the standar deviation around the mean. The dot curve curve is the pre-activation version from [HZRS b] (fourth architecture on figure ). The two shared architectures perform similarly to their original counter part. The bottom sub-figure presents another experiment on CIFAR-. We use the Wide ResNet with a widen factor and depth , curves are mean over runs.

Figure :

 : Figure : Test accuracies on CIFAR (top) and cifar (bottom).

Figure :

 : Figure : Top error (%) of ShaResNet and ResNets function of the model size (millions of parameters).

  Table shows the figures for the different architectures and datasets. As expected, the gain is substantial, from 20% for ResNet-(ImageNet) to 45% for ResNet-(CIFAR). The convolution number in the table expresses the number of independant convolutionnal layers, the shared convolutional layers are counted once.

	Dataset	Model	Parameter number	Parameter	Convolution nbr.
			Orignal ShaResNet decrease Orignal ShaResNet
	CIFAR	ResNet-WRN--	1.70 M 8.95 M	0.93 M 5.85 M	45% 35%
	CIFAR	WRN--	36.54 M	26.86 M	26%
		ResNet-	21.8 M	13.6 M	37%
	IMAGENET	ResNet-ResNet-	25.6 M 44.5 M	20.5 M 29.4 M	20% 33%
		ResNet-	60.2 M	36.8 M	39%
		Table : Number of parameters of the networks.

Acknowledgements

This work is part of the DeLTA research project at ONERA delta-onera.github.io aiming at exploring machine learning approaches for aerospace applications.

 [ASL ]Nicolas Audebert, Bertrand Le Saux, and Sébastien Lefevre. Semantic Segmentation of Earth Observation Data Using Multimodal and Multi-scale Deep Networks. Asian Conference in Computer Vision, .

[BKC ] Vijay Badrinarayanan, Alex Kendall, and Roberto Cipolla. Segnet: A deep convolutional encoderdecoder architecture for image segmentation. arXiv preprint arXiv: . , .

[BM ] Alexandre Boulch and Renaud Marlet. Deep learning for robust normal estimation in unstructured point clouds. In Computer Graphics Forum, volume , pages -, .

[BSF ] Yoshua Bengio, Patrice Simard, and Paolo Frasconi. Learning long-term dependencies with gradient descent is difficult, .

[ [GB ] Xavier Glorot and Yoshua Bengio. Understanding the difficulty of training deep feedforward neural networks. In Aistats, volume , pages -, .

[GDDM ] Ross Girshick, Jeff Donahue, Trevor Darrell, and Jitendra Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In Computer Vision and Pattern Recognition, .

[GLYB ] Yunchao Gong, Liu Liu, Ming Yang, and Lubomir Bourdev. Compressing deep convolutional networks using vector quantization. arXiv preprint arXiv: . , .

[GWFL + ] Ian J. Goodfellow, David Warde-Farley, Pascal Lamblin, Vincent Dumoulin, Mehdi Mirza, Razvan Pascanu, James Bergstra, Frédéric Bastien, and Yoshua Bengio. Pylearn : a machine learning research library. arXiv preprint arXiv: . , .

[HMD ] Song Han, Huizi Mao, and William J Dally. Deep compression: Compressing deep neural network with pruning, trained quantization and huffman coding. CoRR, abs/ . , , .

[HS ] Sepp Hochreiter and Jürgen Schmidhuber.

Long short-term memory. Neural computation, ( ): -, .

[ [KH ] Alex Krizhevsky and Geoffrey Hinton. Learning multiple layers of features from tiny images. .

[KPY + ] Yong-Deok Kim, Eunhyeok Park, Sungjoo Yoo, Taelim Choi, Lu Yang, and Dongjun Shin. Compression of deep convolutional neural networks for fast and low power mobile applications. arXiv preprint arXiv: . , .

[KSH ] Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems, pages -, .

[LBBH ] Yann LeCun, Léon Bottou, Yoshua Bengio, and Patrick Haffner. Gradient-based learning applied to document recognition. Proceedings of the IEEE, ( ): -, .

[LBD + ] Yann LeCun, Bernhard Boser, John S Denker, Donnie Henderson, Richard E Howard, Wayne Hubbard, and Lawrence D Jackel. Backpropagation applied to handwritten zip code recognition.

Neural computation, ( ): -, .

[LBH ] Yann LeCun, Yoshua Bengio, and Geoffrey Hinton. Deep learning. Nature, ( ): -, .

[LCY ] Min Lin, Qiang Chen, and Shuicheng Yan. Network in network.

ICLR, arXiv preprint arXiv: . , .

[ [RHGS ] Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In Advances in Neural Information Processing Systems (NIPS), .

[RORF ] Mohammad Rastegari, Vicente Ordonez, Joseph Redmon, and Ali Farhadi. Xnor-net: Imagenet classification using binary convolutional neural networks. CoRR, abs/ . , .

[Ros ] Frank Rosenblatt. The perceptron, a perceiving and recognizing automaton Project Para. Cornell Aeronautical Laboratory, .

[SB ] Suraj Srinivas and R Venkatesh Babu. Datafree parameter pruning for deep neural networks. arXiv preprint arXiv: . , .

[


domain: spi phys

text:
A Douyère

G Pignolet

J Rivière

A Verrecchia

G Soulier

J.-D Lan

Sun Luk

IMPROVED PERFORMANCE OF A RECTENNA ARRAY FOR WIRELESS LOW POWER TRANSPORTATION

Keywords: rectenna array, wireless power transmission, NFRP antenna

The study presented here focuses on the design of a simple and compact rectenna (rectifying antenna) to enhance the performance at a relatively low power levels. The rectifier is realized with a single schottky diode SMS-7630 in reverse topology and optimised at the fundamental frequency f 0 = 2.45 GHz. Although a single narrow-band design is conductive enough to achieve high efficiency, we know that the amount of the DC output power is limited. To overcome this issue, one solution would be a rectenna array designed for collecting more HF power to produce more DC power. The opportunity in this study would be to increase performances of a ground receiving rectenna, and more precisely for those located on the edges of the array where the RF power density are low. To estimate the DC power, we started with the study of a 2x5 planar array of small metamaterial-inspired antennas. Each antenna incorporates its own rectifier to collect DC power and is assembled in series manner. The size of the overall rectenna array is 110*90mm 2 . Finally, our most recent studies show an increase of the collected DC voltage with the presence of a reflector at a distance of 3λ/4 to the back of the rectenna array.

Introduction

The years pass and we realize that energy is more and more vital for the economic development of the world and is becoming a substantial part of modern societies' everyday life. However, the days of cheap energy seem to be over. Today, the world faces challenges such as climate change, increasing import dependence and higher energy prices. Developing the renewable energy sector is essential if we are to achieve a sustainable and secure energy supply for the future [START_REF] Ku | Advances in energy harvesting communications: past, present, and future challenges[END_REF].

Solar power collected in space and transmitted to the Earth's surface has been proposed for many years as a potential space option [START_REF] Mankins | A Fresh Look at Space Solar Power: New Architectures, Concepts and Technologies[END_REF][START_REF] Sasaki | Guidelines for development of SPS 2000 Educational Model[END_REF]. This approach using Wireless Power Transportation (WPT) technology aims to eliminate the cable connections conventionally necessary for transmitting electricity. In a wireless power transmission system, the transmitted energy can be collected by a rectenna system, which consists of two main modules: an antenna and a rectifier. In the receiving side of the energy harvesting process, the RF waves are captured by the antenna which is the key part of the rectenna. The receiving antenna produces an AC signal at its output from the captured microwave radiation. Then, the rectifier converts the received AC current to DC power. The newly successful test results lead the way to applying the technology in numerous terrestrial and space fields. Mitsubishi Heavy Industries, Ltd. (MHI) has recently revived the interest for WPT with a ground-based demonstration testing of a WPT system [4].

If the present standard for continuous microwave exposure (20 mW/cm 2 , corresponding to 200 W/m 2 ) would be imposed as the upper limit on ground, the average allowed flux on the rectenna would be as small as 100 W/m 2 . Moreover, this flux decreases when moving away from the center, hence the importance of optimizing array performance for low power levels. In this paper an array of ten rectennas has been developed and mesured operating at low power levels.

This paper is structured as follows. Section 2 begins with the study of the rectenna design. In this section, all the advantages to the Near-Field Resonant Parasitic (NFRP) antenna design are developed. The optimization of the rectifying circuit at f 0 =2.45GHz, using a single shorted stub and transmission line matching circuit between its input impedance and the antenna impedance, is also presented. Finally, the overall test setup and experimental results on the performance of the array are described and discussed in the subsequent section and also show an increase of the collected DC voltage with the presence of a reflector to the back of the rectenna array.

Rectenna element design

Rectenna is the third stage of the WPT process. The first studied element of the RF to DC energy conversion system is the receiving antenna.

Antenna design

At low power levels, a high gain antenna is preferable as more RF power can be collected and thus more DC power will be present at load level. The gain of an antenna is however proportional to its equivalent surface. Thus a compromise has to be made between the gain and the surface of the antenna. However, the size of the array must be small to make it practical and inexpensive. In this regard, the antenna element design and its miniaturization play an important role. In this work, a Near Field Resonant Parasitic antenna (NFRP) based on the works of Ning Zhu and Ziolkowski [START_REF] Zhu | Electrically small GPS L1 rectennas[END_REF] to harvest electromagnetic energy is presented in Fig. 1a. This NFRP antenna may be defined as an electrically small antenna by a weighting factor ka = 0.976 and is designed for ISM band. The antenna is first simulated and then measured using a vector network analyzer (VNA) for this impedance and reflection coefficient S11 (see Fig. 2). The main resonant frequency of the NFRP antenna is located at 2.45 GHz. The -10 dB bandwidth is 20 MHz from 2.35 GHz to 2.55 GHz. Finally, the NFRP antenna allows to reduce the area of the overall rectenna to 11*50 mm 2 without band pass filter in input.

Rectifier design

The next step is to design the rectifying part of the RF harvesting circuitry. That is, once the antenna receives the input RF signal, it converts a part of the incoming power supply to DC supply voltage. This must be designed in order to achieve the highest total system efficiency. A basic configuration with only one schottky diode for the rectifying circuit is retained as shown in Fig. 3. Commonly called as single-stage rectifier, it consists of a diode connected in series with a capacitor and a load in parallel. The operation of the single stage rectifier is as follows. First, the induced voltage at the output of the matching circuit passes through the schottky diode. The rectified current output is then pumped to the chip capacitor. The energy stored on this capacitor supply the DC power to the load once the rectifier reaches its steady-state mode. The SMS7630 Schottky diode was selected for its zero bias characteristics and its already proven performance at 2.45 Ghz. A shunt capacitor of 10 pF, with a quality factor Q = 10 at 2.45 GHz, acts as a filter to smoothen the ripple in the output. In order to optimize the rectenna for maximum power transfer, the antenna impedance must be matched to the impedance of rectifier diode. We propose a matching circuit with a single shorted stub and a transmission line, which is simple and easy to design. This part focuses on the optimization of the rectifier element at low power operation. The diode is matched by the length L 1 of a shorted stub and the length T L2 of a series microstrip line in a narrow bandwith for the specific RF power. Under a planar method of moments, a tuning optimization method is performed with the software Agilent Advanced Design (ADS), to find the global rectifying circuit. The optimized lengths values are: L 1 = 2.9 mm, T L2 = 10.9 mm and the width of all the lines is fixed to 50 Ω. The efficiency of the fabricated rectifier at low power levels is depicted in Fig. 4.

The highest conversion efficiency which occurs when the rectifying circuit exhibits a resistive load R Load = 3.5 kΩ with an optimal efficiency η MAX ≈ 50 % at a collected power P collected =-1dBm. After the validation of the rectifying circuit and the NFRP antenna separately, the rectenna is realized on the same unit ARLONs AD series substrate with ε r = 3.2, a thickness of 0.762 mm and a loss tangent of 0.003.

Array design

Several rectennas can be configured to collect a greater percentage of DC power. The DC power converted independently by each rectenna can then be summed in parallel (current summing), series (voltage summing) or hybrid manner, and is channeled to a power management circuit. Thus, in this study, we consider a compact ten series rectennas array, which is depicted in Fig. 5. A series association allows the increase of the DC output voltage proportional to the number of rectennas but in practice, the results vary slightly due to incertitude concerning the non-linearity of converter with respect to input power level.

The interelement spacing s between two rectenna was chosen such that mutual coupling is low (i.e. s = 9 mm, |S21| < -10 dB) [START_REF] Rivière | Impact of the coupling effect and the configuration on a compact rectenna array[END_REF]. The overall size of the rectennas array is 110*90mm 2 . Fig. 5. Rectenna array

Experimental results

To evaluate the rectenna performance, we use a test system where a transmitting antenna is connected to a HF generator with a fundamental frequency fixed to 2.45 Ghz. The performance of the rectenna is verified by measuring the output DC voltage using a digital multimeter with a precision of 0.003% in DC. A linearly polarized bowtie antenna with a gain around +10dB over the frequency of interest is used to provide the RF power. Measurements were performed by placing the proposed rectenna array at a distance of 2 m from transmitting antenna and the source power was set at +25 dBm.

Figure 6 shows the output DC voltage V out of the rectenna. The maximum output DC voltage is 2.824 V and corresponds to the open-circuit voltage (V Th ). Fig. 6. Output DC voltage Figure 7 shows the power delivered to the load as a function of R L . We notice that the power is small for small or values of R L but maximum for some value of R L between 0 and +∞. The maximum power delivered to the load is 91 µW with an optimal load R Lopt of 20 kΩ. According to the maximum power theorem, we know that the maximum power transfer takes place when the load resistance R L equals the Thevenin resistance R th . The maximum power transfer to the load R L can be explain by :

P MAX = R L *i 2 = V Th R Th + R L ! " # $ % & 2 * R L (1)
with V th = 2.824V, R th =R L =20 kΩ.

With these parameters, the value of P MAX is about 100 uW.

Fig. 7. Output DC power

In practice, for this maximum operating point, if we consider that R th =R L , we can conclude that there are about 9 uW of internes losses, i.e. about 9%.

A second study was performed using a reflector to the back of the rectenna array. The objective is to increase performance. Indeed, a reflector is relatively inexpensive, offers a higher gain and allows to have a wide bandwidth.

The reflector is moved in a range from 1 cm to 12 cm by step of 1 cm. It appears that maximum of open circuit voltage is reached when the distances are λ/4 and 3λ/4. We obtain an output DC voltage of 4.5 V at λ/4 and about 5V at 3λ/4 as it is shown on Figure 8. Fig. 8. Impact of the reflector on the output DC voltage Finally, we can conclude that the optimum distance giving the maximum voltage is 3λ/4, which corresponds to a gain of 1.77 on the output dc voltage with a load of 1MΩ.

Discussion

This study shows the possibility of achieving a compact and efficient rectenna operating at low power levels. The networking of these rectennas in series topology confirms the increase of the output dc voltage but remains below the theoretical value. Finally, the addition of a reflector to the back of the array at an optimal distance improves performance of the global system.

Conclusions

This paper reports the design and experimental characterization of a ten rectennas array in the ISM band at 2.45 GHz operating at low power levels. These circuits were achieved in a simple and low-cost manner and experimentally tested. Thus, the results show that using a reflector at 9 cm to the back of the rectenna array, it is possible to increase the collected DC voltage. They present interesting DC output properties and are suitable for another energy harvesting applications.

Fig. 1 .Fig. 2 .

 12 Fig. 1. NFRP Antenna design (mm)

Fig. 3 .

 3 Fig. 3. Layout of the rectifier circuit

Acknowledgements

This work received financial support from Reunion Island Regional Council and European Union -European Regional Development Fund (FEDER).