Workflow for classifying technical drawings

Dear all,

there are many examples of how to work with images depicting cells, chromosomes and related life science entities.

My question however is targeting the image processing of technical drawings. I have no idea how to paramterize the exisiting nodes, anything I tried failed so far.

To give you a fairly easy example that is far from the real complexity but kind of a POC you could consider one of our problems to distinguish A) Planes from B) Bikes

Theres a full internet of training data available:

A) http://tinyurl.com/o376hel

B) http://tinyurl.com/q768aq9


Any help is well appreciated.

 

Thanks a lot,

Alex

 

 

double post.

 

Hi Alex,

for these kinds of problems we need other algorithms / methods than the ones we need for life-sciences. As more and more KNIME useres request such nodes, we will try to come up with some example workflows and dedicated nodes (like JavaCV integration or so) to be able to handle more problems than just the life-science specific ones.

Anyway, your problem seems to be doable (as bike drawings seem to be pretty different from those planes ;-)). I will have a look these days and find-out whats missing in the KNIME Image Processing Plugin to solve your problem. I will give you feedback as soon as possible.

 

Greetings,

Christian

 

Hi Christian,

thank you very much.  As I said, this is only the tip of the iceberg flaoting through the EPO. It would be really helpful if we had the possibility to classify on such a broad level though. But here is another (more realistic) example:

http://www.uspto.gov/go/classification/uspcd12/cd12s568.gif

http://www.freepatentsonline.com/D0534483-0-large.jpg

http://www.freepatentsonline.com/D0491882-0-large.jpg

Typical query: Find me an image of a tire having a "similar" profile.

(Im sorry, but somehow this Forum is reallystrange, my embedded images just don`t appear, so I just put down the urls.)

Hi Alex,

I understand. But to distiguish between specific tires is different than to distinguish between airplanes and bicycles. In the first problem, you may want to have specific features describing a tire (like the pattern of the tire or so) and then have a similiarity score between two tires. In the second problem, you don't really know which features to use and would more likely use general features (harris-corner, sift, surf etc) to distiguish between the two classes. Anyway: For both problems we need a new set of nodes, and my favourite solution at the moment is to finally finish our JavaCV / OpenCV integration in KNIME (which we started a year ago).

I will try to find some time / resources to work on this as soon as possible. It would be very helpful if you could provide a real data set with one concrete problem you want to solve (let's say the most urgent one?). Then we can focus on this problem first and see what we can do here. Of course your data is treated as confident (christian.dietz@uni-konstanz.de).

Anyway, this sounds like a very interesting use-case for KNIME and a nice example for non life-sciences related image data (especially as I see the potential to somehow also use textual information, i.e. combine text-mining and image processing in KNIME. But correct me if I'm wrong :-)).

Greetings,

Christian

 

Hi Christian,

could you give a status update on the JavaCV/OpenCV integration?
Is that something that is still in the pipeline?

Thank you,
Jens

Hi!

We had something with OpenCV running for a while but never found the time to make it publicly available :frowning: At the moment we are focusing on data management and processing of very large image files, so not really working on OpenCV. Is there a particular reason you need OpenCV? Maybe we can come up with an alternative solution (e.g. by using the KNIME Python Integration)?

Best,

Christian

I am planning to perform object recognition.
Perhaps there are other opportunities in KNIME to do this and OpenCV or scripting is not needed?

There are some ways to perform object recognition in KNIME. Can you be more specific regarding your task? What kind of images, what kind of objects, etc?