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.
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. http://dx.doi.org/10.1142/S021819400500218X
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. http://dx.doi.org/10.1016/j.compmedimag.2009.11.005
Scopus (2014) http://www.scopus.com
Correia, P. and Pereira, F. (1998) Proposal for an Integrated Video Analysis Framework. Proceedings of International Conference on Image Processing, 2, 488-492.
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. http://dx.doi.org/10.1109/TCSVT.2008.2005801
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. http://dx.doi.org/10.1109/TBME.2012.2188397
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.
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.
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.
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. http://dx.doi.org/10.1007/978-3-642-41013-0_39
Abeles, P. (2012) Resolving Implementation Ambiguity and Improving SURF. Computer Research Repository (CoRR). http://boofcv.org
Bellard, F. (2006) FFMpeg Multimedia System. http://www.ffmpeg.org/
Xuggler (2013) Video Coding Library. http://www.xuggle.com/xuggler
Fayad, M. and Schmidt, D.C. (1997) Object-Oriented Application Frameworks. Communications of the ACM, 40, 32-38. http://dx.doi.org/10.1145/262793.262798
Sullivan, S., Winzeler, L., Brown, D. and Deagen, J. (1998) Programming with the Java Media Framework. John Wiley & Sons, Inc., Hoboken.
Larson, K. (2014). FMJ: Freedom for Media in Java. http://fmj-sf.net/
Lyon, D. (2012) The Java Tree Withers. Computer, 45, 83-85. http://dx.doi.org/10.1109/MC.2012.30
Ackermann, P. (1996) Developing Object-Oriented Multimedia-Software: Based on MET++ Application Framework. Dpunkt-Verlag, Heidelberg.
Weinand, A., Gamma, E. and Marty, R. (1988) ET++ An Object-Oriented Application Framework in C++. ACM Sigplan Notices, 23, 46-57. http://dx.doi.org/10.1145/62084.62089
Idris, I. (2013) Instant Pygame for Python Game Development How-to. Packt Publishing Ltd., Birmingham.
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.
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.
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. http://dx.doi.org/10.1007/s00530-007-0109-6
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. http://dx.doi.org/10.1109/TSE.2010.48
Gavalas, D. and Economou, D. (2011) Development Platforms for Mobile Applications: Status and Trends. IEEE Software, 28, 77-86. http://dx.doi.org/10.1109/MS.2010.155
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. http://dx.doi.org/10.1016/j.jnca.2010.01.002
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. http://dx.doi.org/10.1016/j.infsof.2007.10.008
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.
Plataniotis, K.N. and Venetsanopoulos, A.N. (2000) Color Image Processing and Applications. Springer, Berlin. http://dx.doi.org/10.1007/978-3-662-04186-4
Rasband, W. (2012) ImageJ: Image Processing and Analysis in Java. Astrophysics Source Code Library, 1, Article ID: 06013.
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. http://dx.doi.org/10.1145/1656274.1656278
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.
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. http://dx.doi.org/10.1109/BIBE.2013.6701598
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.
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. http://dx.doi.org/10.1109/BIBE.2013.6701570
Bay, H., Ess, A., Tuytelaars, T. and Van Gool, L. (2008) Speeded-Up Robust Features (SURF). Computer Vision and Image Understanding, 110, 346-359. http://dx.doi.org/10.1016/j.cviu.2007.09.014
Beck, K. and Andres, C. (2004) Extreme Programming Explained: Embrace Change. Addison-Wesley Professional, Boston.
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. http://dx.doi.org/10.5772/56884
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. http://dx.doi.org/10.1109/TSE.2002.1027796
Tichy, W.F. (2000) Hints for Reviewing Empirical Work in Software Engineering. Empirical Software Engineering, 5, 309-312. http://dx.doi.org/10.1023/A:1009844119158
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. http://dx.doi.org/10.1049/iet-sen:20060071
Liberman, N., Beeri, C. and Kolikant, Y.B.D. (2011) Difficulties in Learning Inheritance and Polymorphism. ACM Transactions on Computing Education, 11, 4. http://dx.doi.org/10.1145/1921607.1921611