Web search engines usually serve the search of text, images, or videos. With the spread of 3D scanning devices, depth sensing cameras, and 3D modeling software applications, a huge number of 3D model files are created on the World Wide Web. Until now, there has been no universal search engine that provides Web crawling, indexing, and searching for 3D models or files.
As known in the art, a search engine is a software system that is designed to search for information on the World Wide Web. The search results are generally presented in a line of results often referred to as search engine results or pages. The information may be a mix of web pages, images, videos, and other types of files. Some search engines mine data available in databases or open directories. Unlike web directories, which are maintained only by human editors, search engines also maintain real-time information by running an algorithm on a web crawler.
A traditional search engine maintains Web crawling, indexing, and searching. A Web crawler, sometimes called a spider, is an Internet bot that systematically browses the World Wide Web, typically before the Web indexing. Web search engines use Web crawling or spidering software to update their web content or indices of other sites' web content. Web crawlers can copy all the pages they visit for later processing by a search engine, which indexes the downloaded pages so the users can search much more efficiently.
Traditional search engine indexing collects, parses, and stores data to facilitate fast and accurate information retrieval. Index design incorporates interdisciplinary concepts from linguistics, cognitive psychology, mathematics, informatics, and computer science. Popular engines focus on the full-text indexing of online, natural language documents. Media types such as video, audio and graphics are also searchable. Meta search engines reuse the indices of other services and do not store a local index, whereas cache-based search engines permanently store the index along with the corpus. Unlike full-text indices, partial-text services restrict the depth indexed to reduce index size. Larger services typically perform indexing at a predetermined time interval due to the required time and processing costs, while agent-based search engines index in real time.
The purpose of storing an index is to optimize speed and performance in finding relevant documents for a search query. Without an index, the search engine would scan every document in the corpus, which would require considerable time and computing power. For example, while an index of 10,000 documents can be queried within milliseconds, a sequential scan of every word in 10,000 large documents could take hours. The additional computer storage required to store the index, as well as the considerable increase in the time required for an update to take place, are traded off for the time saved during information retrieval.
A traditional web search is a query that a user enters into a web search engine to satisfy his or her information needs. Web search queries are distinctive in that they are often plain text or hypertext with optional search-directives (such as “and”/“or” with “−” to exclude). They vary greatly from standard query languages, which are governed by strict syntax rules as command languages with keyword or positional parameters.
The present invention discloses a 3D search engine that provides online crawling, indexing, and searching for 3D models. In one embodiment of the present invention, the crawling is an Internet bot that browses the World Wide Web for 3D models. This is done to update the content of the 3D search engine for later processing of indexing and searching. The crawling of the present 3D search engine copies or downloads available online 3D model files for later processing by the 3D search engine. This is to index the downloaded files or models so the users can search much more efficiently.
The indexing of the present 3D search engine includes analyzing and storing the crawled 3D models in certain formats to facilitate the 3D models retrieval during the search process. In one embodiment, the analyzing of the present invention associates each 3D model with a plurality of two-dimensional drawings representing the 3D model. The purpose of storing the indexing is to optimize speed and performance in finding relevant 3D models during the search process.
The web searching of the present invention is a query that a user enters into the 3D search engine to satisfy thier search needs. The search query of the user can be in the form of a 3D model, picture of a 3D model or 3D object, or drawing representing a 3D model. In one embodiment of the present invention, the search query includes optional search-directives (such as “and”/“or” with “−” to exclude). This is to provide the user with more control of the search results of the 3D models.
In one embodiment, the search results of the present invention are presented in a line of results referred to as search engine results pages, which s similar to available online search engines such as GOOGLE or BING. These search engine results pages contain similar 3D models of the search query. Selecting or clicking any of the search results leads to the opening of the page or website that contains the similar 3D model/s. In another embodiment, the user can filter the search results according to the 3D model type such as wireframe, surface or solid models. In addition, the user can filter the search results according to the file extension of the 3D model such as 3DS, FBX, DAE, STP or the like. In yet another embodiment, the user can filter the search results according to location, size, color or texture of the 3D model.
Each plurality of points located in a cross section of the first, second and third groups is converted into lines corresponding to the shape of the cross-section points.
The database of the drawings enables locating the 3D models on the World Wide Web when similar 3D models are provided to the present 3D search engine. For example,
That means checking the database against the second car drawings leads to the URL of the first car model on the World Wide Web. This is achieved by automating the slicing of the cross-sections of the second car model to automatically create its drawings. In other words, if a user is searching the World Wide Web for 3D models similar to the 3D model of the second car then they can reach the URL of the first car model. If the database includes multiple URLs of multiple 3D models with similar drawings then the user can reach all these multiple URLs in their search.
According to the previous description, in one embodiment, the present invention allows for the comparison of a complete 3D model to another complete 3D model by associating them to each other if they have a common cross-section. In another embodiment, the present invention allows for the comparison of a part of a 3D model to a complete 3D model by associating them to each other if they have a common part of a cross-section.
For example, each of
Using a partial 3D model in the search may require providing multiple partial 3D models to get accurate results. For example,
In such a case, if a user successively provides a search query using the three drawings of
Generally, the search query of the present invention includes such optional search-directives to provide the user with more control of the search results. This is similar to the optional search-directives of traditional web search engines such as GOOGLE or BING. Moreover, most search features that are available in traditional web search engines are utilized in the 3D search engine of the present invention.
Overall, the search of the present invention on the World Wide Web is not limited to certain shapes or types of 3D models. For example,
Generally, the slicing process of the present invention is done on two stages. The first stage is done during the crawling, where the 3D models of the World Wide Web are downloaded and sliced to be stored in a database. Each group of cross-section related to a 3D model are associated with the URL of the webpage where the 3D model is located on the Internet. The second stage is done when the user provides the search engine with a 3D model to search for its similar 3D models. At this stage, the 3D model provided by the user is sliced into cross-sections to be used during the search process. Checking the cross-sections of the provided 3D model against the cross-sections of the database allows reaching similar 3D models and accordingly allows reaching the URLs of these similar 3D models.
The importance of slicing the 3D model with multiple cross-sections is to generate multiple drawings representing the 3D model. Using a single drawing or single cross-section during the search process is not enough to obtain accurate search results. For example,
As shown in the drawings, the second cross-section of the first object, and the second cross-section of the second object look similar. Accordingly, if only such a single second cross-section is used during the search process, the 3D models of
According to the previous descriptions and drawings, the present invention discloses a 3D search engine that provides online crawling, indexing, and searching for 3D models. In one embodiment of the present invention, the crawling is an Internet bot that browses the World Wide Web for 3D models. This is done to update the content of the 3D search engine for later processing of indexing and searching. The crawling of the present 3D search engine copies or downloads all available online 3D model files for later processing by the 3D search engine. This is done to index the downloaded files or models so that the users can search much more efficiently.
The indexing of the present 3D search engine includes analyzing and storing the crawled 3D models in certain formats to facilitate the 3D models retrieval during the search process. In one embodiment, the analyzing of the present invention associates each 3D model with a plurality of two-dimensional drawings representing the cross-sections of the 3D model. The purpose of storing or indexing is to optimize the speed and performance in finding relevant 3D models during the search process.
The web search of the present invention is a query that a user enters into the 3D search engine to satisfy their search needs. The search query of the user can be in the form of a 3D model. This 3D model is sliced with a plurality of cross-sections to generate multiple drawings to be used in the search process. Comparing the drawings of the 3D model provided by the user with the drawings stored in the database allows for the retrieval of search results of 3D models that are similar to the 3D model provided by the user. In one embodiment of the present invention, the search query includes optional search-directives (such as “and”/“or” with “-” to exclude). This is to provide the user with more control over the search results.
In one embodiment, the search results of the present invention are presented in a line of results referred to as search engine results pages, which is similar to available online search engines such as GOOGLE or BING. These search engine result pages contain similar 3D models of the search query. Selecting or clicking any of the search result pages leads to the opening of the page or website that contains similar 3D model/s on the computer display.
In another embodiment, the user can filter the search results according to the 3D model type such as wireframe, surface or solid models. Also, the user can filter the search results according to the file extension of the 3D model such as 3DS, FBX, DAE, STP or the like. In yet another embodiment, the user can filter the search results according to the location, size, color or texture of the 3D model.
According to the previous description, the user provides the search engine with a 3D model to be used as a search entry for the search process. Such a search entry can be in different formats other than a 3D model. For example, in one embodiment of the present invention, the search entry can be a picture of a 3D object or a picture of a 3D model. In this case, the present invention converts the picture into a drawing using an edge detection technique, as known in the art. Accordingly, the drawing is used as a search entry similar to the drawings generated by the cross-sections.
In another embodiment of the present invention, the user can draw on the computer display to represent a 3D model. The user's drawing is used as a search entry similar to the drawings generated by the cross-sections. In this case, the present invention provides the user with a virtual drawing tool to draw their drawings or freehand sketches similar to commercially available drawing software applications.
According to one embodiment of the present invention,
This application claims the benefits of a U.S. Provisional Patent Application No. 62/922,686, filed Aug. 22, 2019.