Multi-layer Architecture For Storing Visual Data Based on WCF and Microsoft SQL Server Database
This work addresses the problem of building flexible content-based image retrieval systems for researchers and developers, but it is incremental as it combines existing tools and design patterns.
The paper tackles the challenge of effectively storing, browsing, and searching image collections by proposing a multi-layer architecture based on WCF and Microsoft SQL Server, which allows component replacement without recompilation and includes components like Model, Base Engine, and CBIR service.
In this paper we present a novel architecture for storing visual data. Effective storing, browsing and searching collections of images is one of the most important challenges of computer science. The design of architecture for storing such data requires a set of tools and frameworks such as SQL database management systems and service-oriented frameworks. The proposed solution is based on a multi-layer architecture, which allows to replace any component without recompilation of other components. The approach contains five components, i.e. Model, Base Engine, Concrete Engine, CBIR service and Presentation. They were based on two well-known design patterns: Dependency Injection and Inverse of Control. For experimental purposes we implemented the SURF local interest point detector as a feature extractor and $K$-means clustering as indexer. The presented architecture is intended for content-based retrieval systems simulation purposes as well as for real-world CBIR tasks.