We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Feature Extraction - Part II

00:00

Formal Metadata

Title
Feature Extraction - Part II
Title of Series
Number of Parts
21
Author
License
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Producer

Content Metadata

Subject Area
Genre
Graph (mathematics)Neighbourhood (graph theory)Finitary relationComputer-generated imageryVertex (graph theory)Point (geometry)Data structureData modelBuildingSample (statistics)Musical ensembleVector potentialEndliche ModelltheorieLine (geometry)Point (geometry)Representation (politics)BuildingMedical imagingVertex (graph theory)Matching (graph theory)Pointer (computer programming)Inheritance (object-oriented programming)Shape (magazine)PolygonPlanningInstance (computer science)HypothesisMultiplicationSurfaceParallel portData structurePolyhedronIdentifiabilityNumberVector spaceTheory of relativityGraph (mathematics)Normal (geometry)DialectNeighbourhood (graph theory)BilderkennungDescriptive statisticsMultiplication signMetreTerm (mathematics)Real numberObject (grammar)MereologyNetwork topologySymbol tableElectronic mailing listCartesian coordinate systemCross-correlationGoodness of fitDirection (geometry)Mathematical analysisInformationConnected spaceType theoryMatrix (mathematics)CASE <Informatik>Price indexAttribute grammarPolymorphism (materials science)Position operatorGreen's functionApproximationContent (media)Slide ruleComputer animation
Transcript: English(auto-generated)
So, hello, good morning, welcome to this lecture on image analysis work. The last time, two weeks ago, we finished with discussing symbolic image descriptions.
We said there are many ways in which we can have this symbolic image description. Any questions there? It depends on which features we actually extract. It depends on the requirements of the application.
So, of course, sheer lists of points, edges and segments would already be a symbolic image description. If we have extracted points and we are interested in neighborhood relations, we might go for a non-interim relation. So, that very point, we would also know its nearest neighbors, so to speak.
For edges, we could also use a trim relation, but constrain it such that wherever we have two vertices, we can just solve it so that the trim relation would be based on the vertices of our edges.
That would enforce vertices being connected by an edge inside of an edge to be connected also to the trim relation. That would be a so-called constraint in non-interim relation. If you have regions, well, it could be a list of regions, or we could go for a region adjacency graph,
a region adjacency graph, which are relatively rich descriptions. So, a region adjacency graph basically consists of nodes corresponding to the segments or regions and neighboring segments are connected by an edge in this graph. Of course, implicitly, these edges in the graph correspond to image edges.
For instance, segment four in this example is a neighbor of segment two, and this would correspond to two edges, L4 and L6, but only implicitly, the edges themselves would not be extracted if we choose to have a region adjacency graph.
So, this graph tells us where the regions which are its neighbors, and this may be useful for many analyses. A feature adjacency graph is an even richer symbolic representation of an image. Here, we first extract points, edges, and regions.
Now, the nodes correspond to all of these features. This means we have different types of nodes. We have edge nodes, green point nodes in blue, and regional segment nodes in red, and connections are in neighborhood relations, which can be extracted.
This is, this example is from the polymorphic region, sorry, polymorphic feature extractions and could be extracted from the ternary image. And for instance, now our segment, let's choose a simpler, well, a segment one, right, is a direct neighbor of edge L3,
point P2, edge L2, point P1, and edge L1. And so we're giving up the corresponding edges. It is no longer a direct neighbor of say S4, but because S2 is now explicitly a part of the graph,
it corresponds to a node, so the direct neighbor is the edge. But of course, if you have two regions that are both linked to the same edge, then you know that these regions are also neighbors, they are indirect neighbors in this case. And this information can of course also be derived from the graph.
So this is a very rich description, which we can use for any type of analysis where we really need all of the three elements, edges, points, and regions. If you don't need the points and the edges, then we might go for this one, which is simpler.
And these are symbolic examples for symbolic image descriptions. Now, both the ROG and the regional adjacency graph and the feature adjacency graph are examples for symbolic image descriptions. They contain the neighborhood relations,
and these can be useful to search for image structures predicted by normal. For instance, this is an example from the work that was done quite some time ago at the University of Bonn. Here, the assumption was that, well, okay, so the goal was to extract buildings.
The building model said that the building can be represented by a polyhedron. So basically, the surfaces of the building are all planes. And what we can observe in the images, of course, are the intersections of these planes. What are intersections of two 3D planes? They are edges.
So we would have image edges and in vertices of our model, where we have the intersection of three or more planes, we would get points. And now, of course, at the vertex of the building, we would have the intersection of multiple planes with each other. So we would, for instance, get trihedral corners.
So in this work here from the University of Bonn, the first step was to identify potential candidates for trihedral corners in the image, match them across pairs of images such that we get them in 3D, and then combine multiple trihedral corners to define the final building model.
And this was, so to speak, the same step. And this search for potential candidates for such trihedral corners that might correspond to vertices of buildings, that was based on, in this case, well, it had to be a feature adjacency graph, because we needed points and the edges, okay?
But this doesn't mean, I mean, this is a very rich representation that is the feature adjacency graph, but sometimes we don't need it. So we would always go for the most simple one that is in line with the goals of the application.
If you don't need points and edges, there is no point in using a feature adjacency graph. The feature adjacency graph might go away in the tree. All right, I actually stopped here, but I thought some repetition might not hurt, and I wanted to go into this final slide as well to summarize these contents
or this topic of the symbolic image description. Any questions? So one of the only things that the graph can tell us is the actual shape of the edge, right?
Is this like a little band-aid or a small stage? No, actually, actually in this, okay, these nodes would have additional attributes and the type of attributes you have would of course depend on the type of the nodes. For the segment, you would have segment attributes, segment features. For the edges here,
you would of course have the actual shape of the edge. This will be a part of the attributes, so to speak. How is it included in the shape, like the number of the picture? You would have, if you do it in C, in an object-oriented way, you would have a parent class node,
which has at least a vector of edges. And then from this, you would derive a segment node, an edge node, and a point node. And for instance, the edge node would have a polygon as an attribute, and the polygon would give you the shape of the edge. And it would also have a pointer
inherited from its parent to the neighbors. And one of these pointers might point, some of these pointers might point to point, which of course would have coordinates as the attributes. Some of them might be related to segments,
and the attributes of segments could be, I don't know, green color, something like this. Approximate position one represent at this point. Okay, does this answer your question? More questions? You can also define it in another way.
You could have, you could just have a vector of nodes, and then a matrix which gives you the indices of every pair of connected nodes, for instance. This would be another way which is to be implemented. But these edges here, the kind of topological edges,
they just indicate neighbor correlations. These edges here correspond to real image entities, and there you would have, I mean, of course you still, they are still topologically connected to the neighbors, but they would contain a representation of the shape in terms of all of them, for instance. Okay, more questions?
This can get fairly complex, but it's still kind of, it's more helpful to have such a representation if you are a model-based image analysis. Model-based image analysis, well, we have a model, and the model tells us what to expect in the image
if a certain object is present. For instance, a very frequently used road model is based on parallel edges. So we choose a representation of the image, a symbolic description of the image containing edges, and then of course neighborhood relations are very relevant
because the edges, well, of course road edges are parallel to each other, but they are not very far away from each other, not just a few meters. So usually they are somewhere in the local neighborhood, and if you have such a graph, it's easier to identify such neighbors, for instance,
and you can check whether they're parallel if they are in hypothesis for a road lane for instance. Okay, more questions? Okay, and this finishes this topic.