Methods, systems, and data structures for performing searches on three dimensional objects
First Claim
1. A method for searching, comprising:
- receiving a three dimensional object;
searching one or more data stores with the three dimensional object as a first search query;
presenting results from the search, wherein the results include an answer set;
receiving modifications or relevance information for one or more items in the answer set; and
re-searching the one or more data stores with the modified or relevance information associated with the one or more items as a second search query.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are provided for searching on three dimensional (3D) objects across large, distributed repositories of 3D models. 3D shapes are created for input to a search system; optionally user-defined similarity criterion is used, and search results are interactively navigated and feedback received for modifying the accuracy of the search results. Search input can also be given by picking 3D models from a cluster map or by providing the orthographic views for the 3D model. Feedback can be given by a searcher as to which models are similar and which are not. Various techniques adjust the search results according to the feedback given by the searcher and present the new search results to the searcher.
291 Citations
74 Claims
-
1. A method for searching, comprising:
-
receiving a three dimensional object;
searching one or more data stores with the three dimensional object as a first search query;
presenting results from the search, wherein the results include an answer set;
receiving modifications or relevance information for one or more items in the answer set; and
re-searching the one or more data stores with the modified or relevance information associated with the one or more items as a second search query. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of searching, comprising:
-
receiving a two dimensional object;
mapping the two dimensional object to a three dimensional representation;
searching one or more data stores with the three dimensional representation as a first search query; and
presenting one or more items in an answer set that is responsive to the first search query of the one or more data stores. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A method of presenting search results, comprising:
-
presenting three dimensional objects within one or more related clusters as an answer set in response to a first search query;
interactively receiving relevance information associated with selective ones of the three dimensional objects or selective ones of the related clusters; and
interactively issuing one or more second search queries based on the received relevance information to remove a number of the three dimensional objects from the answer set and to reduce a number of the related clusters from the answer set. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A method to form a three dimensional search request, comprising:
-
deriving a topology associated with a three dimensional object;
deriving local geometries associated with components of the three dimensional object; and
forming the topology and the local geometries into a search request. - View Dependent Claims (22, 23)
-
-
24. A method of populating a searchable three dimensional data store, comprising:
-
reducing three dimensional models to three dimensional skeletons;
deriving for each three dimensional skeleton a topology and local geometries associated with each geometric entity defined in that skeleton;
creating a feature vector for each three dimensional skeleton and its associated topology and associated local geometries;
creating associations between each of the three dimensional skeletons and their associated feature vector; and
housing each association in a three dimensional data store. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31)
-
-
32. A method for searching, comprising:
-
receiving a two or more dimensional object;
converting the two or more dimensional object into a three dimensional skeleton;
receiving a selection for a part of the three dimensional skeleton;
converting the part into a feature vector; and
searching a data store for the feature vector. - View Dependent Claims (33, 34)
-
-
35. A method of searching, comprising:
-
receiving a two or more dimensional object;
reducing the two or more dimensional object to a three dimensional skeleton;
deriving from the two or more dimensional object text information;
forming a feature vector from topology and local geometries associated with the three dimensional skeleton and from the text information; and
submitting the feature vector as a search request to a data store. - View Dependent Claims (36, 37)
-
-
38. A method of performing a search, comprising:
-
acquiring a relevance preference for a three dimensional search request;
modifying the three dimensional search request with the relevance preference; and
submitting the three dimensional search request to one or more data stores. - View Dependent Claims (39, 40)
-
-
41. A search system, comprising:
-
a three dimensional query interface;
a skeleton converter that interacts with the query interface; and
a feature vector constructor that interacts with the skeleton converter;
wherein the query interface receives search requests for objects in two or more dimensions and the objects are represented by the skeleton converter as three dimensional graphical data structures, the feature vector constructor translates the graphical data structures into feature vectors that are used as search requests to one or more data store, and wherein the feature vectors include topology and local geometric information derived from the three dimensional graphical data structures. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49)
-
-
50. A search system, comprising:
-
a three dimensional data store;
an indexer; and
a comparer;
wherein the indexer associates feature vectors with three dimensional graph data structures and the feature vectors include topology and local geometric information for entities of each graph data structure, and wherein the feature vectors and the graph data structures are associated with one another and housed in the data store, the comparer receives search requests as search vectors and searches the data store for candidate feature vectors that at least partially match the search vectors and returns the associated graph data structures as answer sets for the search vectors. - View Dependent Claims (51, 52, 53, 54, 55)
-
-
56. A query interface system, comprising:
-
a three dimensional search constructing interface;
a primitive data store of three dimensional primitives; and
a cluster interface;
wherein the search constructing interface is interacted with to assemble one or more of the three dimensional primitives from the primitive data store and form a three dimensional search query, and wherein the cluster interface organizes search results associated with results of search query into groupings of similar results. - View Dependent Claims (57, 58, 59, 60)
-
-
61. A search constructor system, comprising:
-
a three dimensional candidate constructor; and
a feature vector constructor;
wherein the three dimensional candidate constructor receives two dimensional objects and converts them as three dimensional objects represented by three dimensional graph data structures, and wherein the feature vector constructor derives topology and local geometric information from the three dimensional graph structures to construct search vectors for a three dimensional search. - View Dependent Claims (62, 63)
-
-
64. A geometric graph data structure, implemented in a computer readable medium, the graph data structure used to define three dimensional objects for purposes of search and retrieval, the graph data structure comprising:
-
one or more geometric entities;
a topology matrix that defines topology connections between the one or more geometric entities; and
one or more geometric shapes having geometric features associated with one or more geometric entities and wherein each geometric feature can be reduced to a single one of the geometric entities;
wherein the geometric graph data structure is generated from an object having two or more dimensions and wherein a feature vector is derived for the geometric data structure, wherein the feature vector that includes portions of the topology matrix and the features. - View Dependent Claims (65, 66)
-
-
67. A feature vector implemented in a computer readable medium, the feature vector defining searchable attributes of a three dimensional object and used for generating search requests or for populating a searchable data store with as search keys associated with the three dimensional objects, the feature vector comprising:
-
topology information that defines the connectivity and relationships between geometric entities associated with a three dimensional object; and
local geometries associated with characteristics of each of the geometric entities. - View Dependent Claims (68, 69, 70, 71)
-
-
72. A method of searching, comprising:
-
selecting features associated with an object represented in more than two dimensions;
selectively weighting the features; and
submitting the selectively weighted features as a search request. - View Dependent Claims (73, 74)
-
Specification