Real-time video image analysis for providing virtual landscaping

System, method, and computer program product are provided for using real-time video analysis, such as AR or the like to assist the user of mobile devices with landscape design. Through the use of real-time vision object recognition objects, logos, artwork, products, locations, and other features that can be recognized in the real-time video stream can be matched to data associated with such to assist the user with selecting the proper landscape elements for the area the user wishes to landscape. The proper landscape elements may be based off of several factors regarding the landscape area. These factors include natural characteristics of the area, such as soil type, weather, sun/shade, natural terrain of the area, etc. This invention provides recommended landscape elements for an area, such that the recommended landscape elements have a high rate of success in the area.

CLAIM OF PRIORITY UNDER 35 U.S.C. §119

This Non-provisional patent application claims priority to U.S. Provisional Patent Application Ser. No. 61/450,213, filed Mar. 8, 2011, entitled “Real-Time Video Image Analysis Applications for Commerce Activity,” and U.S. Provisional Patent Application Ser. No. 61/508,966 titled “Real-Time Video Image Analysis for Providing Virtual Landscaping” filed on Jul. 18, 2011, assigned to the assignee hereof and hereby expressly incorporated by reference herein.

BACKGROUND

Land owners have many options when it comes to landscaping their property. Land owners may add grasses, plants, flowers, bushes, trees, rocks, yard gnomes, mulch, and/or the like to their land to enhance the look of their land and add value to their property. Furthermore, many land owners add hardscapes, such as pools, decks, furniture, or the like for outdoor entertainment purposes. Selecting and positioning these landscape elements is a difficult task for most land owners. In fact, many land owners turn to professional landscapers to determine recommended landscape elements to add and the location to add them.

Many factors may play a role in landscape design. For example, plants, grasses, flowers, bushes, trees, and other living landscape elements require proper water, sunlight, and soil conditions to grow. And, these criteria vary widely by plant species. Even with advances in technology, knowing the best landscape elements for a specific piece of property may be a challenging task.

Today, modern handheld mobile devices, such as smart phones or the like, have the capability to facilitate payment for a cup of coffee or provide a boarding pass for a flight. These advances combine multiple technologies through a handheld mobile device to provide a user with an array of capabilities. For example, many smart phones are equipped with significant processing power, sophisticated multi-tasking operating systems, and high-bandwidth Internet connection capabilities. Moreover, such mobile devices often have additional features that are becoming increasingly more common and standardized features. Such features include, but are not limited to, location-determining devices, such as Global Positioning System (GPS) devices; sensor devices, such as accelerometers; and high-resolution video cameras.

As the capabilities of such mobile devices have increased, so too have the applications (i.e., software) that can be used with the mobile devices. One such example of innovative software is a category known as augmented reality (“AR”), or more generally referred to as mediated reality. One such example of an AR presentment application platform is Layar, available from Layar, Amsterdam, the Netherlands. The Layar platform technology analyzes location data, compass direction data, and the like in combination with information related to the objects, locations or the like in a captured video stream to create browse-able “hot-spots” or “tags” that are superimposed on the mobile device display, resulting in an experience described as “reality browsing.”

SUMMARY

Embodiments of the present invention address the above needs and/or achieve other advantages by providing apparatuses (e.g., a system, computer program product and/or other devices) and methods for using real-time video analysis, such as AR or the like to assist the user of mobile devices with landscaping a defined landscaping area.

Using real-time video analysis, such as augmented reality or the like the user may capture information regarding a defined landscape area, such as the user's property around his house. The system reviews the captured information and provides the user of the mobile device with virtual landscape information, such as indications of the proper landscaping elements for the area the user captured in real-time video.

Landscape information may be provided to a user based on an analysis of several factors relating to the captured area. These factors include various information about the selected area to be landscaped, such as the global position, compass position of mobile device capturing the landscape image or video, climate range, rain fall averages, sun/shade, slope/topography, soil type, prevailing winds, dimensional data, existing plant, water and hardscape features, and the like. Other factors may include the selected landscaping style desired, such as formal, informal, Tuscan, Italian, Mediterranean, English garden, tropical, Asian, contemporary, desert, and/or xeriscape styles.

Based on these factors, the system may provide the best location for landscape elements within the defined landscape area. For example, the system may suggest planting a pine tree in the northern portion of the defined area of land, because the northern portion of the land provides the best environment for a pine tree to grow. The user may then select the indicator associated with that landscape element and purchase the element via his/her mobile device.

In some embodiments, the indicator associated with that specific landscape element may also provide other landscape elements suitable for that area. For example, if the user selects the indicator associated with the pine tree in the northern portion of the defined area of land, the system may provide other trees that may be suitable for that area, such as an Oak or Maple tree.

In some embodiments, the user may select a landscape element the system recommended from the real-time video display and move the element to other locations on the display in order to get a visual of the possible positioning of that element within the defined landscape area. The system may then analyze the factors for the location in which the user moved the element to and determine if the landscape element will be suitable for the new, user defined position.

In yet other embodiments, the user may provide an pre-selected landscape elements that he/she wants to have incorporated into the landscape area. The system may then position the landscape elements that the user provides in suitable positions, such that each element may be in the best location for its needs. For example, a user may wish to add a pool and patio furniture to his/her backyard. The system may position the furniture and pool in such a way as to make the pool the focal point of the backyard.

In still other embodiments, the user may be in a store, on the Internet, or in another location where landscape elements may be sold. The user may particularly like a specific element that he/she sees. The user may use real-time video analysis, such as augmented reality or the like to capture information regarding the landscape element. The system may then provide the user with a display incorporating that landscape element into the user's defined landscape area. In this way, the user may visualize the landscape element in his/her landscape area and determine if he/she wishes to purchase the product.

Embodiments of the invention relate to systems, methods, and computer program products for providing landscaping design recommendations comprising: building a directory of data relating to the landscape area, wherein the directory comprises information regarding a location within the landscape area, the information based on natural characteristics of the location within the landscape area; receiving information about a product from a mobile device, wherein the products are to be incorporated in the landscape area; matching the information about the product with the directory of data relating to locations within the landscape area, through the use of a processing device, wherein the matching of the product with the location within the landscape area is based at least in part on the natural characteristics of the location within the landscape area and the natural characteristics of the product; and presenting the products and indicators associated with the products in a real-time video stream on a mobile device, in a recommended location within the landscape area, the recommended location is based at least in part on the matching of information about the product with the directory of data relating to the location within the landscape area.

In some embodiments, presenting the products and indicators associated with the products comprises superimposing the products and indicators associated with the products over real-time video that is capture by the mobile phone of the landscape area, wherein the location of the products within the landscape area correspond to the directory of data relating to the landscape area. Presenting an indicator associated with the product may comprise displaying the indicator on a display of the mobile device. The presenting of an indicator associated with the product comprises superimposing the indicator over real-time video that is captured by the mobile device. The indicator may further be selectable by the user. The indicator, upon being selected, provides information about the product and the natural characteristics of the product compared to the natural characteristics of the location within the landscape area.

In some embodiments, matching the product with the directory of data relating to the landscape area further comprises determining a location for the product within the landscape area, wherein the location for the product within the landscape area is the location the product is going to thrive, based at least in part on the natural characteristics of the product and the landscape area.

In some embodiments, the directory comprises natural characteristic information regarding geographic location indications within the landscape area. The directory may further comprise natural characteristic information about geological information or weather data of the landscape area.

In some embodiments, receiving product information may comprise manually inputted list data, wherein the list data indicates user products preferences. Receiving product information may also comprise real-time imaging of a product.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

Embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the invention are shown. Indeed, the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to elements throughout. Where possible, any terms expressed in the singular form herein are meant to also include the plural form and vice versa, unless explicitly stated otherwise. Also, as used herein, the term “a” and/or “an” shall mean “one or more,” even though the phrase “one or more” is also used herein. Although some embodiments of the invention herein are generally described as involving a “financial institution,” one of ordinary skill in the art will appreciate that other embodiments of the invention may involve other businesses that take the place of or work in conjunction with the financial institution to perform one or more of the processes or steps described herein as being performed by a financial institution. Still in other embodiments of the invention the financial institution described herein may be replaced with other types of businesses that offer payment account systems to users.

While embodiments discussed herein are generally described with respect to “real-time video streams” or “real-time video” it will be appreciated that the video stream may be captured and stored for later viewing and analysis. Indeed, in some embodiments, video is recorded and stored on a mobile device and portions or the entirety of the video may be analyzed at a later time. The later analysis may be conducted on the mobile device or loaded onto a different device for analysis. The portions of the video that may be stored and analyzed may range from a single frame of video (e.g., a screenshot) to the entirety of the video. Additionally, rather than video, the user may opt to take a still picture of the environment to be analyzed immediately or at a later time. Embodiments in which real-time video, recorded video or still pictures are analyzed are contemplated herein.

Some embodiments of the invention herein are generally described as involving “landscape areas.” Landscape areas include any outdoor or open air area in which a user wishes to add landscape elements. Examples of landscape areas may include areas around a house, building, parks, decks, balconies, and the like. Further, some embodiments of the invention herein are generally described as involving “landscape elements.” Landscape elements are any items that a user may wish to place in a landscape area. Landscape elements may include vegetation, such as plants, trees, grasses, flowers and the like. Landscape elements may also include furniture, decks, grill areas, fire pits, fireplaces, rocks, stones, ponds, playground equipment, pools, or any other products that a user may wish to place in an outdoor area.

FIG. 1illustrates a high level process flow of a real-time landscaping process100, which will be discussed in further detail throughout this specification with respect toFIGS. 2 through 7. The first step in the process100is to receive information associated with an image, where the image was captured by a mobile device using real-time video stream, the mobile device operated by a user, as illustrated by block102. A real-time video stream may include images landscape areas or landscape elements. For example, a user may move about his/her backyard while capturing a real-time video stream of the environment including the dimensions, current vegetation, and the like. In another embodiment of the invention, a user may move in an aisle of a store or shopping mall while capturing a real-time video stream of the environment including landscape elements that the user may wish to incorporate into his/her landscape area. In additional embodiments, the real-time video stream may be captured from a mobile device affixed to a moving vehicle, such as an automobile or the like, such that as the vehicle is driven, real-time video stream may be captured including images of other landscape areas that the user likes and may wish to incorporate into his landscape area.

Next, in block104a determination is made as to which images from the real-time video stream are associated with landscape areas or landscape elements of users or individuals associated with the users of a mobile device. The determination is made by analyzing the real-time video stream for objects, logos, soil, dimensions, compass information, and/or other landscape area-indicating features or landscape element-indications features to determine what is within the video stream field and to then provide matches (i.e., associations) of landscape elements with a landscape area based on several factors. The factors may include global position, compass position of mobile device capturing the landscape image or video, climate range, rain fall averages, sun/shade, slope/topography, soil type, prevailing winds, dimensional data, existing plant, water and hardscape features, and the like. Other factors may include the selected landscaping style desired, such as formal, informal, Tuscan, Italian, Mediterranean, English garden, tropical, Asian, contemporary, desert, and/or xeriscape styles.

Thereafter, at block106one or more indicators are presented on the display of the mobile device in conjunction with the real-time video stream. In some embodiments, the indicators are presented when the user captures a landscape area. Each of the indicators is associated with an image determined to be a landscape element or a landscape area. The images associated with a landscape element are matched with the landscape area of the user of the mobile device, such that the landscape elements selected are specifically designed to fit into the landscape area. For example, a tree requiring full sun may be selected by the system to be positioned within the landscape area where there is full sun. The indicator may take various forms, such as display of a tag, a highlighted area, a hot-spot, or the like. In specific embodiments, the indicator is a selectable indicator, such that a user may select (e.g., click-on, hover-over, touch the display, provide a voice command, and/or the like) the landscape element or indicator to provide display of specifics related to the landscape element and offers for purchasing the element. In some embodiments, the indicator itself may provide the information or a portion of the information to the user. In addition, the information related to the landscape element or landscape area may include a review of the element or area by the system or associated individual.

FIG. 2provides a landscaping information system environment200, in accordance with one embodiment of the present invention. As illustrated inFIG. 2, the real-time video image server208is operatively coupled, via a network201to the mobile device204. In this way, the real-time video image server208can send information to and receive information from the mobile device204, to associate indicators within the real-time video stream to provide landscape element data and landscape element purchasing data to the user.FIG. 2illustrates only one example of an embodiment of a landscaping information system environment200, and it will be appreciated that in other embodiments one or more of the systems, devices, or servers may be combined into a single system, device, or server, or be made up of multiple systems, devices, or servers.

The network201may be a global area network (GAN), such as the Internet, a wide area network (WAN), a local area network (LAN), or any other type of network or combination of networks. The network201may provide for wireline, wireless, or a combination wireline and wireless communication between devices on the network.

In some embodiments, the user202is an individual. The user202may be a home owner, park director, landscaper, or any other individual wishing to use real-time video analysis for landscape information. The user202may be in range of any landscape area or landscape element for which the user202may wish to consider implementing using the real-time video system. In some embodiments, the user202may purchase the landscape element via selecting the indicator associated with the element. The transaction for purchase of the landscape element may be made by the user202using the mobile device204, such as a mobile wallet (i.e., smart phone, PDA, etc.) or other types of payment options, such as credit cards, checks, cash, debit cards, loans, lines of credit, virtual currency, etc. that allow the user202to make a transaction to purchase the landscape element.

The processing device212is operatively coupled to the communication device210and the memory device216. The processing device212uses the communication device210to communicate with the network201and other devices on the network201, such as, but not limited to the mobile device204. As such, the communication device210generally comprises a modem, server, or other device for communicating with other devices on the network201.

In some embodiments, the processing device212may also be capable of operating one or more applications, such as one or more applications functioning as an artificial intelligence (“AI”) engine. The processing device212may recognize landscape elements or landscape areas that it has identified in prior uses by way of the AI engine. In this way, the processing device212may recognize specific landscape elements and/or classes of elements, and store information related to the recognized landscape element in one or more memories and/or databases discussed herein. Once the AI engine has thereby “learned” of a landscape element and/or class of elements, the AI engine may run concurrently with and/or collaborate with other modules or applications described herein to perform the various steps of the methods discussed. For example, in some embodiments, the AI engine recognizes a landscape element that has been recognized before and stored by the AI engine. The AI engine may then communicate to another application or module of the mobile device and/or server, an indication that the landscape element may be the same landscape element previously recognized. In this regard, the AI engine may provide a baseline or starting point from which to determine the nature of the landscape element. In other embodiments, the AI engine's recognition of a landscape element is accepted as the final recognition of the element.

As further illustrated inFIG. 2, the real-time video image server208comprises computer-readable instructions218stored in the memory device216, which in one embodiment includes the computer-readable instructions218of a server application224. In some embodiments, the memory device216includes data storage222for storing data related to landscape information including but not limited to data created and/or used by the server application224or a directory created by the user202.

In the embodiment illustrated inFIG. 2and described throughout much of this specification, the server application224may analyses landscape areas captured by a user202using a real-time video stream. The server application224analyzes factors associated with the landscape area in order to predict a recommended landscape element to include in the landscape area. The factors the server application224analyzes includes, but is not limited to global position, compass position of mobile device capturing the landscape image or video, climate range, rain fall averages, sun/shade, slope/topography, soil type, prevailing winds, dimensional data, existing plant, water and hardscape features, and the like. Other factors may include the selected landscaping style desired, such as formal, informal, Tuscan, Italian, Mediterranean, English garden, tropical, Asian, contemporary, desert, and/or xeriscape styles.

Once the server application224analyzes the user's202landscape area, the server application224provides the user202a virtual landscape area incorporating proposed landscape elements based on the factors. For example, the user202may have captured his backyard using the real-time image capture on his mobile device204. The server application224, after analyzing the factors associated with the backyard, provides the user a virtual image of his/her back yard that includes the landscape elements the server application224determines as recommended. A recommended landscape element is one that may produce its maximum potential or a high potential given the location of the landscape area. For example, a flower that requires full sun light will reach its maximum potential if the flower is located in the landscape area that has full sun light. Furthermore, the virtual image of the back yard provides the user202an ability to visualize a proposed landscape design. It is understood that either one or a list of possible landscape elements suitable for the landscape area may be displayed to the user for selection.

In some embodiments, the server application224may further provide access to a directory storing landscape elements or landscape areas of a user202. The server application224allows the user202to manually input, via a mobile device204or other device with similar processing features such as a computer, tablet, hand held device, etc., landscape elements that the user202wishes for the system to consider when adding landscape elements to a landscape area. The user202inputs may be added by the user202through the use of an interface, social networking site, and/or the like. In this way, the user202may provide user202inputs by several means, thus allowing for easy accessibility to update the user's landscape element requests. The data stored within the server application224provides computer readable instructions218to the processing device212to allow for selection of these landscape elements when determining a recommended landscape elements. The server application224stores the user202inputted landscape element so that the server application224may incorporate the inputted landscape elements into a landscape area when appropriate.

In some embodiments, as described in further detail below, the server application224may recognize a marker230and/or objects220within an environment250. The marker230may be interpreted with respect to data in the memory device216and be recognized as a possible landscape element that may be available to the user202. In this way, the real-time video image server208provides marker230interpretations and analysis with respect to the data on the real-time video image server208.

Whether the landscape elements are provided by recommendation from the server application224or by the user202, the user may select the landscape element and move it within the landscape area. In this way, the user202may place the landscape elements where he/she wishes and view the landscape area with the landscape elements in various locations. When the user202moves the landscape element into a location on the landscape area other than the one recommended by the system, the indicator associated with the landscape element will provide the user202with information regarding the possible issues with moving the landscape element to that location. For example, a user202may move a pool from one side of the landscape area to another. However, the system may provide the user202information regarding a root system that would kill several large trees in the area if the pool was moved to that location or warn the user that the trees will create excessive cleaning/maintenance issues with the pool. In some embodiments, once a user202moves a landscape element from one location on the landscape area to another location on the landscape area, the indicator will provide a percentage of survival of that landscape element, if the landscape element is vegetation. The percentage information is based on the factors analyzed by the server application224.

In some embodiments, the server application224may analyze landscape elements captured by a user202using a real-time video stream at a store or retailer. The server application224analyzes the landscape elements the user202captures and stores the landscape elements in the memory device216. The server application224may provide an indicator to the user202for the landscape element. The indicator may provide the user202with the ability to purchase the landscape element, information about the landscape element, and allow the user202move and position the landscape element within the virtual landscape area.

The server application224may further provide the user202on the display of a mobile device, offers to purchase the landscape elements or similar landscape elements. Offers may be from several retailers of the landscape element, thus giving the user202options from whom to purchase the landscape element. Offers to purchase may further include special offers in the form of a discount, coupon, etc. that may expire within a predetermined amount of time or may be available to the user at any time he wishes to make a transaction. If the user202selects to purchase the landscape element through the indicator230on the display of the mobile device, the server application224may communicably link with the user's202desired financial institution to authorize the transaction. In this way, the system may provide convenient purchasing of a landscape item that the user202wishes to include in his landscape area.

As further illustrated isFIG. 2, an environment250in which the user202utilizes a mobile device204to capture real-time video of an environment250in an augmented reality experience. As described in further detail below with respect toFIG. 3, the mobile device204may be any mobile communication device. The mobile device204has the capability of capturing real-time video of the surrounding environment250. The real-time video capture may be by any means known in the art. In one particular embodiment, the mobile device204is a mobile telephone equipped with a camera capable of video capture.

The environment250contains a number of objects220. Objects220include, but are not limited to a landscape element, landscape area, and/or the like that the user202may wish to utilize the system for. Some of such objects220may include an marker230identifiable to the mobile device204. An marker230may be any type of marker that is a distinguishing feature that can be interpreted to identify specific objects220. In some embodiments, the marker230may be interpreted by the mobile device204. In other embodiments, the marker230may be interpreted by the real-time video image server208. In yet other embodiments, the marker230may be interpreted by both the mobile device204and the real-time video image server208. For instance, an marker may be alpha-numeric characters, symbols, logos, shapes, ratio of size of one feature to another feature, a product identifying code such as a bar code, electromagnetic radiation such as radio waves (e.g., radio frequency identification (RFID)), architectural features, color, etc. In some embodiments, the marker230may be audio and the mobile device204may be capable of utilizing audio recognition to identify words or unique sounds broadcast. The marker230may be any size, shape, etc. Indeed, in some embodiments, the marker230may be very small relative to the object220such as the alpha-numeric characters that identify the name or model of an object220, whereas, in other embodiments, the marker230is the entire object220such as the unique shape, size, structure, etc.

In some embodiments, the marker230is not actually a physical marker located on or being broadcast by the object220. For instance, the marker230may be some type of identifiable feature that is an indication that the object220is nearby. In some embodiments, the marker230for an object220may actually be the marker230for a different object220. For example, the mobile device204may recognize a particular building as being “Building A.” Data stored in the data storage371may indicate that “Building B” is located directly to the east and next to “Building A.” Thus, marker230for an object220that are not located on or being broadcast by the object220are generally based on fixed facts about the object220(e.g., “Building B” is next to “Building A”). However, it is not a requirement that such a marker230be such a fixed fact. The marker230may be anything that enables the mobile device204and/or the financial institution application224to interpret to a desired confidence level what the object is. For example, the mobile device204, object recognition application325and/or AR presentation application321may be used to identify a particular person as a first character from a popular show, and thereafter utilize the information that the first character is nearby features of other characters to interpret that a second character, a third character, etc. are nearby, whereas without the identification of the first character, the features of the second and third characters may not have been used to identify the second and third characters. This example may also be applied to objects outside of people.

The marker230may also be, or include, social network data, such as data retrieved or communicated from the Internet, such as tweets, blog posts, social networking site posts, various types of messages and/or the like. In other embodiments, the marker230is provided in addition to social network data as mentioned above. For example, mobile device204may capture a video stream and/or one or more still shots of a large gathering of people. In this example, as above, one or more people dressed as characters in costumes may be present at a specified location. The mobile device204, object recognition application325, and/or the AR presentation application321may identify several social network indicators, such as posts, blogs, tweets, messages, and/or the like indicating the presence of one or more of the characters at the specified location. In this way, the mobile device204and associated applications may communicate information regarding the social media communications to the user and/or use the information regarding the social media communications in conjunction with other methods of object recognition. For example, the mobile device204object recognition application325, and/or the AR presentation application321performing recognition of the characters at the specified location may confirm that the characters being identified are in fact the correct characters based on the retrieved social media communications. This example may also be applied objects outside of people.

In some embodiments, the mobile device and/or server accesses one or more other servers, social media networks, applications, and/or the like in order to retrieve and/or search for information useful in performing an object recognition. In some embodiments, the mobile device and/or server accesses another application by way of an application programming interface or API. In this regard, the mobile device and/or server may quickly search and/or retrieve information from the other program without requiring additional authentication steps or other gateway steps.

In some embodiments, markers230may be recognized by the server application224. For example, the server application224may identify a marker230as being a specific landscape element, the server application224may then provide real-time data indicating the proposed location for the landscape element within the landscape area of the user202. For example, the marker230may identify the landscape element as a birch tree. In this way, the server application224may provide an appropriate location within the user's202landscape area for the birch tree. The server application224may also provide an indicator of the other types of landscape elements that may be recommended in the landscape area.

WhileFIG. 2illustrates that the objects220with markers230only include a single marker230, it will be appreciated that the object220may have any number of markers230with each equally capable of identifying the object220. Similarly, multiple markers230may be identified by the mobile device204such that the combination of the markers230may be utilized to identify the object220. For example, the facial recognition may identify a person as a famous athlete, and thereafter utilize the uniform the person is wearing to confirm that it is in fact the famous athlete.

In some embodiments, a marker230may be the location of the object220. In such embodiments, the mobile device204may utilize GPS software to determine the location of the user202. As noted above, a location-based marker230could be utilized in conjunction with other non-location-based markers230identifiable and recognized by the mobile device204to identify the object220. However, in some embodiments, a location-based marker230may be the only marker230. For instance, in such embodiments, the mobile device204may utilize GPS software to determine the location of the user202and a compass device or software to determine what direction the mobile device204is facing in order to identify the object220. In still further embodiments, the mobile device204does not utilize any GPS data in the identification. In such embodiments, markers230utilized to identify the object220are not location-based.

FIG. 3illustrates an embodiment of a mobile device204that may be configured to execute object recognition and/or augmented reality functionality. A “mobile device”204may be any mobile communication device, such as a cellular telecommunications device (i.e., a cell phone or mobile phone), personal digital assistant (PDA), a mobile Internet accessing device, or other mobile device including, but not limited to portable digital assistants (PDAs), pagers, mobile televisions, gaming devices, laptop computers, cameras, video recorders, audio/video player, radio, GPS devices, any combination of the aforementioned, or the like.

The mobile device204may generally include a processing device310communicably coupled to such devices as a memory device320, user output devices336, user input devices340, a network interface360, a power source315, a clock or other timer350, a camera370, a positioning system device375, one or more chips380, etc.

In some embodiments, the mobile device204and/or the server access one or more databases or datastores (not shown) to search for and/or retrieve information related to the object and/or marker. In some embodiments, the mobile device204and/or the server access one or more datastores local to the mobile device204and/or server and in other embodiments, the mobile device204and/or server access datastores remote to the mobile device and/or server. In some embodiments, the mobile device204and/or server access both a memory and/or datastore local to the mobile device204and/or server as well as a datastore remote from the mobile device204and/or server

The processing device310may include functionality to operate one or more software programs or applications, which may be stored in the memory device320. For example, the processing device310may be capable of operating a connectivity program, such as a web browser application322. The web browser application322may then allow the mobile device204to transmit and receive web content, such as, for example, location-based content and/or other web page content, according to a Wireless Application Protocol (WAP), Hypertext Transfer Protocol (HTTP), and/or the like.

The processing device310may also be capable of operating applications, such as an object recognition application325and/or an AR presentment application321. The object recognition application325and/or the AR presentment application321may be downloaded from a server and stored in the memory device320of the mobile device204. Alternatively, the object recognition application325and/or the AR presentment application321may be pre-installed and stored in a memory in the chip380. In such an embodiment, the user may not need to download the object recognition application325and/or the AR presentment application321from a server. In this way the object recognition application325and/or the AR presentment application321may remain at the server, such as the real-time video image server208, within the server application224.

The object recognition application325provides the mobile device204with object recognition capabilities. In this way, objects220such as products and/or the like may be recognized by the object220itself and/or markers230associated with the objects220. This is described in further detail below with respect toFIG. 4. In this way the object recognition application325may communicate with other devices on the network201to determine the object220within the real-time video stream.

The AR presentment application321provides the mobile device204with AR capabilities. In this way, the AR presentment application321may provide superimposed indicators related to the object220in the real-time video stream, such that the user202may have access to the targeted offers by selecting an indicator superimposed on the real-time video stream. The AR presentment application321may communicate with the other devices on the network201to provide the user202with indications associated with targeted offers for objects202in the real-time video display. The presentation and selection of indicators provided to the user202via the AR presentment application321is described in further detail below with respect toFIG. 5.

The chip380may include the necessary circuitry to provide the object recognition and/or the AR functionality to the mobile device204. Generally, the chip380will include data storage371which may include data associated with the objects within a real-time video stream that the object recognition application325identifies as having a certain marker(s). The chip380and/or data storage371may be an integrated circuit, a microprocessor, a system-on-a-chip, a microcontroller, or the like. As discussed above, in one embodiment, the chip380may provide the object recognition and/or AR functionality to the mobile device204.

Of note, whileFIG. 3illustrates the chip380as a separate and distinct element within the mobile device204, it will be apparent to those skilled in the art that the chip380functionality may be incorporated within other elements in the mobile device204. For instance, the functionality of the chip380may be incorporated within the memory device320and/or the processing device310. In a particular embodiment, the functionality of the chip380is incorporated in an element within the mobile device204that provides object recognition and/or the AR capabilities to the mobile device204. Still further, the chip380functionality may be included in a removable storage device such as an SD card or the like.

The processing device310may be configured to use the network interface360to communicate with one or more other devices on a network201such as, but not limited to the real-time video image server208. In this regard, the network interface360may include an antenna376operatively coupled to a transmitter374and a receiver372(together a “transceiver”). The processing device310may be configured to provide signals to and receive signals from the transmitter374and receiver372, respectively. The signals may include signaling information in accordance with the air interface standard of the applicable cellular system of the wireless telephone network that may be part of the network201. In this regard, the mobile device204may be configured to operate with one or more air interface standards, communication protocols, modulation types, and access types. By way of illustration, the mobile device204may be configured to operate in accordance with any of a number of first, second, third, and/or fourth-generation communication protocols and/or the like. For example, the mobile device204may be configured to operate in accordance with second-generation (2G) wireless communication protocols IS-136 (time division multiple access (TDMA)), GSM (global system for mobile communication), and/or IS-95 (code division multiple access (CDMA)), or with third-generation (3G) wireless communication protocols, such as Universal Mobile Telecommunications System (UMTS), CDMA2000, wideband CDMA (WCDMA) and/or time division-synchronous CDMA (TD-SCDMA), with fourth-generation (4G) wireless communication protocols, and/or the like. The mobile device204may also be configured to operate in accordance with non-cellular communication mechanisms, such as via a wireless local area network (WLAN) or other communication/data networks.

The network interface360may also include an application interface373in order to allow a user to execute some or all of the above-described processes with respect to the object recognition application325, the AR presentment application321, and/or the chip380. In some embodiments, the application interface373may further execute some or all of the above-described processes with respect to the server application224. The application interface373may have access to the hardware, e.g., the transceiver, and software previously described with respect to the network interface360. Furthermore, the application interface373may have the ability to connect to and communicate with an external data storage on a separate system within the network201. In some embodiments, the external data is stored in the memory device216of the real-time video image server208.

As described above, the mobile device204may have a user interface that includes user output devices336and/or user input devices340. The user output devices336may include a display330(e.g., a liquid crystal display (LCD) or the like) and a speaker332or other audio device, which are operatively coupled to the processing device310. The user input devices340, which may allow the mobile device204to receive data from a user202, may include any of a number of devices allowing the mobile device204to receive data from a user202, such as a keypad, keyboard, touch-screen, touchpad, microphone, mouse, joystick, other pointer device, button, soft key, and/or other input device(s).

The mobile device204may further include a power source315. Generally, the power source315is a device that supplies electrical energy to an electrical load. In some embodiment, power source315may convert a form of energy such as solar energy, chemical energy, mechanical energy, etc. to electrical energy. Generally, the power source315in a mobile device204may be a battery, such as a lithium battery, a nickel-metal hydride battery, or the like, that is used for powering various circuits (e.g., the transceiver circuit, and other devices that are used to operate the mobile device204). Alternatively, the power source315may be a power adapter that can connect a power supply from a power outlet to the mobile device204. In such embodiments, a power adapter may be classified as a power source “in” the mobile device.

The mobile device204may also include a memory device320operatively coupled to the processing device310. As used herein, memory may include any computer readable medium configured to store data, code, or other information. The memory device320may include volatile memory, such as volatile Random Access Memory (RAM) including a cache area for the temporary storage of data. The memory device320may also include non-volatile memory, which can be embedded and/or may be removable. The non-volatile memory may additionally or alternatively include an electrically erasable programmable read-only memory (EEPROM), flash memory or the like.

The memory device320may store any of a number of applications or programs which comprise computer-executable instructions/code executed by the processing device310to implement the functions of the mobile device204described herein. For example, the memory device320may include such applications as an object recognition application325, an AR presentment application321, a web browser application322, an SMS application323, an email application324, etc.

FIG. 4further illustrates a mobile device204wherein the user202has executed an object recognition application325, an AR presentment application321, and a real-time video capture device (e.g., camera370) is utilized to display the surrounding environment250on the display330of the mobile device204. In some embodiments, the object recognition application325is configured to utilize markers230to identify objects220, such as landscape elements or landscape areas, and indicate to the user202identified objects220by displaying a virtual image400on the mobile device display330. As illustrated inFIG. 4, if an object220does not have any markers230(or at least enough markers230to yield object identification), the object220will be displayed without an associated virtual image400.

The object recognition application325may use any type of means in order to identify desired objects220. For instance, the object recognition application325may utilize one or more pattern recognition algorithms to analyze objects in the environment250and compare with markers230in data storage371which may be contained within the mobile device204(such as within chip380) or externally on a separate system accessible via the connected network201, such as but not limited to the real-time video image server208. For example, the pattern recognition algorithms may include decision trees, logistic regression, Bayes classifiers, support vector machines, kernel estimation, perceptrons, clustering algorithms, regression algorithms, categorical sequence labeling algorithms, real-valued sequence labeling algorithms, parsing algorithms, general algorithms for predicting arbitrarily-structured labels such as Bayesian networks and Markov random fields, ensemble learning algorithms such as bootstrap aggregating, boosting, ensemble averaging, combinations thereof, and the like.

Upon identifying an object220within the real-time video stream, the AR presentment application321is configured to superimpose a virtual image400on the mobile device display330. The virtual image400is generally a tab or link displayed such that the user202may “select” the virtual image400and retrieve information related to the identified object. The information may include any desired information associated with the selected object and may range from basic information to greatly detailed information. In some embodiments, the virtual image400may provide the user202with an internet hyperlink to further information on the object220. The information may include, for example, all types of media, such as text, images, clipart, video clips, movies, or any other type of information desired. In yet other embodiments, the virtual image400information related to the identified object may be visualized by the user204without “selecting” the virtual image400.

In embodiments in which the virtual image400provided by the AR presentment application321may provide an interactive tab to the user202, the user202may select the virtual image400by any conventional means for interaction with the mobile device204. For instance, in some embodiments, the user202may utilize an input device340such as a keyboard to highlight and select the virtual image400in order to retrieve the information. In a particular embodiment, the mobile device display330includes a touch screen that the user may employ to select the virtual image400utilizing the user's finger, a stylus, or the like.

In some embodiments, the virtual image400is not interactive and simply provides information to the user202by superimposing the virtual image400onto the display330. For example, in some instances it may be beneficial for the AR presentment application321to merely identify an object220, just identify the object's name/title, give brief information about the object, etc., rather than provide extensive detail that requires interaction with the virtual image400. The mobile device204is capable of being tailored to a user's desired preferences.

Furthermore, the virtual image400may be displayed at any size on the mobile device display330. The virtual image400may be small enough that it is positioned on or next to the object220being identified such that the object220remains discernable behind the virtual image400. Additionally, the virtual image400may be semi-transparent such that the object220remains discernable behind the virtual image. In other embodiments, the virtual image400may be large enough to completely cover the object220portrayed on the display330. Indeed, in some embodiments, the virtual image400may cover a majority or the entirety of the mobile device display330.

The user202may opt to execute the object recognition application325and/or the AR presentment application321at any desired moment and begin video capture and analysis. However, in some embodiments, the object recognition application325and/or the AR presentment application321includes an “always on” feature in which the mobile device204is continuously capturing video and analyzing the objects220within the video stream. In such embodiments, the object recognition application325may be configured to alert the user202that a particular object220has been identified. The user202may set any number of user preferences to tailor the AR experience to his needs. For instance, the user202may opt to only be alerted if a certain particular object220is identified. Additionally, it will be appreciated that the “always on” feature in which video is continuously captured may consume the mobile device power source315more quickly. Thus, in some embodiments, the “always on” feature may disengage if a determined event occurs such as low power source315, low levels of light for an extended period of time (e.g., such as if the mobile device204is in a user's pocket obstructing a clear view of the environment250from the mobile device204), if the mobile device204remains stationary (thus receiving the same video stream) for an extended period of time, the user sets a certain time of day to disengage, etc. Conversely, if the “always on” feature is disengaged due to the occurrence of such an event, the user202may opt for the “always on” feature to re-engage after the duration of the disengaging event (e.g., power source315is re-charged, light levels are increased, etc.).

In some embodiments, the user202may identify objects220that the object recognition application325does not identify and add it to the data storage371with desired information in order to be identified and/or displayed in the future. For instance, the user202may select an unidentified object220and enter a name/title and/or any other desired information for the unidentified object220. In such embodiments, the object recognition application325may detect/record certain markers230about the object so that the pattern recognition algorithm(s) (or other identification means) may detect the object220in the future. Furthermore, in cases where the object information is within the data storage371, but the object recognition application325fails to identify the object220(e.g., one or more identifying characteristics or markers230of the object has changed since it was added to the data storage371or the marker230simply was not identified), the user202may select the object220and associate it with an object220already stored in the data storage371. In such cases, the object recognition application325and/or AR presentment application321may be capable of updating the markers230for the object220in order to identify the object in future real-time video streams.

In addition, in some embodiments, the user202may opt to edit the information or add to the information provided by the virtual object400. For instance, the user202may opt to include user-specific information about a certain object220such that the information may be displayed upon a future identification of the object220. Conversely, in some embodiments, the user may opt to delete or hide an object220from being identified and a virtual object400associated therewith being displayed on the mobile device display330.

Furthermore, in some instances, an object220may include one or more markers230identified by the object recognition application325that leads the object recognition application325to associate an object with more than one object in the data storage371. In such instances, the user202may be presented with the multiple candidate identifications and may opt to choose the appropriate identification or input a different identification. The multiple candidates may be presented to the user202by any means. For instance, in one embodiment, the candidates are presented to the user202as a list wherein the “strongest” candidate is listed first based on reliability of the identification. Upon input by the user202identifying the object220, the object recognition application325and/or the AR presentment application321may “learn” from the input and store additional markers230in order to avoid multiple identification candidates for the same object220in future identifications.

Additionally, the object recognition application325may utilize other bases for identification than identification algorithms. For instance, the object recognition application325may utilize the user's location, time of day, season, weather, speed of location changes (e.g., walking versus traveling), “busyness” (e.g., how many objects are in motion versus stationary in the video stream), as well any number of other conceivable factors in determining the identification of objects220. Moreover, the user202may input preferences or other metrics for which the object recognition application325may utilize to narrow results of identified objects220.

In some embodiments, the AR presentment application321may have the ability to gather and report user interactions with displayed virtual objects400. The data elements gathered and reported may include, but are not limited to, landscape elements and landscape areas. Such user interactions may be reported to any type of entity desired.

In some embodiments, the information provided by the real-time video stream may be compared to data provided to the system through an API. In this way, the data may be stored in a separate application and be implemented by request from the mobile device and/or server.

FIG. 5illustrates a process map for providing landscape information using a real-time video stream500. At block502the user202views a landscape area or a landscape element. In additional embodiments, a real-time video stream may be captured from a mobile device affixed to a moving vehicle, such as an automobile or the like, such that as the vehicle moves, real-time video stream is captured including images of landscape areas that the vehicle passes. In this way, the user202may capture real-time images of the landscape area he wishes to landscape or the user202may capture real-time images of landscape areas that he wishes to immolate in his landscape area. Once the user202enters the landscape area or passes by a landscape area that the user202likes, the user202may point his mobile device at the landscape area or the landscape element, as shown in block504.

At block506the user202may capture images of landscape areas or landscape elements, as part of a real-time video stream. In some embodiments, the user202may point his/her mobile device at a landscape area, such as a yard, park, deck, etc. In other embodiments, the user202may point his/her mobile device at a landscape element, such as trees, flowers, bushes, rocks, bricks, pools, decking, furniture, mulch, etc. These landscape elements may be in a landscape area or in a retail store or business. Once the user has captured images, the system may receive information associated with the image508. The image may be a single frame of video (e.g., a screenshot), an entirety of a video, or any portion in between. Additionally, rather than video, the user may opt to take a still picture of the environment. The image may further comprise of multiple single images compiled together. In some embodiments, the system may recognize the landscape area within the captured image. In other embodiments, the system may recognize the landscape elements within the captured image. In yet other embodiments, the system may recognize landscape styles within the captured image.

Once the server application224or mobile device204receives the information associated with the image, a comparison of the information from the image to identifying data to a directory, stored in the memory device is performed, as illustrated in block510. The directory may first determine the landscape element or landscape area in the image, from the information sent to the system. For example, if the user202is using real-time video stream to identify his/her backyard, the data from the image the user202took may provide data to the server application224or the mobile device204such that the factors associated with the landscape area524that have been previously analyzed may be known. Second, the directory may include a database of information for landscape elements and landscape styles. The information for landscape elements includes data about each landscape element as it pertains to the factors for landscape areas. Therefore once the system determines the landscape element in the image or manually inputted by the user, the directory may compare the factors of the user's202landscape area to the data of that particular landscape element to determine a score for that landscape element. The score of the landscape element provides an indication on how close of a match the landscape element is in relation to the landscape area, based on the factors. In this way the system may score each element to determine which element may be best situated for the user's202landscape area. The database for landscape styles functions similar to the database for landscape elements. In this way, the system may determine a score for how closely the landscape element matches the landscape style of the user202.

At block512factors are analyzed with respect to a landscape area and/or a landscape element, to provide a recommended landscape element for a landscape area. The recommended landscape element is presented in the landscape area virtually on the mobile device204of the user202. In this way, the user202may virtually view his landscape area with landscape elements positioned in the area. Furthermore, the user202may be able to position the landscape elements into different positions within the area. Determining a recommended landscape element for a landscape area depends on the landscape element properties and how those properties coincide with the landscape area. To determine if the properties of the landscape elements are appropriate for a landscape area, landscape area factors524are analyzed. Landscape element properties allow the landscape element to work up to its maximum potential. For example, a flower may require partial sun, therefore the maximum potential of the flower is more likely to be reached if the flower is in partial sun. In another example, a pool may reach its maximum potential when it is not located directly under a tree that may have leaves and other sediments that may fall into the pool and cause the filters to not work efficiently.

Landscape area factors524include soil type525, global positioning data526, compass data527, dimensional data528, water and hardscape529, sun/shade data530, climate range531, slope/topography532, prevailing winds533, rain fall534, existing landscape535, and landscape styles536. Soil type525may aid in predicting the proper vegetation for a specific landscape area. Soil type525may be analyzed by the system, such that the system may recognize if the soil is clay based, top soil, nutrient rich soil, etc. For example, specific landscape elements may not grow to their maximum potential if they are in a clay based soil. However, other landscape elements may thrive in a clay based soil environment. Therefore, the system may determine the soil type525of the landscape area in order to recommend landscape elements for the landscape area that may reach their maximum potential in the soil of the landscape area. In some embodiments, the soil type525may be determined by utilizing the other landscape area factors524, such as GPS data526or compass data527. In other embodiments, the soil type525may be determined by the system analyzing the captured image of the landscape area.

Global positioning data526and compass data527provide location and directional basis for the determination of a recommended landscape elements location within a landscape area. GPS data526provides the location of the user's202landscape area so that weather data, latitudinal data, and even soil type525may be determined by GPS data526. Compass data527provides directional indicators of the landscape area, such that sun/shade regions of the landscape area may be determined. For example, the compass data527may determine where on the landscape area will be full sun, partial sun, or full shade. For example if a house is located in the landscape area, the system will recognize that if the east side of the house will get morning light and the west side of the house will get afternoon light whereas the north and south sides of the house may be mostly shade.

Further, global positioning data526may provide the system with U.S. Department of Agriculture (USDA) zone data or data from Extension Offices. In this way, the user202may determine that if the landscape element is a proper element for that zone.

Global positioning data536may also determine home owners' association regulations, local ordinances, and the like. In this way, the system may determine if the landscape element follow ordinances of the area. For example, the user202may wish to add a fence to his backyard. However, the home owners' association may only allow for a specific color, size, or material for the fence.

Dimensional data528provides the system an indication of the size of the landscape area the user202captures. In this way, the system may determine the appropriate size and number of landscape elements for the particular landscape area, such as the boundary lines or property lines for the landscape area. For example, the system may recognize that a large pool, tree, or other landscape element may not fit into a landscape area, thus those larger landscape elements may not be included as a recommended landscape element for the landscape area. The system may not only recognize the location for individual landscape elements, but also for a group of landscape elements. For example, the user202may wish to place a vegetable garden in his/her yard. Therefore the dimensional data528may aid the system in determining an appropriate location for the vegetable garden. Dimensional data528may also provide a determination as to the appropriate spacing of landscape elements. For example, if the user202wishes to plant several trees, the system may recognize that spacing the trees two feet apart may look acceptable to the user202now, but as the trees grow, the two foot spacing will not be adequate. In this way, the system may allow the user to visualize a landscape area and proposed landscape area as it currently looks as well as in the future.

Water and hardscape data529include land water features and hardscape features that may be in the landscape area. Land water features include depressions in the land where water may collect or high spot in the landscape area where the soil is dryer. In this way, the land water features of the landscape area may provide an indication to which landscape elements may be placed in different positions in the landscape area. For example, if a bush needs a lot of water, the system may recommend placing the bush in a depression in the landscape area such that the bush may receive extra water. Hardscape features include where the user202may have installed a rock retaining wall, driveway, gravel, etc. such that those areas may not be suitable for many landscape elements.

Sun/shade data530is an analysis of the possible locations to position landscape elements within the landscape area with respect to how much sun or shade that location gets within the landscape area. Different locations within the landscape area may have full sun, partial sun, or full shade depending on the location's position within the landscape area. In this way, the system may determine which landscape elements are appropriate within a specific location of the landscape area based on the amount of sun the location gets. For example, if a location within the landscape area gets full sun, a landscape element that requires full sun to reach its maximum potential will be recommended to be placed in that location. Sun/shade data530may also help the system predict if alternative energy sources such as solar panels or the like are a valid option for the user202.

Climate range531includes the range of temperatures that the landscape area will experience throughout the year. The change in temperatures will affect some landscape elements adversely, thus the landscape elements may not reach their maximum potential.

Slope and topography data532provides an indication as to the elevation changes within the landscape area. For example, if the landscape area is below sea level, it may get be in a wet environment that may be in a position to be flooding.

Prevailing winds data533analyzes the prevailing winds of the landscape area to determine if the landscape elements are able to withstand winds within the region. For example, heavier patio furniture may be recommended to a user202who is near the coast line, where there are constant, stronger winds, than the patio furniture recommended for a landscape area that is protected from the winds by mountains. Prevailing winds data533may also help the system predict if alternative energy sources such as wind power or the like are a valid option for the user202.

Rain fall data534includes the average rain fall in an area per year. Some landscape elements such as desert plants require little rain fall to reach its potential growth, where as others require several inches of rain fall a year to reach its potential growth.

The system reviews the existing landscape535, if any, to reveal landscape elements that the user202may like in the past, so as to incorporate those (or similar thereto) landscape elements into the new landscape design. Existing landscape535may also include pipelines, irrigation lines, electrical lines, and the like that may be running under the ground of the landscape area.

The existing landscape535may also provide the system with an indication as to insects, animals, or the like which may harm the growth or functionality of the landscape elements. For example, the system may recognize a landscape element, such as a bush, that has leaves falling from it. The system may determine whether the leaves falling from the bush is a natural occurrence or if the leaves falling from the bush are caused by an invasive insect. If an insect is responsible, the system may recommend a pesticide or the like to treat the bush with, such that the insect will no longer disturb the bush. In some embodiments, the system may also provide an attractant for animals. In this way, the system may recommend bird feeders, butterfly feeders, or the like, such that the landscape area may attract more animals.

Landscape styles536include user202desired landscape styles such as formal, informal, Tuscan, Italian, Mediterranean, English garden, topical, Asian, contemporary, desert, and/or xeriscape styles. Landscape styles536may also include styles from specific designers, television shows, or landscape architects. For example, a user202may like a particular famous garden, such as one in Central Park or at the Biltmore Estate. Based on the landscape architect of that garden, the system may provide similar landscape elements.

These factors are analyzed with respect to the landscape area and landscape elements. The directory comprises databases, as mentioned above, that have information relating to a verity of landscape elements. The databases contain information about the landscape elements with respect to the factors. Thus, the system may determine the factors associated with the user's202landscape area and subsequently select landscape elements that match those factors. A match between the landscape area of the user202and the landscape elements202of the database provides the method of recommending landscape element positions within the landscape area by the system.

As further detailed inFIG. 5, once the factors are analyzed for providing a recommended landscape element into a landscape area in block512, in decision block514, a determination is made as to whether the mobile device is still capturing video stream of the landscape area or landscape elements. If no video stream is being captured then no indicator is presented in block516. If a video stream is still being captured, then in block518indicators are continuing to be presented with respect to the landscape elements within the landscape area. The indicators are associated with a landscape element the user202may visualize in a virtual landscape area environment. In some embodiments, the virtual landscape area environment may be in current time. In some embodiments, the system may provide the virtual landscape area environment in future time. In this way, the user202may visualize the potential growth of landscape elements over a period of several years. In yet other embodiments, the virtual landscape area environment may be captured and the system may allow the user202to communicate the captured image via social networking, email, texting, or the like such that friends, family, and other individuals may vote whether they “like” or “dislike” the landscaped area. In some embodiments, the user202may select the indicator. The selected indicator may allow the user202to obtain further detail about the landscape elements recommended for the landscape area in block520. In some embodiments, selecting the indicator allows the user202to position the element in other locations within the landscape area. In yet other embodiments, the user202may be provided an offer to purchase the landscape elements recommended by the system when an indicator is selected.

If the user202selects the indicator in block520, the user202may be provided further detail about the landscape elements with respect to the landscape areas, such as the properties of the landscape elements. For example, the detailed information for the landscape elements may include the properties of the landscape elements. The properties of the landscape elements may include any aspects that allow the landscape element to reach its maximum potential (whether that be growth, long life, etc.). For example, a flower may require full sun, therefore full sun may be required for the flower to meet its maximum potential.

If the user202selects the indicator in block520, the user202may also have the option of moving the landscape element within the virtual landscape area. In this way, the user202may view the landscape element in different positions within the landscape area so that he may make a determination of where he likes the landscape element positioned. The system may also provide a percentage of maximum potential for the landscape element when the user202moves the element to a different location. For example, the system may recommend a bush that requires shade and a lot of water in a position on the landscape area that has shade and a depression (such that a large amount of water is present). However, if the user202moves the bush to a high spot in the landscape area that also receives full sun, the bush may not reach its maximum potential. The system may recognize that there is only a fifty percent change the bush will survive to reach its maximum potential, thus the system will provide the user202with that information.

As further illustrated inFIG. 5at block522a user202may purchase a landscape element that has been recommended by the system when the user202selects the indicator associated with the landscape element. In this way, the user202may add the landscape element to his/her landscape area.

FIG. 6illustrates a process map for providing landscape information using a real-time video stream600. At block602the user202enters a store and approaches a landscape element. The landscape element may be viewed when a user202enters a retailer or a business and approaches a landscape element. The user202may then point his mobile device at the landscape element in the retail store or business, as shown in block604.

At block606the user202may capture images of the landscape elements in a retail store or business, as part of a real-time video stream. In some embodiments, the user202may point his mobile device at a landscape element, such as trees, flowers, bushes, rocks, bricks, pools, decking, furniture, mulch, etc. These landscape elements may in a retail store, a business, on television, on the internet, or the like. Similar to above with respect toFIG. 5, once the user has captured images, the system may receive the information associated with the image608. Once the server application224or mobile device204receives the information associated with the image, a comparison of the information from the image to identifying data, or a directory, stored in the memory device is performed, as illustrated in block610. The directory may determine the landscape element in the image, from the information sent to the system. The directory may include manually inputted landscape elements.

Manual inputs may be provided by the user202through the use of an interface, social networking site, by other selection methods which may include, but are not limited to sending a communication via email, text, voice message, video message/conference, or like means of selecting an opt-in function. The user202may opt-in to using an interface, such as a selection interface700, such as illustrated inFIG. 7.

FIG. 7illustrates a selection interface700in accordance with some embodiments of the invention. If the user202has opted-in for manual input of landscape elements, the user202may provide the landscape elements to the directory. Manually inputted landscape elements may include landscape element favorites of the user202. In one embodiment, manually inputted landscape elements may be provided to the directory by the user202or individual associated with the user by an interface, such as the selection interface700.

The selection interface700may be provided to the mobile device of the user202by the server application224. The user202may access the interface in any means he would typically access the system or the Internet.FIG. 7provides one embodiment of a selection interface that allows a user202to opt-in to provide manually inputted landscape elements for consideration within the user's202landscape area. The real-time video image server208receives a request from a user202to manually input landscape elements.

The user202may provide landscape elements he/she wishes to consider in his/her landscape area within the select landscape element section702. In the select landscape element section702the user202may find landscape elements that he/she wishes to incorporate into his/her landscape area. In the landscape element section704, the user202may search for landscape elements within a category of landscape elements listed. The landscape element categories include vegetation710, furniture712, entertainment714, and other716.

If the user202is searching for a landscape element, the user202may select a category from which to search for the landscape element in the landscape element section704. Once the user202has selected a category, for example the vegetation category710, the user202may select the method of searching from the find landscape element section706. The methods of searching for a landscape element include the Internet718, a captured image720or from a retail store722. If the user selects the Internet718, the user202is directed to a search engine to search for the landscape element. For example, if the user202is looking for a specific type of Oak tree, the user202may input the type of Oak tree into the search engine to find that specific Oak tree. The user202may then add the Oak tree to his/her directory by selecting the add button.

If the user202has previously captured an image of a landscape element from one of the categories, the user202may select the category and up-load the image. In this way, the system may incorporate that landscape element into the landscape area of the user202. The capturing of an image may have occurred using the mobile device, a computer, camera, or the like.

The user202may also search retailers for landscape items in section722. Retailers may include a retail store, a business, a website of a retailer or business, or the like. For example, a user202may be in a retail store that carries landscape elements. The user202may see a landscape element that he/she would like to include in his landscape area. Therefore, the user202may capture the landscape element and store it in the directory for positioning in his landscape area.

Once the user202has found the landscape elements desired, the user202may add the landscape elements to a directory for the system to incorporate the landscape elements into the user's202landscape area. In some embodiments, the system is able to position the element in the user's202landscape area immediately. For example, if the user202captures an image of a landscape element at a retail store, the system may instantly position the element within the user's202landscape area. In this way, the user202may have a virtual image of his/her landscape area with the landscape element, so that the user202may decide if he/she wishes to purchase that landscape element at the retailer.

Adding landscape elements from the directory may be done by the user202in the landscape area section708of the selection interface700. In the landscape area section708the user202may select the landscape area to add the element to in section724. For example, a user202may have multiple landscape areas he is landscaping. For example, the user202may be a landscape designer and have several clients in which he/she is currently designing landscape for. In this way, the user202may select which landscape area he/she would like to add a landscape element to in section724. In section724the user202, in this example, has three areas to select from, area1, area2, and area3. Once the user202has selected a landscape area to include the landscape element in, the user202may select the location of the landscape element in section726. In this way, the user202may move the landscape element to the location within the landscape area that he/she would like the landscape element to be positioned. The system will provide a recommendation to the user202as to the most appropriate location for the landscape element, but the user202may position the element any location he/she desires.

After the user202has selected the landscape element and positioned the landscape element in the desired location within the landscape area, the user202may purchase the landscape element in section728. If the user202found the landscape element online, at a retail store, in a magazine, in a showroom, or the like the system will find the landscape element or a similar landscape element and provide a link for the user202to purchase the landscape element. The system may directly connect with the user's202financial institution to provide an easy payment method for the user202. Once the user202has completed using the selection interface700the user202may select the finished button730so that the system may store the manual inputs from the user202.

Using the selection interface700or other means, the user202may provide manually inputted landscape elements that the user202may wish to include in to his landscape area. The user202may add these landscape elements at any time convenient to the user202. Landscape elements may also be provided by the user202through social networks the user202may subscribe to.

Returning toFIG. 6, after the system has received a captured image of a landscape element or the user202has provided manual input, factors of the landscape area are analyzed to determine a recommended location of the landscape elements in block612. Once the factors are analyzed for providing a recommended landscape element into a landscape area in block612, in decision block614, a determination is made as to whether the mobile device204is still capturing video stream of the landscape elements. If no video stream is being captured then no indicator is presented in block616. If a video stream is still being captured, then in block618indicators are continuing to be presented with respect to the landscape elements. The indicators are associated with a landscape element the user202may visualize in a virtual landscape area environment. In some embodiments, the user202may select the indicator. The selected indicator may allow the user202to obtain further detail about the landscape element the user202manually inputted and how the details of the landscape element relate to the user's202landscape area in block620.

If the user202selects the indicator in block620, the user202may have the option of purchasing the landscape element in block622. The indicator may provide the user202with the best price of the landscape element. For example, the user202may be at a retail store, but the indicator may provide the user202with an offer to purchase the same landscape element for a discounted rate as compared to the retail store. Therefore, the user202may elect to purchase the landscape element from the indicator instead of the retail store. Furthermore, the system may provide the user202with a direct link to the user's202financial institution, so that if the user202chooses to purchase the landscape element, the user202may do so without communicating a payment method.

In some embodiments, if the user202selects the indicator in block620, the system may recommend the user202not to purchase the landscape element. The system may analyze the landscape element selected compared to the landscape area of the user202and determine that the landscape element does not match the landscape area. Therefore, the system may recommend the user202not purchase the landscape element. If this occurs, the system may provide the user202with other alternative landscape elements that are similar to the selected landscape element that may match the user's202landscape area.

In various embodiments, information associated with or related to one or more objects that is retrieved for presentation to a user via the mobile device may be permanently or semi-permanently associated with the object. In other words, the object may be “tagged” with the information. In some embodiments, a location pointer is associated with an object after information is retrieved regarding the object. In this regard, subsequent mobile devices204capturing the object for recognition may retrieve the associated information, tags and/or pointers in order to more quickly retrieve information regarding the object. In some embodiments, the mobile device204provides the user an opportunity to post messages, links to information, or the like and associate such postings with the object. Subsequent users202may then be presenting such postings when their mobile devices204capture and recognize an object. In some embodiments, the information gathered through the recognition and information retrieval process may be posted by the user202in association with the object. Such tags and/or postings may be stored in a predetermined memory and/or database for ease of searching and retrieval.

Thus, methods, systems, computer programs and the like have been disclosed that provide for using real-time video analysis, such as AR or the like to assist the user of mobile devices with commerce activities. Through the use real-time vision object recognition objects, logos, artwork, products, locations and other features that can be recognized in the real-time video stream can be matched to data associated with such to assist the user with commerce activity. The commerce activity may include, but is not limited to; conducting a transaction, providing information about a product/service, providing rewards based information, providing user-specific offers, or the like. In specific embodiments, the data that matched to the images in the real-time video stream is specific to financial institutions, such as user financial behavior history, user purchase power/transaction history and the like. In this regard, many of the embodiments herein disclosed leverage financial institution data, which is uniquely specific to financial institution, in providing information to mobile devices users in connection with real-time video stream analysis.

The systems, methods, computer program products, etc. described herein, may be utilized or combined with any other suitable AR-related application. Non-limiting examples of other suitable AR-related applications include those described in the following U.S. Provisional patent applications, the entirety of each of which is incorporated herein by reference: