开发者

image feature identification

I am looking for a solution to do the following:

( the focus of my question is step 2. )

  1. a picture of a house including the front yard

  2. extract in开发者_StackOverflowformation from the picture like the dimensions and location of the house, trees, sidewalk, and car. Also, the textures and colors of the house, cars, trees, and sidewalk.

  3. use extracted information to generate a model

How can I extract that information?


You could also consult Tatiana Jaworska research on this. As I understood, this details at least 1 new algorithm to feature extraction (targeted at roofs, doors, ...) by colour (RGB). More intriguing, the last publication also uses parameterized objects to be identified in the house images... that must might be a really good starting point for what you're trying to do.
link to her publications:

  • http://www.springerlink.com/content/w518j70542780r34/
  • http://portal.acm.org/citation.cfm?id=1578785
  • http://www.ibspan.waw.pl/~jaworska/TJ_BOS2010.pdf


Yes. You can extract these information from a picture. 1. You just identify these objects in a picture using some detection algorithms. 2. Measure these objects dimensions and generate a model using extracted information.


well actually your desired goal is not so easy to achieve. First of all you'll need a good way to figure what what is what and what is where on your image. And there simply is no easy "algorithm" for detecting houses/cars/whatsoever on an image. There are ways to segment different objects (like cars) from an image, but those don't work generally. Especially on houses this would be hard since each house looks different and it's hard to find one solid measurement for "this is house and this is not"...

Am I assuming it right that you are trying to simply photograph a house (with front yard) and build a texturized 3D-model out of it? This is not going to work since you need several photos of the house to get positions of walls/corners and everything in 3D space (There are approaches that try a mesh reconstruction with one image only but they lack of depth information and results are fairly poor). So if you would like to create 3D-mdoels you will need several photos of different angles of the house.

There are several different approaches that use this kind of technique to reconstruct real world objects to triangle-meshes.

Basically they work after the principle:

  1. Try to find points in images of different viewpoint which are the same on an object. Considering you are photographing a house this could be salient structures likes corners of windows/doors or corners or edges on the walls/roof/...
  2. Knowing where one and the same point of your house is in several different photos and knowing the position of the camera of both photos you can reconstruct this point in 3D-space.
  3. Doing this for a lot of equal points will "empower" you to reconstruct the shape of your house as a 3D-model by triangulating the points.
  4. Taking parts of the image as textures and mapping them on the generated model would work as well since you know where what is.

You should have a look at these papers:

http://www.graphicon.ru/1999/3D%20Reconstruction/Valiev.pdf http://people.csail.mit.edu/wojciech/pubs/LabeledRec.pdf http://people.csail.mit.edu/sparis/publi/2006/oceans/Paris_06_3D_Reconstruction.ppt

The second paper even has an example of doing exactly what you try to achieve, namely reconstruct a textured 3D-model of a house photographed from different angles.

The third link is a powerpoint presentation that shows how the reconstruction works and shows the drawbacks there are.

So you should get familiar with these papers to see what problems you are up to... If you then want to try this on your own have a look at OpenCV. This library provides some methods for feature extraction in images. You then can try to find salient points in each image and try to match them.

Good luck on your project... If you have problems, please keep asking!


I suggest to look at this blog

https://jwork.org/main/node/35

that shows how to identify certain features on images using a convolutional neural network. This particular blog discusses how to identify human faces on images from a large set of random images. You can adjust this example to train neural network using some other images. Note that even in the case of human faces, the identification rate is about 85%, therefore, more complex objects can be even harder to identify

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜