Open-Access Framework for Efficient Object-Oriented Development of Video Analysis Software

DOI: 10.4236/jsea.2014.78068   PDF   HTML   XML   2,863 Downloads   3,703 Views   Citations


The increasing use of digital video everyday in a multitude of electronic devices, including mobile phones, tablets and laptops, poses the need for quick development of cross-platform video software. However current approaches to this direction usually require a long learning curve, and their development lacks standardization. This results in software components that are difficult to reuse, and hard to maintain or extend. In order to overcome such issues, we propose a novel object-oriented framework for efficient development of software systems for video analysis. It consists of a set of four abstract components, suitable for the implementation of independent plug-in modules for video acquisition, preprocessing, analysis and output handling. The extensibility of each module can be facilitated by sub-modules specifying additional functionalities. This architecture enables quick responses to changes and re-configurability; thus conforming to the requirements of agile software development practices. Considering the need for platform independency, the proposed Java Video Analysis (JVA) framework is implemented in Java. It is publicly available through the web as open-access software, supported by a growing collection of implemented modules. Its efficiency is empirically validated for the development of a representative video analysis system.

Share and Cite:

Iakovidis, D. and Diamantis, D. (2014) Open-Access Framework for Efficient Object-Oriented Development of Video Analysis Software. Journal of Software Engineering and Applications, 7, 730-743. doi: 10.4236/jsea.2014.78068.

Conflicts of Interest

The authors declare no conflicts of interest.


[1] Leman, K., Ankit, G. and Tan, T. (2005) PDA Based Human Motion Recognition System. International Journal of Software Engineering and Knowledge Engineering, 15, 199-204.
[2] Iakovidis, D.K., Tsevas, S. and Polydorou, A. (2010) Reduction of Capsule Endoscopy Reading Times by Unsupervised Image Mining. Computerized Medical Imaging and Graphics, 34, 471-478.
[3] Scopus (2014)
[4] Correia, P. and Pereira, F. (1998) Proposal for an Integrated Video Analysis Framework. Proceedings of International Conference on Image Processing, 2, 488-492.
[5] Anjulan, A. and Canagarajah, N. (2009) A Unified Framework for Object Retrieval and Mining. IEEE Transactions on Circuits and Systems for Video Technology, 19, 63-76.
[6] Park, S., Sargent, D., Spofford, I., Vosburgh, K., A-Rachim, Y. (2012) A Colon Video Analysis Framework for Polyp Detection. IEEE Transactions on Biomedical Engineering, 59, 1408-1418.
[7] Wang, Y.F., Chang, E.Y. and Cheng, K.P. (2005) A Video Analysis Framework for Soft Biometry Security Surveillance. Proceedings of the 3rd ACM International Workshop on Video Surveillance & Sensor Networks, 71-78.
[8] San Miguel, J.C., Bescós, J., Martínez, J.M. and García, á. (2008) DiVA: A Distributed Video Analysis Framework Applied to Video-Surveillance Systems. Proceedings of the 9th Workshop on Image Analysis for Multimedia Interactive Services, Klagenfurt, 7-9 May 2008, 207-210.
[9] Czy?ewski, A., Szwoch, G., Dalka, P., Szczuko, P., Ciarkowski, A., Ellwart, D., Merta, T., ?opatka, K., Kulasek, ?. and Wolski, J. (2011) Multi-Stage Video Analysis Framework. Video Surveillance, 147-172.
[10] Masek, J., Burget, R. and Uher, V. (2013) IMMI: Interactive Segmentation Toolkit. Engineering Applications of Neural Networks, Communications in Computer and Information Science, 383, 380-387.
[11] BurgSys Corporation (2014) Image Analysis Software.
[12] Bradski, G. and Kaehler, A. (2008) Learning OpenCV: Computer Vision with the OpenCV Library. O’Reilly Media, Incorporated, Sebastopol.
[13] JavaCV (2013) Computer Vision Library.
[14] Abeles, P. (2012) Resolving Implementation Ambiguity and Improving SURF. Computer Research Repository (CoRR).
[15] Bellard, F. (2006) FFMpeg Multimedia System.
[16] Xuggler (2013) Video Coding Library.
[17] Fayad, M. and Schmidt, D.C. (1997) Object-Oriented Application Frameworks. Communications of the ACM, 40, 32-38.
[18] Sullivan, S., Winzeler, L., Brown, D. and Deagen, J. (1998) Programming with the Java Media Framework. John Wiley & Sons, Inc., Hoboken.
[19] Larson, K. (2014). FMJ: Freedom for Media in Java.
[20] Lyon, D. (2012) The Java Tree Withers. Computer, 45, 83-85.
[21] Ackermann, P. (1996) Developing Object-Oriented Multimedia-Software: Based on MET++ Application Framework. Dpunkt-Verlag, Heidelberg.
[22] Weinand, A., Gamma, E. and Marty, R. (1988) ET++ An Object-Oriented Application Framework in C++. ACM Sigplan Notices, 23, 46-57.
[23] Idris, I. (2013) Instant Pygame for Python Game Development How-to. Packt Publishing Ltd., Birmingham.
[24] SDL (2013) Simple DirectMedia Layer.
[25] Sauer, S. and Engels, G. (1999) OMMMA: An Object-Oriented Approach for Modeling Multimedia Information Systems. Proceedings of the 5th International Workshop on Multimedia Information Systems (MIS), Indian Wells, 64-71.
[26] Pleu?, A. and Hu?mann, H. (2007) Integrating Authoring Tools into Model-Driven Development of Interactive Multimedia Applications. Lecture Notes in Computer Science, 4550, 1168-1177.
[27] Amatriain, X., Arumi, P. and Garcia, D. (2008) A Framework for Efficient and Rapid Development of Cross-Platform Audio Applications. Multimedia Systems, 14, 15-32.
[28] Amatriain, X. and Arumi, P. (2011) Frameworks Generate Domain-Specific Languages: A Case Study in the Multimedia Domain. IEEE Transactions on Software Engineering, 37, 544-558.
[29] Gavalas, D. and Economou, D. (2011) Development Platforms for Mobile Applications: Status and Trends. IEEE Software, 28, 77-86.
[30] Pequeno, H.S., Gomes, G.A., Andrade, R., de Souza, J.N. and de Castro, M.F. (2010) FrameIDTV: A Framework for Developing Interactive Applications on Digital Television Environments. Journal of Network and Computer Applications, 33, 503-511.
[31] Bellifemine, F., Caire, G., Poggi, A. and Rimassa, G. (2008) JADE: A Software Framework for Developing Multi-Agent Applications. Lessons Learned. Information and Software Technology, 50, 10-21.
[32] Agarwal, S., Madasu, S., Hanmandlu, M. and Vasikarla, S. (2005) A Comparison of Some Clustering Techniques via Color Segmentation. International Conference on Information Technology: Coding and Computing, 2, 147-153.
[33] Plataniotis, K.N. and Venetsanopoulos, A.N. (2000) Color Image Processing and Applications. Springer, Berlin.
[34] Rasband, W. (2012) ImageJ: Image Processing and Analysis in Java. Astrophysics Source Code Library, 1, Article ID: 06013.
[35] Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P. and Witten, I.H. (2009) The WEKA Data Mining Software: An Update. ACM SIGKDD Explorations Newsletter, 11, 10-18.
[36] Jin, X. and Han, J.W. (2010) Expectation Maximization Clustering. In: Sammut, C. and Webb, G.I., Eds., Encyclopedia of Machine Learning, Springer, Berlin, 382-383.
[37] Iakovidis, D.K., Spyrou, E. and Diamantis, D. (2013) Efficient Homography-Based Video Visualization for Wireless Capsule Endoscopy. Proceedings of the 13th IEEE International Conference on Bioinformatics and Bioengineering, Chania, 10-13 November 2013, 1-4.
[38] Spyrou, E., Diamantis, D. and Iakovidis, D.K. (2013) Panoramic Visual Summaries for Efficient Reading of Capsule Endoscopy Videos. Proceedings of the 8th IEEE International Workshop on Semantic and Social Media Adaptation and Personalization, Bayonne, 12-13 December 2013, 41-46.
[39] Iakovidis, D.K., Spyrou, E., Diamantis, D. and Tsiompanidis, I. (2013) Capsule Endoscope Localization Based on Visual Features. Proceedings of the 13th IEEE International Conference on Bioinformatics and Bioengineering, Chania, 10-13 November 2013, 1-4.
[40] Bay, H., Ess, A., Tuytelaars, T. and Van Gool, L. (2008) Speeded-Up Robust Features (SURF). Computer Vision and Image Understanding, 110, 346-359.
[41] Beck, K. and Andres, C. (2004) Extreme Programming Explained: Embrace Change. Addison-Wesley Professional, Boston.
[42] Shen, Y. and Wang, Q. (2013) Sky Region Detection in a Single Image for Autonomous Ground Robot Navigation. International Journal of Advanced Robotic Systems, 10, 362.
[43] Kitchenham, B.A., Pfleeger, S.L., Pickard, L.M., Jones, P.W., Hoaglin, D.C., El Emam, K. and Rosenberg, J. (2002) Preliminary Guidelines for Empirical Research in Software Engineering. IEEE Transactions on Software Engineering, 28, 721-734.
[44] Tichy, W.F. (2000) Hints for Reviewing Empirical Work in Software Engineering. Empirical Software Engineering, 5, 309-312.
[45] Activity Sensor Project (2013)
[46] Madeyski, L. and Szala, L. (2007) Impact of Aspect-Oriented Programming on Software Development Efficiency and Design Quality: An Empirical Study. IET Software, 1, 180-187.
[47] Liberman, N., Beeri, C. and Kolikant, Y.B.D. (2011) Difficulties in Learning Inheritance and Polymorphism. ACM Transactions on Computing Education, 11, 4.

comments powered by Disqus

Copyright © 2020 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.