A Cloud Computing System for Snore Signals Processing Jian Guo1, Kun Qian2, Zhaomeng Zhu1, Gongxuan Zhang1,*, and Huijie Xu3,* 1 School of Computer Science and Engineering, Nanjing University of Science and Technology, Nanjing, China {johnkuo83,zhaomeng.zhu}@gmail.com,
[email protected] 2 School of Electronic and Optical Engineering, Nanjing University of Science and Technology, Nanjing, China
[email protected] 3 Beijing Hospital, Beijing, China
[email protected]
Abstract. Recently, snore signals (SS) have been demonstrated carrying significant information about the obstruction site and degree in the upper airway of Obstructive Sleep Apnea-Hypopnea Syndrome (OSAHS) suffers. To make this acoustic based method more accurate and robust, big SS data processing and analysis are necessary. Cloud computing has the potential to enhance decision agility and productivity while enabling greater efficiencies and reducing costs. We look to cloud computing as the structure to support processing big SS data. In this paper, we focused on the aspects of a Cloud environment that processing big SS data using software services hosted in the Cloud. Finally, we set up a group of comparable experiments to evaluate the performance of our proposed system with different system scales. Keywords: cloud computing, big data, signal processing, snore signals (SS), Obstructive Sleep Apnea-Hypopnea Syndrome (OSAHS).
1
Introduction
Obstructive Sleep Apnea-Hypopnea Syndrome (OSAHS) is a prevalent disorder among community, which is estimated to affect 4% of the adult male population and 2% of the adult female population [1]. This chronic and easy-overlooked disorder has a high risk to trigger high blood pressure, coronary heart disease, pulmonary heart failure and even dangerous nocturnal death [2]. In medical practice, Polysomnogram (PSG) is regarded as the gold standard. However, the uncomfortable experience of patients and the expensive manufacture of equipment restrict its further developing and widely use. Sound snoring is a typical symptom of OSAHS therefore in the past 10-20 years numerous researchers and scholars focused on acoustic features analysis of snore signals (SS) generated by patients [3]-[6], which leads a relatively cheap and non-intrusive method of PSG. Nevertheless, there is a more demanding requirement *
Corresponding author.
C. Wu and A. Cohen (Eds.): APPT 2013, LNCS 8299, pp. 359–366, 2013. © Springer-Verlag Berlin Heidelberg 2013
360
J. Guo et al.
from doctors to know the variations of the upper airway (UA), which is significant to help them to find the collapse site of the UA and adopt an accurate plan for surgery [2]. Long-time analysis of SS data is a good method to understand the relationship between acoustic analysis and anatomical theory. P. D. Hill et al. calculated crest factor of OSAHS patients and inferred that the substantial changes of this value during the night indicate the mechanism variations of snores [3]. W. D. Duckitt et al. studied all night SS data and built a system based on Hidden Markov Models (HMM) to detect, segment and assess the snores and acoustic signals [7]. All the scholars have taken no attention on the ability of their systems to process big data. Especially when the scales and samples of SS data become tremendously large, the processing and analysis will be a time-consuming and difficult task. Therefore, we need a powerful computing system to handle the huge amount of would-be big SS data. Cloud computing technology has the ability to afford a platform contains software services that are made available to consumers in a pay-as-you-go model [8]. In industry area the services are referred as Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS), respectively. Big data has three characteristics: volume, variety and velocity [8]. We can predict that with a lager and deeper collaboration of medical service all over the world, medical data such as SS data should be big data with no doubt. Some researchers have studied how to implement big medical data processing based on distributed and cloud computing technology [9]. Cloud computing, an emerging concept and technology, has motivated numerous researchers to exploit its super power in computing and storage by developing applications in biomedical treatment [15]. Encouraged by the high performance achieved by cloud system, we utilize it to deal with the processing of big SS data mentioned above. In this paper, we designed a cloud system includes IaaS, PaaS and SaaS to cope with big SS data, which is an original idea to conduct the medical cloud computing research for further work.
2
Analysis Methods and System Design
2.1
Signal Processing of SS Data
The original SS data are recorded by a high-quality microphone array positioned at a sleep laboratory and stored as audio files. Initially, the SS data will be divided into frames as samples based on Short-Time-Analysis (STA) approach. The frames can be regarded as samples for further processing and analysis. Subsequently, these samples will be pre-processed to eliminate the background noise and interference (which needs to utilize beam forming technology based on array signal processing). Then we extract frequently-used acoustic features from samples. Features extraction is the most essential step for machine learning, pattern recognition and establishment of SS database.
A Cloud Computing System for Snore Signals Processing
361
SS data
Pre-processing Features extraction
Storage
Doctore Fig. 1. The signal processing for SS data in the SaaS
Features Extraction. Snoring is the result of the vibration of the tissues when the air flow passes through the narrowing UA. It is widely accepted that the UA acts as an acoustic filter during the production of SS, hence, vital information of the structure of UA are carried by SS data. Frequency domain features are also popular in medical researches [4]. The center point, peak point and mean point of the spectrum, fcenter, fpeak, fmean is defined as follows respectively:
s.t.
f center
¦
fi 0
s.t. S f peak
fc
S fi
¦
fi f center
^
max S fi , fi
S fi
0,..., f c
(1)
`
(2)
fc
f mean =
f *S i
fi =0
(3)
fc
S fi = 0
fi
fi
Where, Sfi is the absolute amplitude spectra of SS at frequency of fi Hz calculated by Fast Fourier Transform (FFT). And fc is the cut-off frequency of the SS spectrum. Relative studies have indicated that these three features extracted from SS of OSAHS
362
J. Guo et al.
patients are normally much higher than simple snorers [4]-[5]. The physical explanation of the phenomena is that the narrowing extent of the UA is more severe, the frequency of SS generated by air flow is higher [2]. Power ratio at the frequency of 800 Hz is capable to classify SRS generated by different obstruction site in UA []. We defined this feature as:
PR 800 = lg
fi = 0 fc S 2fi f i = 800 800
S
2 fi
(5)
Totally, we extracted 4 acoustic features for establishment of a preliminary database of individual OSAHS patients. 2.2
Cloud Computing System Design
The overall functionality infrastructure of a big SS data analysis cloud computing system involves the following steps as Fig. 2 illustrates: Patient
Etc. Mobile Phones
PC
Communication
Routers
The cloud system for the Big SS data processing
Fig. 2. The overall functionality infrastructure of a big SS data analysis cloud computing system
The architecture of cloud computing system is revealed in Fig. 3, which affords us a method to address the bid SS data in collection, storage and analysis. From bottom to top, each box represents IaaS, PaaS and SaaS layer, respectively. The software service is hosted as signal processing in order to make any client-side implementation simply call the underlying functions (e.g., Pre-Processing, Analysis, etc.) without going through the complexities of application. IaaS Layer. To meet the needs of our study, we deployed a private cloud computing system with the help of OpenStack, a global collaboration of developers and cloud computing technologists on producing the ubiquitous open source cloud computing platform for public and private clouds. We utilize it to create and manage the instances which run big SS data processing programs.
A Cloud Computing System for Snore Signals Processing
363
Signal Processing
Pre-processing
Features extraction
SaaS
SS data
Case database
Briareus and its workers
PaaS
’
IaaS
Virtualized Computing Nodes
Fig. 3. The architecture of cloud computing system for big SS data processing
PaaS Layer. In PaaS layer, we adopted a framework called Briareus [16], which provides convenient tools to make use of computing resources provided by cloud to accelerate Python applications. MapReduce has motivated us to design the distributed computing methodology of Briareus. Briareus offers accelerating techniques into a Python program, which brings us a set of convenient to design this cloud computing system. All signal processing computation tasks can be migrated into cloud computing system, which will significantly enhance the efficiency of running programs. SaaS Layer. Big SS data processing belongs to the SaaS layer, which should be developed due to the specific applications. We selected Python as our programing language to exploit the SS processing applications. This language is an open source scripting language and it will be efficient and simple to develop programs in Briareus. Meanwhile, thanks for the open-source fundamental packages for scientific computing with Python such as NumPy, SciPy, Matplotlib [17]-[19] etc. which makes development of scientific computation with Python as easy as Matlab.
3
Experimental Setup and Evaluation
We setup comparable experiments of the same computation tasks taken down by a server in the Matlab and a cloud computing system we proposed (see Fig.3). The SS data, a whole 1-hour audio recording of an OSAHS patient, was offered by the Department of Otolaryngology, a hospital, Beijing, China (People’s Republic of). We utilize the SS processing applications all by Python for the platforms to run the programs. The hardware of the experiment environments are illustrated in Table 1. In the cloud, we set 1, 2, 4, 8, 16 instances to run the computation tasks relatively and record the time costs. Then, we also run the same tasks in the Matlab and do comparison with above results which in the cloud.
364
J. Guo et al. Table 1. Hardware of each computation equipment
CPU Server Cloud (instances)
Memory
×
Intel Xeon E7420 (2.13 GHz) 4
32.0 GB
Intel Xeon E5504 (1 VCPU 2.0 GHz )
512 MB
The OpenStack IaaS platform has been deployed in a cluster of IBM BladeCenter servers as the private cloud. For each server, there are two 2.0 GHz Intel Xeon quadcore CPUs, 24GB memory and 1000M wired Ethernet. In the private cloud, we set up at most 16 instances (each with 1 VCPU, 512MB) in the OpenStack as Briareus’ workers. In the PaaS, the time costs of the communications of each instance and the activation of Briareus are relatively low (about 1 second). Meanwhile this system is a private cloud computing system, which needs no transferring data in Internet compared with the public cloud computing system. Table 2. Time costs of different scale in the cloud and the Matlab running at server (Unit: sec.)
1 instance 2 instances 4 instances 8 instances 16 instances Matlab
1-hour data 44.115 23.110 12.875 6.836 3.631 32.094
1-hour data 43.883 22.119 11.923 6.930 3.973 31.171
1-hour data 43.830 22.295 11.967 6.742 3.526 31.440
In the table 2. We compare the time costs for 3 independent experiments of the same tasks with the different scale in the cloud. Meanwhile, the results of Matlab which running at server with same tasks are shown in the bottom of table 2. The cloud with only one instance takes the maximum time costs for accomplishing the computation tasks. Meanwhile, the Matlab tasks running in the Server has a good stable performance for the experiments. However, its computation ability is not much better than one instance. When we setup more instances in the cloud, we can see that the time costs reduce significantly. Specifically, the more instances we have, the low time costs we get, and the cloud will bring a breakthrough in boosting the efficiency of big SS data processing, if we have enough instances in the cloud. We can infer that once the scale of SS data becomes large enough, the processing tasks would be timeconsuming and even difficult for one instance or server. The transferring of acquired SS data by microphones from subjects in Internet would also take much of time for a public cloud computing system. This private cloud computing system we proposed would get rid of the problem.
A Cloud Computing System for Snore Signals Processing
4
365
Relation to Prio Work
Hill et al. studied the changes of crest factor value of SS data for OSAHS patients during a whole night and they indicated that the obstructive site or mechanism of snoring varied during long-time analysis [3]. Inspired by the long-time analysis of SS data, we adopted the method to monitor patients’ long-time SS data for further study. Azarbarzin et al. and Duckitt et al. utilized features clustering and HMM method to group all night SS data into different classifications, respectively [6], [7]. We integrate the two methods in our analysis system to achieve more clear results of variations of the UA of OSAHS patients. Good acoustic features which can reveal the changes of the UA structure in medical practice were extracted [3], [4], [5]. However, most existing scholars ignored the would-be intensive big SS data scale, which is our topic in this work. Jones et al. proposed an architecture design for mobile management of chronic conditions and medical emergencies, which focuses on defining a generic mobile solution [11]. Our system shares many good characteristics of this architecture. In addition, we took a stronger attention on the part of processing and storage, which takes scalability, economy and QoS issues into account. Analysis of heartbeat waveforms can be time-consuming hence automated computer-based processing of ECG data serves as a useful clinical tool. One of the major tasks to be provided is the accurate determination of the QRS complex [12]. Deelman et al. carried out a study to assess the cost of doing science in the cloud by renting computing and storage resources from Amazon Web Services to run a scientific workflow [13]. They concluded that costs could be reduced with little impact on performance. Technologies, such as MapReduce and Dryad have also been evaluated in the scientific context to support data analysis problems that traditionally relied on MPI-style parallel programming [14]. We adopted advanced ideas and knowledge from above researches and applied them into analysis of SS data.
5
Conclusions
This cloud system we proposed could significantly boost the efficiency in big SS data processing and research on analysis of big SS data for large scale of subjects. This study is a preliminary study in our group and the methodology and system design will be implemented and improved by large scales of practical experiments, which is a promising method for biomedical signal processing in the cloud. Acknowledgment. This study is supported by the National Natural Science Foundation of China (People’s Republic of) under grant No.61271410 and the 973 Project of Jiangsu Province under grant No. BK2011022.
References 1. Otero, A., Félix, P., Presedo, J., Zamarrón, C.: Evaluation of an Alternative Denition for the Apnea- Hypopnea Index. In: Engineering in Medicine and Biology Society (EMBC) 2010 Annual International Conference of the IEEE Proceedings, pp. 4654–4657. IEEE, Buenos Aires (2010)
366
J. Guo et al.
2. He, Q., Chen, B.: Sleep Disordered Breathing. People’s Medical Publishing House, Beijing (2009) 3. Hill, P.D., Osman, E.Z., Osborne, J.E., Lee, B.W.V.: Changes in snoring during natural sleep identified by acoustic crest factor analysis at different times of night. In: Clinical Otolaryngology and Allied Sciences, pp. 507–510. Blackwell Science Ltd., USA (2000) 4. Xu, H., Huang, W., Yu, L., Chen, L.: Spectral Analysis of Snoring Sound and Site of Obstruction in Obstructive Sleep Apnea/Hypopnea Syndrome. Journal of Audiology and Pathology, 28–32 (2011) 5. Karunajeewa, A.S., Abeyratne, U.R., Hukins, C.: Multi-feature snore sound analysis in obstructive sleep apnea-hypopnea syndrome. Physiological Measurement, 83–97 (2010) 6. Azarbarzin, A., Moussavi, Z.M.K.: Automatic and Unsupervised Snore Sound Extraction From Respiratory Sound Signals. IEEE Transactions on Biomedical Engineering, 1156–1162 (2011) 7. Duckitt, W.D., Tuomi, S.K., Niesler, T.R.: Automatic detection, segmentation and assessment of snoring from ambient acoustic data. Physiological Measurement, 1047–1056 (2006) 8. Hilbert, M., López, P.: The World’s Technological Capacity to Store, Communicate, and Compute Information. Science, 60–65 (2011) 9. Armbrust, M., Fox, A., Griffith, R., Joseph, A.D., et al.: A view of cloud computing. Communications of the ACM, 50–58 (2010) 10. Sergios, Koutroumbas, K.: Pattern Recognition, 4th edn. Elsevier, Canada (2009) 11. Jones, V., Halteren, A.V., Widya, I., Dokovsky, N., Bults, R., Konstantas, D., Herzog, R.: Mobihealth: Mobile Health Services Based on Body Area Networks. In: Topics in Biomedical Engineering, pp. 219–236. Springer, Boston (2006) 12. Kohler, B.U., Hennig, C., Orglmeister, R.: The principles of software QRS detection. IEEE Engineering in Medicine and Biology Magazine, 42–57 (2002) 13. Deelman, E., Singh, G., Livny, M., Berriman, B., Good, J.: The cost of doing science on the cloud: the montage example. In: Proceedings of the 2008 ACM/IEEE Conference on Supercomputing, pp. 1–12. IEEE (2008) 14. Qiu, X., Ekanayake, J., Beason, S., Gunarathne, T., Fox, G., Barga, R., Gannon, D.: Cloud technologies for bioinformatics applications. In: Proceedings of the 2nd Workshop on Many-Task Computing on Grids and Supercomputers, pp. 1–10. ACM (2009) 15. Rosenthal, A., Mork, P., Li, H.M., Stanford, J., Koester, D., Reynolds, P.: Cloud computing: A new business paradigm for biomedical information sharing. Journal of Biomedical Informatics 43(2), 342–353 (2009) 16. Zhu, Z., Zhang, G., Zhang, Y., Guo, J., Xiong, N.: Briareus: Accelerating Python Applications with Cloud. In: 27th IEEE International Symposium on Parallel & Distributed Processing Workshops and PhD Forum, pp. 1449–1456. IEEE Press, Boston (2013) 17. NumPy, http://www.numpy.org/ 18. SciPy, http://www.scipy.org/ 19. Matplotlib, http://matplotlib.org/