Thiago Moreira Da Costa

Hervé Martin

Nazim Agoulmine
email: nazim.agoulmine@ibisc.fr

Privacy-Aware Personal Information Discovery Model based on the cloud

privacy, foreclosure of self-determination, lost of autonomy, and others.

While some of these issues are related to information leak, and consequently involve broader governance and systematic to minimize the collection and analyze of data by third-parties, some of privacy threats ramifications are related to new big data technologies that are able to extract valuable information from large volumes [START_REF] Cavoukian | Privacy by design in the age of big data[END_REF]. In fact, the continuous ratio growth of data volume, velocity, variety and veracity in the big data scenario is its main challenged and distributed computing are one of the strategy to overcome these technical constraints [START_REF] Jacobs | The Pathologies of Big Data[END_REF].

The modern technology used to mining semantic enriched data and the computational power provided by nowadays distributed and cloud computing to process huge data sets are permitting fast investigation/correlation of relevant information (decreasing time to discovery private personal facts) and high significance level of inferred information (minimizing the ratio of false positives). Big data storage and analytics technology made it possible to store data produced from web and social interaction, machine logs, sensing, transactions and Internet of Things [START_REF] Hashem | The rise of Big Data on cloud computing: Review and open research issues[END_REF], not limiting in some selective relevant information only. The services provided by modern applications in portable devices that are context-sensitive, social and location-based depend on this data to deliver smart feature and customize users' experience, behaving accordingly to the individual's context and situation. However, the indiscriminate storage of personal digital data has led to a practice of life logging [START_REF] O'hara | Lifelogging: Privacy and Empowerment with Memories for Life[END_REF] which has the potential to be intentionally exploited to extract private personal information that was not initially intended by individuals who use these services.

Furthermore, big data technology is increasing the complexity in privacy policy implementation, since it differs from the traditional privacy management where private information was meaningful for the individual who owns it, and it could be classified as sensitive or not, such as race, health status records and salary. Big data technology can infer information from raw data that are not clear for those who produce it, for instance, work place location or risk of loan eligibility.

Besides that, algorithms to prepare data, reduce sensor noises, remove outliers, compress data, integrate heteroge-Abstract-Data collection, storage and manipulation have become more critical due to the growth of magnitude of their misuse or mismanagement impact in business and political scenarios nowadays. While research has pushed technology to deliver more powerful information discovery algorithms, and responsive ondemanding storage and processing capacity through data analysis and distributed cloud infrastructure, concerns about privacy have globally raised several discussions involving different sectors of the society. In particular, individual rights are highly impacted by privacy issues due to nowadays geographic distribution of sensitive information and its discovery.

In this work, we present a model for privacy awareness during the data analytics process in a context of scalable computing using the cloud. Our approach addresses privacy issues both in data analytics process and in the infrastructure resource allocation according to privacy regulation in Service Level Agreements (SLA). The proposed model for Privacy-Aware Information Discovery (PAID-M) provides privacy awareness by executing data analytics algorithms encapsulated with privacy preserving techniques. The model also presents how it intends to address the privacy issue in the cloud deployment process by considering differences in privacy regulations and jurisdictions.

I. INTRODUCTION

The pace on which information has modeled the world where we live has amazingly increased. Indeed, technology has changed the way organizations and people produce and treat data, making possible to produce and share information unprecedentedly faster. Furthermore, Data Science has allowed us to consume information quicker and more efficiently by aggregating and selecting relevant information from large amount of data using data mining techniques. This myriad of aspects of data, and its production, analysis and dissemination techniques have also led to the change of how individual's privacy has been compromised.

A recent report of the Execute Office of the President (USA) [START_REF] Pcast | Big data and privacy: a technological perspective[END_REF] about big data and privacy highlighted several problems about personal privacy, the society is facing now or in a near future: intrusion upon seclusion, public disclosure of private facts, disclosure of inferred private facts (sometime false positives), defamation using inferred private facts, invasion of unencrypted private communication, invasion in personal virtual space, stalking and violation of locational neous data are continuously proposed, leveraging the quality of data stored. In the field of semantic trajectory analysis, for instance, algorithms for outlier removal, kernel smoothing, and compression prepare spatiotemporal data (GPS points) for posterior processing [START_REF] Yan | Semantic Trajectories: Mobility Data Computation and Annotation[END_REF]. Other techniques for normalization, integration and filtering may be applied to prepare data for analytics algorithms as well. Furthermore, the best practices for publishing and connecting structured data on the Web, called Linked Data [START_REF] Bizer | Linked data-the story so far[END_REF], are changing the way data is stored, retrieved, and integrated by using semantic web technology and adding contextual information to them. This allows data analytics algorithm to take into account several aspects of context on which these data were produced, leveraging the level of significance of information extracted from personal data of individuals [START_REF] Bizer | The meaningful use of big data: Four perspectives -Four challenges[END_REF]. Recent cases in Facebook perceiving individuals' moods have disclosure the level of detail currently achieved by big data technology in social networks using history of annotated digital traces [9][10]. This threat to personal privacy become more complex when added to the fact that distributed infrastructure, such as the cloud, is used to achieve this analytics results.

Cloud Computing has a particular role in this scenario specially because its distributed infrastructure bring complex privacy issues [START_REF] Takabi | Security and Privacy Challenges in Cloud Computing Environments Cloud[END_REF], [START_REF] Wei | Security and privacy for storage and computation in cloud computing[END_REF]. Hashem et al. [START_REF] Hashem | The rise of Big Data on cloud computing: Review and open research issues[END_REF] describe several security and privacy concerns in the cloud that needs to be accounted according to the recent privacy regulations, such as encryption, privacy-safe query, data protection architecture, social network sensitive information publishing, and statistical privacy attack. However, it is in privacy jurisdictions that most regulation decision have focused, pushing personal privacy relevance to a critical level, similar to what was formerly found in business multi-tenant requirements for the cloud [START_REF]Cloud Computing: Benefits, Risks and Recommendations for Information Security[END_REF].

The same characteristics that are required by multi-tenant environments, such as privacy governance and accountability, compliance to regulations, jurisdictional clearance, and service-level agreements also apply to software and services that storage and process personal data of individuals. Therefore, jurisdiction remains a problem to be solved in cloud computing. Restrictions for cross-border data flow for storage or processing may applied in order to guarantee that personal privacy conditions are respected despite of the service provider's location, as currently states in the Russian Statute on Roskomnadzor (Russian Federal Service for Supervision of Communications, Information Technology, and Mass Media) and in the European Data Protection Regulation, for instance.

Nonetheless, cloud's technology competitiveness relies heavily on its delivery and deployment models [START_REF] Takabi | Security and Privacy Challenges in Cloud Computing Environments Cloud[END_REF] that allow cost reduction and efficient resource allocation due to the cloud elasticity across multiple IaaS providers. How cloud's server vendors can provide such elasticity and still be compliant to multi-jurisdiction privacy regulations?

In this context, three aspects of privacy must be addressed to propose a privacy-safe environment for personal information discovery: i) policies that take into account the direct or indirect relation between raw data and information semantically relevant; ii) privacy-aware programming platform that provides composable and extensible data mining modules; iii) privacy sensitive distributed platform that provide elastic storage and processing capacity.

For this propose, we introduce in this work a Privacy-Aware Information Discovery Model (PAID-M) to deploy a reliable, scalable and privacy sensitive data mining system. The main contributions of our work are:

• A privacy policy management that is able to preserve data that can be used to infer sensitive information from being published. By applying privacy policy based on taxonomies, this approach uses semantic reasoning to find direct and indirect relations between privacy policy data.

• Privacy encapsulation of traditional data mining algorithms by modularizing them while verifying their inputs and outputs. We define solution for reuse traditional data mining algorithms by supplying a preparation phase and a post-processing phase to verify privacy. Furthermore, a concept of data mining module allows combining an array of data mining algorithms, providing a solution to build information discovery requests.

• Scalable processing and storage using the cloud and interacting with MOSt, a Multisite Orchestration System [START_REF] Cherkaoui | SLA4CLOUD : Measurement and SLA Management of Heterogeneous Cloud Infrastructures Testbeds[END_REF], in order to provide privacy sensitive cloud elasticity. The rest of this paper is organized as follows: Section 2 describe the privacy-aware information discovery model, describing step by step the rational used to address the privacy problem in the two levels of the solution (programming and infrastructure abstractions). In Section 3, the global architecture of the solution is explained, each components and the technology that is expected to be implemented. Finally, conclusions and next steps of the work are presented.

II. PAID-M -PRIVACY-AWARE INFORMATION DISCOVERY MODEL

[15] classifies technology required for Data Analytic in two categories: Programming Abstraction and Infrastructure Abstraction. The Programming Abstraction aggregates those algorithms that make sense of data, extract non obvious patterns, and predict future trends and behaviors. The Infrastructure Abstraction is the technology responsible to provide a scalable, fault-tolerant, and safe environment for data analytics algorithms. In this context, we propose a Privacy-Aware Information Discovery Model as a platform-independent model to address the problem of privacy of personal data in a scenario of big data information discovery focusing in the programming and infrastructure abstractions. Our model address privacy in the level of Programming Abstraction by supporting the data analyst through the process of building an analytic process in order to be able to intermediate the execution of analytic processes and verify privacy according to the individual's policy. For this matter, it is necessary to cover what are the types of data analytics algorithms and understand how these algorithms can be concatenated. Furthermore, for the Infrastructure Abstraction our model propose an infrastructure that provide parallelized, scalable, fault-tolerance and safe using the cloud. In this level of infrastructure, privacy is implemented by intervening deployment plans and resource allocation in a way that SLAs for privacy and regulation are accounted. Different components in our model can be deployed according to the individual's privacy policy and SLA. In the next subsections, different aspects of our models are discussed.

A. Programming Abstraction

The Programming Abstraction is part of the technology intended to provide an accessible, small and composable interface to reuse techniques of KDD, data mining, text mining, statistical and quantitative analysis, explanatory and predictive models, and advanced and interactive visualization to drive decisions and actions, as described in Big Data Analytics [START_REF] Assunc ¸ão | Big Data computing and clouds: Trends and future directions[END_REF]. Several works have studies the common characteristics of ana-Fig. 1. Data Analytic Workflow Overview lytics algorithms and the Data Analytic Workflow (DAW) [START_REF] Grossman | What is analytic infrastructure and why should you care?[END_REF], [START_REF] Alexander | The Stratosphere platform for big data analytics[END_REF], [START_REF] Bordawekar | Analyzing analytics[END_REF], [START_REF] Ceri | Mega-modeling for Big Data Analytics[END_REF], [START_REF] O'driscoll | Big data', Hadoop and cloud computing in genomics[END_REF], [START_REF] Pcast | Big data and privacy: a technological perspective[END_REF], [START_REF] Zhang | GeoDeepDive : Statistical Inference using Familiar Data-Processing Languages[END_REF], [START_REF] Atzeni | Conceptual Modeling[END_REF], [START_REF] Assunc ¸ão | Big Data computing and clouds: Trends and future directions[END_REF], [START_REF] Ceri | Towards mega-modeling: a walk through data analysis experiences[END_REF]. The definition of a high-level class of data analytics algorithms on top of big data allows algorithms reuse, modularization and possibility to express different kinds of relationships among classes. As an example, the work described in [START_REF] Ceri | Towards mega-modeling: a walk through data analysis experiences[END_REF] proposes mega-modules as super classes of analytics algorithms capable of compose any DAW using these modules. Figure 1 depicts the DAW overview for a single step of data analysis and what is expected in each step. This strategy for encapsulating the analytic steps in modules containing preparation, analytics and result phases has been successfully implemented in several projects, such as GeoDeepDive [START_REF] Zhang | GeoDeepDive : Statistical Inference using Familiar Data-Processing Languages[END_REF], M-Atlas [START_REF] Giannotti | Unveiling the complexity of human mobility by querying and mining massive trajectory data[END_REF], and Apache Flink (former Stratosphere [START_REF] Alexander | The Stratosphere platform for big data analytics[END_REF]).

Although some of these projects has partially covered privacy concerns, privacy enforcement is not formerly considered into their DAW. As an example, M-Atlas, which works with spatiotemporal data, provides a high-level query language called DMQL [START_REF] Trasarti | Types and Operators in M-Atlas system[END_REF] that can be used to express DAW's. Nonetheless, DMQL lacks expressiveness to incorporate other privacy preserving techniques than k-anonymization [START_REF] Bayardo | Data Privacy Through Optimal k-Anonymization[END_REF]. Besides that, the privacy preserving techniques is only used when expressed by the data analyst. Another issue concerning the privacy in the process of data analysis is interpreting its result. Sometime the results are not intelligible or not conclusive. In a traditional Data Analytic scenario, the data analyst concludes if the result is meaningful or if it needs to be re-executed, discarded, validated or adjusted. The output of data analytics algorithms are mainly data, data models and patterns [START_REF] Ceri | Mega-modeling for Big Data Analytics[END_REF]. Data and patterns are mostly result of data mining techniques, while data models can be output from machine learning, statistical model algorithms, simulation and forecast. For the matter of understandability of the results, visualization and presentation can be necessary as well.

Fig. 2. Privacy Enforcement in Data Analytic Workflow

In PAID-M, we propose enforce privacy in the DAW by incorporating privacy preserving techniques according to the personal privacy policy, as seen in Figure 2.

Among the myriad of existing techniques to be applied to the data during the preparation and post-analysis steps, data characteristics and data types are properly accounted by the data scientist during the Data Analytic Process (DAP1 ) definition. It is no different when considering the privacy preserving techniques. According to [START_REF] Aggarwal | A general survey of privacy-preserving data mining models and algorithms[END_REF], privacy-preserving data mining and algorithms can be classified in randomization methods, group-based anonymization, distributed privacypreserving data mining, privacy-preservation of application results. Some examples of such techniques are as follows:

• Randomization method by adding noise in order to mask attribute values;

• k-anonymity and l-diversity methods reduce the possibility of indirect identification of individual who produced by generalizing (reducing granularity of the data representation) and suppression;

• Horizontal and vertical partitioning of data sets cross multiple sites in the data mining process, sharing partitions in a way that minimize the possibility of an individual entity;

• Downgrading of application effectiveness, such as rule mining hiding, classifier downgrade, and query auditing to minimize privacy violation by reducing algorithm effectiveness. Both data analytics algorithms and privacy preserving techniques have a semantic in the DAP that must be observed. That means these techniques are context-sensitive and its application varies according to the data (and its characteristics) to be processed and to the result analysis. For the PAID-M, this semantic and meta-data (of techniques and data), must be mapped in order to provide adequate techniques during the process of composition of the DAP. Furthermore, this semantic annotation and meta-data can trigger the automatic privacy enforcement by using semantic web technology for reasoning which privacy preserving techniques could be used according to each step of the DAP.

Concerning the privacy policy, the solution proposed in our model is composed by two parts which are implemented in different abstractions of the process. In the Programming Abstraction, the Privacy Policy for Data Analytic (PPDA), as depicted in Figure 2, describes the individual's intention for data use, indicating in terms of what aspects of her life should be considered private. In the execution of a DAP, for each step, semantic annotation of data analytics algorithm will guide the system to apply privacy preserving techniques according to PPDA. By doing so, the strategy of PAID-M for privacy preservation goes beyond the all-or-nothing paradigm of policy data access control, taking advantage of privacy preserving techniques to prepare data and to verify the result of data analytics algorithms.

B. Infrastructure Abstration

The Infrastructure Abstraction is the technology that provides the solution for the big data challenges using cloud computing. Cloud computing provide many features such as parallelization and distributed computing that are extremely important to overcome big data barriers. Although, while some of the concepts behind cloud computing are not new, from the point of view of scalability, virtualization technology aggregate the most convenient on-demand capacity for data analytic processes. The elasticity property of the cloud allows a very fast increment or decrease of resources, being transparent for the Virtual Machines (VMs). This is done by the virtualization technology (hypervisor) that intermediates physical machines and operating systems (OS), as shown in Figure 3, in order to manage and allocate resources. In this context, infrastructure are offered as a service (IaaS 2 ), where cloud providers can provide a physical infrastructure (mainframe, servers, network, storage). In order to make this physical infrastructure available, cloud providers must use a 2 Infrastructure as a Service IaaS cloud platform to manage the physical resources, such as OpenStack 3 or Amazon Web Service 4 .

In a market that starts to become more heterogeneous, with the advantage of private clouds and the increase of cloud vendors, choosing which IaaS to contract is not an easy task. SLA4Cloud [START_REF] Cherkaoui | SLA4CLOUD : Measurement and SLA Management of Heterogeneous Cloud Infrastructures Testbeds[END_REF] is a project that aims to dynamically provide optimal and composition placement of virtual machines delivering better network capabilities and performance trades according to the specified SLA. The Multisite Orchestration System (MOSt) intermediate the process of deployment serving as a hub for several IaaS cloud providers. However, some SLA requirements are still difficult to achieve, due in part to the lack of mechanisms and tools to ascertain if the cloud vendor maintains compliance with the contracted SLA, in part because there are still different SLA requirements that is not easily implemented and monitored due its multidisciplinary characteristics. Privacy can be considered as such a challenge [START_REF] Takabi | Security and Privacy Challenges in Cloud Computing Environments Cloud[END_REF], [START_REF] Wei | Security and privacy for storage and computation in cloud computing[END_REF] that involves policy, regulation and technology [START_REF] Pcast | Big data and privacy: a technological perspective[END_REF]. Its implementation is not trivial, in view of the nowadays constant changing in regulation in the world. This question issues the cloud computing directly, because the cloud elasticity is directly affected and restricted by regulation of personal privacy in some countries that restricts crossborder data flow, for instance. In our model, we propose to cover privacy regulations in the Infrastructure Abstraction by extending MOSt [START_REF] Cherkaoui | SLA4CLOUD : Measurement and SLA Management of Heterogeneous Cloud Infrastructures Testbeds[END_REF] with the capability to identify which IaaS cloud vendors are not eligible due privacy regulation restrictions. The PPDP will contain SLA that will specify privacy requirements, such as jurisdiction restrictions and other constraints related to Privacy Regulation. Figure 4 present the interaction between the system and the cloud. For the Programming Abstraction implementation, the four main components, presented in Figure 5, are the followings:

• The ORchestrator (OR) component is the responsible for starting and stopping the other three components. It is the first to be deployed and also controls the queue for data analysis. The Orchestrator is intended to be implemented using Wildfly5 and jBPM6 technology;

• The Application Server will be responsible for interacting with administrator, data producers and data analysts. Interfaces to upload data, submitting DAP and visualizing results is expected to be implemented in AP using WildFly;

• The Personal Data Vault (PDV) will be in charge of storage of personal data. For each data producer, one account will be created in order to protect and isolate private data. Two type of storage will be available to support different type of data, a Triple Store and a Relational Database Management System (RDBMS);

• The Data Analytic Engine (DAE) is responsible for processing the DAPs. In order to do that, the Distributed FileSystem HDFS7 should be implemented to provide cache and support for the Apache Flink. There are several open-source projects for large data sets processing, such as Apache Spark, Apache Storm, Apache Flink, Apache Tez, and the traditional Apache Hadoop-MapReduce8 and all variation based on market's implementation and requirements. Apache Hadoop 2 and its YARN (Yet Another Resource Negotiator -Resource Manager) predominates in the large data set processing engines currently available. For a matter of succinctness and objectiveness, the parameters used to compare the available engines are not going to be presented. Although, it is important to highlight what makes Apache Flink9 the best candidate for the DAE.

Formerly known as Stratosphere, Apache Flink is a project sponsored by public and private sectors in Europe Union to empower data scientists to conduct complex data analysis while providing parallelization, query optimization, broad infrastructure and source connectivity, flexible composition of analytics process, automatic optimization in different stages of the process, high performance run-time, rich programming languages to interact along the stages of the analytics process [START_REF] Markl | Breaking the Chains: On Declarative Data Analysis and Data Independence in the Big Data Era[END_REF]. Besides that, Apache Flink is a data analytic platform that enables the extraction, analysis, and integration of heterogeneous data sets, being capable of performing information extraction and integration, traditional data warehousing analysis, model training (and machine learning), and graph analysis using a programming model based on second order functions [START_REF] Alexander | The Stratosphere platform for big data analytics[END_REF]. The platform can run standalone, natively in computer clusters, or Hadoop clusters via YARN(see Figure 6).

IV. CONCLUSIONS

The model presented in this work aims to provide a systematic that will support data consumer to control privacy in the era of big data. Two challenges related to privacy are faced by the Data Analytic in large data sets. The first related to the extraction of private information from data using data analytics algorithms (not clear to the individual who produced). The second related to the cloud computing elasticity, that poses a problem of privacy jurisdiction and regulations. In the next phase, we aspire to implement the PAID-M and run case studies using spatiotemporal data sets, evaluating if individual' s privacy policy were satisfied.

ACKNOWLEDGMENT

This research is partially funded by the Brazilian Federal Agency for Support and Evaluation of Graduate Education within the Ministry of Education (CAPES/MEC) and the EU EASI-CLOUDS project (ITEA 2 #10014) and STIC-AmSud SLA4CLOUD project (14 STIC #11).

Thanks to all the partners of the project who have helped with their discussions to improve the research work presented in this paper.

Fig. 3 .

 3 Fig. 3. Example of cloud virtualization

Fig. 4 .

 4 Fig. 4. Example of privacy enforcement in the cloud

Fig. 5 .

 5 Fig. 5. Architecture Overview

Fig. 6 .

 6 Fig. 6. The Flink Stack

Data Analytic Process is an instance of data analysis following the Data Analytic Workflow

http://www.openstack.org/

http://aws.amazon.com/

http://wildfly.org/

http://www.jbpm.org/

http://hadoop.apache.org/hdfs/

https://hadoop.apache.org/

http://flink.apache.org/


Fakhreddine Ababsa
email: ababsa@iup.univ-evry.fr

Imane Zendjebil
email: zendjebil@iup.univ-evry.fr

Jean-Yves Didier
email: didier@iup.univ-evry.fr

M Mallem
email: mallem@iup.univ-evry.fr

Efficient Initialization Schemes For Real-Time 3D Camera Tracking Using Image Sequences

Keywords: Marker-less tracking, outdoor augmented reality, SURF descriptors. I

a set of 3D noncollinear reference points defined in the

image with the database using a similarity measure. The disadvantage of this method, beside its complexity, is that keyframes are local and thus sensitive to scale. Pressigout et al. [START_REF] Pressigout | Real-Time Hybrid Tracking using Edge and Texture Information[END_REF] fuses a classical model-based approach based on edge extraction and a temporal matching relying on texture analysis into a single nonlinear objective function that has then to be minimized. Tracking is formulated in terms of a full scale non-linear optimization. The initialization is achieved by matching the first image with a set of multiscale reference images. This system works only with planar structures, and the initialization performance depends on the number of reference images. Genc et al. [START_REF] Genc | Marker-less tracking for ar: A learning-based approach[END_REF] propose a marker-less tracking based on learning framework of natural 3D features. However, their system needs an external marker based tracker to initialize the camera pose.

In this paper, we present two original and efficient approaches that achieve a 2D/3D points-based matching to initialize the 3D camera tracking for outdoor environments. We propose to use the SURF descriptors [START_REF] Bay | SURF: Speeded Up Robust Features[END_REF] in order to extract a stable set of natural key points which are invariant to image scaling and rotation, and partially invariant to changes in illumination and view point. We first propose a semi-automated initialization approach which needs the contribution of the user to perform reliable 2D/3D matching. In cases where tracking is lost, an automated initialization procedure is then launched.

The remainder of this paper is organized as follows. In section 2, we give the formulation of the camera pose estimation problem when using point features. Section 3 presents the overview of our proposed approaches. Obtained results on real data are then discussed in section 4.

II. CAMERA POSE PROBLEM FORMULATION

Throughout this paper, we assume a calibrated camera and a perspective projection model. If a point has coordinates (

)

t z y x ,
, in the coordinate frame of the camera, its projection onto the image plane is ( )

t z y z x 1 , ,
. In this section, we present the constraints for camera pose determination when using point and line features.

A. Problem definition

Let

( ) 3 , , , 1 , , , ≥ = = n n i z y x t i i i i INTRODUCTION
Augmented Reality systems (ARS) attempt to enhance human's perception of their indoors and outdoors working and living environments by complementing their senses with virtual input. Tracking computation refers to the problem of estimating the position and orientation (namely the pose) of the ARS user's viewpoint, assuming the user to carry a wearable camera [START_REF] Ababsa | Robust line tracking using a particle filter for camera pose estimation[END_REF] [START_REF] Ababsa | A Robust Circular Fiducial Detection Technique and Real-Time 3D Camera Tracking[END_REF]. Tracking computation is crucial in order to display the composed images properly and maintain correct registration of real and virtual worlds. Marker-less tracking provides an interesting issue because of its accuracy and robustness against the environmental influences (occlusions, illumination variation, etc.). The mean idea of the marker-less tracking is to identify, in the images, features from the 3D scene (points, lines, etc.).

However, a main problem with the marker-less tracking systems is the initialization process which provides the system automatically with the initial pose of the camera. This procedure needs to be done each time the system starts working or looses tracking. Several marker-less tracking approaches have been developed in the last years. In order to initialize their tracking system, Vachetti et al. [START_REF] Vacchetti | Stable real-time 3d tracking using online and offline information[END_REF] construct, during the off-line stage, a database using a set of keyframes, representing the scene from different viewpoints. Collected features consist on the two sets of corresponding 2D and 3D points and the camera projection matrix. The initialization is then done by matching features extracted from the initial frame, the corresponding camera-space coordinates ( ) , , , , ,

i i i i z y x = q
are given by:

T R i i + = p q (1)
where

( ) t t t t R 3 2 1 , , r r r = and ( ) t z y x t t t T , , =
are a rotation matrix and a translation vector, respectively. R and T describe the rigid body transformation from the world coordinate system to the camera coordinate system and are precisely the parameters associated with the camera pose problem.

Let the image point

( ) t i i i v u 1 , , = g
be the projection of i p on the normalized image plane. Using the camera pinhole model, the relationship between i g and i p is given by: ( )

T R t i z i t i + + = p p r g 3 1 (2)
which is known as the colinearity equation.

The point constraint corresponds to the image space error, it gives a relationship between 3D reference points, their corresponding 2D extracted image points and the camera pose parameters as follows:

2 3 2 2 3 1 ˆ + + - + + + - = z i t y i t i z i t x i t i p i t t v t t u E p r p r p r p r (3)
where

( ) t i i i v u 1 , , = m
are the observed image points.

The pose estimation problem is to find the rigid transform (R, t) that best fits the known 3D reference points with the observed 2D image points. Usually this is achieved by minimizing some form of accumulation of errors (least squares methods) based on equation 3. Typically Gauss-Newton or Levenberg-Marquardt methods are used for this purpose [START_REF] Lowe | Fitting Parameterized Three-Dimensional Models to Images[END_REF] [START_REF] Haralick | Pose Estimation From Corresponding Point Data[END_REF].

B. Discussion

3D-2D feature matching is critical for the camera pose estimation and still a difficult unsolved problem in computer vision. The tracking system needs an initialization that provides a set of good 3D-2D matched points. In practice, the accuracy of the matching process depends on the relevance of the information associated to the 3D points for their recognition. One interesting approach is to define a reference patches around the image points corresponding to the 3D model points. Matching is then performed by aligning these references patches within those extracted from the current frame. The correlation can be used to measure the similarity between the patches as in [START_REF] Bleser | Advanced tracking through efficient image processing and visual-inertial sensor fusion[END_REF]. However, this method is not robust against illumination variation. Other approaches use the SIFT descriptors [START_REF] Lowe | Distinctive Image Features from Scale-Invariant Keypoints[END_REF] for their robustness to changes in viewing conditions. The main disadvantage of the SIFT is its complexity and its high time consumption, this makes it not suitable for real-time applications.

In this work, we propose two initialization approaches. The first one is semi-automated and requires the user intervention to guide the matching process; it is used to start the tracking system. The second approach is fully automated; it is executed when the tracking is lost. The next sections give an overview of these approaches.

III. SEMI-AUTOMATED INITIALIZATION APPROACH

The proposed semi-automated initialization approach is performed in two steps: the wireframe model of the environment (here the building frontage) is first rendered, in real time, on the video flow coming from the camera, using a set of predefined poses (see figure 1-a). At the same time the user moves the camera in order to align the projected model within its image. Once this alignment is achieved (see fig. 1-b) the user validates the corresponding pose and the system switch to the matching step in order to perform, with high accuracy, the 3D-2D points matching. Aligning the rendered model allows to limit the search area of the 2D points in the current image. This makes the approach faster and robust against the outliers. The 3D-2D matching is performed as follows. A search box is defined around each projected 3D model point on the aligned image. The interest points are then extracted from these image regions. As 3D points represent corners in the model, we use the Harris detector [START_REF] Harris | Tracking with rigid models, Active vision[END_REF] in order to extract the 2D interest points. Then, a SURF descriptor is computed and associated to each extracted Harris point. We choose to use the SURF descriptor because it is scale-rotation invariant and allows real-time tracking. The distances between the reference descriptor associated to the 3D point and the descriptors of the extracted 2D points are measured and compared. The 2D point that minimizes this distance is selected as the corresponding 2D point. We have also used a RANSAC algorithm [START_REF] Fischler | Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography[END_REF] in order to detect and remove outliers in the matching set, and thus increasing the accuracy of the initialization.

In order to validate the whole matching 3D-2D points, we introduce a coherence test which is used as a quality measurement for the estimated camera pose. We assume that this pose is close to that selected when the wireframe model is aligned within the image. Let, [ ] a a a T R P = be the predefined camera pose that is used for the model/image alignment, and

[ ] T R P =
the camera pose estimated using the set of candidate matched points. As the two matrices are identical, we can write then:

I P P a = ⋅ -1 ( 4
)
Where I is a 4×4 identity matrix. So, the trace of the matrix 1 -⋅ P P a tends to 4. Our coherence test can be formulated as:

( ) 4 < ⋅ < P P Trace a δ (5)
Where δ is a threshold below which the two matrices are considered different.

IV. AUTOMATED INITIALIZATION APPROACH

Unlike the semi-automated approach described above, in automated initialization procedure, the user intervention is not required. The system switches automatically in this mode every time when the tracking falls because of noise, occlusion or image blurring. This approach is performed as follows (see figure 2):

Let F i be the reference frame that corresponds to the last captured image before the tracking failed. Much information are associated to this frame namely: the camera pose P i and the set of matched 3D-2D points. The idea is to generate new 3D-2D matched points between the reference and the current frames. For that, we first project the 3D points on the current frame using the reference camera pose Pi to generate predicted research areas. These image areas, named patches, are centered around the projected 3D points and have rectangular shape. The interest points corresponding to the SURF features are then extracted inside these patches and matched with those extracted from the reference frame. We also use a RANSAC algorithm in order to discard the outliers. To find the 3D-2D matched points for the current frame, we only need to identify the transformation that maps interest points defined in the reference image to those extracted in the current image. We assume that this transformation is a homography because the movement between the two frames is not meaningful. Let ij H be this homography, i m and j m the interest points extracted from reference and current frames F i , and F j , respectively. The relationship between i m , j m and ij H is defined as:

i ij j m H m ⋅ = ( 6 )
Once the homography is estimated, we apply it to the 2D image points associated to the 3D model points for the reference frame, in order to transform them in the current image. This allows updating correspondence between 3D and 2D points for the current image, and hence restarts automatically the tracking process.

V. RESULTS

The proposed approaches have been tested in real scenes and the registration accuracy was analyzed. The results are presented for outdoor images (Figure 3) which corresponds to a moving camera pointing towards one frontage of a building. The frame rate of the recorded image sequences is about 25 frames/s and the resolution of the video images is 320×240 pixels. We used an industrial USB camera uEye UI-2220RE with a focal equal to 8mm.

The first experiment points out the performances of the semi-automated initialization approach in several conditions. Figure [START_REF] Vacchetti | Stable real-time 3d tracking using online and offline information[END_REF] shows that this approach performs good matching in spite of the illumination change. Furthermore, in order to analyze the error in the matching process, we estimate the mean distance between the 2D points obtained after the semi-automated initialization step and the 2D points extracted from the images after refining the camera pose. We found a mean error equal to 3.8216 pixels with a standard deviation about 1.0873 pixels. This means that semi-automated approach is very efficient to generate a rough estimate of 2D-3D correspondences and really helps the tracking system to rapidly converge to the optimal solution.

We also analyzed the execution time by carefully evaluating the processing time needed to achieve each step in the semi-automated initialization procedure. An example of these computation times is given in This table shows that the computation time needed to achieve the semi-automated initialization matching is quite fast and makes this approach particularly efficient for the initialization stage of the tracking system.

In addition, we also tested the performances of our automated initialization approach. For that we have considered several images taken under different viewpoints. Figure 4 shows some obtained results. We can see that, for all the considered cases, the reference points (taken on the frontage of the building) are well matched in the current frames. In this example we have considered coplanar points. We have also tested our approach for non coplanar points chosen on the tower of the castle (figure 5). Obtained results in this case are satisfying. Indeed, combining the SURF points with the RANSAC algorithm provides an accurate and robust homography estimation, and thereby allows good points matching. The matching process in this case gives a mean error about 1.7823 pixels with a standard deviation of 0.6634 pixels. The computation time of this approach depends mainly on the SURF features extraction and matching. Introducing a prediction stage in order to limit the research area of the interest points in the current frame has significantly reduced the total time of the whole algorithm (practically, it is divided by two). Comparing to other similar approaches [START_REF] Lowe | Fitting Parameterized Three-Dimensional Models to Images[END_REF], our proposed automated initialization technique is more flexible and provides best real times performances.

VI. CONCLUSION

We have presented, in this paper, two initialization approaches for marker-less visual tracking, namely a semiautomated and fully automated 3D-2D points matching. Both approaches use the SURF descriptors in order to achieve the matching robustness against the illumination changes and rotations. The semi-automated approach requires the user intervention in order to perform model/image registration when the tracking starts, while the automated approach is executed every time when the tracking falls. Our main idea consists in associating 2D patches composed of the SURF features to the 3D model points, allowing their efficient recognition in the image sequence. Both approaches have been tested on real data and have demonstrated satisfying results. However, some improvements should be done to improve more the efficiency of our tracking system. Future research efforts will include the use of other kind of sensors, like inertial and GPS, in order to assist the visual tracking and improve its accuracy.

Figure 1 .

 1 Figure 1. (a) the model environment rendering. (b) manual alignment between the projected model and its image

Figure 2 .

 2 Figure 2. Automated initialization approach

Figure 3 .

 3 Figure 3.

Figure 4 .

 4 Figure 4. Performance of semi-automated approach

Figure 5 .

 5 Figure 5. Matching results for autometed initialization approach, case of the coplanr points

Figure 6 .

 6 Figure 6. Matching results for autometed initialization approach -Non coplanr points

Table

TABLE I .

 I COMPUTATION TIMES FOR THE SEMI-AUTOMATED INITIALIZATION APPROACH

	Steps	Times
	Manual alignment	unknown
	Extraction and matching	50 ms
	RANSAC	100 ms
	Total (without manual alignment)	150 ms

ACKNOWLEDGMENT

This work is supported by the RAXENV project funded by the French National Research Agency "ANR".


Vinícius L Bezerra

Marcus Liliam B Leal
email: liliamleal@uespi.br

Vinícius Lemos

Carlos Giovanni Carvalho

José Bringel Filho

Nazim Agoulmine
email: nazim.agoulmine@iup.univ-evry.fr

Mobile and pervasive ECG monitoring systems require continuous connectivity with server-side ECG analyser for instantaneously detecting abnormal cardiac situations. Normally, these systems generate a large amount of data, resulting in a high energy expenditure with data transmission on pervasive ECG platform. In this context, data reduction mechanisms can be applied for saving transmission energy of pervasive ECG monitoring devices, maximizing the availability and confiability of ECG monitoring systems. This paper proposes an pervasive energy-efficient ECG monitoring approach for detecting abnormal cardiac situations for ubiquitous health systems. The data reduction approach based on error prediction maximize the life time of pervasive ECG monitoring device by gathering and reducing heart signal before sending it to server-side ECG analyzer application. Moreover, Pearson's Coefficient (correlation rate) is applied on the proposed data reduction approach, enhancing the quality of monitored heart signal.

I. INTRODUCTION

Pervasive health monitoring systems are sensor-based platforms able to check vital signal of person, at anytime and anywhere [START_REF] Smalls | Health monitoring systems for massive emergency situations, Systems, Applications and Technology Conference[END_REF], [START_REF] Alahmadi | A smart approach towards a mobile e-health monitoring system architecture[END_REF], [START_REF] Haitao | The health monitoring system based on distributed data aggregation for WSN used in bridge diagnosis[END_REF], [START_REF] Bringel Filho | Org.). Telemedicine and E-Health Services, Policies and Applications: Advancements and Developments[END_REF]. For exemple, these mobile sensorrich biological monitoring systems can be equipped with ECG sensor for continously tracking heart disease. Usually, ECG gathered data is locally stored on the pervasive monitoring platform for later analysis, or is continuously sent for serverside analyzer application. In fact, there is a huge demand for continuous ECG monitoring systems, requiring real-time response, high availability and confiability.

However, these resource-constrained real-time monitoring platform (e.g., ECG continuous monitoring systems) usually generate a large volume of data, expending a lot of energy from mobile monitoring device that are powered by batteries [START_REF] Carvalho | Improving Prediction Accuracy for WSN Data Reduction by Applying Multivariate Spatio-Temporal Correlation[END_REF]. Also, pervasive ECG monitoring systems have severe physical constraints, such as memory capacity, computational power, and energy autonomy [START_REF] Akyildiz | Wireless sensor networks: a survey[END_REF], [START_REF] Anastasi | Energy conservation in wireless sensor networks: A survey[END_REF]. The energy consumption of monitoring systems is mainly associated with three operations: i) sensing fuctions, ii) data processing, and iii) communication [START_REF] Yick | Wireless sensor network survey[END_REF]. In fact, the energy spent in sensing varies according to the sensor type and application nature. For instance, the sporadic sensing (e.g., blood sugar monitoring) consumes less energy than the constant event monitoring, such as heart disease tracking. Therefore, a data reduction mechanism is essential for save energy, but it should be concerned with the quality of information generated after compression [START_REF] Bringel Filho | MartinModeling and Measuring Quality of Context Information in Pervasive Environments[END_REF], [START_REF] Bringel Filho | AgoulmineA Quality-Aware Approach for Resolving Context Conflicts in Context-Aware Systems In[END_REF], [START_REF] Bringel Filho | Org.). Telemedicine and E-Health Services, Policies and Applications: Advancements and Developments[END_REF], which adds application error.

The focus of this work is to maximize the lifetime of ECG monitoring systems, by saving transmition data energy. This paper proposes a predictive data reduction mechanism (Adaptive Simple Linear Regression -ASLR) to extend the lifetime of pervasive ECG continuous monitoring systems.

The proposed ASLR approach compress heart data gathered from pervasive ECG monitoring platform before sending it to server-side ECG analyser application. The pervasive ECG monitoring system is based on the Arduino Platform 1 , which was integrated with our Context Manegment Framework (CxtMF) for constructing context-aware healthcare applications, such as ECG monitoring systems (for more information about the CxtMF, please refer to [START_REF] Bringel Filho | MartinModeling and Measuring Quality of Context Information in Pervasive Environments[END_REF], [START_REF] Bringel Filho | Org.). Telemedicine and E-Health Services, Policies and Applications: Advancements and Developments[END_REF]). The proposed ECG pattern classification is constructed on the CxtMF, which is able to classify ECG signal as normal and abnormal heart condition.

ASLR uses a basic mechanism of prediction, which is based on the history of vital signal raw data collected by ECG monitoring platform. By using the proposed ASLR approach, the ECG monitoring platforms should to produce coefficients that models the sample set from the reading window. Thus, instead of send all gathered samples, the monitoring platform send to the server-side analyser application only the coefficients that represents the line, i.e., the set of reading values [START_REF] Carvalho | Improving Prediction Accuracy for WSN Data Reduction by Applying Multivariate Spatio-Temporal Correlation[END_REF]. The production of the coefficients are controlled by the error between the real and estimated value. Thus, we have a mechanism that can adjust the sample windows used on the model. Based on the received coefficients (models), the server-side application is able to reconstruct the sample set of ECG gathered data. The quality of ECG gathered data is enhanced by using Pearson's Coefficient (correlation rate) in the proposed ASLR approach. The reminder of the paper is organized as follows: Section 2 gives an overview on electrocardiogram data. Section 3 presents the proposed data reduction approach as well as the proposed ECG pattern classification approach. Section 4 presents the methodology and Section 5 the disscuss about experimental results. Fnally, we conclude the paper and discuss future work in Section 6.

II. ELECTROCARDIOGRAM OVERVIEW

Electrocardiogram (ECG) is an exam which records electrical pulses generated during the cardiac activity and, thus, aids the diagnosis of heart disease and other diseases, not only related to the circulatory system [START_REF] Chulsung | An ultrawearable, wireless, low power ECG monitoring system[END_REF]. Among the main diagnoses, can be highlighted diseases 2 : arrhythmias, overload, areas electrically inactive, neurological diseases and congenital diseases. It is responsability of surgeons, general practitioners and emergency care physicians, the interpretation of ECG signals. The heart activity produces currents that radiate through the surrounding tissue to the skin. ECG electrodes are attached to the skin to capture that heart's electrical activity (electrical currents). The equipment converts that current into waves which represents the heart depolarization and repolarization cycle [START_REF] Adam | Propagation of depolarization and repolarization processes in the myocardium-an anisotropic model[END_REF]. A ECG Complex represents the electrical events occurring in the cardiac cycle and consists of five waves denominated by the letters P, Q, R, S and T. The letters Q, R and S are considered a unit, namely, the QRS Complex. P wave is the first component of a normal ECG (Figure 1) and represents the atrial depolarization. A normal P wave has the following characteristics:

• Location: Precedes the QRS complex;

• Width: 2 to 3 mm in height;

• Duration: 0.06 to 0.12 seconds; • Configuration: Generally rounded up. PR interval is from the beginning of the P wave to the beginning of the QRS complex and takes between 0.12 and 0.20 seconds. QRS complex comes shortly after the P wave 2 http://www.heart.org/ (Figure 1) and represents the depolarization of the ventricles. A normal QRS complex has the following configuration:

• Location: After the PR interval;

• Width: 5 to 30 mm in height;

• Duration: 0.06 to 0.10 seconds or half the PR interval;

• Configuration: Q waves (deflection below the baseline), R (first positive deflection following the Q wave) and S (first negative deflection after the R wave). ST segment, also known as J point represents the end of ventricular depolarization and the beginning of ventricular repolarization. This segment under normal has the following characteristics:

• Location: extends from the S wave to the beginning of the P wave follows;

• Deflection: Generally isoelectric (neither positive nor negative);

• Amplitude: Can range from -0.5 to 1 mm. T wave represents ventricular repolarization. It has the following characteristics:

• Location: Follows the S wave;

• Width: 0.5 to 10 mm; • Setup: Typically rounded and smooth;

• Deflection: Generally up, but may appear reversed in some derivations. QT interval is from the beginning of the QRS complex to the end of T wave. This range varies with age, sex and heart rate. Usually takes from 0.36 to 0.44 seconds. Heart rate is the number of times the complete cycle (the start of a P wave to the beginning of another wave P) occurs per minute. The reference values for adults is 60-100 bpm (beats per minute) at rest [START_REF] Adam | Propagation of depolarization and repolarization processes in the myocardium-an anisotropic model[END_REF]. On the other hand, heart rate is the distance between R wave peaks from two successive QRS complexes. If all those distances are in the same size range, the rhythm is normal. Furthermore, in order to that a wave electrocardiographic be diagnosed as normal, it must meet the following five characteristics [START_REF] Adam | Propagation of depolarization and repolarization processes in the myocardium-an anisotropic model[END_REF]:

• Regular rhythm; • Normal frequency; • A P wave for every QRS complex and all the P waves and QRS complexes similar in size and shape;

• PR and QT intervals normal;

• T waves up and rounded. Based on all those characteristics, ECG ghatered data can be separated into two basic groups: normals and abnormals. In fact, any ECG wave that does not meet those five basic requirements will have an abnormal diagnosis. Therefore, our proposed ECG classification solution is taking into account these considerations for classifying heart signal in normal and abnormal cardiac situation.

III. PERVASIVE ENERGY-EFICIENT ECG MONITORING

APPROACH

This section outlines the proposed approach by describing the data reduction mechanism based on the Pearson's Coefficient (correlation rate) which reduces the error generated by Adaptive Simple Linear Regression (ASLR). Furthermore, we present the electrocardiogram classification mechanism, which uses the following techniques: Machine Learning, Support Vector Machines, Stepwise Algorithm, and Cross-Validation.

A. Adaptive Simple Linear Regression Based on Pearson's Coefficient

Simple Linear Regression (SLR) is a technique to modeling the relationship between a scalar dependent variable Y and one explanatory or independent variable named X. SLR, basically, is based on least squares. In that case, each ECG sensor node calculates α and β by using as the independent variable, a counter that represents the time. The dependent variable to be predicted is the monitored physical variable (ECG signals for instance). In our adaptive scheme, the ECG sensor adjust the window of samples based on correlation coefficient. In that case, α and β are computed from samples based on Pearson's Coefficient, according Equation ( 1). Pearson's Coefficient shows the level of intensity between two variables and the direction from that correlation (positive or negative). Value of coefficient can be in range

[-1, +1]. r = n n i=1 x i y i -( n i=1 x i )( n i=1 y i ) n n i=1 x 2 -( n i=1 x i ) 2 n n i=1 y 2 -( n i=1 y i ) 2
(1) where r represents the relationship between two onedimensional vectors X and Y , to be compared in terms of its correlation. It contains window of samples of two variables, X = x 1 , x 2 , ..., x i and Y = y 1 , y 2 , ..., y i , where i = 1, ..., n and n is the number of samples (window size). X and Y represent the average of samples of each variable vector.

Value of coefficient can be played as follows: if value is +1, then there is perfect positive correlation between the two variables; if value is -1, then there is perfect negative correlation between two variables. In other hand, if value is 0, then there is no correlation or correlation is non-linear. In our case, the better results on performance evaluation from prediction (low error) were got when Pearson's Coefficient ranged between [0.6-1]. The mechanism is done as described below and pictured in Figure 2: • Step #1: the sensor node takes one measurement from the interested variable, for instance, the ECG signals, which named ECG;

B. Machine Learning

In general, machine learning solutions can be divided into supervised and unsupervised learning approaches 3 . In supervised learning approach, systems need to know the environment by examples of input-output. The learning will be by reinforcement, which occurs by continuous interaction with the environment in order to minimize the performance. In unsupervised learning solutions, there are not examples of desired output values. In this case, the task searches from the input data to create some understanding of the data and generate an internal representation able of encoding the input characteristics in new classes, separating it into groups correctly. For this work, we are using supervised learning approach, providing to ECG monitoring system with all required data for learning cardiac situations.

Regarding how to develop the knowledge, machine learning can also be divided into Learning by Discovery, Learning • Learning by Analogy: is the ability to induce from a similar concept;

• Learning by Discovery: without a priori knowledge and without the assistance of someone who has knowledge, learn new concepts and facts;

• Learning by Generalization: objective produces generic and comprehensive knowledge from existing information.

Learning by Generalization can be subdivided into:

• Deductive Learning: try to learn new information that are valid consequences of something already known, such as explanation-based learning;

• Inductive Learning: It is based on inductive inference from facts provided by a teacher or environment. The system attempts to induce a rule from a set of observed instances.

For all types of learning, the set of all rules defined for the solution of a learning problem is named learning algorithm.

There are a range of algorithms that offer advantages and disadvantages depending on the problem to which it are applied.

C. Support Vector Machines

Support Vectors Machines (SVM) is a technique for optimal binary classification (two classes), but it was extended to support regression and classification problems of multiple classes. SVM is a particular case of kernel-based methods, which maps feature vectors into a high dimensional space by using some kernel function, and then for this new linear space creates a optimal hyperplane separating the classes. The solution is optimal in the sense that the margin between the hyperplane and the closest feature vectors of the two classes is maximal. The feature vectors that are closest to the hyperplane are named support vectors, meaning that the position of other vectors do not affect the hyperplane.

SVM algorithms were developed to solve classification problems and has been successfully used in pattern recognition applications, such as text categorization, categorization of SPAM, handwritten character recognition, texture recognition, gene expression analysis, object recognition in 3 dimensions, and so on. Basically the operation of an SVM can be described as follows: given two classes and a set of points belonging to these classes, the SVM determines the hyperplane that separates points in order to place the highest points of the same class the same side while maximizing the distance of each class to hyperplane. The distance from one class to a hyperplane is the shortest distance between it and the points of this class and is named separation margin.

IV. METHODOLOGY

This section describes how our ECG continuous monitoring system works by using the ECG classifier on server-side ECG analyser application and data reduction techniques.

A. Applying Data Reduction on ECG Ghatered Data

Before automatically classify exams by the ECG classifier on the server-side ECG analyser application, the pervasive ECG monitoring platform gathers ECG data for tracking vital signs (see Figure 3). The device consists of ECG sensors which monitor in realtime the patient conditions. That information is then compressed by coefficients of linear regression function, which are then sent to the server-side application through a ZigBee radio. When the ECG analyser application receives the coefficients, it is converted to ECG signals. Then these ECG signals are classified as normal or abnormal, automatically.

B. ECG Classification

This section describes all the steps and procedures of the methodology used to find the proper ECG classification. Essentially, the steps of this methodology performs the following actions:

• Acquisition;

• Training; • Classification. Acquisition is the first step for gathering ECG data from pervasive ECG monitoring platform.

In training step, the method of samples partitioning leave-N-Out method is used (to describe this method is beyond the scope of this work). Lastly, the classification step analyzes all the features of detected in the ECG signals, classifying the ECG data as normal or abnormal through the classifier SVM.

V. EXPERIMENTAL RESULTS

In order to evaluate the ECGs diagnostic methodology were performed some experiments. This section shows and discusses the experimental results obtained according to the used approach. One hundred (100) of ECG gathered data were selected randomly by attending only to the condition that these hundred ECG data, fifty (50) were considered normal and fifty (50) abnormal. Experiments were performed with the goal of minimizing the processing time without affecting the final result.

In this step, the candidates were divided into five (5) groups. This division aims to use the technique leave-N-out, where all groups are trained and tested, thus avoiding biased experiments. Follows, in the table below, the results for each group. Group 1 achieved the correct diagnosis of fourteen ( 14) from twenty [START_REF] Chulsung | An ultrawearable, wireless, low power ECG monitoring system[END_REF] tested exams, where the ten (10) normal, seven [START_REF] Fraioli | CAD (computed-aided detection) and CADx (computer aided diagnosis) systems in identifying and characterising lung nodules on chest CT: overview of research, developments and new prospects[END_REF] were diagnosed correctly and three (3) incorrectly. The same occurred for the ten [START_REF] Nasiri | ECG Arrhythmia Classification with Support Vector Machines and Genetic Algorithm, Computer Modeling and Simulation[END_REF] abnormal in that group. Groups 2 and 5 had a slight improvement in accuracy where sixteen ( 16) out of twenty (20) exams were correctly diagnosed, and has been kept the same for seven (7) correct diagnoses to abnormal, and an increase to nine (9) correct diagnosis from ten (10) normal. Groups 3 and 4 were the ones that achieved the most significant results. The rate was nine [START_REF] Adam | Propagation of depolarization and repolarization processes in the myocardium-an anisotropic model[END_REF] hits from twenty (20) exams, only one error for abnormal cases of the two groups. In the end, was obtained a average of 84% from accuracy, 90% from specificity and 78% from sensitivity. Results show that, in certain ECG signal particularly abnormal, the tests for the diagnosis from ECG failed to include the exams in set of regions of interest. This suggests that the way for obtaining the region of interest (complex P, Q, R, S and T) can be improved especially in the choice of abnormal complex exams, since there are several different standards, directly affecting the diagnosis sensitivity and reducing the accuracy.

VI. CONCLUSION

According to the World Health Organization (WHO), cardiovascular diseases kill 17 million of people each year around the world. Estimates suggest that in 2020, that number should increase to 25 million, which means that one every three people is the victim of cardiovascular diseases, which is a number six times higher than deaths from HIV. In Brazil, on average, 33% of the population dies every year victims of myocardial infarction or CerebroVascular Accident (CVA).

This paper provides a energy-efficient solution for automatic classification of ECGs in order to speed up the care of large number of patients who need to realize electrocardiographic exams in clinics and hospitals. That proposed solution is an energy-efficient ECG monitoring to detect abnormal cardiac conditions. It is composed of two mechanisms, which are responsible for: 1) collect ECG data of patients, but saving energy of ECG monitoring devices to increase its lifetime; and 2) classification of ECG exams automatically, from those data sent by the sensors devices to the ECG analyser application.

Fig. 1 .

 1 Fig. 1. Representation of a normal electrocardiographic wave.

Fig. 2 .

 2 Fig. 2. Flowchart of the Algorithm of Data Reduction on SLR Adaptive

Fig. 3 .

 3 Fig. 3. ECG Sensors Device

  Step #4: the node is not in Training mode. In this Step, the node estimates the measured value, based on the Model (linear regression coefficients). The error (the absolute difference between the Value and the estimated Value) is computed;

	• Step #5: if error reach a specific threshold, the Value is
	sent to the ECG analyser and the node enters Training
	Mode;
	The five steps are summarized in Algorithm 1 below:
	Training Mode = True;
	while true do
	ECG = readECG();
	if Training Mode then
	Buffer.add(ECG);
	send(ECG);
	if Buffer.isFull then
	P = calculatePearson(Buffer);
	if P < PEARSON THRESHOLD then
	Model(α, β) = linearRegression(Buffer);
	send(Model);
	Training Mode = False;
	Buffer.Clear;
	end
	end
	else
	ECG Estimated = generate value(Model, ECG);
	Error = abs(ECG -ECG Estimated);
	if Error ¿ ERROR THRESHOULD then
	send(ECG);
	Training Mode = True;
	end
	end
	end
	Algorithm 1: SLR based on Pearson's Coefficient
	• Step #2: if the node is in training mode, it adds the ECG
	in an internal buffer and sends this value to ECG server-
	side analyser application. After that, the node checks if
	the buffer is full. If it is true, the node goes to Step #3;
	otherwise returns to Step #1; if the node is not in training
	mode goes to Step #4;

• Step #3: the buffer is full. The pearson value is calculated;

if the Pearson's Coefficient is less than a specific threshold, then the coefficients of linear regression is generated. We named Model. The model is sent to the ECG analyser. Finally, the buffer is cleared and Training Mode is set to False; returns to Step #1;

•

IEEE 15th International Conference on e-Health Networking, Applications and Services (Healthcom 2013)

http://mitpress.mit.edu/books/foundations-machine-learning-0 2013 IEEE 15th International Conference on e-Health Networking, Applications and Services (Healthcom 2013)


Elie Kahale

Pedro Castillo
email: castillo@hds.utc.fr

Yasmina Bestaoui
email: bestaoui@iup.univ-evry.fr

Minimum time reference trajectory generation for an autonomous quadrotor

ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Minimum Time Reference Trajectory Generation for an Autonomous Quadrotor

E. Kahale, P. Castillo and Y. Bestaoui to generate a feasible paths taking into account kinematic and tactical constraints imposed on the UAV. A dynamic trajectory smoothing algorithm on horizontal plan was presented in [START_REF] Anderson | Real-Time Dynamic Trajectory Smoothing for Unmanned Air Vehicles[END_REF]. Their idea is to smooth path segments in order to obtain an extremal trajectory with explicit consideration of kinematic constraints. A generalization of the previous method is shown in [START_REF] Boukraa | Three Dimensional Trajectory Generation for an Autonomous Plane[END_REF], where a 3D trajectory planner based on initial trim elementary trajectories was suggested.

Similarly, another solutions based on splines are proposed to compute feasible trajectories in [START_REF] Judd | Spline Based Path Planning for Unmanned Air Vehicles[END_REF]- [START_REF] Dyllong | Planning and Real-Time Modifications of a Trajectory Using Spline Techniques[END_REF].

The trajectory generation algorithm proposed in this work is based on the optimality notion. Thus, it minimizes the arrival time to the desired point and takes the physical constraints of the vehicle into account. These restrictions can be regarded as limitations on flight path angle, velocity and their rate of change respectively as well as the rate of change of heading angle. Likewise in this work, we are interested in a quadrotor dedicated for inspection missions, which requires the presence of a camera attached to the vehicle. This camera, is supposed to be fixed in a specified position corresponding to the longitudinal axis of the vehicles. Hence, two scenarios for simulations have been taken. The first one deals with an aerial vehicle moving at a constant altitude. While, the second one treats the three dimensions trajectory generation problem. The obtained results, for both schemes, incorporate trajectory with multi-waypoints for a structure inspection task. The originality of our work is twofold : Firstly, adopting a point mass model to generate reference trajectories for a quad-rotor craft. Secondly, generalizing Dubins planning approach to 3D space planning and taking into account the advantage of the variation of the vehicle's velocity.

The paper is organized as follows : in section II, the quadrotor equations of motion are introduced. Time optimal trajectory generation problem is addressed in section III. In addition, the tracking problem is described in section IV. Some simulations are carried out to evaluate the proposed methods and are shown in section IV. Finally, conclusions are discussed in section VI.

II. EQUATIONS OF MOTION

In this work, the quadrotor is modeled in two different manners. In the first one, the vehicle is presented as a rigid body evolving in the space due to the main thrust and three torques. This model is used in the trajectory tracking problem. Moreover on the second one, the aircraft is presented as one point which is its center of gravity. This representation is used for trajectory generation.

Abstract-A three dimension trajectory generation and tracking for an autonomous quadrotor is studied in this paper. The vehicle is represented as one point which is its center of gravity, and only the kinematic equations are considered for trajectory generation problem. The model is derived using Newton's second law. The proposed trajectory generation method allows the computation of a time optimal trajectory which satisfies vehicle's capacity and minimizes traveled time between an initial configuration and a final one. Next, the obtained reference trajectory is applied to the full quadrotor dynamic model and an autopilot to ensure the trajectory tracking is designed. Numerical simulations with different scenarios are realized in order to illustrate the proposed trajectory generation method and validate the designed tracking strategy.

I. INTRODUCTION

Unmanned Aerial Vehicles (UAVs) have gained, in the last two decades, enough of technological maturity and user acceptance to move from revolutionary concept to evolutionary development. They are now desired in many nations because of their many advantages such as inexpensiveness, ease of maintenance, the multiplicity of their applications, and the most important, the protection of human pilots from risks [START_REF] Wilson | UAV Roundup 2011[END_REF]. The ability of rotor-crafts to take off and land in limited spaces and to hover above targets, gives such kind of UAVs the superiority over fixed wing aircrafts for surveillance and inspection missions. Since the quadrotor is mechanically simpler and easier to operate and repair than a conventional helicopter, this type of aerial vehicle is privileged.

The crucial elements to ensure the autonomy of UAVs are trajectory generation and tracking. This paper deals with these two aspects. First of all, we focus on the problem of calculating reference trajectories. These trajectories must minimize the traveled time and meet the physical constraints of the aerial vehicle. After that, we design an autopilot to track the obtained trajectory and evaluate its compatibility with the dynamics of quadrotor.

The problem of minimum time trajectory is equivalent to minimum path length problem proposed by Dubins in [START_REF] Dubins | On Curves of minimal length with a constraint on average curvature, and with prescribed initial and terminal positions and tangents[END_REF]. He proved the existence of shortest path between two specified points for a vehicle moving in a 2D plan with a constant velocity. In addition, he showed that the optimal paths are a combination of three segments at most. These portions take the form of circular arcs and straight lines. Based on Dubins results, the authors in [START_REF] Yang | Optimal Path Planning for Unmanned Air Vehicle with Kinematic and Tactical Constraints[END_REF] - [START_REF] Ambrosino | Path Generation and Tracking in 3-D for UAVs[END_REF] have proposed algorithms

A. Rigid Body Model

The quadrotor is an underactuated system because it has four inputs and six degrees of freedom. It is controlled by varying the speeds of its four motors. Each one produces a thrust f M i , and the sum of these thrusts generate the main thrust of the vehicle u = 4 i=1 f M i . The difference in the rotor blade speed between the front motor and the rear one produces the pitch torque τ θ = (f M 1f M 3 ) ℓ. The roll torque is produced in a similar way τ φ = (f M 2f M 4 ) ℓ, and the yaw torque is the sum of the torques of each motor τ ψ = 4 i=1 τ M , see Figure 1. Notice that the front and the rear motors rotate counterclockwise, while the other two motors rotate clockwise. In addition, by its configuration and arrangement of the rotors, the gyroscopic effects and the aerodynamic torques tend to cancel in quasi-stationary maneuvers.

Remark that the roll angle must be near zero for mission requirements. Thus, we assume the existence of an automatic pilot which ensures the stabilization of φ close to zero.

Therefore, the generalized coordinates of the rotorcraft are

ϕ = (ζ, η) ∈ R 6 (1)
where ζ = (x, y, z) ∈ R 3 denotes the position of the center of gravity of the vehicle relative to a fixed inertial frame I, and η = (ψ, θ, φ) ∈ R 3 presents the orientation of the vehicle expressed in the Euler angles (ψ for yaw, θ for pitch and φ for roll).

Then, the simplified nonlinear quadrotor mathematical representation is given by the following equations

mẍ = -u sin θ (2a) mÿ = u cos θ sin φ (2b) mz = u cos θ -mg (2c) ψ = τ ψ (2d) θ = τ θ (2e) φ = τ φ (2f)
For more details see [START_REF] Castillo | Stabilization of a Mini Rotorcraft with Four Rotors[END_REF].

B. Point Mass Model

A configuration q i of quadrotor at a specified time t i is a vector defining the position ζ(t i ), the orientation η(t i ), and velocity V (t i ) of the aerial vehicle. Thus, let us define

q i = (ζ(t i ), η(t i ), V (t i )) ∈ R 6 (3)
In order to reach a specified (final) configuration q f from the actual (initial) one q 0 , it follows from equations ( 2) and ( 3) that the time profile of x, y, z, θ, ψ, V , θ, ψ, and V must be known along all the trajectory. Hence, from trajectory generation point of view, the quad-rotor can be presented by its center of gravity (CG). This model is known as Point Mass Model and is resulted from Newton's second laws of motion. It describes the relative velocity vector -→ V with respect to an inertial frame and the external forces acting on the vehicle. In addition, this model is mathematically accurate under the assumption of flat earth and symmetric flight case ; the last supposition means that the sideslip angle is zero [START_REF] Hull | Fundamentals of Airplane Flight Mechanics[END_REF].

The states of the model are down-range x, cross-range y, altitude z, flight path angle γ, heading angle χ, and velocity V . By definition, the flight path angle γ is the angle between -→ V and its projection in the x × y plane. On the other hand, the pitch angle is given as the sum of the flight path angle and the angle of attack [START_REF] Stevens | Aircraft Control and Simulation, 2nd Edition[END_REF]

θ = γ + α (4)
For quadrotor vehicle the angle of attack is very small and consequently it can be neglected (α ≈ 0). Thus, equation ( 4) becomes θ = γ

Besides, the heading angle χ is measured from the north to the projection of -→ V in the local horizontal plane. Then, it can be regarded as the yaw angle ψ. Thus,

χ = ψ (6)
From the previous discussion and from Figure 2, we can state

- → r = - → V (7)
Consequently we obtain, In addition from Newton's law, it follows that

ẋ =V cos ψ cos θ (8a) ẏ =V sin ψ cos θ (8b) ż =V sin θ (8c)
m - → V = - → F (9)
where -→ F describes the external forces acting on the vehicle, m represents its mass, and -→ V is the accelerations of the vehicle which are given as

- → V =   a long a lat a vert   =   V V ψ cos θ V θ   ( 10
)
where a long , a lat , and a vert denotes longitudinal, lateral and vertical accelerations, respectively. Notice that θ, ψ, and V define the attitude of the vehicle. Consequently and without loss of generality, θ, ψ, and V can be considered as virtual control inputs. Then,

θ =u 1 (11a) ψ =u 2 (11b) V =u 3 (11c)
In order to incorporate the performance and structural limitations of a real quad-rotor, appropriate constraints are included in the model. These restrictions take the form of bounds on control and some states variables, as follows

|u 1 | ≤U 1max (12a) |u 2 | ≤U 2max (12b) |u 3 | ≤U 3max (12c) |θ| ≤θ max (12d) |V | ≤V max (12e)
For more details see [START_REF] Hull | Fundamentals of Airplane Flight Mechanics[END_REF] - [START_REF] Stevens | Aircraft Control and Simulation, 2nd Edition[END_REF].

III. TIME OPTIMAL TRAJECTORY GENERATION

A. Problem statement

We now consider the problem of optimal control in which the objective is to steer the rotorcraft from the actual configuration q i to the next one q i+1 (Eq. 3) in minimum time.

The state and control variables are defined as

X(t) = x(t) y(t) z(t) θ(t) ψ(t) V (t) T ∈ R 6 (13) U (t) =   u 1 (t) u 2 (t) u 3 (t)   =   θ(t) ψ(t) V (t)   ∈ R 3 (14)
The vehicle kinematic equations of motion are described by a system of nonlinear differential equations given in equations ( 8) and ( 11), which can be expressed as

Ẋ(t) = f (X(t), U (t), t) ; X(t) ∈ R 6 U (t) ∈ R 3 (15)
Thus, the time optimal control problem lies in finding an admissible control input U (t) : [t 0 , t f ] -→ Ω ∈ R 3 such that the system ( 15) is transferred from an initial configuration

X(t 0 ) = x 0 y 0 z 0 θ 0 ψ 0 V 0 T (16)
to a final one

X(t f ) = x f y f z f θ f ψ f V f T (17)
with satisfying the constraints imposed on state and control variables (Eq. 12) over some interval time t ∈ [t 0 -→ t f ], and minimizing a cost functional

J = min t f t0 dt (18)
A theoretical analysis of this problem can be found in [START_REF] Bestaoui | Time Optimal Trajectories of a Lighter-Than-Air Robot in a Steady Wind[END_REF].

B. Numerical Solution

The basic approach for solving the optimal control problem described above is to transform it into a sequence of nonlinear constrained optimization problems by discretizing the control and/or state variables. This technique is known as Direct Collocation Approach [START_REF] Subchan | Computational Optimal Control Tools and Practice[END_REF]. In this paper, we employ a Nonlinear Programming solver using MATLAB R with respect to the discretized control. The corresponding discretized state variables are determined recursively using a numerical integration scheme (e.g. Euler, Runge-Kutta, etc.) [START_REF] Büskens | SQP-methods for solving optimal control problems with control and state constraints : Adjoint variables, sensitivity analysis and real-time control[END_REF].

Therefore, the time interval [t 0 , t f ] is divided into N nodes as follows

t 0 = τ 1 ≤ τ 2 ≤ t 3 ≤ • • • ≤ τ N = t f (19)
such that,

τ k = t 0 + (k -1) • h; h := t f -t 0 N -1 , k = 1, . . . , N (20)
Thus, the vector of unknown variables is composed of the control inputs over all nodes and the final time t f as it is shown below

ξ = t f , U T 1 , U T 2 , . . . , U T N ∈ R N ξ ; N ξ = 3N + 1 (21)
and the state variables are computed recursively using Euler approximation applied to the differential equations [START_REF] Hull | Fundamentals of Airplane Flight Mechanics[END_REF] which yields to the following

X k+1 = X k + h • f (X k , U k ) ; k = 1, . . . , N -1 (22)
with the initial and final conditions given in ( 16) and [START_REF] Imado | Research on a New Aircraft Point Mass-Model[END_REF].

From the previous discussion, the problem of optimal control can be described as following

Minimize J = t f (23a) Subject to Ẋk = f (X k , U k ) (23b) X(t 1 ) = X 0 (23c) X(t N ) = X f (23d) C lw ≤ U k ≤ C up (23e) S lw ≤ S (X k ) ≤ S up (23f)
where k = 1, 2, . . . , N , C lw and C up are lower and upper bounds on control inputs across all nodes. The k th set of control rate limits, expressed in equation (23e), is given as

  θmin ψmin Vmin   ≤   θk ψk Vk   ≤   θmax ψmax Vmax   (24)
Moreover, S lw and S up denote the lower and upper constraints enforced on the path. The k th set of path restrictions, presented in equation (23f), is shown as

θ min V min ≤ θ k V k ≤ θ max V max (25)
Next section deals with the problem of trajectory tracking for a quadrotor.

IV. TRAJECTORY TRACKING PROBLEM

Once a feasible and flyable reference trajectory is generated, it is important to examine its applicability and compatibility with the dynamics of the quadrator. For this purpose, we employ the trajectory generated by the previous method to the rotorcraft's rigid body model (Eq. 2) as reference signals ; and we design an autopilot to ensure the trajectory tracking. The control strategy used in these paper is based on the control laws introduced in [START_REF] Castillo | Stabilization of a Mini Rotorcraft with Four Rotors[END_REF] and [START_REF] Castillo | Modelling and Control of Mini-Flying Machines[END_REF] for stabilizing quadrotor at hover.

The controller regulates each one of the state variables in a sequence according to a predefined priority rule as follows : First of all, the desired altitude (z) is reached using the control input u. Then, the yaw angle (ψ) is controlled through τ ψ . Next, the desired values of pitch angle (φ) and y-displacement are reached by controlling τ φ . Finally, the control input τ θ is used to obtain the desired pitch angle (θ) and x-displacement values.

Next, the following definition is fundamental for the control strategy.

Definition 1: The function σ (t) is said to be a saturation function if and only if

|σ (t) | ≤ M ; ∀M ∈ R + (26)

A. Altitude and Yaw Control

The control of z-displacement is ensured through the following control input

u = sec(θ) sec(φ)r (27)
where

r = -K z1 ( ż -żref ) -K z2 (z -z ref ) + mg (28)
with, K z1 and K z2 are positive constant, żref and z ref are the desired vertical velocity and altitude respectively. In addition, θ and φ are assumed to be limited such that they can not reach 90 degrees.

On the other side, the yaw angle is controlled by applying

τ ψ = -σ ψ1 K ψ1 ψ -ψref -σ ψ2 (K ψ2 (ψ -ψ ref )) (29)
Substituting equations ( 28) and ( 29) into (2c) and (2d), it follows that : ż → żref , z → z ref , ψ → ψref and ψ → ψ ref .

B. Roll and Lateral Position Control

Once ż and z are stabilized, the equations (2a) and (2b) can be reduced to

ẍ = -g tan(θ) sec(φ) (30a) ÿ = g tan (φ) (30b)
Considering the subsystem (φ, y) given by equations (30b) and (2f). Then, the control input for this subsystem is given by

τ φ = -σ φ1 (K φ1 ( ẏ -ẏref )) -σ φ2 (K φ2 (y -y ref )) -σ φ3 K φ3 φ -σ φ4 (K φ4 (φ -φ ref )) (31)
where the controller gain parameters K φ1 , K φ2 , K φ3 and K φ4 are positive constant.

C. Pitch and Forward Position Control

From equations (31) and (30b) it follows that φ → 0. Then, the equation (30a) becomes ẍ = -g tan(θ) Finally, the subsystem (θ, x) is controlled through τ θ which is given by

τ θ = σ θ1 (K θ1 ( ẋ -ẋref )) + σ θ2 (K θ2 (x -x ref )) -σ θ3 K θ3 θ -σ θ4 (K θ4 (θ -θ ref )) (32)
where the controller gain parameters K θ1 , K θ2 , K θ3 and K θ4 are positive constant.

V. SIMULATION RESULTS

In this section, two different scenarios are considered. Each one consists of an initial configuration, a final one, and several way-configurations. For both cases, the trajectory is divided into several segments depending on the number of way-configurations to visit. Then, the optimization process described in sec. III-B is applied for every segment separately. Once the reference trajectory is generated, an autopilot is designed to evaluate the validity of a such trajectory.

The constraints on pitch angle, velocity, and control variables are provided in Table I.

A. Trajectories at fixed altitude (2D)

The objective in this case is to generate a reference trajectory assuming that the vehicle is moving only in the horizontal plane (x × y). Which means that both θ and θ are equal to zero. Then, the equations of motion presented in equations ( 8) and ( 11) are reduced to the following q 0 q 1 q 2 q 3 q 4 q f Fig. 3. Flying at a constant altitude trajectory. The number of nodes (N ) used in each segment is 84, and the interior point algorithm included in fmincon solver in MATLAB R is used to compute optimal trajectory. The initial configuration q 0 , the final one q f , and the way-configurations q i , in this case, are presented in Table II. The position, orientation, velocity, and control inputs of the aerial vehicle are illustrated in Figures 3 and4.

ẋ = V cos ψ ẏ = V sin ψ ψ = u 1 V = u 2 -2 0 2 4
x [m] y [m] ψ [deg] V [m/sec] q 0 0 0 0 0.01 q 1 10 5 90 0.1 q 2 0 15 90 0.1 q 3 10 25 90 0.1 q 4 0 30 90 0.1 q f 10 35 0 0.01 Notice the final configuration is reached in t f = 323.2 [sec].

B. Trajectories in 3D space

In this case, the quad-rotor is assumed to fly around a structure for the purpose of construction inspection. Each segment is descretized over 70 nodes, and, as in the previous case, the interior point algorithm included in fmincon solver in MATLAB R is used to generate the minimal time trajectory. The initial configuration q 0 , the final one q f , and the tenth way-configurations q i ; i = 1, . . . , 10 are presented in Table III. While, the position, orientation, velocity, and control inputs of the vehicle are illustrated in Figures 567. q f q 6 , q 1 0 q 7 q 1 , q 5 q 9 q 2 q 8 q 0 q 3 , q 1 1 Remark that the choice of the number of nodes plays an important role in determining the size of the optimization problem. In this paper, the number of nodes N is chosen in a such way so that the resulting trajectory is smooth and calculation time is still reasonable.

Observe that the previous results can be also obtained using Sequential-Quadratic-Programming (SQP) method included in fmincon solver in MATLAB R which is more advantageous in terms of computation time and algorithm convergence.

C. Trajectory Tracking

In this part, we treat the tracking problem in order to evaluate the applicability and the validity of the calculated reference trajectory with the dynamics of quadrotor. For this end, we take the results found in the section V-A as references for the full dynamic quadrotor model presented in equation [START_REF] Dubins | On Curves of minimal length with a constraint on average curvature, and with prescribed initial and terminal positions and tangents[END_REF]. The control parameters and the limitations of saturation functions values were chosen to ensure a stable well-damped response specially for x, y and ψ variables.

The performance of the designed autopilot is illustrated in the Figures 89101112. In these figures, the solid line represents the system response and the dashed line describes the desired value or trajectory. The time profile of the yaw angle and its derivative are shown in Figure 8. While, the time profile of the x and y displacement and their absolute error are presented in Figures 9 and 10 respectively. In Figure 11, the time profile of pitch and roll angles are depicted, and the control inputs are described in Figure 12.

Note that the controller has a good performance to tracks the yaw angle, x and y displacements. While, it has not the same efficiency to follow the yaw angular velocity. This behavior is due to the fact that the gain assigned to yaw angle (i.e. K φ2 ) is more important than the one dedicated to its derivative (i.e. K φ1 ). On the other hand, observe that the desired pitch and roll angles are set to be zeros but the real θ and φ differs for some periods of time which is due to movements on x and y axis and acceleration/deceleration effects.

VI. CONCLUSION

The problem of reference trajectory generation for an autonomous quadrotor flying vehicle is studied in this paper. In addition, an autopilot has been designed to validate a predefined trajectory. The vehicle is modeled in two different ways. A point mass model dedicated for the computation of the reference trajectory, and a rigid body model devoted to tracking problem. We formulated a minimum time optimal control problem to generate the reference trajectory. This formulation is converted to nonlinear constrained optimization problems and is solved by a direct collocation approach. Some simulations were realized and some graphs were presented to validate the trajectory generation method and to show its applicability and compatibility with the full dynamics quadrotor model.

Fig. 1 .

 1 Fig. 1. The model of quad-rotor.

Fig. 2 .

 2 Fig. 2. Coordinate system for Point Mass Model.

Fig. 4 .

 4 Fig. 4. Time profile of yaw angle ψ, vehicle's velocity and their rate of change ψ, V respectively

Fig. 5 .

 5 Fig. 5. 3D view of structure inspection scenario.

Fig. 6 .Fig. 7 .

 67 Fig. 6. Time profile of pitch θ, yaw ψ and their rate of change θ, ψ respectively.

Fig. 8 .

 8 Fig. 8. Yaw angle of quadrotor.

  Abs olute Er r or on x-axis Time [s ec]

Fig. 9 .

 9 Fig. 9. x-displacement of quadrotor.

Fig. 10 .Fig. 11 .

 1011 Fig. 10. y-displacement of quadrotor.

Fig. 12 .

 12 Fig. 12. Control inputs : τ ψ , τ φ and τ θ .

TABLE II CONFIGURATIONS

 II TO BE VISITED DURING THE TRAVELED TRAJECTORY

TABLE III CONFIGURATIONS

 III TO BE VISITED DURING THE TRAVELED TRAJECTORY.

		x [m]	y [m]	z [m]	θ [deg]	ψ [deg]	V [m/sec]
	q 0	0	0	0	0	0	0.01
	q 1	10	10	5	0	90	1
	q 2	0	20	5	0	180	1
	q 3	-10	10	5	0	270	1
	q 4	0	0	5	0	360	1
	q 5	10	10	5	0	450	1
	q 6	0	20	10	0	540	1
	q 7	-10	10	10	0	630	1
	q 8	0	0	10	0	720	1
	q 9	10	10	10	0	810	1
	q 10	20	10	10	0	900	1
	q 11	-10	10	5	0	990	1
	q f	-5	0	0	0	1080	0.01