Block Compressive Sensing (BCS) Based Low Complexity, Energy Efficient Visual Sensor Platform with Joint Multi-Phase Decoder (JMD)
Abstract
:1. Introduction
2. Literature Review
3. Proposed BCS Visual Sensor Platform
3.1. Overview
- To have an off-the-shelf solution that is easily reproducible using existing low cost and widely available hardware components. We create a visual sensor by combining Arduino board, with an external uCAM-II camera and XBee transmission module. The uCAM-II camera is used to capture image data that will be processed and compressed on the Arduino board before they are transmitted via the XBee transmission module.
- To implement BCS on the visual sensor to reduce the amount of data that needs to be processed and transmitted. BCS is adapted to create a simple-encoder/complex-decoder paradigm that is preferable for VSN. It shifted most of the complex computation to the server and helped to prolong the lifetime of the devices that are powered by batteries.
- To implement and evaluate the JMD framework for the reconstruction of images using real-world data.
3.1.1. Hardware Components
3.1.2. Software Components
- INITIAL is first used to configure the image size and image format.
- SNAPSHOT is to instruct uCAM-II to capture an image and store it in the buffer.
- GET PICTURE is used to request an image from the uCAM-II.
- ACK is sent to indicate the end of the last operation.
- ○
- Initially, the server will broadcast a packet containing an ‘I’ (Initialization) character via the coordinator to all the visual nodes. This step is to define the number of visual nodes in the network (i.e., to identify the number of images that are to be received). If the end device successfully receives the packet, then a ‘Yes’ signal is generated, and an acknowledgment is sent back to the coordinate. If the acknowledgment is not received by the coordinator from the end device for some time, the packet is unsuccessfully and is resent. This initialization step helps to determine the number of visual nodes in the network and to know the number of images that are going to be received. This is followed by broadcasting two more packets containing character C (capturing) and T (transmission) in their respective order.
- ○
- Once the initialization is completed, the coordinator will broadcast the next signal containing a ‘C’ character. The ‘C’ character will update the visual nodes to capture and encode the image data with the BCS scheme.
- ○
- Similarly, after receiving an acknowledgment from the end device, another signal comprising of ‘T’ character is sent to each visual node in the network. As soon as the visual node receives the ‘T’ character, it will start to send the encoded stream to the coordinator (server).
- ○
- After the server has received the encoded stream, the stream will be decoded to recover the captured images by using independent BCS with JMD scheme. As multiple images (due to more than one visual node) will be received at the coordinator (server) end, it is essential to separate the data transmitted by the different visual node. It is done by referring to the automatically embedded source address in the transmitted packet.
- ○
- Finally, the process described above is repeated for the next transmission cycle.
- ○
- The visual node is always looking for signal (Packet) transmitted from the coordinator (server).
- ○
- Once a packet (API frame) is successfully received, the visual node will process the information acquired from the packet. If the received packet contains an I; the same packet will be transmitted back to the server for acknowledgment purpose. It is from the initialization as discussed in the above section.
- ○
- If the received packet contains ‘C’, the node will capture and encode the images using BCS. The reason for doing this is to synchronize the image capturing process of different visual nodes. This is to ensure that the images are captured at approximately the same time to ensure maximum correlation. Furthermore, this also allows the server to control when the capturing should take place.
- ○
- Once a packet that contains a ‘T’ is received, the visual node will wait for packets (encoded measurements) to packetize the encoded measurements into numbers of API frame, and each frame has a payload size of 72 bytes. All the data will be continuously transmitted to the server until there is no more data to transfer. Then, a packet that carries a value of zero is sent. The purpose of this frame is to inform the server that the previous packet was the end.
3.1.3. Theoretical Basics of Compressive Sensing
- (i)
- The implementation and storage of the measurement operator are simple;
- (ii)
- Block-based measurement is more expedient for practical applications;
- (iii)
- The individual processing of each block of image data results in the easy initial solution.
4. Experimental Results
4.1. Experimental Setup
4.1.1. Execution and Transmission Time Analysis
4.1.2. Energy Consumption Analysis
4.1.3. Visual Quality Analysis
4.1.4. Complexity and Energy Consumption Comparison
5. Conclusions
Author Contributions
Acknowledgments
Conflicts of Interest
References
- Soro, S.; Heinzelman, W. A survey of visual sensor networks. Adv. Multimed. 2009, 2009, 21. [Google Scholar] [CrossRef]
- Yick, J.; Mukherjee, B.; Ghosal, D. Wireless sensor network survey. Comput. Netw. 2008, 52, 2292–2330. [Google Scholar] [CrossRef]
- Duarte, M.F.; Davenport, M.A.; Takhar, D.; Laska, J.N.; Sun, T.; Kelly, K.F.; Baraniuk, R.G. Single pixel imaging via compressive sampling. IEEE Signal Process Mag. 2008, 25, 9. [Google Scholar] [CrossRef]
- Lustig, M.; Donoho, D.L.; Santos, J.M.; Pauly, J.M. Compressed Sensing MRI. IEEE Signal Process. Mag. 2008, 25, 72–82. [Google Scholar] [CrossRef]
- Rahimi, M.; Baer, R.; Iroezi, O.; Garcia, J.; Warrior, J.; Estrin, D.; Srivastava, M. Cyclops: Insitu Image Sensing and Interpretation in Wireless Sensor Networks; ACM: New York, NY, USA, 2005. [Google Scholar]
- Hengstler, S.; Prashanth, D.; Fong, S.; Aghajan, H. Mesheye: A hybrid-resolution smart camera mote for applications in distributed intelligent surveillance. In Proceedings of the 6th International Conference on Information Processing in Sensor Networks, Cambridge, MA, USA, 25–27 April 2007. [Google Scholar]
- Chen, P.; Ahammad, P.; Boyer, C.; Huang, S.I.; Lin, L.; Lobaton, E.; Meingast, M.; Oh, S.; Wang, S.; Yan, P.; et al. Citric: A low-bandwidth wireless camera network platform. In Proceedings of the 2008 Second ACM/IEEE International Conference on Distributed Smart Cameras, Stanford, CA, USA, 7–11 September 2008. [Google Scholar]
- Kleihorst, R.; Abbo, A.; Schueler, B.; Danilin, A. Camera mote with a high-performance parallel processor for real-time frame-based video processing. In Proceedings of the 2007 IEEE Conference on Advanced Video and Signal Based Surveillance, London, UK, 5–7 September 2007. [Google Scholar]
- Evidence Embedding Technology. Seed-Eye Board, a Multimedia WSN Device. Available online: http://rtn.sssup.it/index.php/hardware/seed-eye (accessed on 20 December 2013).
- Rodríguez-Vázquez, Á.; Domínguez-Castro, R.; Jiménez-Garrido, F.; Morillas, S.; Listán, J.; Alba, L.; Utrera, C.; Espejo, S.; Romay, R. The Eye-RIS cmos vision system. In Analog Circuit Design; Springer: Dordrecht, The Netherlands, 2008. [Google Scholar]
- Feng, W.; Kaiser, E.; Feng, W.C.; le Baillif, M. Panoptes: Scalable low-power video sensor networking technologies. ACM Trans. Multimed. Comput., Commun. Appl. 2005, 1, 151–167. [Google Scholar] [CrossRef]
- Rowe, A.; Goel, D.; Rajkumar, R. Firey mosaic: A vision-enabled wireless sensor networking system. In Proceedings of the 28th IEEE International Real-Time Systems Symposium, Tucson, AZ, USA, 3–6 December 2007. [Google Scholar]
- Evidence Embedding Technology. cmuCam: Open Source Programmable Embedded Color Vision Sensors. Available online: http://www.cmucam.org/ (accessed on 19 December 2014).
- Paniga, S.; Borsani, L.; Redondi, A.; Tagliasacchi, M.; Cesana, M. Experimental evaluation of a video streaming system for wireless multimedia sensor networks. In Proceedings of the 10th IFIP Annual Mediterranean Ad Hoc Networking Workshop, Favignana Island, Sicily, Italy, 12–15 June 2011. [Google Scholar]
- ArduCam. Arducam. Available online: http://www.arducam.com (accessed on 19 August 2015).
- Gan, L. Block Compressed Sensing of Natural Images. In Proceedings of the 15th International Conference on Digital Signal Processing, Cardiff, UK, 1–4 July 2007; pp. 403–406. [Google Scholar]
- Ebrahim, M.; Chia, W.C. Multi-view Image Block Compressive Sensing with Multi-Phase Joint Decoding for Visual Sensor Network. ACM Trans. Multimed. Comput. Commun.Appl. 2016, 12. [Google Scholar] [CrossRef]
- Ebrahim, M.; Chong, C.W. Multi-view image compression for Visual Sensor Network based on Block Compressive Sensing and multi-phase joint decoding. In Proceedings of the International Conference on Computational Science and Technology (ICCST), Kota Kinabalu, Malaysia, 27–28 August 2014. [Google Scholar]
- Ebrahim, M.; Chia, W.C. Block Compressive Sensing (BCS) based Multi-Phase Reconstruction (MPR) Framework for Video. In Lecture Notes in Electrical Engineering; Springer: Berlin/Heidelberg, Germany, 2015. [Google Scholar]
- Ebrahim, M.; Chia, W.C. Multi-phase Joint Reconstruction Framework for Multi-view Video Compression using Block-based Compressive Sensing. In Proceedings of the International Conference on Visual Communications and Image Processing (VCIP), Singapore, 13–16 December 2015. [Google Scholar]
- Balouchestani, M.; Raahemifar, K.; Krishnan, S. Compressed Sensing In Wireless Sensor Networks: Survey. Can. J. Multimed. Wirel. Netw. 2011, 2, 1–4. [Google Scholar]
- Zheng, H.; Xiao, S.; Wang, X.; Tian, X.; Guizani, M. Capacity & Delay Analysis for Data Gathering with Compressive Sensing in WSNs. IEEE Trans. Wirel. Commun. 2013, 12, 917–927. [Google Scholar]
- Luo, C.; Wu, F.; Sun, J.; Chen, C.W. Compressive Data Gathering for Large-Scale Wireless Sensor Networks. In Proceedings of the 15th Annual International Conference on Mobile Computing and Networking, Beijing, China, 20–25 September 2009. [Google Scholar]
- Karakus, C.; Gurbuz, A.C.; Tavli, B. Analysis of Energy Efficiency of Compressive Sensing in Wireless Sensor Networks. IEEE Sens. J. 2013, 13, 1999–2008. [Google Scholar] [CrossRef]
- Zhang, Y.; Xiang, Y.; Zhang, L.Y.; Rong, Y.; Guo, S. Secure Wireless Communications Based on Compressive Sensing: A Survey. IEEE Commun. Surv. Tutor. 2018. [Google Scholar] [CrossRef]
- Gao, Z.; Dai, L.; Han, S.; Chih-Lin, I.; Wang, Z.; Hanzo, L. Compressive Sensing Techniques for Next-Generation Wireless Communications. IEEE Wirel. Commun. 2018, 25, 144–153. [Google Scholar] [CrossRef]
- Ebrahim, M.; Chong, C.W. A Comprehensive Review of Distributed Coding Algorithms for Visual Sensor Network (VSN). Int. J. Commun. Netw. Inf. Secur. (IJCNIS) 2014, 6, 104–117. [Google Scholar]
- Arduino. Arduino Due Board. Available online: https://www.arduino.cc/en/Main/ArduinoBoardDue (accessed on 19 August 2015).
- 4D Systems. Available online: https://www.4dsystems.com.au/products (accessed on 19 August 2015).
- Digi XBee/XBee-PRO ZigBee Modules (S2)-Formerly ZB. Available online: http://www.digi.com/support/productdetail?pid=3430 (accessed on 19 August 2015).
- Pham, C. A Low-Power, Low-Cost Image Sensor Board. Available online: http://cpham.perso.univ-pau.fr/WSN-MODEL/tool-html/imagesensor.html (accessed on 19 August 2015).
- Sparkfun. LinkSprite JPEG Color Camera TTL Interface. Available online: https://www.sparkfun.com/products/retired/10061 (accessed on 19 August 2015).
- Sparkfun. CMOS Camera Module-728 × 488. Available online: https://www.sparkfun.com/products/11745 (accessed on 19 September 2015).
- Ada-Fruit. TTL Serial JPEG Camera with NTSC Video. Available online: https://www.adafruit.com/product/397 (accessed on 19 September 2015).
- CMUcam4. Overview. Available online: http://www.cmucam.org/projects/cmucam4 (accessed on 19 August 2015).
- M.C.Pros. CIF Camera Module with OV6620 CMOS Color Sensor, I2C, 352 × 288. Available online: http://microcontrollershop.com/product_info.php?products_id=4765&osCsid=uic2p97diu91sslonn3knbo2f4 (accessed on 19 October 2015).
- Foster, J. Xbee Cookbook Issue 1.4 for Series 1 with 802.15.4 Firmware. Available online: www.science.smith.edu/~jcardell/Courses/EGR328/Readings/XBeeCookbook.pdf (accessed on 4 December 2015).
- Raghunathan, V.; Schurghers, C.; Park, S.; Srivastava, M. Energy-aware wireless microsensor networks. IEEE Signal Process. Mag. 2002, 19, 40–50. [Google Scholar] [CrossRef]
Sub Rate | Size in Bytes | Image Capture Time (s) | Total Encoding Time (s) | Total Transmission Time (s) | Total Encoding + Transmission Time (s) | |
---|---|---|---|---|---|---|
Sensing Time | Compression Time | |||||
Block Size = 8 | ||||||
0.05 | 1183 | 1.41 | 0.011 | 0.111 | 0.460 | 0.582 |
0.10 | 2233 | 1.41 | 0.011 | 0.222 | 0.965 | 1.198 |
0.15 | 3913 | 1.41 | 0.011 | 0.370 | 1.575 | 2.056 |
0.20 | 5010 | 1.41 | 0.011 | 0.481 | 2.167 | 2.659 |
0.25 | 6243 | 1.41 | 0.011 | 0.592 | 2.649 | 3.252 |
0.30 | 7273 | 1.41 | 0.011 | 0.702 | 3.167 | 3.887 |
Block Size = 16 | ||||||
0.05 | 1288 | 1.41 | 0.011 | 0.478 | 0.524 | 1.013 |
0.10 | 2653 | 1.41 | 0.011 | 0.957 | 1.107 | 2.075 |
0.15 | 4276 | 1.41 | 0.011 | 1.398 | 1.661 | 3.070 |
0.20 | 5423 | 1.41 | 0.011 | 1.877 | 2.244 | 4.132 |
0.25 | 6343 | 1.41 | 0.011 | 2.356 | 2.805 | 5.172 |
0.30 | 7875 | 1.41 | 0.011 | 2.834 | 3.383 | 6.228 |
Operating Stages | Voltage (V) | Total Current (mA) | Average Current (mA) | Average Power V × I (W) |
---|---|---|---|---|
Standby | 3.3 | 107.5–108.2 | 107.80 | 0.350 |
Image Capture | 5.0 | 80.17–85.10 | 82.63 | 0.410 |
Encoding | 3.3 | 15.50–15.90 | 15.70 | 0.0521 |
Transmission | 3.3 | 37.7–37.9 | 37.8 | 0.1221 |
Standby + Encoding | 3.3 | 122.9–124.1 | 123 | 0.407 |
Standby + Encoding + Transmission | 3.3 | 159.8–160.4 | 160.1 | 0.528 |
Sub Rate | Idle State (J) | Image Capture (J) | Encoding (J) | Transmission (J) | Total Encoding + Transmission (J) |
---|---|---|---|---|---|
Block Size 8 | |||||
0.05 | 1.43 | 0.58 | 0.006 | 0.056 | 0.062 |
0.10 | 1.43 | 0.58 | 0.012 | 0.118 | 0.130 |
0.15 | 1.43 | 0.58 | 0.019 | 0.205 | 0.224 |
0.20 | 1.43 | 0.58 | 0.025 | 0.265 | 0.290 |
0.25 | 1.43 | 0.58 | 0.031 | 0.323 | 0.354 |
0.30 | 1.43 | 0.58 | 0.036 | 0.386 | 0.424 |
Block Size 16 | |||||
0.05 | 1.43 | 0.58 | 0.025 | 0.064 | 0.089 |
0.10 | 1.43 | 0.58 | 0.050 | 0.135 | 0.185 |
0.15 | 1.43 | 0.58 | 0.072 | 0.203 | 0.275 |
0.20 | 1.43 | 0.58 | 0.097 | 0.274 | 0.371 |
0.25 | 1.43 | 0.58 | 0.122 | 0.342 | 0.464 |
0.30 | 1.43 | 0.58 | 0.147 | 0.418 | 0.560 |
Non-Reference Image | Reference Image @ 10 cm Separation | Reference Image @ 15 cm Separation | Reference Image @ 20 cm Separation | |
Building | ||||
Books | ||||
Park |
Building | ||||||||
Reference Views | Subrate | 0.05 | 0.1 | 0.15 | 0.2 | 0.25 | 0.3 | |
Block Size 8 | BCS-TV-AL3 | 19.93 | 21.23 | 23.30 | 24.85 | 25.42 | 26.43 | |
Sn±1 = 10 cm | JMD-TV | 22.34 | 23.56 | 25.56 | 26.95 | 27.47 | 28.32 | |
Sn±2 = 15 cm | JMD-TV | 21.75 | 22.95 | 24.98 | 26.41 | 26.89 | 27.74 | |
Sn±3 = 20 cm | JMD-TV | 21.18 | 22.45 | 24.41 | 25.79 | 26.28 | 27.22 | |
Block Size 16 | BCS-TV-AL3 | 21.24 | 22.97 | 23.99 | 25.02 | 26.02 | 26.69 | |
Sn±1 = 10 cm | JMD-TV | 23.76 | 25.27 | 26.11 | 27.12 | 27.99 | 28.52 | |
Sn±2 = 15 cm | JMD-TV | 23.12 | 24.70 | 25.65 | 26.54 | 27.45 | 27.98 | |
Sn±3 = 20 cm | JMD-TV | 22.64 | 24.20 | 25.08 | 25.95 | 26.91 | 27.44 | |
Park | ||||||||
Reference Views | Subrate | 0.05 | 0.1 | 0.15 | 0.2 | 0.25 | 0.3 | |
Block Size 8 | BCS-TV-AL3 | 17.84 | 19.49 | 20.66 | 22.13 | 22.76 | 23.92 | |
Sn±1 =10 cm | JMD-TV | 20.67 | 22.24 | 23.27 | 24.43 | 25.00 | 25.98 | |
Sn±2 = 15 cm | JMD-TV | 20.12 | 21.67 | 22.75 | 23.97 | 24.51 | 25.47 | |
Sn±3 = 20 cm | JMD-TV | 19.71 | 21.11 | 22.21 | 23.52 | 23.97 | 24.93 | |
Block Size 16 | BCS-TV-AL3 | 18.59 | 20.12 | 21.04 | 22.07 | 22.99 | 24.02 | |
Sn±1 = 10 cm | JMD-TV | 21.75 | 23.27 | 23.78 | 24.68 | 25.5 | 26.31 | |
Sn±2 = 15 cm | JMD-TV | 21.22 | 22.70 | 23.17 | 24.05 | 24.95 | 25.83 | |
Sn±3 = 20 cm | JMD-TV | 20.66 | 22.12 | 22.63 | 23.54 | 24.44 | 25.31 | |
Book | ||||||||
Reference Views | Subrate | 0.05 | 0.1 | 0.15 | 0.2 | 0.25 | 0.3 | |
Block Size 8 | BCS-TV-AL3 | 18.41 | 20.99 | 22.84 | 24.75 | 25.61 | 26.54 | |
Sn±1 = 10 cm | JMD-TV | 21.09 | 23.73 | 25.44 | 27.07 | 27.87 | 28.50 | |
Sn±2 = 15 cm | JMD-TV | 20.82 | 23.36 | 25.14 | 26.89 | 27.56 | 28.22 | |
Sn±3 = 20 cm | JMD-TV | 20.15 | 22.67 | 24.45 | 26.33 | 27.05 | 27.88 | |
Block Size 16 | BCS-TV-AL3 | 19.58 | 22.31 | 23.72 | 25.32 | 26.66 | 27.66 | |
Sn±1 = 10 cm | JMD-TV | 22.53 | 25.20 | 26.38 | 27.81 | 28.78 | 29.61 | |
Sn±2 = 15 cm | JMD-TV | 22.25 | 24.88 | 26.09 | 27.35 | 28.55 | 29.33 | |
Sn±3 = 20 cm | JMD-TV | 21.98 | 24.49 | 25.78 | 26.98 | 28.17 | 29.10 |
Size of Raw Image = 128 × 128 | ||||||
---|---|---|---|---|---|---|
Image Type | Encoding Time (s) | Encoding Power (W) | Encoding Energy (J) | Transmission Time (s) | Transmission Power (W) | Transmission Energy (J) |
Raw | - | - | - | 8.20 | 0.122 | 1.004 |
JPEG | 3.015 | 0.052 | 0.156 | 6.39 | 0.122 | 0.781 |
BCS B = 8 × 8 M = 0.3 | 0.713 | 0.052 | 0.037 | 3.16 | 0.122 | 0.385 |
BCS B = 16 × 16 M = 0.3 | 2.845 | 0.052 | 0.105 | 3.38 | 0.122 | 0.412 |
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Ebrahim, M.; Chia, W.C.; Adil, S.H.; Raza, K. Block Compressive Sensing (BCS) Based Low Complexity, Energy Efficient Visual Sensor Platform with Joint Multi-Phase Decoder (JMD). Sensors 2019, 19, 2309. https://doi.org/10.3390/s19102309
Ebrahim M, Chia WC, Adil SH, Raza K. Block Compressive Sensing (BCS) Based Low Complexity, Energy Efficient Visual Sensor Platform with Joint Multi-Phase Decoder (JMD). Sensors. 2019; 19(10):2309. https://doi.org/10.3390/s19102309
Chicago/Turabian StyleEbrahim, Mansoor, Wai Chong Chia, Syed Hasan Adil, and Kamran Raza. 2019. "Block Compressive Sensing (BCS) Based Low Complexity, Energy Efficient Visual Sensor Platform with Joint Multi-Phase Decoder (JMD)" Sensors 19, no. 10: 2309. https://doi.org/10.3390/s19102309
APA StyleEbrahim, M., Chia, W. C., Adil, S. H., & Raza, K. (2019). Block Compressive Sensing (BCS) Based Low Complexity, Energy Efficient Visual Sensor Platform with Joint Multi-Phase Decoder (JMD). Sensors, 19(10), 2309. https://doi.org/10.3390/s19102309