Python Help solving a geometrical matching issue with Graph Neural Networks

AI Thread Summary
The discussion focuses on identifying corresponding lines and vertices in 2D orthographic views of a 3D object to facilitate 3D model construction. The use of a graph neural network (GNN) is proposed as a solution, with vertices represented as nodes and lines as edges in the graph. Key features for nodes include x-y coordinates, while edges would have attributes such as edge type (straight, circular, arc), length, and dimension text relevance. Suggestions are sought for suitable network architectures, including the potential use of hierarchical graph structures and hypernodes to capture relationships between different views. The task is framed as a complex problem that may involve link prediction, node classification, or graph matching. The relevance of isometric views in the context of engineering drawings is also considered, noting that while they may not universally apply, they could enhance accuracy in certain cases. The discussion invites further input on additional features, task definitions, and overall approach to the problem.
lauripro56
Messages
1
Reaction score
0
TL;DR Summary
I wish to understand which lines and vertices in different 2D orthographic views of a 3D object correspond to each other. This information would also later be used to construct a 3D model from the 2D orthographic views. I wish to utilize graphs and graph neural networks.
Hello!

I wish to understand which lines and vertices in different 2D orthographic views of a 3D object correspond to each other. This information would also later be used to construct a 3D model from the 2D orthographic views.
Screenshot 2024-07-14 132856.jpg

Blue shows matched edges/lines. Orange shows matched nodes/vertices.
Screenshot 2024-07-14 133107.jpg

Circular objects seem especially difficult.
So far it seems like it would be sensible to use a graph neural network to solve this task. Initial ideas, structure, features are as follows (general, more certain):
  • Each vertex is a node in the graph
    • Node feature vector would include the x-y coordinates relative to the view
  • Each line on the drawing is an edge between nodes in the graph
    • Edge feature vector would include:
      • Edge type (in addition to straight lines there are are also circles and arcs)
      • Edge length
      • If dimension text is defined next to the edge (this is a mechanical engineering drawing related property, with the importance being that equivalent edges in a mechanical engineering drawings should have the length defined for them only once)
Do you have any suggestions for the following:
  • What network architecture(s) would be worth a try?
  • Should a hierarchical graph structure (and GNN) be used?
    • A hypernode representing the entire view, which is connected to all other nodes in the view
    • A global node connected to all hypernodes, in order to capture the relation between different views
graph_hypernodes.png

Schematic of more complex graphs. (https://distill.pub/2021/gnn-intro/)
  • Any thoughts about other relevant edge, node and potentially global features?
  • How would You define this task? Is it link prediction, node classification, graph matching, etc.?
    • This task can probably be approached in many different ways, what seems logical to You?
  • Engineering drawings often also contain an isometric view, could this be relevant somehow?
    • Notice that an entirely isometric view dependent solution does not work for all drawings then, however it could be still relevant if works with high accuracy or does not require too much “side-tracking”.
Feel free to ask any additional questions or engage in discussion (some more uncertain ideas left out to not cause unnecessary confusion / make the post too long).

Thanks for any help!
 
Technology news on Phys.org
It would seem that a graph neural net would be the way to go.

https://en.wikipedia.org/wiki/Graph_neural_network

You have connecting edges for each node, and the edges have length. From the isometric diagrams, adjacent edges have angles that must be preserved, too.

Any 3D engineering drawing would also be applicable, although the angles are likely incorrect.

Is this for a school project?
 
Thread 'Is this public key encryption?'
I've tried to intuit public key encryption but never quite managed. But this seems to wrap it up in a bow. This seems to be a very elegant way of transmitting a message publicly that only the sender and receiver can decipher. Is this how PKE works? No, it cant be. In the above case, the requester knows the target's "secret" key - because they have his ID, and therefore knows his birthdate.
I tried a web search "the loss of programming ", and found an article saying that all aspects of writing, developing, and testing software programs will one day all be handled through artificial intelligence. One must wonder then, who is responsible. WHO is responsible for any problems, bugs, deficiencies, or whatever malfunctions which the programs make their users endure? Things may work wrong however the "wrong" happens. AI needs to fix the problems for the users. Any way to...
Back
Top