This application relates generally to data processing and, more specifically, to methods and systems for virtual visualization of three-dimensional (3D) models of objects in two-dimensional (2D) environments.
3D visualization provides ample opportunities in various spheres of human life. Spatial representation of objects can help in comprehending and learning, designing and drafting, and accelerated decision making and planning. The ability to represent virtual 3D objects in a real environment can provide further applications, such as selecting furniture for a house, designing kitchen cabinets, and so forth. However, the complexity of present 3D visualization tools encumbers their usage for everyday tasks and limits their application. Therefore, it would be useful to have new systems with simplified processes of 3D visualization and the ability to use 2D images as a background for 3D models.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Provided are methods and systems for virtual visualization of a 3D model of an object in a 2D environment.
The method for virtual visualization of a 3D model of an object in a 2D environment may comprise receiving, from a user, an import request to import a 2D environment to be used as a background for the 3D model, and importing, based on the import request, the 2D environment. When the 2D environment is imported, the user may provide wireframe data to define a perspective of the 2D environment and scale data to define a scale of the wireframe. Based on the wireframe data, the wireframe may be visualized. After that, a superimposing request may be received from the user to superimpose the 3D model of the object onto the 2D environment, and, based on the superimposing request, the 3D model may be superimposed. While superimposing, the wireframe data and the scale data may be used to match the perspective and scale of the background.
In certain embodiments, the 2D environment may include a photo, a video recording, a camera feed, a drawing, or any other graphical material, whether existing or captured as a still image or a live feed image.
In certain embodiments, the 3D model may be connected to an online resource related to an object depicted by the 3D model. The online resource may include, for example, an online store that provides the object depicted by the 3D model for sale.
Thus, the present disclosure provides a useful tool for visualization of a 3D model in a 2D environment. In further exemplary embodiments, modules, subsystems, or devices can be adapted to perform the recited steps. Other features and exemplary embodiments are described below.
Embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the presented concepts. The presented concepts may be practiced without some or all of these specific details. In other instances, well known process operations have not been described in detail so as to not unnecessarily obscure the described concepts. While some concepts will be described in conjunction with the specific embodiments, it will be understood that these embodiments are not intended to be limiting.
Systems and methods described herein may allow a user to visualize 3D models of objects in relation to a real environment represented by a 2D photo or video.
A user may import his images, video records, or other graphics to a system for virtual visualization of 3D models of objects in a 2D environment and use these images, video records, or other graphics as a background for a 3D object. The imported image will represent a 2D environment. To insert a 3D object into such environment, the user may define a 3D space that mimics the perspective of the background, and determine a scale for the defined 3D space. After that, the user may insert a 3D model of an object in such a way that the 3D model matches the perspective and scale of the background. The user may move and spin the 3D model in the 2D environment to choose an appropriate position for the object within the background. The resulting image, being the combination of the 2D environment and the 3D model over it, may represent a virtual object of the 3D model as fitted in the real environment captured on a photo or video.
The user may save the resulting image to a Personal Computer (PC) or network database for future use or reference, post the resulting image on a social network, and perform other operations on the image. The user may also use saved images to compare them with each other and with newly obtained images in order to select preferable combinations of a 2D background and 3D object.
In some embodiments, the system for virtual visualization of 3D models of objects in a 2D environment may be connected to various social networking services and/or microblogs (for example, Facebook, Twitter, and so forth). Connection to social networking services and/or microblogs may allow users to interact with each other in relation to images obtained using the system for virtual visualization of 3D models of objects in a 2D environment, receive advice from friends and/or subscribers when choosing some goods or products virtually, and share information and images depicting 3D objects in 2D environment. For example, a user may post an image depicting a 3D object in 2D environment to receive feedback from his friends and/or subscribers when choosing such goods as furniture, clothes, and jewelry; creating interior and/or landscape designs; and so forth.
Images, video records, or other graphics, to be used as a background, may comprise existing photos, video records, and so forth. Furthermore, a live camera feed may be used when captured before importing a 2D environment or in the process of virtual visualization. The option of capturing a photo or video to be used as a 2D environment may be especially useful when the system is implemented as a mobile application. In this case, a user may use mobile phone means, such as a camera, to capture photos or record video.
In some embodiments, the system for virtual visualization of 3D models of objects in a 2D environment may include a library of pre-configured background images with wireframes to facilitate matching the imported real backgrounds and 3D models.
The system for virtual visualization of 3D models of objects in a 2D environment may include or be coupled to a library of 3D models of objects. A user may select 3D models to be inserted into an imported 2D environment from 3D models available in the library, or he may import or create his own 3D models.
In some embodiments, the library of 3D models of objects may include pre-configured background images with wireframes to facilitate matching 2D backgrounds and 3D models of objects.
In some embodiments, a user may connect a 3D model of an object to an online store where other users could purchase the item depicted by the 3D model. Alternatively, a connection to an online store for purchasing the depicted object may be pre-embedded in the 3D model stored in the library of 3D models.
Referring now to the figures,
The client devices 130, in some example embodiments, may include a Graphical User Interface (GUI) for displaying the user interface 120. In a typical GUI, instead of offering only text menus or requiring typed commands, the system presents graphical icons, visual indicators, or special graphical elements called widgets that may be utilized to allow the user 140 to interact with the user interface 120. The client devices 130 may be configured to utilize icons used in conjunction with text, labels, or text navigation to fully represent the information and actions available to users.
The client devices 130 may include a mobile telephone 132, a computer 134, a personal digital assistant (PDA) 136, and the like. The user 140, in some example embodiments, is a person interacting with the user interface 120 via the client devices 130. The system for virtual visualization of 3D models of objects in 2D environment 200 may be implemented as a local or web service on the client devices 130. The user 140 may periodically interact with the system for virtual visualization of 3D models of objects in 2D environment 200 via the user interface 120 displayed using one of the client devices 130. Additionally, the user 140 may periodically interact with the social networking service 150 (including social networks, microblogs, web blogs, and other web resources) via the system for virtual visualization of 3D models of objects in 2D environment 200 and the network 110 to upload graphics obtained using the system for virtual visualization of 3D models of objects in 2D environment 200, communicate with members of the social networking service 150, and so forth.
Note that even though various modules of the system for visualization of 3D models of objects in 2D environment 200 are shown together, the system for visualization of 3D models of objects in 2D environment 200 may be implemented as a web service, via a distributed architecture, or within a cloud computing environment.
The receiving module 202 of the system for visualization of 3D models of objects in 2D environment 200 may be configured to receive import requests, wireframe data, scale data, and superimposing requests from a user. Based on import requests, which may include user-specified data on a 2D environment to be used as a background for a 3D model, the importing module 204 may import the 2D environment. Then, the receiving module 202 may receive wireframe data (which define a perspective of the 2D environment) and scale data (which define a scale of the 2D environment) from the user. The wireframe data and scale data may be used by the visualizing module 206 to visualize the wireframe over the imported 2D environment. The wireframe is an auxiliary element and may be hidden at any moment based on a user request.
Then, the receiving module 202 may receive a superimposing request from the user. The superimposing request may include data on a 3D model the user selected in a library of 3D models or from 3D models imported or saved by the user, customization or changes to the selected 3D model, and so forth. The received superimposing request is passed to the superimposing module 208, which superimposes the selected 3D model (based on the superimposing request) onto the 2D environment. At that, the wireframe may be used to fit the 3D model into the 2D environment in accordance with the perspective and scale of the 2D environment.
The superimposed 3D model may be moved by the moving module 210 and spun by the spinning module 212 within the 2D environment.
When the appropriate place and spin of the 3D model are selected, the resulting image may be uploaded to a social network, microblogging service, blog, or any other web resource by the uploading module 216. Additionally, based on a user request, the saving module 214 may save the resulting image for future use or reference.
As shown in
Based on the received wireframe and scale data, the visualizing module 206 may visualize the wireframe in front of the 2D environment at operation 310.
Then, at operation 312, the receiving module may receive a request to superimpose a 3D model onto the 2D environment. A superimposing request may include data on a user selection of a 3D model from a library of 3D models (embedded in or coupled to the system for virtual visualization of 3D models of objects in 2D environment 200), from 3D models saved or imported by the user, or from any online resource. Additionally, a superimposing request may include data on customization or changes to the selected model. At operation 314, the selected 3D model may be superimposed onto the 2D environment. Due to the wireframe created for the 2D environment, the 3D model may be superimposed in accurate relation (perspective and scale) to the 2D environment set as a background. The superimposed 3D model may be moved and spun to adjust its position within the background.
In some embodiments, the 3D object that is inserted in front of the 2D background image can be linked or connected to a manufacturer or a sales representative of the object represented by the 3D model. Upon following such link, a user would be provided with an option of purchasing the actual item.
Additionally, the resulting image, obtained after superimposing a 3D model onto the 2D background image, may be saved for future use or reference, or uploaded to a web resource specified by the user (for example, a social network, a microblog, an online store). The user may also use saved images to compare them with each other and with newly obtained images in order to select preferable combinations of a 2D background and 3D object.
Once the wireframe 510 is assigned, the user may add a scale 520 to the 3D model space of the wireframe 510. For this purpose, the user may select a single length of a part of the background, or assign a length to a single known distance. This will help to assign a scale 520 to the model space. The way a user assigns a scale 520 to the 3D model space could have a different look and feel. The user could generate a solid line or the line could be present and moved into place.
The wireframe 510 may be hidden, so that the user could view the image in its real state.
When the 3D model 610 is selected, it may be uploaded to the sample 2D environment 400. The uploaded 3D model 610 will have a scale and perspective that matches the background condition. Due to this, the user may view how the object depicted by the 3D model would fit into the background.
Once the 3D model 610 is inserted into the background, the user may move and spin the 3D model 610 in order to place it in different relation to the background.
In some embodiments, the user may switch between multiple 3D models on the same background to compare them and choose the 3D models that best fit the environment. For example, 3D models may represent furniture or home decorations for interior designs creation; lawn furniture, plants, or garden ornaments for creating landscape designs; designer clothes, jewelry, or make-up for image making, and so forth.
The resulting image, comprising the sample 2D environment 400 and the 3D model 610, may be saved and used, for example, to compare with other images or shared on social networks for peer comments.
In some embodiments, the 3D model 610 of an object may be connected to an online store, where a user could purchase the item depicted by the 3D model 610. Additionally, the user may create new 3D models to be used by the system for virtual visualization of 3D models of objects in 2D environment 200. These 3D models may be uploaded to the library of 3D object models or any other resource to be used/purchased by the system for virtual visualization of 3D models of objects in 2D environment 200 and/or other users.
The example computer system 700 includes a processor or multiple processors 702 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 704 and a static memory 706, which communicate with each other via a bus 708. The computer system 700 may further include a video display unit 710 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 700 may also include an alphanumeric input device 712 (e.g., a keyboard), a cursor control device 714 (e.g., a mouse), a disk drive unit 716, a signal generation device 718 (e.g., a speaker), and a network interface device 720.
The disk drive unit 716 includes a computer-readable medium 722, on which is stored one or more sets of instructions and data structures (e.g., instructions 724) embodying or utilized by any one or more of the methodologies or functions described herein. The instructions 724 may also reside, completely or at least partially, within the main memory 704 and/or within the processors 702 during execution thereof by the computer system 700. The main memory 704 and the processors 702 may also constitute machine-readable media.
The instructions 724 may further be transmitted or received over a network 726 via the network interface device 720 utilizing any one of a number of well-known transfer protocols (e.g., Hyper Text Transfer Protocol (HTTP)).
While the computer-readable medium 722 is shown in an example embodiment to be a single medium, the term “computer-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database and/or associated caches and servers) that store the one or more sets of instructions. The term “computer-readable medium” shall also be taken to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the machine and that causes the machine to perform any one or more of the methodologies of the present application, or that is capable of storing, encoding, or carrying data structures utilized by or associated with such a set of instructions. The term “computer-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals. Such media may also include, without limitation, hard disks, floppy disks, flash memory cards, digital video disks, random access memory (RAM), read only memory (ROM), and the like.
The example embodiments described herein may be implemented in an operating environment comprising software installed on a computer, in hardware, or in a combination of software and hardware.
Thus, a system and method for virtual visualization of 3D models of objects in 2D environment have been described. Although embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the system and method described herein. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
This application claims priority of U.S. Provisional Application No. 61/660,730, entitled “VISUALIZATION OF THREE-DIMENSIONAL MODELS OF OBJECTS IN TWO-DIMENSIONAL ENVIRONMENT,” filed Jun. 17, 2012, which is incorporated herein by reference in its entirety for all purposes.
| Number | Date | Country | |
|---|---|---|---|
| 61660730 | Jun 2012 | US |