图像特征识别
我正在寻找执行以下操作的解决方案:(
我的问题的重点是步骤 2。)
包括前院的房子的图片
从图片中提取信息,例如房屋、树木、人行道和汽车的尺寸和位置。此外,还有房屋、汽车、树木和人行道的纹理和颜色。
使用提取的信息生成模型
如何提取该信息?
I am looking for a solution to do the following:
( the focus of my question is step 2. )
a picture of a house including the front yard
extract information 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.
use extracted information to generate a model
How can I extract that information?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您还可以查阅 Tatiana Jaworska 对此的研究。据我了解,这至少详细介绍了一种按颜色 (RGB) 进行特征提取(针对屋顶、门等)的新算法。更有趣的是,上一篇出版物还使用参数化对象在房屋图像中进行识别...这对于您想要做的事情来说可能是一个非常好的起点。
她的出版物链接:
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:
是的。您可以从图片中提取这些信息。
1. 您只需使用一些检测算法识别图片中的这些对象。
2. 测量这些对象的尺寸并使用提取的信息生成模型。
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.
其实你想要的目标并不那么容易实现。首先,您需要一种好方法来确定图像上的内容和位置。并且根本没有简单的“算法”来检测图像上的房屋/汽车/任何内容。有多种方法可以从图像中分割不同的对象(例如汽车),但这些方法通常不起作用。尤其是在房子上,这会很困难,因为每栋房子看起来都不同,而且很难找到一种可靠的测量方法来衡量“这是房子,这不是”……
我是否认为你只是想简单地拍摄一栋房子(正面) yard)并用它构建一个纹理化的 3D 模型?这是行不通的,因为您需要几张房子的照片来获取墙壁/角落和 3D 空间中所有内容的位置(有些方法尝试仅使用一张图像进行网格重建,但它们缺乏深度信息,结果相当差) )。因此,如果您想创建 3D 模型,您将需要几张房屋不同角度的照片。
有几种不同的方法使用这种技术将现实世界的对象重建为三角形网格。
基本上,它们遵循以下原则:
您应该看看这些论文:
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
第二篇论文甚至有一个完全实现您想要实现的目标的示例,即重建从不同角度拍摄的房屋的纹理 3D 模型。
第三个链接是一个幻灯片演示,展示了重建的工作原理并显示了其中的缺点。
所以你应该熟悉这些论文,看看你遇到了什么问题......如果你想自己尝试一下,可以看看 OpenCV。该库提供了一些图像特征提取的方法。然后,您可以尝试找到每个图像中的显着点并尝试匹配它们。
祝您的项目顺利...如果您有问题,请继续询问!
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:
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!
我建议看看这个博客
https://jwork.org/main/node/35
展示了如何使用卷积神经网络识别图像上的某些特征。这个特定的博客讨论了如何从大量随机图像中识别图像上的人脸。您可以调整此示例以使用其他一些图像来训练神经网络。请注意,即使是人脸,识别率也约为 85%,因此,更复杂的物体可能更难识别
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