The disclosed embodiments relate generally to depth mapping techniques, including but not limited to camera depth mapping.
Depth mapping refers to gathering information relating to the distance of objects in a scene from a viewpoint. Depth mapping enables users and applications to accomplish, or improve upon, various tasks such as object recognition, gesture control, and focus control.
However, there is an ongoing challenge to efficiently generate accurate and precise depth maps. Conventional methods for depth mapping are imprecise and/or inefficient (e.g., require excessive power consumption, processing, and/or expense).
Accordingly, there is a need for apparatuses and/or devices with more precise and/or efficient methods for depth mapping. Such methods and apparatuses optionally complement or replace conventional depth mapping methods and apparatuses.
In one aspect, some embodiments include a method performed at an apparatus includes a projector, a camera, one or more processors, and memory storing one or more programs for execution by the one or more processors. The method includes identifying one or more areas of interest in a scene in accordance with variation of depth in the scene as detected at a first resolution. The method further includes, for each area of interest of the one or more areas of interest: (1) applying, via the projector, a respective structured-light pattern to the area of interest; (2) capturing, via the camera, an image of the area of interest with the respective structured-light pattern applied to it; and (3) creating a respective depth map of the area of interest using the image of the area of interest with the respective structured-light pattern applied to it, the respective depth map having a higher resolution than the first resolution.
In another aspect, some embodiments include an apparatus (e.g., a mobile device) with one or more processors and memory storing one or more programs. The one or more programs are configured to be executed by the one or more processors. The one or more programs include instructions for performing the method described above.
In yet another aspect, some embodiments include a non-transitory computer-readable storage medium that has stored therein instructions that, when executed by an apparatus, cause the apparatus to perform the operations of the method described above. In still another aspect, some embodiments include an apparatus with one or more processors, memory storing one or more programs configured to be executed by the one or more processors, and means for performing the method described above.
Thus, apparatuses are provided with more precise/efficient methods for depth mapping, thereby increasing the accuracy and user satisfaction with such apparatuses. Such methods may complement or replace conventional methods for depth mapping.
For a better understanding of the various described embodiments, reference should be made to the Description of Embodiments below, in conjunction with the following drawings. The appended drawings, however, merely illustrate the more pertinent features of the present disclosure and are therefore not to be considered limiting, for the description may admit to other effective features. Like reference numerals refer to corresponding parts throughout the figures and description.
In accordance with common practice the various features illustrated in the drawings may not be drawn to scale. Accordingly, the dimensions of the various features may be arbitrarily expanded or reduced for clarity. In addition, some of the drawings may not depict all of the components of an apparatus, device, or medium.
Reference will now be made to embodiments, examples of which are illustrated in the accompanying drawings. In the following description, numerous specific details are set forth in order to provide an understanding of the various described embodiments. However, it will be apparent to one of ordinary skill in the art that the various described embodiments may be practiced without these specific details. In some instances, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
It will also be understood that, although the terms first, second, etc. are, in some instances, used herein to describe various elements, these elements should not be limited by these terms. These terms are used only to distinguish one element from another. For example, a first area of interest could be termed a second area of interest, and, similarly, a second area of interest could be termed a first area of interest, without departing from the scope of the various described embodiments. The first area of interest and the second area of interest are both areas of interest, but they are not the same area of interest.
The terminology used in the description of the various embodiments described herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used in the description of the various described embodiments and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “includes,” “including,” “comprises,” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
As used herein, the term “if” is, optionally, construed to mean “when” or “upon” or “in response to determining” or “in response to detecting” or “in accordance with a determination that,” depending on the context. Similarly, the phrase “if it is determined” or “if [a stated condition or event] is detected” is, optionally, construed to mean “upon determining” or “in response to determining” or “upon detecting [the stated condition or event]” or “in response to detecting [the stated condition or event]” or “in accordance with a determination that [a stated condition or event] is detected,” depending on the context. In addition, the term “exemplary” is used in the sense of “serving as an example, instance, or illustration” and not in the sense of “representing the best of its kind.”
Embodiments of apparatuses and associated processes for using such apparatuses are described. In some embodiments, the apparatus is a portable electronic device (e.g., communications device), such as a mobile telephone or personal digital assistant (PDA), that also contains other functions, such as camera functions. Other portable electronic devices, such as laptops or tablet computers are optionally used. It should also be understood that, in some embodiments, the apparatus is not a portable communications device, but is another type of device, such as a desktop computer, or an apparatus including a network of components.
Camera 102 (also sometimes called an “optical sensor”) captures light from the environment, projected through one or more lens, and converts the light to data representing an image. In conjunction with an imaging module (e.g., imaging module 234,
In conjunction with a projection module (e.g., projection module 230,
In some embodiments, the device includes inputs such as a keyboard, mouse, and/or other input buttons. Alternatively, or in addition, in some embodiments, display 212 includes a touch-sensitive surface, in which case display 212 is a touch-sensitive display. In devices that have a touch-sensitive display, a physical keyboard is optional (e.g., a soft keyboard may be displayed when keyboard entry is needed). User interface 210 optionally also includes an audio output device, such as speakers or an audio output connection connected to speakers, earphones, or headphones. Furthermore, some devices 100 use a microphone and voice recognition to supplement or replace the keyboard. Optionally, device 100 includes an audio input device (e.g., a microphone) to capture audio (e.g., speech from a user). Optionally, device 100 includes a location detection component, such as a GPS (global positioning satellite) or other geo-location receiver, for determining the location of device 100.
Memory 206 includes high-speed random-access memory, such as DRAM, SRAM, DDR RAM or other random-access solid-state memory devices; and may include non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 206 optionally includes one or more storage devices remotely located from processor(s) 202. Memory 206, or alternately the non-volatile memory device(s) within memory 206, includes a non-transitory computer-readable storage medium. In some embodiments, memory 206 or the computer-readable storage medium of memory 206 stores the following programs, modules, and data structures, or a subset or superset thereof:
Each of the above identified modules and applications correspond to a set of executable instructions for performing one or more functions as described above and/or in the methods described herein (e.g., the computer-implemented methods and other information processing methods described herein). These modules (i.e., sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus various subsets of these modules are, optionally, combined or otherwise re-arranged in various embodiments. In some embodiments, memory 206 stores a subset of the modules and data structures identified above. Furthermore, memory 206 optionally stores additional modules and data structures not described above.
In some embodiments, memory 206 also includes one or more application modules. Examples of application modules that are, optionally, stored in memory 206 include word processing applications, image editing applications, drawing applications, presentation applications, browser applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication.
Although
In some embodiments, the apparatus generates (602) a first depth map that indicates the variation of depth in a scene at a first resolution (e.g., using depth module 236,
In some embodiments, to generate the first depth map the apparatus uses (604) a projector (e.g., projector 104,
In some embodiments, the apparatus calculates (606) depths in accordance with a spatial frequency of dots of the first structured-light pattern in the scene (e.g., using depth mapping sub-module 242,
In some embodiments, the first structured-light pattern includes a line pattern.
In some embodiments, the first depth map is obtained from an external source, distinct from the apparatus (e.g., obtained via communication interface(s) 204,
The apparatus identifies (608) one or more areas of interest in the scene in accordance with variation of depth in the scene as detected at the first resolution (e.g., using area of interest sub-module 241,
In some embodiments, the apparatus uses (610) the first depth map to select the one or more areas of interest (e.g., using area of interest sub-module 241,
For each area of interest (614), the apparatus applies (616), via a projector (e.g., projector 104,
In some embodiments, to apply a structured-light pattern to a respective area of interest, the apparatus generates (618) the respective structured-light pattern based on one or more features of the respective area of interest (e.g., using pattern module 232,
For example, the apparatus generates (620) one or more lines of light perpendicular to a detected edge within the respective area of interest (e.g., using pattern module 232,
In some embodiments, the respective structured-light pattern includes (622) a line pattern. For example, patterns 502 in
In some embodiments, the apparatus adjusts (624) a focus of the projector to focus the respective structured-light pattern on the respective area of interest (e.g., using projection module 230 and/or focus module 238,
For each area of interest (614,
In some embodiments, the apparatus senses (628) the line pattern as applied to the respective area of interest (e.g., using imaging module 234,
For each area of interest (614), the apparatus creates (630) a respective depth map of the area of interest using the image of the area of interest with the respective structured-light pattern applied to it (e.g., using depth module 2326
In some embodiments, the apparatus performs (632) two or more iterations of the applying (616), the capturing (626), and the creating (630) to generate one or more additional depth maps of a particular area of interest (or of each area of interest or a subset thereof). In addition, the apparatus varies the respective structured-light pattern applied to the particular area of interest for each iteration of the two or more iterations (e.g., using pattern module 232 and/or projection module 230,
In some embodiments, the apparatus adjusts the structured light pattern by varying (634) an angle at which parallel lines of light of the structured-light pattern intersect a detected edge within the particular area of interest (e.g., using pattern module 232,
In some embodiments, the apparatus combines (636) the respective depth map for each area of interest of the one or more areas of interest with the first depth map to obtain a detailed depth map of the scene (e.g., using depth module 236,
In some embodiments, the apparatus captures (638) an image of the scene (e.g., using imaging module 234 in conjunction with camera 102,
In some embodiments, the apparatus identifies (640) one or more objects in the scene (e.g., using object recognition module 244,
In some embodiments, the apparatus enables (642) three-dimensional (3-D) gesture control (e.g., using 3-D module 246,
Although some of various drawings illustrate a number of logical stages in a particular order, stages which are not order dependent may be reordered and other stages may be combined or broken out. While some reordering or other groupings are specifically mentioned, others will be apparent to those of ordinary skill in the art, so the ordering and groupings presented herein are not an exhaustive list of alternatives. Moreover, it should be recognized that the stages could be implemented in hardware, firmware, software or any combination thereof.
The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the scope of the claims to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen in order to best explain the principles underlying the claims and their practical applications, to thereby enable others skilled in the art to best use the embodiments with various modifications as are suited to the particular uses contemplated.
This application is a continuation of U.S. patent application Ser. No. 14/703,649, filed May 4, 2015, entitled “Camera Depth Mapping Using Structured Light Patterns,” which is incorporated by reference herein in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
7920205 | Awazu | Apr 2011 | B2 |
8761594 | Gross et al. | Jun 2014 | B1 |
8860843 | Mate et al. | Oct 2014 | B2 |
9237275 | Spielberg | Jan 2016 | B2 |
20020191102 | Yuyama et al. | Dec 2002 | A1 |
20050046739 | Voss et al. | Mar 2005 | A1 |
20080218618 | Pfeffer et al. | Sep 2008 | A1 |
20080240502 | Freeman et al. | Oct 2008 | A1 |
20090008530 | Wernersson | Jan 2009 | A1 |
20110188054 | Petronius | Aug 2011 | A1 |
20120056982 | Katz | Mar 2012 | A1 |
20120249743 | Kim et al. | Oct 2012 | A1 |
20120327218 | Baker et al. | Dec 2012 | A1 |
20130038881 | Pesach | Feb 2013 | A1 |
20130064531 | Pillman et al. | Mar 2013 | A1 |
20130136307 | Yu | May 2013 | A1 |
20130293679 | Gurman et al. | Nov 2013 | A1 |
20140021259 | Moed | Jan 2014 | A1 |
20140049609 | Wilson et al. | Feb 2014 | A1 |
20140307102 | Chang | Oct 2014 | A1 |
20150022697 | Appia | Jan 2015 | A1 |
20150030256 | Brady et al. | Jan 2015 | A1 |
20150092016 | Chen et al. | Apr 2015 | A1 |
20150187082 | Bernal et al. | Jul 2015 | A1 |
20150248775 | Freeman | Sep 2015 | A1 |
20160150219 | Gordon | May 2016 | A1 |
20160253809 | Cole | Sep 2016 | A1 |
20160253812 | Grossinger et al. | Sep 2016 | A1 |
20160309068 | Nadeau et al. | Oct 2016 | A1 |
Entry |
---|
Shen, Office Action, U.S. Appl. No. 14/703,649, dated Dec. 1, 2017, 13 pgs. |
Shen, Notice of Allowance, U.S. Appl. No. 14/703,649, dated May 8, 2018, 13 pgs. |
Shen, Office Action, U.S. Appl. No. 14/720,390, dated Mar. 28, 2016, 15 pgs. |
Shen, Final Office Action, U.S. Appl. No. 14/720,390, dated Jan. 17, 2017, 14 pgs. |
Shen, Office Action, U.S. Appl. No. 14/720,390, dated Oct. 13, 2017, 13 pgs. |
Shen, Office Action, U.S. Appl. No. 14/720,390, dated May 11, 2018, 15 pgs. |
Shen, Notice of Allowance, U.S. Appl. No. 14/720,390, dated Jan. 8, 2019, 8 pgs. |
Shen, Office Action, U.S. Appl. No. 14/720,390, dated May 30, 2019, 15 pgs. |
Shen, Final Office Action, U.S. Appl. No. 14/720,390, dated Nov. 14, 2019, 18 pgs. |
Shen, Office Action, U.S. Appl. No. 14/720,390, dated Mar. 30, 2020, 17 pgs. |
Number | Date | Country | |
---|---|---|---|
20180335299 A1 | Nov 2018 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14703649 | May 2015 | US |
Child | 16052491 | US |