US20130169684A1 - Positional context determination with multi marker confidence ranking - Google Patents
Positional context determination with multi marker confidence ranking Download PDFInfo
- Publication number
- US20130169684A1 US20130169684A1 US13/776,534 US201313776534A US2013169684A1 US 20130169684 A1 US20130169684 A1 US 20130169684A1 US 201313776534 A US201313776534 A US 201313776534A US 2013169684 A1 US2013169684 A1 US 2013169684A1
- Authority
- US
- United States
- Prior art keywords
- marker
- objects
- confidence level
- data
- image data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/37—Details of the operation on graphic patterns
- G09G5/377—Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
Definitions
- Embodiments of the inventive subject matter generally relate to the field of computer image processing systems, and, more particularly, to determining positional context using confidence ratings for multiple markers in an image.
- Augmented reality is the practice of adding visual content on top of images from a video camera.
- An augmented reality application may be used to provide additional information about objects in the field of view of a camera on a mobile device. For example, a user of an augmented reality system may point the camera of a mobile device at a restaurant. The augmented reality system may cause information such as reviews, menus, hours of operation etc. to be overlaid with the video of the restaurant.
- GPS Global System for Mobile Communications
- compass and accelerometer data To determine the position of a mobile device.
- GPS is not reliable when the mobile device is used indoors.
- positional accuracy can be a problem with current systems in that they can only achieve a positional accuracy within one to three feet. This level of accuracy is not sufficient when objects in an image are close together.
- a computer implemented method for augmenting a display image includes receiving image data, the image data including data representing one or more objects, and at least a first marker and a second marker.
- the method includes receiving a first confidence level for the first marker and a second confidence level for the second marker.
- the method includes determining a selected marker from the first marker and the second marker.
- the selected marker is determined according to a highest confidence level of the first confidence level and the second confidence level.
- the method includes determining a transformation and a positional offset for the selected marker.
- the method includes generating overlaid display data for the one or more objects in the image data, the one or more objects determined in accordance with the transformation and the positional offset.
- FIG. 1 depicts an example system for determining positional context using images containing multiple markers.
- FIG. 2 depicts example markers.
- FIG. 3 depicts a flowchart of an example method for determining positional context using multiple markers.
- FIG. 4 depicts an example image having overlaid data for objects in the image.
- FIG. 5 depicts an example computer system.
- FIG. 1 depicts an example system 100 for determining positional context using images containing multiple markers.
- system 100 includes an augmented reality (AR) system 102 , object repository 112 , and user device 104 .
- User device 104 may be any type of device that includes a camera for providing images of objects 106 .
- User device 104 also includes a network interface for transmitting image data received from the camera to AR system 102 . Examples of such devices include mobile phones, personal digital assistants and music players. The embodiments are not limited to any particular user device 104 .
- objects 106 comprise computer systems mounted in racks.
- racks of computer systems shown in FIG. 1 provide a convenient use case to illustrate the embodiments.
- inventive subject matter described herein applies to virtually limitless types of objects depicted in image data.
- markers 108 and marker 110 are positioned proximate to objects 106 .
- the markers may be permanently attached to an object or they may be removably attached to an object. While the embodiments do not require any particular positioning of markers on objects, it is desirable to position the markers such that at least two markers are present in any image taken by a camera from likely positions. For example, in some example configurations, markers are placed assuming a camera distance of one to four feet from the objects. Such placement generally leads to the desirable quality that when the camera is moved, should one marker leave the image, another comes into the image to replace the one that leaves the image.
- Object repository 112 comprises a data repository having data describing objects 106 .
- Various types of data regarding objects 106 may be maintained in object repository 112 .
- object repository may include an object identifier uniquely identifying the object, a description of the object, and a position of the object in a three-dimensional space.
- Object repository 112 also maintains identification data and three-dimensional position data for markers 108 and 110 .
- object repository 112 may comprise multiple repositories and further may be distributed across multiple computing systems.
- AR system 102 receives image data 118 from user device 104 through a network or networks that communicably couple user device 104 and AR system 102 .
- AR system 102 includes a marker detector 114 and a position translator 116 .
- Marker detector 114 scans image data 118 to determine if any markers are present in image data 118 .
- Marker detector 114 may compare portions of image data 118 to data for known markers to determine if any markers are present in the image data.
- marker detector 114 identifies the marker, i.e., determines which marker has been potentially detected, and determines a confidence level that indicates a probability that the possible marker is in fact the identified marker.
- a confidence level of 10% indicates that while a particular portion of the image data may be a particular marker, it probably is not; while a confidence level of 90% indicates that the marker detector is very confident that the image data contains a particular identified marker.
- Different markers in an image will typically have different confidence levels although it is possible for two markers to have the same confidence level.
- Marker detector 114 also provides a position of the marker within the image along with transformation data for the marker indicating the orientation of the marker. Marker detector 114 may be part of an AR toolkit.
- the AndAR—Android Augmented Reality toolkit available at the Uniform Resource Locator “code.google.com/p/andar” is used to provide the marker detection described above.
- Confidence levels for markers can be affected by various factors including the amount of lighting in a room, the type of lighting (e.g., fluorescent, incandescent, halogen), reflections in the image data, the characteristics of the camera producing the image, the angle and position of the camera relative to the marker.
- the type of lighting e.g., fluorescent, incandescent, halogen
- FIG. 2 depicts example markers 108 and 110 in further detail.
- example markers 108 and 110 have a white outer border and a black inner boarder.
- the interior of markers 108 and 110 comprises a black shape that is asymmetric.
- the shape of a marker is unique among a set of markers and is used to identify a marker. Further, markers have a uniform size and shape (square).
- AR system 102 and marker detector 114 are used by AR system 102 and marker detector 114 to determine various characteristics from image data 118 .
- AR system 102 can use the apparent size of the marker to determine a distance between the camera and the marker.
- AR system 102 can use the rotation of a marker to determine a camera angle of the camera with respect to the marker.
- position calculator 116 uses the image data for a marker, the characteristics of the marker (e.g., size, rotation, transformation), and the position of the marker obtained from object repository 112 to determine a position of user device 104 relative to the marker.
- AR system 102 and object repository 112 can be integrated with user device 104 .
- FIG. 3 depicts a flowchart of an example method 300 for determining positional context using multiple markers. The method begins at block 302 with AR system 102 receiving image data from a camera.
- AR system 102 uses marker detector 114 to determine if any markers are present in the image data received at block 302 .
- the marker detector 114 scans the image data to determine if any portion of the image data represents a known marker. If no markers are detected in the image data, then the AR system returns to block 302 to receive new image data from the user device.
- the AR system proceeds to block 322 to receive confidence levels for each of the markers that are potentially present in the image data.
- the process of identifying potential markers also determines a confidence level regarding the confidence determined by the marker detector that the portion of the image actually represents a marker. This confidence level is saved along with other details regarding the potential marker such as the identity of the potential marker and its position in the image data.
- the AR system selects the marker having the highest confidence level from the markers detected in the image data.
- the identity of the selected marker is saved for future use in tie-breaking operations.
- the system will select the most recently used marker to break the tie.
- the system determines transformation parameters and positional offset parameters for the camera with respect to the selected marker.
- the AR system uses the marker rotation values to determine a camera angle with respect to the marker.
- the AR system can use the size of the marker in the image data to determine how far away the camera is from the marker.
- the identity of the marker, the transformation parameters, and the positional offset are then used to determine positions of objects in the image data.
- the position of objects can be determined in relation to the position determined for the selected marker.
- the AR system determines the identity of the selected marker and can use the identity to retrieve the selected marker's position from object repository. Further, the AR system can access the object repository to retrieve object identifiers for objects around the selected marker based on the selected marker's position and the positions of objects in proximity to the selected marker.
- the AR system generates overlaid display data for one or more objects in the image data using the position and transformation data determined at block 310 .
- the overlaid display data can include various forms of information about the objects viewable in the image data.
- AR system 102 can obtain the data from object repository 112 . Further, AR system 102 can use the object identifier to obtain information about an object from other data sources, including the object itself. For example, an identifier and description of the object can be displayed over or near the object. Further characteristics can be displayed depending on the type of object in the image.
- information regarding a rack mounted computer system may be displayed such as operating temperature, temperature limits, and performance data.
- the performance data may include data such as memory used and percentage of CPU time used by the rack mounted computer system.
- the AR system incorporates the overlaid display data into the image at positions determined using the transformation and positional offset data determined for the selected marker, and the position of the objects in the image. Further, the position of the overlaid data may be adjusted so that it appears on top of, or alongside of, the object that the overlaid data is associated with.
- the image data is then sent to the user device for presentation on a display on the user device.
- the AR system receives a selection of an object using a user interface on the user device.
- an object of interest is selected by pointing the camera at the object of interest such that the object of interest is centered in the display frame.
- the AR system incorporates overlaid display data into the image for the selected object over the image data for the selected object.
- FIG. 4 depicts an example image 400 having overlaid data for objects in the image.
- AR system 102 receives image data of objects 106 , which in the example are rack mounted computer systems.
- Object image 402 represents the image data for an object 106 .
- Marker image 404 represents the image data for marker 108 , which in the example presented in FIG. 4 is a marker selected as described above.
- Overlaid image data 406 comprises information about object 106 . In the example illustrated in FIG. 4 , such information include a rack and slot for the actual object, and real-time data such as operating load and temperature for the rack mounted computer shown as object image 402 .
- AR system 102 positions overlaid image data 406 according to the transformation data, positional offset, and position data determined above for the selected marker and for the objects appearing in the image 402 .
- aspects of the present inventive subject matter may be embodied as a system, method or computer program product. Accordingly, aspects of the present inventive subject matter may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software or micro-code) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present inventive subject matter may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
- the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
- a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
- a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof.
- a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
- Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, or any suitable combination of the foregoing.
- Computer program code for carrying out operations for aspects of the present inventive subject matter may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
- the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- LAN local area network
- WAN wide area network
- Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
- These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- FIG. 5 depicts an example computer system.
- a computer system includes a processor unit 501 (possibly including multiple processors, multiple cores, multiple nodes, and/or implementing multi-threading).
- the computer system includes memory 507 .
- the memory 507 may be system memory (e.g., one or more of cache, SRAM, DRAM, zero capacitor RAM, Twin Transistor RAM, eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, or PRAM) or any one or more of the above already described possible realizations of machine-readable media.
- the computer system also includes a bus 503 (e.g., PCI, ISA, PCI-Express, HyperTransport®, InfiniBand® or NuBus), a network interface 505 (e.g., an ATM interface, an Ethernet interface, a Frame Relay interface, SONET interface or wireless interface), and a storage device(s) 509 (e.g., optical storage or magnetic storage).
- the system memory 507 embodies functionality to implement embodiments described above.
- the system memory 507 may include one or more functionalities such as components 510 of augmented reality system 102 that facilitate identification of markers in an image and selecting a marker with a highest confidence level to determine positions of information to be overlaid in the image as described above.
- any one of these functionalities may be partially (or entirely) implemented in hardware and/or on the processing unit 501 .
- the functionality may be implemented with an application specific integrated circuit, in logic implemented in the processing unit 501 , in a co-processor on a peripheral device or card.
- realizations may include fewer or additional components not illustrated in FIG. 5 (e.g., video cards, audio cards, additional network interfaces or peripheral devices).
- the processor unit 501 , the storage device(s) 509 , and the network interface 505 are coupled to the bus 503 .
- the memory 507 may be coupled to the processor unit 501 .
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
- This application claims the priority benefit of U.S. application Ser. No. 13/174,669 filed Jun. 30, 2011.
- Embodiments of the inventive subject matter generally relate to the field of computer image processing systems, and, more particularly, to determining positional context using confidence ratings for multiple markers in an image.
- Augmented reality is the practice of adding visual content on top of images from a video camera. An augmented reality application may be used to provide additional information about objects in the field of view of a camera on a mobile device. For example, a user of an augmented reality system may point the camera of a mobile device at a restaurant. The augmented reality system may cause information such as reviews, menus, hours of operation etc. to be overlaid with the video of the restaurant.
- Current mechanisms for implementing augmented reality typically use GPS, compass and accelerometer data to determine the position of a mobile device. Unfortunately, GPS is not reliable when the mobile device is used indoors. In addition, positional accuracy can be a problem with current systems in that they can only achieve a positional accuracy within one to three feet. This level of accuracy is not sufficient when objects in an image are close together.
- A computer implemented method for augmenting a display image includes receiving image data, the image data including data representing one or more objects, and at least a first marker and a second marker. The method includes receiving a first confidence level for the first marker and a second confidence level for the second marker. The method includes determining a selected marker from the first marker and the second marker. The selected marker is determined according to a highest confidence level of the first confidence level and the second confidence level. The method includes determining a transformation and a positional offset for the selected marker. The method includes generating overlaid display data for the one or more objects in the image data, the one or more objects determined in accordance with the transformation and the positional offset.
- The present embodiments may be better understood, and numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings.
-
FIG. 1 depicts an example system for determining positional context using images containing multiple markers. -
FIG. 2 depicts example markers. -
FIG. 3 depicts a flowchart of an example method for determining positional context using multiple markers. -
FIG. 4 depicts an example image having overlaid data for objects in the image. -
FIG. 5 depicts an example computer system. - The description that follows includes example systems, methods, techniques, instruction sequences and computer program products that embody techniques of the present inventive subject matter. However, it is understood that the described embodiments may be practiced without these specific details. In other instances, well-known instruction instances, protocols, structures and techniques have not been shown in detail in order not to obfuscate the description.
-
FIG. 1 depicts anexample system 100 for determining positional context using images containing multiple markers. In some embodiments,system 100 includes an augmented reality (AR)system 102,object repository 112, anduser device 104.User device 104 may be any type of device that includes a camera for providing images ofobjects 106.User device 104 also includes a network interface for transmitting image data received from the camera toAR system 102. Examples of such devices include mobile phones, personal digital assistants and music players. The embodiments are not limited to anyparticular user device 104. - In the example illustrated in
FIG. 1 ,objects 106 comprise computer systems mounted in racks. Each of the two racks illustrated inFIG. 1 have seven computer systems. It is important to note that the racks of computer systems shown inFIG. 1 provide a convenient use case to illustrate the embodiments. Those of skill in the art having the benefit of the disclosure will appreciate that the inventive subject matter described herein applies to virtually limitless types of objects depicted in image data. - Also illustrated in
FIG. 1 are two markers,marker 108 andmarker 110, positioned proximate toobjects 106. The markers may be permanently attached to an object or they may be removably attached to an object. While the embodiments do not require any particular positioning of markers on objects, it is desirable to position the markers such that at least two markers are present in any image taken by a camera from likely positions. For example, in some example configurations, markers are placed assuming a camera distance of one to four feet from the objects. Such placement generally leads to the desirable quality that when the camera is moved, should one marker leave the image, another comes into the image to replace the one that leaves the image. -
Object repository 112 comprises a data repository havingdata describing objects 106. Various types ofdata regarding objects 106 may be maintained inobject repository 112. For example, for each object, object repository may include an object identifier uniquely identifying the object, a description of the object, and a position of the object in a three-dimensional space.Object repository 112 also maintains identification data and three-dimensional position data for 108 and 110. Although illustrated as a single repository inmarkers FIG. 1 ,object repository 112 may comprise multiple repositories and further may be distributed across multiple computing systems. -
AR system 102 receivesimage data 118 fromuser device 104 through a network or networks that communicably coupleuser device 104 andAR system 102.AR system 102 includes amarker detector 114 and aposition translator 116.Marker detector 114scans image data 118 to determine if any markers are present inimage data 118.Marker detector 114 may compare portions ofimage data 118 to data for known markers to determine if any markers are present in the image data. Upon detecting a possible marker inimage data 118,marker detector 114 identifies the marker, i.e., determines which marker has been potentially detected, and determines a confidence level that indicates a probability that the possible marker is in fact the identified marker. For example, a confidence level of 10% indicates that while a particular portion of the image data may be a particular marker, it probably is not; while a confidence level of 90% indicates that the marker detector is very confident that the image data contains a particular identified marker. Different markers in an image will typically have different confidence levels although it is possible for two markers to have the same confidence level.Marker detector 114 also provides a position of the marker within the image along with transformation data for the marker indicating the orientation of the marker. Markerdetector 114 may be part of an AR toolkit. In some embodiments, the AndAR—Android Augmented Reality toolkit available at the Uniform Resource Locator “code.google.com/p/andar” is used to provide the marker detection described above. - Confidence levels for markers can be affected by various factors including the amount of lighting in a room, the type of lighting (e.g., fluorescent, incandescent, halogen), reflections in the image data, the characteristics of the camera producing the image, the angle and position of the camera relative to the marker.
-
FIG. 2 depicts 108 and 110 in further detail. In the example illustrated inexample markers FIG. 2 , 108 and 110 have a white outer border and a black inner boarder. The interior ofexample markers 108 and 110 comprises a black shape that is asymmetric. The shape of a marker is unique among a set of markers and is used to identify a marker. Further, markers have a uniform size and shape (square). These characteristics are used bymarkers AR system 102 andmarker detector 114 to determine various characteristics fromimage data 118. For example,AR system 102 can use the apparent size of the marker to determine a distance between the camera and the marker. Further,AR system 102 can use the rotation of a marker to determine a camera angle of the camera with respect to the marker. - Returning to
FIG. 1 ,position calculator 116 uses the image data for a marker, the characteristics of the marker (e.g., size, rotation, transformation), and the position of the marker obtained fromobject repository 112 to determine a position ofuser device 104 relative to the marker. - Although shown as separate components in
FIG. 1 , the components illustrated inFIG. 1 may be distributed in different manners. For example, in some embodiments,AR system 102 andobject repository 112 can be integrated withuser device 104. - Further details on the operation of the above described system are provided below with respect to
FIG. 3 . -
FIG. 3 depicts a flowchart of anexample method 300 for determining positional context using multiple markers. The method begins atblock 302 withAR system 102 receiving image data from a camera. - At
block 304,AR system 102 usesmarker detector 114 to determine if any markers are present in the image data received atblock 302. Themarker detector 114 scans the image data to determine if any portion of the image data represents a known marker. If no markers are detected in the image data, then the AR system returns to block 302 to receive new image data from the user device. - If the check at
block 304 determines that markers are potentially present in the image data, then the AR system proceeds to block 322 to receive confidence levels for each of the markers that are potentially present in the image data. In some embodiments, the process of identifying potential markers also determines a confidence level regarding the confidence determined by the marker detector that the portion of the image actually represents a marker. This confidence level is saved along with other details regarding the potential marker such as the identity of the potential marker and its position in the image data. - At
block 308, the AR system selects the marker having the highest confidence level from the markers detected in the image data. In some embodiments, the identity of the selected marker is saved for future use in tie-breaking operations. In such embodiments, in the case where two markers have the same confidence level and the confidence level is the highest detected among all the markers, the system will select the most recently used marker to break the tie. - At
block 310, the system determines transformation parameters and positional offset parameters for the camera with respect to the selected marker. The AR system uses the marker rotation values to determine a camera angle with respect to the marker. In addition, the AR system can use the size of the marker in the image data to determine how far away the camera is from the marker. The identity of the marker, the transformation parameters, and the positional offset are then used to determine positions of objects in the image data. The position of objects can be determined in relation to the position determined for the selected marker. The AR system determines the identity of the selected marker and can use the identity to retrieve the selected marker's position from object repository. Further, the AR system can access the object repository to retrieve object identifiers for objects around the selected marker based on the selected marker's position and the positions of objects in proximity to the selected marker. - At
block 312, the AR system generates overlaid display data for one or more objects in the image data using the position and transformation data determined atblock 310. The overlaid display data can include various forms of information about the objects viewable in the image data.AR system 102 can obtain the data fromobject repository 112. Further,AR system 102 can use the object identifier to obtain information about an object from other data sources, including the object itself. For example, an identifier and description of the object can be displayed over or near the object. Further characteristics can be displayed depending on the type of object in the image. Continuing the example illustrated inFIG. 1 where the objects are rack mounted computer systems, information regarding a rack mounted computer system may be displayed such as operating temperature, temperature limits, and performance data. The performance data may include data such as memory used and percentage of CPU time used by the rack mounted computer system. - In some embodiments, the AR system incorporates the overlaid display data into the image at positions determined using the transformation and positional offset data determined for the selected marker, and the position of the objects in the image. Further, the position of the overlaid data may be adjusted so that it appears on top of, or alongside of, the object that the overlaid data is associated with. The image data is then sent to the user device for presentation on a display on the user device.
- In alternative embodiments, the AR system receives a selection of an object using a user interface on the user device. Alternatively, an object of interest is selected by pointing the camera at the object of interest such that the object of interest is centered in the display frame. In either case, the AR system incorporates overlaid display data into the image for the selected object over the image data for the selected object.
-
FIG. 4 depicts anexample image 400 having overlaid data for objects in the image. In the example illustrated inFIG. 1 ,AR system 102 receives image data ofobjects 106, which in the example are rack mounted computer systems.Object image 402 represents the image data for anobject 106.Marker image 404 represents the image data formarker 108, which in the example presented inFIG. 4 is a marker selected as described above.Overlaid image data 406 comprises information aboutobject 106. In the example illustrated inFIG. 4 , such information include a rack and slot for the actual object, and real-time data such as operating load and temperature for the rack mounted computer shown asobject image 402.AR system 102 positions overlaidimage data 406 according to the transformation data, positional offset, and position data determined above for the selected marker and for the objects appearing in theimage 402. - The depicted flowchart is provided as an example to aid in understanding embodiments, and should not be used to limit embodiments. Embodiments can perform additional operations, fewer operations, operations in parallel or operations in a different order.
- As will be appreciated by one skilled in the art, aspects of the present inventive subject matter may be embodied as a system, method or computer program product. Accordingly, aspects of the present inventive subject matter may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software or micro-code) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present inventive subject matter may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
- Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
- Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, or any suitable combination of the foregoing.
- Computer program code for carrying out operations for aspects of the present inventive subject matter may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- Aspects of the present inventive subject matter are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the inventive subject matter. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
- The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
-
FIG. 5 depicts an example computer system. A computer system includes a processor unit 501 (possibly including multiple processors, multiple cores, multiple nodes, and/or implementing multi-threading). The computer system includesmemory 507. Thememory 507 may be system memory (e.g., one or more of cache, SRAM, DRAM, zero capacitor RAM, Twin Transistor RAM, eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, or PRAM) or any one or more of the above already described possible realizations of machine-readable media. The computer system also includes a bus 503 (e.g., PCI, ISA, PCI-Express, HyperTransport®, InfiniBand® or NuBus), a network interface 505 (e.g., an ATM interface, an Ethernet interface, a Frame Relay interface, SONET interface or wireless interface), and a storage device(s) 509 (e.g., optical storage or magnetic storage). Thesystem memory 507 embodies functionality to implement embodiments described above. Thesystem memory 507 may include one or more functionalities such ascomponents 510 ofaugmented reality system 102 that facilitate identification of markers in an image and selecting a marker with a highest confidence level to determine positions of information to be overlaid in the image as described above. Any one of these functionalities may be partially (or entirely) implemented in hardware and/or on theprocessing unit 501. For example, the functionality may be implemented with an application specific integrated circuit, in logic implemented in theprocessing unit 501, in a co-processor on a peripheral device or card. Further, realizations may include fewer or additional components not illustrated inFIG. 5 (e.g., video cards, audio cards, additional network interfaces or peripheral devices). Theprocessor unit 501, the storage device(s) 509, and thenetwork interface 505 are coupled to thebus 503. Although illustrated as being coupled to thebus 503, thememory 507 may be coupled to theprocessor unit 501. - While the embodiments are described with reference to various implementations and exploitations, it will be understood that these embodiments are illustrative and that the scope of the inventive subject matter is not limited to them. In general, techniques for identifying markers in an image and selecting a marker with a highest confidence level to determine positions of information to be overlaid in the image as described above as described herein may be implemented with facilities consistent with any hardware system or hardware systems. Many variations, modifications, additions, and improvements are possible.
- Plural instances may be provided for components, operations or structures described herein as a single instance. Finally, boundaries between various components, operations and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. Other allocations of functionality are envisioned and may fall within the scope of the inventive subject matter. In general, structures and functionality presented as separate components in the example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements may fall within the scope of the inventive subject matter.
Claims (5)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/776,534 US9147379B2 (en) | 2011-06-30 | 2013-02-25 | Positional context determination with multi marker confidence ranking |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/174,669 US8872852B2 (en) | 2011-06-30 | 2011-06-30 | Positional context determination with multi marker confidence ranking |
| US13/776,534 US9147379B2 (en) | 2011-06-30 | 2013-02-25 | Positional context determination with multi marker confidence ranking |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/174,669 Continuation US8872852B2 (en) | 2011-06-30 | 2011-06-30 | Positional context determination with multi marker confidence ranking |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20130169684A1 true US20130169684A1 (en) | 2013-07-04 |
| US9147379B2 US9147379B2 (en) | 2015-09-29 |
Family
ID=47390200
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/174,669 Expired - Fee Related US8872852B2 (en) | 2011-06-30 | 2011-06-30 | Positional context determination with multi marker confidence ranking |
| US13/776,534 Active 2031-12-11 US9147379B2 (en) | 2011-06-30 | 2013-02-25 | Positional context determination with multi marker confidence ranking |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/174,669 Expired - Fee Related US8872852B2 (en) | 2011-06-30 | 2011-06-30 | Positional context determination with multi marker confidence ranking |
Country Status (2)
| Country | Link |
|---|---|
| US (2) | US8872852B2 (en) |
| WO (1) | WO2013001492A1 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140184487A1 (en) * | 2012-12-27 | 2014-07-03 | Hon Hai Precision Industry Co., Ltd. | Manipulating virtual objects displayed by a display device through a portable device |
| US9685000B1 (en) * | 2011-09-28 | 2017-06-20 | EMC IP Holding Company LLC | Using augmented reality in data storage management |
| US10521685B2 (en) | 2018-05-29 | 2019-12-31 | International Business Machines Corporation | Augmented reality marker de-duplication and instantiation using marker creation information |
Families Citing this family (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8872852B2 (en) | 2011-06-30 | 2014-10-28 | International Business Machines Corporation | Positional context determination with multi marker confidence ranking |
| JP5927822B2 (en) * | 2011-09-21 | 2016-06-01 | カシオ計算機株式会社 | Image communication system |
| EP3734555A1 (en) * | 2012-12-10 | 2020-11-04 | Sony Corporation | Display control apparatus, display control method, and program |
| US9767768B2 (en) * | 2012-12-20 | 2017-09-19 | Arris Enterprises, Inc. | Automated object selection and placement for augmented reality |
| US20140270477A1 (en) * | 2013-03-14 | 2014-09-18 | Jonathan Coon | Systems and methods for displaying a three-dimensional model from a photogrammetric scan |
| JP6255706B2 (en) | 2013-04-22 | 2018-01-10 | 富士通株式会社 | Display control apparatus, display control method, display control program, and information providing system |
| JP2015001875A (en) * | 2013-06-17 | 2015-01-05 | ソニー株式会社 | Image processing apparatus, image processing method, program, print medium, and print-media set |
| IN2013MU03138A (en) | 2013-10-03 | 2015-07-03 | Tata Consultancy Services Ltd | |
| US20150145887A1 (en) * | 2013-11-25 | 2015-05-28 | Qualcomm Incorporated | Persistent head-mounted content display |
| JP6244954B2 (en) * | 2014-02-06 | 2017-12-13 | 富士通株式会社 | Terminal apparatus, information processing apparatus, display control method, and display control program |
| DE102016105496A1 (en) * | 2015-03-26 | 2016-09-29 | Faro Technologies Inc. | System for checking objects using augmented reality |
| DK3316222T3 (en) * | 2016-11-01 | 2020-08-31 | Previble AB | PREVISUALIZATION DEVICE |
| JP2018078475A (en) * | 2016-11-10 | 2018-05-17 | 富士通株式会社 | Control program, control method, and control device |
| US20180182171A1 (en) * | 2016-12-26 | 2018-06-28 | Drawsta, Inc. | Systems and Methods for Real-time Multimedia Augmented Reality |
| US20180268614A1 (en) * | 2017-03-16 | 2018-09-20 | General Electric Company | Systems and methods for aligning pmi object on a model |
| EP3385747B1 (en) | 2017-04-05 | 2021-03-31 | Axis AB | Method, device and system for mapping position detections to a graphical representation |
| US20190057180A1 (en) * | 2017-08-18 | 2019-02-21 | International Business Machines Corporation | System and method for design optimization using augmented reality |
| US10692289B2 (en) * | 2017-11-22 | 2020-06-23 | Google Llc | Positional recognition for augmented reality environment |
| US10592726B2 (en) * | 2018-02-08 | 2020-03-17 | Ford Motor Company | Manufacturing part identification using computer vision and machine learning |
| US10460139B1 (en) * | 2018-08-24 | 2019-10-29 | Intuit Inc. | System and method for unique identifier detection based on invisible light |
| US10966342B2 (en) * | 2019-01-31 | 2021-03-30 | Dell Products, L.P. | System and method for determining location and navigating a datacenter using augmented reality and available sensor data |
| US11151792B2 (en) | 2019-04-26 | 2021-10-19 | Google Llc | System and method for creating persistent mappings in augmented reality |
| US11163997B2 (en) | 2019-05-05 | 2021-11-02 | Google Llc | Methods and apparatus for venue based augmented reality |
| WO2020226832A1 (en) | 2019-05-06 | 2020-11-12 | Apple Inc. | Device, method, and computer-readable medium for presenting computer-generated reality files |
| WO2020226833A1 (en) | 2019-05-06 | 2020-11-12 | Apple Inc. | Device, method, and graphical user interface for composing cgr files |
| WO2021040106A1 (en) * | 2019-08-30 | 2021-03-04 | 엘지전자 주식회사 | Ar device and control method therefor |
| US11295135B2 (en) * | 2020-05-29 | 2022-04-05 | Corning Research & Development Corporation | Asset tracking of communication equipment via mixed reality based labeling |
| US11374808B2 (en) * | 2020-05-29 | 2022-06-28 | Corning Research & Development Corporation | Automated logging of patching operations via mixed reality based labeling |
| CN112562042A (en) * | 2020-12-24 | 2021-03-26 | 凌云光技术股份有限公司 | A display method and device for real-time editing and parsing of image detection text |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060184357A1 (en) * | 2005-02-11 | 2006-08-17 | Microsoft Corporation | Efficient language identification |
Family Cites Families (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| ATE161984T1 (en) | 1986-04-18 | 1998-01-15 | Storch Leonard | INFORMATION TRANSFER AND USE, PARTICULARLY REGARDING ITEMS SUCH AS GAME TOKENS |
| US5283422B1 (en) | 1986-04-18 | 2000-10-17 | Cias Inc | Information transfer and use particularly with respect to counterfeit detection |
| US5275354A (en) | 1992-07-13 | 1994-01-04 | Loral Vought Systems Corporation | Guidance and targeting system |
| US5699444A (en) | 1995-03-31 | 1997-12-16 | Synthonics Incorporated | Methods and apparatus for using image data to determine camera location and orientation |
| US7324081B2 (en) | 1999-03-02 | 2008-01-29 | Siemens Aktiengesellschaft | Augmented-reality system for situation-related support of the interaction between a user and an engineering apparatus |
| JP2002538541A (en) | 1999-03-02 | 2002-11-12 | シーメンス アクチエンゲゼルシヤフト | System and method utilizing enhanced reality-based technology to contextually assist professional workers with remote experts |
| GB0225716D0 (en) | 2002-11-05 | 2002-12-11 | Univ Edinburgh | Virtual models |
| US7725206B2 (en) | 2003-11-12 | 2010-05-25 | The Boeing Company | System and method for manufacturing and after-market support using as-built data |
| US7774044B2 (en) | 2004-02-17 | 2010-08-10 | Siemens Medical Solutions Usa, Inc. | System and method for augmented reality navigation in a medical intervention procedure |
| JP2005250950A (en) | 2004-03-05 | 2005-09-15 | Nippon Telegr & Teleph Corp <Ntt> | Marker-presenting portable terminal, augmented reality system, and operation method thereof |
| US20050289590A1 (en) | 2004-05-28 | 2005-12-29 | Cheok Adrian D | Marketing platform |
| US20050285878A1 (en) | 2004-05-28 | 2005-12-29 | Siddharth Singh | Mobile platform |
| US20050288078A1 (en) | 2004-05-28 | 2005-12-29 | Cheok Adrian D | Game |
| US7474318B2 (en) * | 2004-05-28 | 2009-01-06 | National University Of Singapore | Interactive system and method |
| US7812986B2 (en) | 2005-08-23 | 2010-10-12 | Ricoh Co. Ltd. | System and methods for use of voice mail and email in a mixed media environment |
| KR101086068B1 (en) | 2004-12-10 | 2011-11-22 | 한국문화콘텐츠진흥원 | 3D marker recognition method and method and device for providing augmented reality and composite reality using same |
| US7706603B2 (en) | 2005-04-19 | 2010-04-27 | Siemens Corporation | Fast object detection for augmented reality systems |
| KR100777215B1 (en) | 2006-05-30 | 2007-11-19 | 한국과학기술연구원 | Augmented Reality Imaging System Using Portable Devices |
| JP5538667B2 (en) | 2007-04-26 | 2014-07-02 | キヤノン株式会社 | Position / orientation measuring apparatus and control method thereof |
| WO2009047335A1 (en) | 2007-10-12 | 2009-04-16 | Mvtec Software Gmbh | Computer vision cad models |
| KR20100026240A (en) | 2008-08-29 | 2010-03-10 | 김상국 | 3d hair style simulation system and method using augmented reality |
| US8422777B2 (en) | 2008-10-14 | 2013-04-16 | Joshua Victor Aller | Target and method of detecting, identifying, and determining 3-D pose of the target |
| WO2010046123A1 (en) | 2008-10-23 | 2010-04-29 | Lokesh Bitra | Virtual tagging method and system |
| CN101661163A (en) | 2009-09-27 | 2010-03-03 | 合肥工业大学 | Three-dimensional helmet display of augmented reality system |
| CN101739710B (en) | 2009-11-30 | 2011-08-10 | 山东大学 | Outdoor scene illumination parameter restoration device and working method thereof |
| US20110153564A1 (en) * | 2009-12-23 | 2011-06-23 | Telcordia Technologies, Inc. | Error-sensitive electronic directory synchronization system and methods |
| US8872852B2 (en) | 2011-06-30 | 2014-10-28 | International Business Machines Corporation | Positional context determination with multi marker confidence ranking |
-
2011
- 2011-06-30 US US13/174,669 patent/US8872852B2/en not_active Expired - Fee Related
-
2012
- 2012-06-28 WO PCT/IB2012/053297 patent/WO2013001492A1/en active Application Filing
-
2013
- 2013-02-25 US US13/776,534 patent/US9147379B2/en active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060184357A1 (en) * | 2005-02-11 | 2006-08-17 | Microsoft Corporation | Efficient language identification |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9685000B1 (en) * | 2011-09-28 | 2017-06-20 | EMC IP Holding Company LLC | Using augmented reality in data storage management |
| US20140184487A1 (en) * | 2012-12-27 | 2014-07-03 | Hon Hai Precision Industry Co., Ltd. | Manipulating virtual objects displayed by a display device through a portable device |
| US10521685B2 (en) | 2018-05-29 | 2019-12-31 | International Business Machines Corporation | Augmented reality marker de-duplication and instantiation using marker creation information |
Also Published As
| Publication number | Publication date |
|---|---|
| US8872852B2 (en) | 2014-10-28 |
| US20130002717A1 (en) | 2013-01-03 |
| US9147379B2 (en) | 2015-09-29 |
| WO2013001492A1 (en) | 2013-01-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9147379B2 (en) | Positional context determination with multi marker confidence ranking | |
| US11481978B2 (en) | Redundant tracking system | |
| US10242031B2 (en) | Method for providing virtual object and electronic device therefor | |
| US12216702B1 (en) | Redirection to digital content based on image-search | |
| KR101602585B1 (en) | Method, apparatus and computer program product for displaying items on multiple floors in multi-level maps | |
| US20140333667A1 (en) | Method and apparatus for providing contents including augmented reality information | |
| US20160335796A1 (en) | Method and apparatus for visualization of geo-located media contents in 3d rendering applications | |
| US9009613B2 (en) | System to overlay application help on a mobile device | |
| US20160077711A1 (en) | Method and electronic device for providing information | |
| US20120044264A1 (en) | Apparatus and method for providing augmented reality | |
| WO2015107260A1 (en) | Method and apparatus for visualization of geo-located media contents in 3d rendering applications | |
| KR20160003553A (en) | Electroninc device for providing map information | |
| KR102380979B1 (en) | Image metadata managing method and apparatus | |
| US10972861B2 (en) | Electronic device and system for providing point of interest information | |
| US20150138234A1 (en) | Method for effect display of electronic device, and electronic device thereof | |
| US20170134688A1 (en) | Method for providing content and electronic device supporting the same | |
| Ferrari et al. | Computer Vision–ECCV 2018: 15th European Conference, Munich, Germany, September 8–14, 2018, Proceedings, Part V | |
| US20190251394A1 (en) | Method and apparatus for continuously displaying images on basis of similarity of images | |
| US20200401620A1 (en) | Geolocation based playlists | |
| KR20180121273A (en) | Method for outputting content corresponding to object and electronic device thereof | |
| CN112634469B (en) | Method and apparatus for processing image | |
| US11086925B2 (en) | Fashion by trend user interfaces | |
| AU2016250656B2 (en) | Generating a discovery page depicting item aspects | |
| US11132574B2 (en) | Method for detecting marker and electronic device thereof | |
| CN105488168B (en) | Information processing method and electronic equipment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DEFFEYES, SUZANNE C.;NEWHOOK, RICHARD J.;SIGNING DATES FROM 20130206 TO 20130208;REEL/FRAME:029871/0387 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| FEPP | Fee payment procedure |
Free format text: SURCHARGE FOR LATE PAYMENT, LARGE ENTITY (ORIGINAL EVENT CODE: M1554); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |