Orange Forum • View topic - Basics of computer vision in Orange

Basics of computer vision in Orange

General discussions about Orange and with Orange connected things (data mining, machine learning, bioinformatics...).

Basics of computer vision in Orange

Postby whoeverest » Thu Apr 05, 2012 23:40

Orange currently lacks any support for working with images. This is the basis of computer vision, a very popular and active field of research, so adding this type of feature - I am almost certain - would be of huge benefit for Orange.

My idea is to implement the basics of this functionality.

The core are three widgets:

- Widget for reading image files. Implementation of this widget should be trivial, since "scipy.misc.imload()" function does this already. The widget would be very similar to the existing "File" widget and it's purpose would be to read an image file and transform it to a NumPy matrix of pixel values. The data from this matrix is used for all the image manipulation.

- Widget for viewing image files. The main functionality of this widget is to let the user see the current state of the image at any time. Input can be a pixel matrix or a image file.

- Widget for splitting an image into segments (pieces of the grid). Since almost all of the image processing algorithms work on small segments of the picture, this widget would offer a fundamental functionality.

The three widgets would be the corner stone of Orange's image processing functionality. They would enable the user to load and view images and split them into small segments which will be used for further analysis.

Of course, all this would be useless if the user haven't had a way to actually modify the images. This calls for the introduction of a widget for some commonly used image manipulations like: resizing, rotating, conversion of color mode and channel splitting, brightness/contrast, convolution (high-pass, low-pass filters) etc. All those can be implemented in a widget for image editing.

Combined, these four widgets provide the basics of image preprocessing: loading, viewing and some basic image manipulation.

This concludes the scope of my project. What I propose to build is the foundation of a potentially huge area for further improvement of Orange. The rest of needed tools for computer vision, like tools for feature extraction and aggregation in Orange tables - can be built upon it.

I realize that I'm proposing it relatively late in the GSoC application period, but I got very excited about the idea and really wanted to share it. I'd really like to hear the opinion of the community and the core team about it.

Re: Basics of computer vision in Orange

Postby whoeverest » Sat Apr 14, 2012 19:34

Hey guys, just a gentle reminder: I'd really like to know if you think Orange should be pushed in this direction, towards working with image data.

I developed working prototype widgets for reading images (that also converts them to a pixel matrix) and viewing them, but before I continue investigating and prototyping I would like some feedback.

Thanks! :)

Re: Basics of computer vision in Orange

Postby bricklemacho » Tue Oct 16, 2012 15:36

Hi, just noticed this thread. Have you progressed any further with your computer vision idea? If so I would be great to compare notes.

I am currently extending some computer vision add-on from Andrej_T. He provided me with some basic functionality and I have added widgets for Integral images, Average images, FFT, feature maps, salience maps, threshold, color space conversion, and edge detection. They currently work on a single image and a sequence of images (not streams or video).

I am currently working on adding interest point (Harris, FAST, Sift etc) and Segmentation (Watershed, Graphcuts etc), HoG in a few weeks. With the plan is to have these create a "feature vector" which can be used in orange machine learning environment.

Basically I porting my existing python workflow/scripts to orange widgets. Orange gives me a way to allow others interested in my work to play/experiment with my workflow.

Anyway, any chance I could see you add-on code.

Regards,

Brickle.


Return to General Discussions



cron