Monday, September 5, 2016

Getting started with WSO2 Extensions

WSO2 provides the complete middleware stack, which includes the integration, analytics, security, API management, governance, mobile and IoT platforms. It spans the entire breadth of Service Oriented Architecture, yet remain lean and easy to use.

But the platform itself doesn't solve all user requirements. We need some level of customization to fulfill the user's needs.

Extensions to the rescue




Extensions are ready-made independent components which solve the user's general requirement and allow them to build the solution rapidly. It also abstracts users from the complexity of initializing required elements such as connecting to a third-party system and leverage its functionality and data from the WSO2 product. 

There are 150+ ESB connectors and 25+ IS Connectors available in the WSO2 Store.



ESB Connectors - Connectors allow you to interact with a third-party product's functionality and data from your ESB message flow. This allows ESB to connect with disparate cloud APIs, SaaS applications, and on-premise systems.

Custom Inbound Endpoints - A custom inbound endpoint is a message entry point. It supports multitenancy and comes with built-in cluster coordination.

Authenticators - Authenticator provides you a way to authenticate the user using specific external authentication systems such as MePIN, inWebo, and SMS-OTP from the WSO2 Identity Server.

Provisioning Connectors - Provisioning connector provides you a way to provision the user to external identity providers such as inWebo, Duo, and Salesforce from the WSO2 Identity Server.

One-Pass Clustering Superpixels


Superpixels

Image segmentation is a fundamental task in many computer vision applications such as visual object class recognition, medical image segmentation, body model estimation and skeletonization. Nowadays superpixels are widely used for segmentation in computer vision and biomedical applications.

What is Superpixels?


The term ‘superpixel’ was introduced by Ren and Malik [1]. A superpixel is an image patch which is better aligned with intensity edges than a rectangular patch. Superpixels are perceptually consistent units which carry more information than pixels and adhere well to image boundaries.


Desirable Properties of Superpixels


Perceptual meaningfulness - Superpixel algorithms aggregate pixels together to form atomic regions that have a certain meaningful perception. Superpixels are the natural representation of an image and carry more perceptual and semantic meaning than  pixels.

Computational efficiency and simple to use - Superpixel segmentation showed to be a useful preprocessing step in many computer vision applications.

State-of-the-art superpixels algorithms


Algorithms for generating superpixels can be broadly categorized as either graph-based or gradient-ascent methods.

The normalized cuts algorithm [2], efficient graph-based image segmentation algorithm [3] and superpixel lattices [4] are graph-based superpixel algorithms.

The watershed approach [5], The mean-shift [6], quick-shift [7] and simple linear Iterative clustering (SLIC) [8] are gradient-ascent based superpixel algorithms.

SLIC is shown to yield state-of-the-art adherence to image boundaries on the Berkeley benchmark dataset and outperforms existing methods. Furthermore, it is faster and more memory efficient than previous methods. The algorithm has a complexity of O(N). In addition to these quantifiable benefits, SLIC is easy to use, offers flexibility in the compactness and number of the superpixels it generates and is straightforward to extend to higher dimensions.

References 

[1] - X. Ren and J. Malik. Learning a classification model for segmentation. IEEE ICCV, pp. 10–17, 2003.
[2] - J. Shi and J. Malik. "Normalized cuts and Image Segmentation", In IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI), pp. 888 – 905, 2000.
[3] - P.F. Felzenszwalb, and P.D. Huttenlocher. "Efficient Graph- based Image Segmentation", In International Journal of Computer Vision (IJCV), pp. 167–181, 2004.
[4] - A.P. Moore, S. Prince, J. Warrell, U. Mohammed and G. Jones. "Superpixel Lattices", In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 1–8, 2008.
[5] - L. Vincent and P. Soille. "Watersheds in Digital Spaces: An efficient algorithm based on immersion simulations", IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), pp. 583–598, 1991.
[6] - D. Comaniciu and P. Meer. "Mean shift: A robust approach toward feature space analysis", In IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), pp. 603–619, 2002.
[7]- A. Vedaldi and S. Soatto. "Quick shift and Kernel Methods for Mode Seeking", In proceedings of the European Conference on Computer Vision, Springer Berlin Heidelberg, pp.705–718,2008.
[8]- R. Achanta, A. Shaji, K. Smith, A. Lucchi, P. Fua and S.Susstrunk. "SLIC Superpixels Compared to State-of-the-art Superpixel Methods", In IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI), pp. 2274– 2282, 2012.