Dynamic Computation Offloading Scheme for Drone-Based Surveillance Systems

Size: px
Start display at page:

Download "Dynamic Computation Offloading Scheme for Drone-Based Surveillance Systems"

Transcription

1 sensors Artcle Dynamc Computaton Offloadng Scheme for Drone-Based Survellance Systems Bongjae Km 1, *, Hong Mn 2, Junyoung Heo 3 and Jnman Jung 4, * 1 Dvson of Computer Scence and Engneerng, Sun Moon Unversty, Asan 31460, Korea 2 Dvson of Computer and Informaton Engneerng, Hoseo Unversty, Asan 31499, Korea; hmn@hoseo.edu 3 Dvson of Computer Engneerng, Hansung Unversty, Seoul 02876, Korea; jyheo@hansung.ac.kr 4 Department of Informaton and Communcaton Engneerng, Hannam Unversty, Daejeon 34430, Korea * Correspondence: bjkm@sunmoon.ac.kr (B.K.); jmjung@hnu.kr (J.J.); Tel.: (B.K.); (J.J.) Ths paper s an extenson verson of the conference paper: Km, B.; Mn, H.; Heo, J.; Jung, J. Dynamc Offloadng Algorthm for Drone Computaton. In Proceedngs of the Internatonal Conference on Research n Adaptve and Convergent Systems (RACS 16), Odense, Denmark, October Receved: 10 August 2018; Accepted: 4 September 2018; Publshed: 6 September 2018 Abstract: Recently, varous technologes for utlzng unmanned aeral vehcles have been studed. Drones are a knd of unmanned aeral vehcle. Drone-based moble survellance systems can be appled for varous purposes such as object recognton or object trackng. In ths paper, we propose a moblty-aware dynamc computaton offloadng scheme, whch can be used for trackng and recognzng a movng object on the drone. The purpose of the proposed scheme s to reduce the tme requred for recognzng and trackng a movng target object. Reducng recognton and trackng tme s a very mportant ssue because t s a very tme crtcal job. Our dynamc computaton offloadng scheme consders both the dwell tme of the movng target object and the network falure rate to estmate the response tme accurately. Based on the smulaton results, our dynamc computaton offloadng scheme can reduce the response tme requred for trackng the movng target object effcently. Keywords: drone; offloadng; survellance 1. Introducton Varous research works related to survellance and object trackng have been performed contnuously [1 4]. These systems are evolvng from a survellance system usng fxed montorng devces to a survellance system usng moble montorng devces. In the case of a moble survellance system, there s the advantage that the dstance that can be montored s not lmted because t s not fxed when compared to a typcal survellance system. Therefore, moble survellance systems can be used for recognzng and trackng suspcous persons or objects. When makng a moble survellance system, t s very attractve to use drones to cover a wder range. Fgure 1 shows a concept for a drone-based survellance system. Generally, as shown n Fgure 1, the drone-based moble survellance system can consst of three major parts: a movng target, a drone for trackng and a remote control center for controllng the drone. The drones can recognze or track movng target objects usng the attached camera. The remote control center can control the movement of the drone or montor the status of the drone. As we explaned before, drone-based moble survellance systems have some advantages when compared to the prevous typcally robot-based moble survellance systems. Typcally, drone-based moble survellance systems have a larger survellance coverage than prevous robot-based moble Sensors 2018, 18, 2982; do: /s

2 Sensors 2018, 18, of 10 survellance systems [3]. However, robots or drones used for constructng moble survellance systems operate on a lmted battery. In addton, the computng resources of the drone may not be suffcent to track or recognze movng objects wthn some tme constrants such as total executon tme, response tme and deadlnes. falure rate: Movng target Drone data T (1/ s ) control Control Center Fgure 1. A concept for a drone-based moble survellance system. The remote control center can fulfll some operatons or jobs related to object trackng nstead of the drone. The control center can return the trackng results back to the drone by usng wreless communcaton technologes after performng the operatons or jobs. Therefore, t s not reasonable to perform all computatons related to object trackng or recognzng by the drone n terms of the response tme or the energy consumpton of trackng. Dynamc offloadng schemes can be used to overcome these problems. In our prevous work [5], we proposed a conceptual model, whch s a dynamc computaton offloadng polcy for drone computaton. In ths paper, we extend the prevous research and propose a dynamc computaton offloadng algorthm for drone-based moble survellance systems. In our scheme, we consder several factors such as the moblty of the movng target object, computaton or operatng delay tme on the drone and network lnk falure rate between the drone and the remote control center. Our scheme can dynamcally offload computaton operatons or jobs related to trackng or recognzng objects whle consderng both the expected dwell tme of the movng object and the network lnk falure rate. Addtonal energy consumpton may occur to determne whether to offload or not. In ths paper, we focused on the analyss to reduce the response tme for object trackng. We performed smulatons to evaluate and analyze the performance of the proposed dynamc computaton offloadng scheme n terms of the response tme. Based on the smulaton results, our dynamc computaton offloadng scheme can reduce response tme for object trackng. The rest of the organzaton of ths paper s as follows. In Secton 2, we descrbe some related works. We wll explan our dynamc offloadng algorthms for drone computaton n Secton 3. As we explaned before, our dynamc offloadng scheme consders the dwell tme of the target object and the lnk falure rate between the drone and the remote control center. In Secton 4, we wll evaluate and analyze the performance of the proposed dynamc offloadng algorthms n terms of the response tme. In Secton 5, we conclude ths paper. 2. Related Works There are many studes related to moble vdeo survellance systems that transmt collected data to the destnaton under tght tme constrants such as delay, accuracy and moblty [2]. In these systems, a moble montor traces an actve object wth ts trackng devces such as varous sensors and camera. Collected data are used for recognzng the actve object and controllng the next poston of the montor and ts trackng devces to contnue to track the object. In ths secton, we explan the computaton offloadng of the collected data and the controllng schemes of the Pan-Tlt-Zoom (PTZ) camera, respectvely.

3 Sensors 2018, 18, of Computaton Offloadng Computaton offloadng s wdely used to overcome the computatonal power lmtatons of a resource-constraned moble montor [6]. Offloadng performs some parts of a task or a job of the moble montor on servers on behalf of the moble montor. If the executon cost of the computaton operatons n the part of the task n the moble montor s greater than the executon cost consderng the offloadng mechansm, the part of the task s performed on remote servers. In some applcatons such as moble vdeo survellance systems, the offloadng decson scheme consders real-tme features, as well as energy effcency. Nmmagadda et al. [3] proposed a real-tme movng object trackng scheme usng moble robots based on computaton offloadng. Ther offloadng decson scheme estmates the computaton and communcaton tme of the offloaded task and chooses to execute the task on a robot or servers to satsfy tme constrants and mnmze the total response tme. In [7], the authors proposed a survellance system named MOCHA (Moble Cloud Hybrd Archtecture) for a face recognton system that can be used for arport securty and survellance. MOCHA was devsed to reduce the overall processng tme for face recognton. One of the mportant ssues s how to dvde computaton loads among the servers n order to get the mnmal response tme gven dfferent network delays and server computng capabltes. In the proposed system, moble devces capture mages and send the captured mages to the cloudlet. After that, the cloudlet fulflls mage processng computatons on the receved mage data and fnds matchng mages from the database. In [4], the authors devsed schedulng algorthms that reserve server resources to meet the deadlne for offloaded tasks for real-tme systems. the authors consdered frame-based real-tme tasks. In addton, all the tasks have the same arrval tme, relatve deadlne and executon perod. In ths crcumstance, the scheduler manages the real-tme tasks on the clent sde. In addton, the scheduler determnes whch tasks to be offloaded from the local to the remote server n order to mnmze the requred utlzaton and meet the requred tme constrants. Chen et al. [1] proposed a contnuous, real-tme object recognton system for camera-equpped moble devces called Glmpse. Glmpse captures vdeo, recognzes and labels objects of nterest and tracks them frame to frame. It fully offloads these tasks to servers because the algorthms for object recognton and labelng nclude sgnfcant computaton overhead. It also adjusts the recognton accuracy adaptvely wth the network latency Trackng an Actve Object wth a PTZ Camera A Pan-Tlt-Zoom (PTZ) camera can be remotely controlled and trace a movng object by adjustng ts poston. The PTZ camera also conducts one of the mportant roles n vsual survellance systems. Many studes have been conducted related to trackng an actve object wth the PTZ camera. In [8,9], the authors used a PTZ camera for face trackng and recognton. The former s composed of a coaxal-concentrc camera system wth a PTZ camera, asssted statc cameras and a beam spltter to mprove the accuracy of the face trackng and recognton system. They desgned a lnear predcton model. In addton, they proposed a method to control the PTZ moton velocty for robust trackng. Ths system captures hgh-resoluton face mages wthn 12 m. The latter uses the zoomed-out and -n mode to extract a set of face mage data from a scene. The extracted face nformaton s correlated wth the correspondng people and ther trajectores. Ths vsual tracker s perodcally updated based on sample collecton and appearance learnng that classfy postve samples and negatve ones and extract common features among postve samples. In the actve object trackng systems, t s mportant to fnd out a target object n a captured mage. Dong et al. [10] proposed an automatc trackng and detecton algorthm for detectng an actve object. In ther algorthm, the Gaussan mxture model s used to recognze an actve object. The fuson algorthm of the Kalman flter and Camshft algorthms s appled to track the actve object. In [11], they proposed a PTZ trackng method that adaptvely combnes the appearance correlaton

4 Sensors 2018, 18, of 10 flter response and moton lkelhood map that collects the moton features of a target object to solve collson and appearance change problems. As we explaned before, a PTZ can be remotely adjusted by an operator and also control tself automatcally. In [12], the authors proposed an automatc PTZ camera control scheme based on object detecton and scene partton. The object s detected by usng GMM (Gaussan Mxture Model), and a PTZ camera s controlled by usng a scene partton technque that dvdes a montorng regon nto several vertcal and horzontal drectons. Ahmed et al. [13] proposed an actve camera trackng system that s composed of a pan-tlt camera control algorthm, a vsual trackng algorthm and dgtal vdeo stablzaton modules. The PTZ camera s controlled by usng a predctve open-loop car-followng control algorthm that measures the expected velocty of an actve object by usng a Kalman flter and smoothly changes the velocty of the PTZ. 3. Moblty-Aware Dynamc Computaton Offloadng Decson Scheme 3.1. Drone Computaton Offloadng Model for Trackng and Recognzng Movng Objects In ths secton, we frst ntroduce and explan our computaton offloadng model of a drone-based moble survellance system to recognze and track a movng object. Some assumptons are also explaned. We assume that a drone s equpped wth a PTZ (Pan-Tlt-Zoom) camera and can take pctures of movng objects. In the trackng and recognton process of movng objects, t s assumed that the drone should handle computaton-ntensve tasks. It s also assumed that such computatonal operatons can be handled by the drone themselves or remotely by the remote control center. It s assumed that the processng capablty of the remote control center s superor to that of the drone. Fgure 2 shows the block dagram of our drone-based moble survellance system. As shown n Fgure 2, a drone can recognze and track a movng object, and a part of the job can be performed n the remote control center. Our drone-based moble survellance system s composed of four man modules. They are a dynamc offloadng decson module, a module for mage processng locally, a remote agency module to communcate wth the remote control center and the drone postonng and PTZ camera control module. Fgure 2. Block dagram of our drone-based moble survellance system. The dynamc computaton offloadng decson module s responsble for decdng whether the computatons requred for recognzng and trackng a movng object should be offloaded or not. When makng a decson, the dynamc computaton offloadng decson module consders the estmated moblty nformaton of the movng target object and network lnk condtons such as the network falure rate. When the dynamc computaton offloadng decson module determnes to perform the tasks on the drone tself, the total response tme s caused by two parts, local computaton tme and devce delay tme. Let t local denote the executon tme f the computaton operatons requred to track and recognze

5 Sensors 2018, 18, of 10 the movng object are executed on the drone locally. We can dvde t local nto two parts. The frst part s a local computaton tme τ α, whch s consumed by the CPU to execute the operatons on the drone. The second part s a devce delay τ γ for the drone or ts camera to move to a new poston and respond to commands. We consder that t local s approxmately constant at any tme because t may be defned n the specfcatons of the manufacturer. t local = τ α + τ γ (1) t remote = τ β + τ γ (2) Conversely, f the dynamc offloadng decson module decdes to offload the computaton operatons to the remote control center, the remote agency module transfers the data requred to the remote control center. Then, the remote agency gets the result of the offloaded operatons from the remote control center back. Therefore, the total executon tme or response tme of offloaded computaton operatons s specfed as the total amount of tme requred to respond to the drone s offloadng request by runnng the server codes for trackng and recognzng the movng target object at the remote control center. Thus, smlar to local processng on the drone, the total response tme of offloaded operaton s composed of two parts. The frst part s the response tme τ β wth network delays caused by the network lnk falures. Another part s the drone devce delay τ γ that s the consumed tme for movng the drone to a new poston and to respond to commands by the drone postonng and PTZ camera control module Dynamc Computaton Offloadng Decson Consderng the Moblty of a Movng Target Object In ths secton, we explan how to measure the expected dwell tme of a movng object. Based on the expected dwell tme, we wll descrbe the procedure of the dynamc computaton offloadng decson. We use a movng object trackng scheme proposed for the Glmpse system [1]. In Glmpse, the mage processng module extracts feature ponts of the movng object n frame n. The mage processng module estmates where those feature ponts could be located n frame n + k. Then, the velocty of the movng target object between frames v at tme can be defned as follows. v = s s 1 t t 1 assumng s 1 0 (3) Fgure 3. An example of the movement of a movng target object between two frames. Fgure 3 shows an example of the movement of a movng target object between two frames. The expected dwell tme of a movng target object s related to the velocty of the movng object. A low dwell tme of the movng target object means that the movng target object goes out of the ROI (Regon

6 Sensors 2018, 18, of 10 of Interest) area easly n the mage scene because of ts quck movement. On the contrary, f the dwell tme of the movng target object s hgh, the movng target object s lkely to stay n the ROI area contnuously. We can assume s 1 s nearly zero because the movng target object can be algned n the center at tme 1 by usng the PTZ camera of the drone. Therefore, the expected dwell tme of the movng target object at tme can be defned by: t = d f s v f or d f s (4) where d f s the sze of FOV (Feld of Vew). The expected dwell tme of a movng target object t denotes the tme that the movng target object wll contnuously be located n FOV (Feld of Vew) after a tme. Ths tme value can be used for an upper tme constrant value for trackng or recognzng the movng object. In order to recognze and track the movng target object successfully, ether t local or t remote must be lower than t of the movng target object. The dynamc computaton offloadng decson module can determne whether to offload the job or not based on the followng polces. In the cases of t < t local < t remote or t < t remote < t local, successful trackng of the movng target object s mpossble. In the cases of t remote < t < t local or t remote < t local < t, t s much more effectve to offload recognton- and trackng-related operatons and process them on the server of the remote control center because t remote < t local. In the cases of t local < t < t remote < t remote < t, on the other hand, t s more reasonable to handle them on the drone locally Consderng Network Delays n Decson Makng or t local In ths secton, we analyze the expected response tme of offloaded computaton operatons on the server of the remote control center. Offloadng technques can generally be effectve n reducng executon tme or response tme. However, offloadng has a sgnfcant problem wth an unexpected network delay caused by drone moblty and dynamc network condtons. Let λ denote the network error rate at tme, whch follows the Posson dstrbuton and τ be the response tme wthout any falure of the network from the drone to the server. If a task s performed wthout any falure on the server at the remote control center, the expected response tme E[τ] s dentcal to τ. However, f a network falure occurs, we contnue to retry perodcally after watng for the recovery tme r. In ths case, E[τ] can be gven by three dstnct terms: x,r and E[τ] recursvely, where x s the nterval between the pont at whch the task was ntated and the pont at whch the falure occurred. By the law of total expectaton, x + r + E[τ] τ β = E[τ] = τ E[τ] = τ 0 f x < τ otherwse (x + r + E[τ]) f X (x)dx + τ f X (x)dx (6) τ (5) E[τ] = τ 0 (x + r τ) f X(x)dx + τ { 1 } (7) τ 0 f X(x)dx By substtutng λ e λ x for f X (x), where λ > 0, we obtan,

7 Sensors 2018, 18, of 10 E[τ] = = τ 0 (x + r τ)λ e λ x dx + τ 1 λ τ 0 e λ x dx τ 0 (x + r τ)λ e λ x dx + τ e λ τx = (eλ τ 1)(λ r + 1) λ The remote agency module of our system s devsed to provde feedback nformaton related to the network lnk condton such as the network lnk falure rate. By usng ths nformaton, the remote agency module of the drone can estmate the expected response tme when offloadng the computaton operatons. Table 1 shows the notatons used n ths paper. Notaton Descrpton Table 1. Notatons used n ths paper. The expected dwell tme means the estmated tme a movng target object wll contnuously t be located n FOV after t local The computaton tme entrely on the drone t remote The tme when the entre computaton s offloaded to a remote server λ The network error rate at tme τ α The computaton tme entrely on drone processors τ β The expected response tme consderng network error rate λ τ γ The delay of the camera n executng commands v The velocty of target movng object at tme s The poston of the center of ROI at tme (square wth dashed lnes n Fgure 1) d f The FOV radus X The random varable of tme at whch the falure of a lnk occurs due to the network error f X (x) The probablty densty functon of X r The network recovery tme τ The response tme of a transmsson wthout network falure E[τ] The expected response tme whle consderng the network falure (8) 4. Performance Evaluaton In ths performance evaluaton secton, we analyze and evaluate the performance of the proposed dynamc computaton offloadng scheme by usng smulaton. Table 2 shows the parameters and the values used n the smulaton. We evaluated and analyzed the performance of our proposed dynamc computaton offloadng scheme by comparng wth local-only processng and remote-only processng methods. To the best of our knowledge, ths paper s the frst to nvestgate a dynamc offloadng scheme for drones by consderng network falures. For ths reason, the proposed dynamc computaton offloadng scheme s compared wth local-only and remote-only schemes. In the case of the local-only scheme, all computatons for object trackng are performed locally on the drone. On the other hand, all computatons for object trackng are fulflled remotely by the server of the remote control center wth more powerful computng power. Our proposed scheme can dynamcally offload some computatons consderng the moblty nformaton and network condtons. Fgure 4 shows the average response tme accordng to the network recovery tme. As shown n Fgure 4, our dynamc computaton offloadng scheme shows good performance when compared wth two schemes: local-only and remote-only. The remote-only scheme shows the worst performance when compared wth all schemes as the network recovery tme ncreases. Ths s because the remote-only scheme offloads the job wthout takng nto account the latency due to network lnk nstablty.

8 Sensors 2018, 18, of 10 Table 2. Parameters and the values used n the smulaton. Parameter Descrpton Value λ The network error rate at tme [ ] τ α The computaton tme entrely on drone processors 20 ms τ γ The delay of the camera n executng commands 1 ms r The network recovery tme [5, 10, 15, 20] ms τ The response tme of a transmsson wthout network falure [1, 2, 5, 10] ms Smulaton Tme Total executon tme for the smulaton 10,000 s Average Response Tme (ms) Network Revocery Tme (ms) Local Remote Our Fgure 4. Average response tme accordng to the network recovery tme (r) where τ = 5 ms. Fgure 5 shows the average response tme accordng to the response tme of a transmsson wthout network falure where r = 5 ms. As shown n Fgure 5, the average response tmes of the remote-only and our scheme are less than that of the local-only scheme. Our scheme can reduce the average response tme up to about 43.2% when compared to the remote-only scheme. In the case of the local-only scheme, there s no change n average response tme because the local-only scheme performs all operatons locally on the drone. Based on the above expermental results, we confrmed that the proposed method can reduce the response tme requred for trackng effectvely.

9 Sensors 2018, 18, of Average Response Tme (ms) Response Tme of a Transmsson wthout Network Falure (ms) Local Remote Our Fgure 5. Average response tme accordng to the response tme of a transmsson wthout network falure (τ) where r = 5 ms. 5. Conclusons Drones can be used for varous purposes such as object recognton and object trackng as moble survellance systems. Generally, most drones have very lmted battery power. Generally, n addton, the computng power of a remote control center s greater than that of a drone. Therefore, t s not good to perform all operatons or computatons related to recognzng and trackng of a movng target object on the drone. In ths paper, we proposed a dynamc computaton offloadng scheme for drone-based moble survellance systems. The proposed dynamc computaton offloadng scheme can dynamcally offload operatons related to recognzng and trackng of a movng object to the remote control center consderng the moblty nformaton of the movng target object and network lnk condtons between the drone and the remote control center. Based on the smulaton results, our proposed scheme showed that the average response tme can be reduced effectvely. Author Contrbutons: Conceptualzaton, H.M. Data curaton, B.K. and H.M. Formal analyss, J.J. Fundng acquston, B.K. Investgaton, H.M. Methodology, J.J. Project admnstraton, J.H. Software, B.K. Supervson, J.H. Valdaton, B.K. Vsualzaton, B.K. Wrtng, orgnal draft, B.K., H.M., J.H. and J.J. Fundng: Ths work was supported by the Sun Moon Unversty Research Grant of Conflcts of Interest: The authors declare no conflct of nterest. References 1. Chen, T.Y.; Ravndranath, L.S.; Deng, S.; Bahl, P.V.; Balakrshnan, H. Glmpse: Contnuous, Real-Tme Object Recognton on Moble Devces. In Proceedngs of the 13th ACM Conference on Embedded Networked Sensor Systems (SenSys), Seoul, Korea, 1 4 November 2015; pp Kumar, N.; Lee, J.H.; Rodrgues, J.J.P.C. Intellgent Moble Vdeo Survellance System as a Bayesan Coalton Game n Vehcular Sensor Networks: Learnng Automata Approach. IEEE Trans. Intell. Transp. Syst. 2015, 16, [CrossRef] 3. Nmmagadda, Y.; Kumar, K.; Lu, Y.H.; Lee, C.G. Real-tme movng object recognton and trackng usng computaton offloadng. In Proceedngs of the 2010 IEEE/RSJ Internatonal Conference on Intellgent Robots and Systems (IROS), Tape, Tawan, October 2010; pp

10 Sensors 2018, 18, of Toma, A.; Chen, J.J. Server resource reservatons for computaton offloadng n real-tme embedded systems. In Proceedngs of the 11th IEEE Symposum on Embedded Systems for Real-tme Multmeda, Montreal, QC, Canada, 3 4 October 2013; pp Km, B.; Mn, H.; Heo, J.; Jung, J. Dynamc Offloadng Algorthm for Drone Computaton. In Proceedngs of the Internatonal Conference on Research n Adaptve and Convergent Systems (RACS 16), Odense, Denmark, October 2016; ACM: New York, NY, USA, 2016; pp [CrossRef] 6. Kumar, K.; Lu, J.; Lu, Y.; Bhargava, B. A Survey of Computaton Offloadng for Moble Systems. Mob. Netw. Appl. 2013, 18, [CrossRef] 7. Soyata, T.; Muraleedharan, R.; Funa, C.; Kwon, M.; Henzelman, W. Cloud-Vson: Real-tme face recognton usng a moble-cloudlet-cloud acceleraton archtecture. In Proceedngs of the 2012 IEEE Symposum on Computers and Communcatons (ISCC), Cappadoca, Turkey, 1 4 July 2012; pp Park, U.; Cho, H.C.; Jan, A.K.; Lee, S.W. Face Trackng and Recognton at a Dstance: A Coaxal and Concentrc PTZ Camera System. IEEE Trans. Inf. Forenscs Secur. 2013, 8, [CrossRef] 9. Ca, Y.; Medon, G. Persstent people trackng and face capture usng a PTZ camera. Mach. Vs. Appl. 2016, 27, [CrossRef] 10. Dong, E.; Yan, S.; Tong, J.; We, K. Desgn and mplementaton of a movng object trackng system. In Proceedngs of the 2015 IEEE Internatonal Conference on Mechatroncs and Automaton (ICMA), Bejng, Chna, 2 5 August 2015; pp [CrossRef] 11. Lee, B.; Yun, K.; Cho, J.; Cho, J.Y. Robust pan-tlt-zoom trackng va optmzaton combnng moton features and appearance correlatons. In Proceedngs of the th IEEE Internatonal Conference on Advanced Vdeo and Sgnal Based Survellance (AVSS), Karlsruhe, Germany, August 2015; pp [CrossRef] 12. Wang, S.; Tan, Y.; Xu, Y. Automatc control of PTZ camera based on object detecton and scene partton. In Proceedngs of the 2015 IEEE Internatonal Conference on Sgnal Processng, Communcatons and Computng (ICSPCC), Nngbo, Chna, September 2015; pp [CrossRef] 13. Ahmed, J.; Al, A.; Khan, A. Stablzed actve camera trackng system. J. Real-Tme Image Process. 2016, 11, [CrossRef] c 2018 by the authors. Lcensee MDPI, Basel, Swtzerland. Ths artcle s an open access artcle dstrbuted under the terms and condtons of the Creatve Commons Attrbuton (CC BY) lcense (