WO2013109609A2 - Enhanced contrast for object detection and characterization by optical imaging - Google Patents

Enhanced contrast for object detection and characterization by optical imaging Download PDF

Info

Publication number
WO2013109609A2
WO2013109609A2 PCT/US2013/021713 US2013021713W WO2013109609A2 WO 2013109609 A2 WO2013109609 A2 WO 2013109609A2 US 2013021713 W US2013021713 W US 2013021713W WO 2013109609 A2 WO2013109609 A2 WO 2013109609A2
Authority
WO
WIPO (PCT)
Prior art keywords
camera
image
light source
images
view
Prior art date
Application number
PCT/US2013/021713
Other languages
French (fr)
Other versions
WO2013109609A3 (en
Inventor
David HOLZ
Original Assignee
Leap Motion, Inc.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US13/414,485 external-priority patent/US20130182079A1/en
Priority claimed from US13/724,357 external-priority patent/US9070019B2/en
Application filed by Leap Motion, Inc. filed Critical Leap Motion, Inc.
Priority to JP2014552391A priority Critical patent/JP2015510169A/en
Priority to CN201380012276.5A priority patent/CN104145276B/en
Priority to DE112013000590.5T priority patent/DE112013000590B4/en
Publication of WO2013109609A2 publication Critical patent/WO2013109609A2/en
Publication of WO2013109609A3 publication Critical patent/WO2013109609A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/143Sensing or illuminating at different wavelengths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/145Illumination specially adapted for pattern recognition, e.g. using gratings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language

Definitions

  • the present disclosure relates generally to imaging systems and in particular to three- dimensional (3D) object detection, tracking and characterization using optical imaging.
  • Motion-capture systems are used in a variety of contexts to obtain information about the conformation and motion of various objects, including objects with articulating members, such as human hands or human bodies.
  • Such systems generally include cameras to capture sequential images of an object in motion and computers to analyze the images to create a reconstruction of an object's volume, position and motion. For 3D motion capture, at least two cameras are typically used.
  • Image-based motion-capture systems rely on the ability to distinguish an object of interest from a background. This is often achieved using image-analysis algorithms that detect edges, typically by comparing pixels to detect abrupt changes in color and/or brightness. Such conventional systems, however, suffer performance degradation under many common
  • instrumenting the object of interest, e.g., by having a person wear a mesh of reflectors or active light sources or the like while performing the motion. Special lighting conditions (e.g., low light) can be used to make the reflectors or light sources stand out in the images. Instrumenting the subject, however, is not always a convenient or desirable option.
  • Certain embodiments of the present invention relate to imaging systems that improve object recognition by enhancing contrast between the object and background surfaces visible in an image using; this may be accomplished, for example, by means of controlled lighting directed at the object.
  • the falloff of light intensity with distance (1/r 2 for pointlike light sources) can be exploited by positioning a light source (or multiple light sources) near the camera(s) or other image capture device(s) and shining that light onto the object.
  • Source light reflected by the nearby object of interest can be expected to be much brighter than light reflected from more distant background surfaces, and the more distant the background (relative to the object), the more pronounced the effect will be. Accordingly, in some embodiments, a threshold cutoff on pixel brightness in the captured images can be used to distinguish "object" pixels from "background” pixels. While broadband ambient light sources can be employed, various embodiments employ light having a confined wavelength range and a camera matched to detect such light; for example, an infrared source light can be used with one or more cameras sensitive to infrared frequencies.
  • the invention pertains to an image capture and analysis system for identifying objects of interest in a digitally represented image scene.
  • the system comprises at least one camera oriented toward a field of view; at least one light source disposed on a same side of the field of view as the camera and oriented to illuminate the field of view; and an image analyzer coupled to the camera and the light source(s).
  • the image analyzer may be configured to operate the camera(s) to capture a sequence of images including a first image captured at a time when the light source(s) are illuminating the field of view; identify pixels corresponding to the object rather than to the background (e.g., image components that are nearby or reflective); and based on the identified pixels, constructing a 3D model of the object, including a position and shape of the object, to geometrically determine whether it corresponds to the object of interest.
  • the image analyzer distinguishes between (i) foreground image components corresponding to objects located within a proximal zone of the field of view, where the proximal zone extends from the camera(s) and has a depth relative thereto of at least twice the expected maximum distance between the objects corresponding to the foreground image components and the camera(s), and (ii) background image components corresponding to objects located within a distal zone of the field of view, where the distal zone is located, relative to the at least one camera, beyond the proximal zone.
  • the proximal zone may have a depth of at least four times the expected maximum distance.
  • the image analyzer operates the camera(s) to capture second and third images when the light source(s) are not illuminating the field of view and identifies the pixels corresponding to the object based on the difference between the first and second images and the difference between the first and third images, where the second image is captured before the first image and the third image is captured after the second image.
  • the light source(s) may, for example, be diffuse emitters— e.g., infrared light-emitting diodes, in which case the camera(s) are an infrared-sensitive camera. Two or more light sources may be arranged to flank the camera(s) and be substantially coplanar therewith. In various embodiments, the camera(s) and the light source(s) are oriented vertically upward. To enhance contrast, the camera may be operated to provide an exposure time no greater than 100
  • a holographic diffraction grating is positioned between the lens of each camera and the field of view (i.e., in front of the camera lens).
  • the image analyzer may geometrically determine whether an object corresponds to the object of interest by identifying ellipses that volumetrically define a candidate object, discarding object segments geometrically inconsistent with an ellipse-based definition, and determining, based on the ellipses, whether the candidate object corresponds to the object of interest.
  • the invention pertains to a method for capturing and analyzing images.
  • the method comprises the steps of activating at least one light source to illuminate a field of view containing an object of interest; capturing a sequence of digital images of the field of view using a camera (or cameras) at a time when the light source(s) are activated; identifying pixels corresponding to the object rather than to the background; and based on the identified pixels, constructing a 3D model of the object, including a position and shape of the object, to geometrically determine whether it corresponds to the object of interest.
  • the light source(s) may be positioned such that objects of interest are located within a proximal zone of the field of view, where the proximal zone extends from the camera to a distance at least twice an expected maximum distance between the objects of interest and the camera.
  • the proximal zone may have a depth of at least four times the expected maximum distance.
  • the light source(s) may, for example, be diffuse emitters— e.g., infrared light-emitting diodes, in which case the camera is an infrared-sensitive camera.
  • Two or more light sources may be arranged to flank the camera and be substantially coplanar therewith.
  • the camera and the light source(s) are oriented vertically upward. To enhance contrast, the camera may be operated to provide an exposure time no greater than 100
  • the light source(s) may be activated during exposure time at a power level of at least 5 watts.
  • object pixels may be identified by capturing a first image when the light source(s) are not activated, a second image when the light source(s) are activated, and a third image when the light source(s) are not activated, where pixels corresponding to the object are identified based on a difference between the second and first images and a difference between the second and third images
  • Geometrically determining whether an object corresponds to the object of interest may comprise or consist of identifying ellipses that volumetrically define a candidate object, discarding object segments geometrically inconsistent with an ellipse-based definition, and determining, based on the ellipses, whether the candidate object corresponds to the object of interest.
  • the invention pertains to a method of locating rounded objects within a digital image.
  • the method comprises the steps of: ctivating at least one light source to illuminate a field of view containing an object of interest; operating a camera to capture a sequence of images including a first image captured at a time when the at least one light source is illuminating the field of view; and analyzing the images to detect therein Gaussian brightness falloff patterns indicative of rounded objects in the field of view.
  • the rounded objects are detected without identifying edges thereof.
  • the method may further comprise tracking the motion of the detected rounded objects through a plurality of the captured images.
  • the system comprises at least one camera oriented toward the field of view; at least one light source disposed on a same side of the field of view as the camera and oriented to illuminate the field of view; and an image analyzer coupled to the camera and the light source.
  • the image analyzer may be configured to operate the camera(s) to capture a sequence of images including a first image captured at a time when the light source(s) are illuminating the field of view; and analyze the images to detect therein Gaussian brightness falloff patterns indicative of rounded objects in the field of view.
  • the the rounded objects may, in some embodiments, be detected without identifying edges thereof.
  • the system may track the motion of the detected rounded objects through a plurality of the captured images.
  • the term “substantially” or “approximately” means ⁇ 10% (e.g., by weight or by volume), and in some embodiments, ⁇ 5%.
  • the term “consists essentially of means excluding other materials that contribute to function, unless otherwise defined herein.
  • Reference throughout this specification to "one example,” “an example,” “one embodiment,” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the example is included in at least one example of the present technology.
  • FIG. 1 illustrates a system for capturing image data according to an embodiment of the present invention.
  • FIG. 2 is a simplified block diagram of a computer system implementing an image analysis apparatus according to an embodiment of the present invention.
  • FIGs. 3A-3C are graphs of brightness data for rows of pixels that may be obtained according to an embodiment of the present invention.
  • FIG. 4 is a flow diagram of a process for identifying the location of an object in an image according to an embodiment of the present invention.
  • FIG. 5 illustrates a timeline in which light sources pulsed on at regular intervals according to an embodiment of the present invention.
  • FIG. 6 illustrates a timeline for pulsing light sources and capturing images according to an embodiment of the present invention.
  • FIG. 7 is a flow diagram of a process for identifying object edges using successive images according to an embodiment of the present invention.
  • FIG. 8 is a top view of a computer system incorporating a motion detector as a user input device according to an embodiment of the present invention.
  • FIG. 9 is a front view of a tablet computer illustrating another example of a computer system incorporating a motion detector according to an embodiment of the present invention.
  • FIG. 10 illustrates a goggle system incorporating a motion detector according to an embodiment of the present invention.
  • FIG. 11 is a flow diagram of a process for using motion information as user input to control a computer system or other system according to an embodiment of the present invention.
  • FIG. 12 illustrates a system for capturing image data according to another embodiment of the present invention.
  • FIG. 13 illustrates a system for capturing image data according to still another embodiment of the present invention.
  • FIG. 1 illustrates a system 100 for capturing image data according to an embodiment of the present invention.
  • System 100 includes a pair of cameras 102, 104 coupled to an image-analysis system 106.
  • Cameras 102, 104 can be any type of camera, including cameras sensitive across the visible spectrum or, more typically, with enhanced sensitivity to a confined wavelength band (e.g., the infrared (IR) or ultraviolet bands); more generally, the term “camera” herein refers to any device (or combination of devices) capable of capturing an image of an object and representing that image in the form of digital data.
  • line sensors or line cameras rather than conventional devices that capture a two- dimensional (2D) image can be employed.
  • the term "light” is used generally to connote any electromagnetic radiation, which may or may not be within the visible spectrum, and may be broadband (e.g., white light) or narrowband (e.g., a single wavelength or narrow band of wavelengths).
  • the heart of a digital camera is an image sensor, which contains a grid of light-sensitive picture elements (pixels).
  • a lens focuses light onto the surface of the image sensor, and the image is formed as the light strikes the pixels with varying intensity.
  • Each pixel converts the light into an electric charge whose magnitude reflects the intensity of the detected light, and collects that charge so it can be measured.
  • CCD and CMOS image sensors perform this same function but differ in how the signal is measured and transferred.
  • CMOS complementary metal-oxide-semiconductor
  • a CMOS sensor places a measurement structure at each pixel location. The measurements are transferred directly from each location to the output of the sensor.
  • Cameras 102, 104 are preferably capable of capturing video images (i.e., successive image frames at a constant rate of at least 15 frames per second), although no particular frame rate is required.
  • the capabilities of cameras 102, 104 are not critical to the invention, and the cameras can vary as to frame rate, image resolution (e.g., pixels per image), color or intensity resolution (e.g., number of bits of intensity data per pixel), focal length of lenses, depth of field, etc.
  • image resolution e.g., pixels per image
  • color or intensity resolution e.g., number of bits of intensity data per pixel
  • focal length of lenses e.g., depth of field, etc.
  • any cameras capable of focusing on objects within a spatial volume of interest can be used.
  • the volume of interest might be defined as a cube approximately one meter on a side.
  • System 100 also includes a pair of light sources 108, 1 10, which can be disposed to either side of cameras 102, 104, and controlled by image-analysis system 106.
  • Light sources 108, 1 10 can be infrared light sources of generally conventional design, e.g., infrared light-emitting diodes (LEDs), and cameras 102, 104 can be sensitive to infrared light.
  • Filters 120, 122 can be placed in front of cameras 102, 104 to filter out visible light so that only infrared light is registered in the images captured by cameras 102, 104.
  • infrared light can allow the motion-capture system to operate under a broad range of lighting conditions and can avoid various inconveniences or distractions that may be associated with directing visible light into the region where the person is moving.
  • a particular wavelength or region of the electromagnetic spectrum is required.
  • lasers or other light sources can be used instead of LEDs.
  • additional optics e.g., a lens or diffuser
  • Useful arrangements can also include short- and wide-angle illuminators for different ranges.
  • Light sources are typically diffuse rather than specular point sources; for example, packaged LEDs with light-spreading encapsulation are suitable.
  • cameras 102, 104 are oriented toward a region of interest 112 in which an object of interest 114 (in this example, a hand) and one or more background objects 116 can be present.
  • Light sources 108, 1 10 are arranged to illuminate region 112.
  • one or more of the light sources 108, 1 10 and one or more of the cameras 102, 104 are disposed below the motion to be detected, e.g., where hand motion is to be detected, beneath the spatial region where that motion takes place.
  • the optimal positions are either from the bottom looking up, from the top looking down (which requires a bridge) or from the screen bezel looking diagonally up or diagonally down. In scenarios looking up there is less likelyhood of confusion with background objects (clutter on the user's desk, for example) and if it is directly looking up then there is little likelihood of confusion with other people out of the field of view (and also privacy is enhanced by not imaging faces).
  • Image-analysis system 106 which can be, e.g., a computer system, can control the operation of light sources 108, 1 10 and cameras 102, 104 to capture images of region 112. Based on the captured images, image-analysis system 106 determines the position and/or motion of object 114.
  • image-analysis system 106 can determine which pixels of various images captured by cameras 102, 104 contain portions of object 1 14.
  • any pixel in an image can be classified as an "object" pixel or a "background” pixel depending on whether that pixel contains a portion of object 1 14 or not.
  • classification of pixels as object or background pixels can be based on the brightness of the pixel. For example, the distance (r 0 ) between an object of interest 1 14 and cameras 102, 104 is expected to be smaller than the distance (3 ⁇ 4) between background object(s) 116 and cameras 102, 104.
  • light sources 108, 110 can be infrared LEDs capable of strongly emitting radiation in a narrow frequency band, and filters 120, 122 can be matched to the frequency band of light sources 108, 110.
  • filters 120, 122 can be matched to the frequency band of light sources 108, 110.
  • a human hand or body, or a heat source or other object in the background may emit some infrared radiation, the response of cameras 102, 104 can still be dominated by light originating from sources 108, 1 10 and reflected by object 1 14 and/or background 116.
  • image-analysis system 106 can quickly and accurately distinguish object pixels from background pixels by applying a brightness threshold to each pixel.
  • pixel brightness in a CMOS sensor or similar device can be measured on a scale from 0.0 (dark) to 1.0 (fully saturated), with some number of gradations in between depending on the sensor design.
  • the brightness encoded by the camera pixels scales standardly (linearly) with the luminance of the object, typically due to the deposited charge or diode voltages.
  • Object pixels can thus be readily distinguished from background pixels based on brightness. Further, edges of the object can also be readily detected based on differences in brightness between adjacent pixels, allowing the position of the object within each image to be determined. Correlating object positions between images from cameras 102, 104 allows image- analysis system 106 to determine the location in 3D space of object 1 14, and analyzing sequences of images allows image-analysis system 106 to reconstruct 3D motion of object 114 using conventional motion algorithms.
  • system 100 is illustrative and that variations and modifications are possible.
  • light sources 108, 1 10 are shown as being disposed to either side of cameras 102, 104. This can facilitate illuminating the edges of object 1 14 as seen from the perspectives of both cameras; however, a particular arrangement of cameras and lights is not required. (Examples of other arrangements are described below.) As long as the object is significantly closer to the cameras than the background, enhanced contrast as described herein can be achieved.
  • Image-analysis system 106 can include or consist of any device or device component that is capable of capturing and processing image data, e.g., using techniques described herein.
  • FIG. 2 is a simplified block diagram of a computer system 200, implementing image-analysis system 106 according to an embodiment of the present invention.
  • Computer system 200 includes a processor 202, a memory 204, a camera interface 206, a display 208, speakers 209, a keyboard 210, and a mouse 21 1.
  • Memory 204 can be used to store instructions to be executed by processor 202 as well as input and/or output data associated with execution of the instructions.
  • memory 204 contains instructions, conceptually illustrated as a group of modules described in greater detail below, that control the operation of processor 202 and its interaction with the other hardware components.
  • An operating system directs the execution of low-level, basic system functions such as memory allocation, file management and operation of mass storage devices.
  • the operating system may be or include a variety of operating systems such as Microsoft WINDOWS operating system, the Unix operating system, the Linux operating system, the Xenix operating system, the IBM AIX operating system, the Hewlett Packard UX operating system, the Novell NETWARE operating system, the Sun Microsystems SOLARIS operating system, the OS/2 operating system, the BeOS operating system, the MACINTOSH operating system, the APACHE operating system, an OPENSTEP operating system or another operating system of platform.
  • operating systems such as Microsoft WINDOWS operating system, the Unix operating system, the Linux operating system, the Xenix operating system, the IBM AIX operating system, the Hewlett Packard UX operating system, the Novell NETWARE operating system, the Sun Microsystems SOLARIS operating system, the OS/2 operating system, the BeOS operating system, the MACINTOSH operating system, the APACHE operating system, an OPENSTEP operating system or another operating system of platform.
  • the computing environment may also include other removable/nonremovable, volatile/nonvolatile computer storage media.
  • a hard disk drive may read or write to nonremovable, nonvolatile magnetic media.
  • a magnetic disk drive may read from or writes to a removable, nonvolatile magnetic disk
  • an optical disk drive may read from or write to a removable, nonvolatile optical disk such as a CD-ROM or other optical media.
  • Other removable/nonremovable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like.
  • the storage media are typically connected to the system bus through a removable or non- removable memory interface.
  • Processor 202 may be a general-purpose microprocessor, but depending on implementation can alternatively be a microcontroller, peripheral integrated circuit element, a CSIC (customer-specific integrated circuit), an ASIC (application-specific integrated circuit), a logic circuit, a digital signal processor, a programmable logic device such as an FPGA (field- programmable gate array), a PLD (programmable logic device), a PLA (programmable logic array), an RFID processor, smart chip, or any other device or arrangement of devices that is capable of implementing the steps of the processes of the invention.
  • a programmable logic device such as an FPGA (field- programmable gate array), a PLD (programmable logic device), a PLA (programmable logic array), an RFID processor, smart chip, or any other device or arrangement of devices that is capable of implementing the steps of the processes of the invention.
  • Camera interface 206 can include hardware and/or software that enables
  • camera interface 206 can include one or more data ports 216, 218 to which cameras can be connected, as well as hardware and/or software signal processors to modify data signals received from the cameras (e.g., to reduce noise or reformat data) prior to providing the signals as inputs to a conventional motion-capture ("mocap") program 214 executing on processor 202.
  • camera interface 206 can also transmit signals to the cameras, e.g., to activate or deactivate the cameras, to control camera settings (frame rate, image quality, sensitivity, etc.), or the like. Such signals can be transmitted, e.g., in response to control signals from processor 202, which may in turn be generated in response to user input or other detected events.
  • Camera interface 206 can also include controllers 217, 219, to which light sources (e.g., light sources 108, 110) can be connected.
  • controllers 217, 219 supply operating current to the light sources, e.g., in response to instructions from processor 202 executing mocap program 214.
  • the light sources can draw operating current from an external power supply (not shown), and controllers 217, 219 can generate control signals for the light sources, e.g., instructing the light sources to be turned on or off or changing the brightness.
  • a single controller can be used to control multiple light sources.
  • mocap program 214 Instructions defining mocap program 214 are stored in memory 204, and these instructions, when executed, perform motion-capture analysis on images supplied from cameras connected to camera interface 206.
  • mocap program 214 includes various modules, such as an object detection module 222 and an object analysis module 224; again, both of these modules are conventional and well-characterized in the art.
  • Object detection module 222 can analyze images (e.g., images captured via camera interface 206) to detect edges of an object therein and/or other information about the object's location.
  • Object analysis module 224 can analyze the object information provided by object detection module 222 to determine the 3D position and/or motion of the object. Examples of operations that can be implemented in code modules of mocap program 214 are described below.
  • Memory 204 can also include other information and/or code modules used by mocap program 214.
  • Display 208, speakers 209, keyboard 210, and mouse 211 can be used to facilitate user interaction with computer system 200. These components can be of generally conventional design or modified as desired to provide any type of user interaction.
  • results of motion capture using camera interface 206 and mocap program 214 can be interpreted as user input.
  • a user can perform hand gestures that are analyzed using mocap program 214, and the results of this analysis can be interpreted as an instruction to some other program executing on processor 200 (e.g., a web browser, word processor, or other application).
  • processor 200 e.g., a web browser, word processor, or other application.
  • a user might use upward or downward swiping gestures to "scroll" a webpage currently displayed on display 208, to use rotating gestures to increase or decrease the volume of audio output from speakers 209, and so on.
  • Computer system 200 is illustrative and that variations and modifications are possible.
  • Computer systems can be implemented in a variety of form factors, including server systems, desktop systems, laptop systems, tablets, smart phones or personal digital assistants, and so on.
  • a particular implementation may include other functionality not described herein, e.g., wired and/or wireless network interfaces, media playing and/or recording capability, etc.
  • one or more cameras may be built into the computer rather than being supplied as separate components.
  • an image analyzer can be implemented using only a subset of computer system components (e.g., as a processor executing program code, an ASIC, or a fixed-function digital signal processor, with suitable I/O interfaces to receive image data and output analysis results).
  • FIGs. 3A-3C are three different graphs of brightness data for rows of pixels that may be obtained according to various embodiments of the present invention. While each graph illustrates one pixel row, it is to be understood that an image typically contains many rows of pixels, and a row can contain any number of pixels; for instance, an HD video image can include 1080 rows having 1920 pixels each.
  • FIG. 3 A illustrates brightness data 300 for a row of pixels in which the object has a single cross-section, such as a cross-section through a palm of a hand. Pixels in region 302, corresponding to the object, have high brightness while pixels in regions 304 and 306,
  • any pixel with brightness above 0.5 can be assumed to be an object pixel, while any pixel with brightness below 0.5 can be assumed to be a background pixel.
  • FIG. 3B illustrates brightness data 320 for a row of pixels in which the object has multiple distinct cross-sections, such as a cross-section through fingers of an open hand. Regions 322, 323, and 324, corresponding to the object, have high brightness while pixels in regions
  • FIG. 3C illustrates brightness data 340 for a row of pixels in which the distance to the object varies across the row, such as a cross-section of a hand with two fingers extending toward the camera.
  • Regions 342 and 343 correspond to the extended fingers and have highest brightness; regions 344 and 345 correspond to other portions of the hand and are slightly less bright; this can be due in part to being farther away in part to shadows cast by the extended fingers.
  • Regions 348 and 349 are background regions and are considerably darker than hand-containing regions 342-345.
  • a threshold cutoff on brightness e.g., at 0.5 again suffices to distinguish object pixels from background pixels. Further analysis of the object pixels can also be performed to detect the edges of regions 342 and 343, providing additional information about the object's shape.
  • FIGs. 3A-3C is illustrative.
  • 3A-3C illustrate, use of lighting directed at the object to create strong contrast between object and background allows the use of simple and fast algorithms to distinguish between background pixels and object pixels, which can be particularly useful in real-time motion- capture systems. Simplifying the task of distinguishing background and object pixels can also free up computing resources for other motion-capture tasks (e.g., reconstructing the object's position, shape, and/or motion).
  • FIG. 4 illustrates a process 400 for identifying the location of an object in an image according to an embodiment of the present invention.
  • Process 400 can be implemented, e.g., in system 100 of FIG. 1.
  • light sources 108, 110 are turned on.
  • one or more images are captured using cameras 102, 104.
  • one image from each camera is captured.
  • a sequence of images is captured from each camera. The images from the two cameras can be closely correlated in time (e.g.,
  • Block 406 can also include identifying locations of edges of the object based on transition points between background and object pixels.
  • each pixel is first classified as either object or background based on whether it exceeds the threshold brightness cutoff. For example, as shown in FIGs. 3A-3C, a cutoff at a saturation level of 0.5 can be used.
  • edges can be detected by finding locations where background pixels are adjacent to object pixels.
  • the regions of background and object pixels on either side of the edge may be required to have a certain minimum size (e.g., 2, 4 or 8 pixels).
  • edges can be detected without first classifying pixels as object or background.
  • can be defined as the difference in brightness between adjacent pixels, and
  • a threshold e.g., 0.3 or 0.5 in terms of the saturation scale
  • one part of an object may partially occlude another in an image; for example, in the case of a hand, a finger may partly occlude the palm or another finger.
  • Occlusion edges that occur where one part of the object partially occludes another can also be detected based on smaller but distinct changes in brightness once background pixels have been eliminated.
  • FIG. 3C illustrates an example of such partial occlusion, and the locations of occlusion edges are apparent.
  • Detected edges can be used for numerous purposes. For example, as previously noted, the edges of the object as viewed by the two cameras can be used to determine an approximate location of the object in 3D space. The position of the object in a 2D plane transverse to the optical axis of the camera can be determined from a single image, and the offset (parallax) between the position of the object in time-correlated images from two different cameras can be used to determine the distance to the object if the spacing between the cameras is known.
  • the position and shape of the object can be determined based on the locations of its edges in time-correlated images from two different cameras, and motion (including articulation) of the object can be determined from analysis of successive pairs of images.
  • Examples of techniques that can be used to determine an object's position, shape and motion based on locations of edges of the object are described in co-pending U.S. Serial No. 13/414,485, filed March 7, 2012, the entire disclosure of which is incorporated herein by reference.
  • Those skilled in the art with access to the present disclosure will recognize that other techniques for determining position, shape and motion of an object based on information about the location of edges of the object can also be used.
  • an object's motion and/or position is reconstructed using small amounts of information.
  • an outline of an object's shape, or silhouette, as seen from a particular vantage point can be used to define tangent lines to the object from that vantage point in various planes, referred to herein as "slices.”
  • tangent lines to the object from that vantage point in various planes referred to herein as "slices.”
  • four (or more) tangent lines from the vantage points to the object can be obtained in a given slice. From these four (or more) tangent lines, it is possible to determine the position of the object in the slice and to approximate its cross-section in the slice, e.g., using one or more ellipses or other simple closed curves.
  • locations of points on an object's surface in a particular slice can be determined directly (e.g., using a time-of-flight camera), and the position and shape of a cross-section of the object in the slice can be approximated by fitting an ellipse or other simple closed curve to the points.
  • Positions and cross-sections determined for different slices can be correlated to construct a 3D model of the object, including its position and shape.
  • a succession of images can be analyzed using the same technique to model motion of the object. Motion of a complex object that has multiple separately articulating members (e.g., a human hand) can be modeled using these techniques.
  • an ellipse in the xy plane can be characterized by five parameters: the x and y coordinates of the center (xc, yc), the semimajor axis, the semiminor axis, and a rotation angle (e.g., angle of the semimajor axis relative to the x axis). With only four tangents, the ellipse is underdetermined.
  • an efficient process for estimating the ellipse in spite of this fact involves making an initial working assumption (or "guess") as to one of the parameters and revisiting the assumption as additional information is gathered during the analysis. This additional information can include, for example, physical constraints based on properties of the cameras and/or the object.
  • more than four tangents to an object may be available for some or all of the slices, e.g., because more than two vantage points are available.
  • An elliptical cross-section can still be determined, and the process in some instances is somewhat simplified as there is no need to assume a parameter value.
  • the additional tangents may create additional complexity.
  • fewer than four tangents to an object may be available for some or all of the slices, e.g., because an edge of the object is out of range of the field of view of one camera or because an edge was not detected.
  • a slice with three tangents can be analyzed.
  • the system of equations for the ellipse and three tangents is sufficiently determined that it can be solved.
  • a circle can be fit to the three tangents; defining a circle in a plane requires only three parameters (the center coordinates and the radius), so three tangents suffice to fit a circle. Slices with fewer than three tangents can be discarded or combined with adjacent slices.
  • one approach is to look for continuous volumes of ellipses that define an object and discard object segments geometrically inconsistent with the ellipse-based definition of the object— e.g., segments that are too cylindrical or too straight or too thin or too small or too far away— and discarding these. If a sufficient number of ellipses remain to characterize the object and it conforms to the object of interest, it is so identified, and may be tracked from frame to frame.
  • each of a number of slices is analyzed separately to determine the size and location of an elliptical cross-section of the object in that slice.
  • This provides an initial 3D model (specifically, a stack of elliptical cross-sections), which can be refined by correlating the cross-sections across different slices. For example, it is expected that an object's surface will have continuity, and discontinuous ellipses can accordingly be discounted. Further refinement can be obtained by correlating the 3D model with itself across time, e.g., based on expectations related to continuity in motion and deformation.
  • light sources 108, 1 10 can be operated in a pulsed mode rather than being continually on.
  • FIG. 5 illustrates a timeline in which light sources 108, 110 are pulsed on at regular intervals as shown at 502.
  • the shutters of cameras 102, 104 can be opened to capture images at times coincident with the light pulses as shown at 504.
  • an object of interest can be brightly illuminated during the times when images are being captured.
  • the silhouettes of an object are extracted from one or more images of the object that reveal information about the object as seen from different vantage points. While silhouettes can be obtained using a number of different techniques, in some embodiments, the silhouettes are obtained by using cameras to capture images of the object and analyzing the images to detect object edges.
  • the pulsing of light sources 108, 110 can be used to further enhance contrast between an object of interest and background.
  • the ability to discriminate between relevant and irrelevant (e.g., background) objects in a scene can be compromised if the scene contains object that themselves emit light or are highly reflective.
  • This problem can be addressed by setting the camera exposure time to extraordinarily short periods (e.g., 100 microseconds or less) and pulsing the illumination at very high powers (i.e., 5 to 20 watts or, in some cases, to higher levels, e.g., 40 watts).
  • FIG. 6 illustrates a timeline in which light sources 108, 1 10 are pulsed on at regular intervals as shown at 602, while shutters of cameras 102, 104 are opened to capture images at times shown at 604.
  • light sources 108, 1 10 are "on" for every other image. If the object of interest is significantly closer than background regions to light sources 108, 1 10, the difference in light intensity will be stronger for object pixels than for background pixels. Accordingly, comparing pixels in successive images can help distinguish object and background pixels.
  • FIG. 7 is a flow diagram of a process 700 for identifying object edges using successive images according to an embodiment of the present invention.
  • the light sources are turned off, and at block 704 a first image (A) is captured.
  • the light sources are turned on, and at block 708 a second image (B) is captured.
  • a first image A
  • B second image
  • difference image B - A is calculated, e.g., by subtracting the brightness value of each pixel in image A from the brightness value of the corresponding pixel in image B. Since image B was captured with lights on, it is expected that B - A will be positive for most pixels.
  • the difference image is used to discriminate between background and foreground by applying a threshold or other metric on a pixel-by -pixel basis.
  • a threshold is applied to the difference image (B - A) to identify object pixels, with (B - A) above a threshold being associated with object pixels and (B - A) below the threshold being associated with background pixels.
  • Object edges can then be defined by identifying where object pixels are adjacent to background pixels, as described above. Object edges can be used for purposes such as position and/or motion detection, as described above.
  • object edges are identified using a triplet of image frames rather than a pair.
  • a first image (Image 1) is obtained with the light sources turned off;
  • a second image (Image2) is obtained with the light sources turned on; and
  • a third image (Image3) is taken with the light sources again turned off.
  • Image4 abs(Image2 - Image 1)
  • Image5 abs(Image2 - Image3)
  • a final image, Image6 is defined based on the two images Image4 and Image5.
  • the value of each pixel in Image6 is the smaller of the two corresponding pixel values in Image4 and Image5.
  • Image6 min(Image4, Image5) on a pixel-by-pixel basis.
  • Image6 represents an enhanced-accuracy difference image and most of its pixels will be positive.
  • a threshold or other metric can be used on a pixel-by -pixel basis to distinguish foreground and background pixels.
  • Contrast-based object detection as described herein can be applied in any situation where objects of interest are expected to be significantly closer (e.g., half the distance) to the light source(s) than background objects.
  • One such application relates to the use of motion-detection as user input to interact with a computer system. For example, the user may point to the screen or make other hand gestures, which can be interpreted by the computer system as input.
  • FIG. 8 A computer system 800 incorporating a motion detector as a user input device according to an embodiment of the present invention is illustrated in FIG. 8.
  • Computer system 800 includes a desktop box 802 that can house various components of a computer system such as processors, memory, fixed or removable disk drives, video drivers, audio drivers, network interface components, and so on.
  • a display 804 is connected to desktop box 802 and positioned to be viewable by a user.
  • a keyboard 806 is positioned within easy reach of the user's hands.
  • a motion- detector unit 808 is placed near keyboard 806 (e.g., behind, as shown or to one side), oriented toward a region in which it would be natural for the user to make gestures directed at display 804 (e.g., a region in the air above the keyboard and in front of the monitor).
  • Cameras 810, 812 (which can be similar or identical to cameras 102, 104 described above) are arranged to point generally upward, and light sources 814, 816 (which can be similar or identical to light sources 108, 110 described above) are arranged to either side of cameras 810, 812 to illuminate an area above motion-detector unit 808.
  • the cameras 810, 812 and the light sources 814, 816 are substantially coplanar.
  • a filter can be placed over the top of motion-detector unit 808 (or just over the apertures of cameras 810, 812) to filter out all light outside a band around the peak frequencies of light sources 814, 816.
  • the background when the user moves a hand or other object (e.g., a pencil) in the field of view of cameras 810, 812, the background will likely consist of a ceiling and/or various ceiling-mounted fixtures.
  • the user's hand can be 10-20 cm above motion detector 808, while the ceiling may be five to ten times that distance (or more).
  • Illumination from light sources 814, 816 will therefore be much more intense on the user's hand than on the ceiling, and the techniques described herein can be used to reliably distinguish object pixels from background pixels in images captured by cameras 810, 812. If infrared light is used, the user will not be distracted or disturbed by the light.
  • Computer system 800 can utilize the architecture shown in FIG. 1.
  • cameras 810, 812 of motion-detector unit 808 can provide image data to desktop box 802, and image analysis and subsequent interpretation can be performed using the processors and other components housed within desktop box 802.
  • motion-detector unit 808 can incorporate processors or other components to perform some or all stages of image analysis and interpretation.
  • motion-detector unit 808 can include a processor (programmable or fixed-function) that implements one or more of the processes described above to distinguish between object pixels and background pixels.
  • motion-detector unit 808 can send a reduced representation of the captured images (e.g., a representation with all background pixels zeroed out) to desktop box 802 for further analysis and interpretation.
  • a reduced representation of the captured images e.g., a representation with all background pixels zeroed out
  • desktop box 802 for further analysis and interpretation.
  • a particular division of computational tasks between a processor inside motion-detector unit 808 and a processor inside desktop box 802 is not required.
  • Gaussian is used broadly herein to connote a curve with a negative second derivative. Often such curves will be bell-shaped and symmetric, but this is not necessarily the case; for example, in situations with higher object specularity or if the object is at an extreme angle, the curve may be skewed in a particular direction. Accordingly, as used herein, the term
  • Gaussian is not limited to curves explicitly conforming to a Gaussian function.
  • FIG. 9 illustrates a tablet computer 900 incorporating a motion detector according to an embodiment of the present invention.
  • Tablet computer 900 has a housing, the front surface of which incorporates a display screen 902 surrounded by a bezel 904.
  • One or more control buttons 906 can be incorporated into bezel 904.
  • Within the housing, e.g., behind display screen 902, tablet computer 900 can have various conventional computer components (processors, memory, network interfaces, etc.).
  • a motion detector 910 can be implemented using cameras 912, 914 (e.g., similar or identical to cameras 102, 104 of FIG. 1) and light sources 916, 918 (e.g., similar or identical to light sources 108, 110 of FIG. 1) mounted into bezel 904 and oriented toward the front surface so as to capture motion of a user positioned in front of tablet computer 900.
  • the motion is detected as described above.
  • the background is likely to be the user's own body, at a distance of roughly 25-30 cm from tablet computer 900.
  • the user may hold a hand or other object at a short distance from display 902, e.g., 5-10 cm.
  • the illumination-based contrast enhancement techniques described herein can be used to distinguish object pixels from background pixels.
  • the image analysis and subsequent interpretation as input gestures can be done within tablet computer 900 (e.g., leveraging the main processor to execute operating-system or other software to analyze data obtained from cameras 912, 914). The user can thus interact with tablet 900 using gestures in 3D space.
  • a goggle system 1000 may also incorporate a motion detector according to an embodiment of the present invention.
  • Goggle system 1000 can be used, e.g., in connection with virtual-reality and/or augmented-reality environments.
  • Goggle system 1000 includes goggles 1002 that are wearable by a user, similar to conventional eyeglasses.
  • Goggles 1002 include eyepieces 1004, 1006 that can incorporate small display screens to provide images to the user's left and right eyes, e.g., images of a virtual reality environment.
  • These images can be provided by a base unit 1008 (e.g., a computer system) that is in communication with goggles 1002, either via a wired or wireless channel.
  • a base unit 1008 e.g., a computer system
  • Cameras 1010, 1012 can be mounted in a frame section of goggles 1002 such that they do not obscure the user's vision.
  • Light sources 1014, 1016 can be mounted in the frame section of goggles 1002 to either side of cameras 1010, 1012. Images collected by cameras 1010, 1012 can be transmitted to base unit 1008 for analysis and interpretation as gestures indicating user interaction with the virtual or augmented environment.
  • the virtual or augmented environment presented through eyepieces 1004, 1006 can include a representation of the user's hand, and that representation can be based on the images collected by cameras 1010, 1012.
  • the motion is detected as described above.
  • the background is likely to be a wall of a room the user is in, and the user will most likely be sitting or standing at some distance from the wall.
  • the illumination-based contrast enhancement techniques described herein facilitate distinguishing object pixels from background pixels.
  • the image analysis and subsequent interpretation as input gestures can be done within base unit 1008.
  • a motion detector or components thereof can be combined in a single housing with other user input devices, such as a keyboard or trackpad.
  • a motion detector can be incorporated into a laptop computer, e.g., with upward-oriented cameras and light sources built into the same surface as the laptop keyboard (e.g., to one side of the keyboard or in front of or behind it) or with front-oriented cameras and light sources built into a bezel surrounding the laptop's display screen.
  • a wearable motion detector can be implemented, e.g., as a headband or headset that does not include active displays or optical components.
  • motion information can be used as user input to control a computer system or other system according to an embodiment of the present invention.
  • Process 1 100 can be implemented, e.g., in computer systems such as those shown in FIGs. 8-10.
  • images are captured using the light sources and cameras of the motion detector. As described above, capturing the images can include using the light sources to illuminate the field of view of the cameras such that objects closer to the light sources (and the cameras) are more brightly illuminated than objects farther away.
  • the captured images are analyzed to detect edges of the object based on changes in brightness. For example, as described above, this analysis can include comparing the brightness of each pixel to a threshold, detecting transitions in brightness from a low level to a high level across adjacent pixels, and/or comparing successive images captured with and without illumination by the light sources.
  • an edge-based algorithm is used to determine the object's position and/or motion. This algorithm can be, for example, any of the tangent-based algorithms described in the above-referenced '485 application; other algorithms can also be used.
  • a gesture is identified based on the object's position and/or motion.
  • a library of gestures can be defined based on the position and/or motion of a user's fingers.
  • a “tap” can be defined based on a fast motion of an extended finger toward a display screen.
  • a “trace” can be defined as motion of an extended finger in a plane roughly parallel to the display screen.
  • An inward pinch can be defined as two extended fingers moving closer together and an outward pinch can be defined as two extended fingers moving farther apart.
  • Swipe gestures can be defined based on movement of the entire hand in a particular direction (e.g., up, down, left, right) and different swipe gestures can be further defined based on the number of extended fingers (e.g., one, two, all). Other gestures can also be defined. By comparing a detected motion to the library, a particular gesture associated with detected position and/or motion can be determined.
  • the gesture is interpreted as user input, which the computer system can process.
  • the particular processing generally depends on application programs currently executing on the computer system and how those programs are configured to respond to particular inputs. For example, a tap in a browser program can be interpreted as selecting a link toward which the finger is pointing. A tap in a word-processing program can be interpreted as placing the cursor at a position where the finger is pointing or as selecting a menu item or other graphical control element that may be visible on the screen.
  • the particular gestures and interpretations can be determined at the level of operating systems and/or applications as desired, and no particular interpretation of any gesture is required.
  • Full-body motion can be captured and used for similar purposes.
  • the analysis and reconstruction advantageously occurs in approximately real-time (e.g., times comparable to human reaction times), so that the user experiences a natural interaction with the equipment.
  • motion capture can be used for digital rendering that is not done in real time, e.g., for computer-animated movies or the like; in such cases, the analysis can take as long as desired.
  • Embodiments described herein provide efficient discrimination between object and background in captured images by exploiting the decrease of light intensity with distance.
  • the contrast between object and background can be increased.
  • filters can be used to remove light from sources other than the intended sources.
  • infrared light can reduce unwanted "noise" or bright spots from visible light sources likely to be present in the environment where images are being captured and can also reduce distraction to users (who presumably cannot see infrared).
  • FIG. 12 illustrates a system 1200 with a single camera 1202 and two light sources 1204, 1206 disposed to either side of camera 1202. This arrangement can be used to capture images of object 1208 and shadows cast by object 1208 against a flat background region 1210. In this embodiment, object pixels and background pixels can be readily distinguished.
  • the single-camera implementation 1200 may benefit from inclusion of a holographic diffraction grating 1215 placed in front of the lens of the camera 1202.
  • the grating 1215 creates fringe patterns that appear as ghost silhouettes and/or tangents of the object 1208. Particularly when separable (i.e., when overlap is not excessive), these patterns provide high contrast facilitating discrimination of object from background. See, e.g., DIFFRACTION GRATING HANDBOOK (Newport Corporation, Jan. 2005; available at http://gratings.newport.com/library/handbook/handbook.asp), the entire disclosure of which is hereby incorporated by reference.
  • FIG. 13 illustrates another system 1300 with two cameras 1302, 1304 and one light source 1306 disposed between the cameras.
  • System 1300 can capture images of an object 1308 against a background 1310.
  • System 1300 is generally less reliable for edge illumination than system 100 of FIG. 1 ; however, not all algorithms for determining position and motion rely on precise knowledge of the edges of an object. Accordingly, system 1300 can be used, e.g., with edge-based algorithms in situations where less accuracy is required.
  • System 1300 can also be used with non-edge-based algorithms.
  • Threshold cutoffs and other specific criteria for distinguishing object from background can be adapted for particular cameras and particular environments. As noted above, contrast is expected to increase as the ratio 3 ⁇ 4/3 ⁇ 4 increases.
  • the system can be calibrated in a particular environment, e.g., by adjusting light-source brightness, threshold criteria, and so on. The use of simple criteria that can be implemented in fast algorithms can free up processing power in a given system for other uses.
  • Any type of object can be the subject of motion capture using these techniques, and various aspects of the implementation can be optimized for a particular object.
  • the type and positions of cameras and/or light sources can be optimized based on the size of the object whose motion is to be captured and/or the space in which motion is to be captured.
  • Analysis techniques in accordance with embodiments of the present invention can be implemented as algorithms in any suitable computer language and executed on programmable processors.
  • Computer programs incorporating various features of the present invention may be encoded on various computer readable storage media; suitable media include magnetic disk or tape, optical storage media such as compact disk (CD) or DVD (digital versatile disk), flash memory, and any other non-transitory medium capable of holding data in a computer-readable form.
  • suitable media include magnetic disk or tape, optical storage media such as compact disk (CD) or DVD (digital versatile disk), flash memory, and any other non-transitory medium capable of holding data in a computer-readable form.
  • Computer-readable storage media encoded with the program code may be packaged with a compatible device or provided separately from other devices.
  • program code may be encoded and transmitted via wired optical, and/or wireless networks conforming to a variety of protocols, including the Internet, thereby allowing distribution, e.g., via Internet download.

Abstract

Enhanced contrast between an object of interest and background surfaces visible in an image is provided using controlled lighting directed at the object. Exploiting the falloff of light intensity with distance, a light source (or multiple light sources), such as an infrared light source, can be positioned near one or more cameras to shine light onto the object while the camera(s) capture images. The captured images can be analyzed to distinguish object pixels from background pixels.

Description

ENHANCED CONTRAST FOR OBJECT DETECTION AND CHARACTERIZATION BY OPTICAL IMAGING
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority to, and the benefits of, U.S. Serial No. 61/724,068, filed on November 8, 2012, the entire disclosure of which is hereby incorporated by reference. In addition, this application claims priority to U.S. Patent Application Nos. 13/414,485 (filed on March 7, 2012) and 13/724,357 (filed on December 21 , 2012), and also claims priority to and the benefit of U.S. Provisional Patent Application Nos. 61/724,091 (filed on November 8, 2012) and 61/587,554 (filed on January 17, 2012). The foregoing applications are incorporated herein by reference in their entireties.
FIELD OF THE INVENTION
[0002] The present disclosure relates generally to imaging systems and in particular to three- dimensional (3D) object detection, tracking and characterization using optical imaging.
BACKGROUND
[0003] Motion-capture systems are used in a variety of contexts to obtain information about the conformation and motion of various objects, including objects with articulating members, such as human hands or human bodies. Such systems generally include cameras to capture sequential images of an object in motion and computers to analyze the images to create a reconstruction of an object's volume, position and motion. For 3D motion capture, at least two cameras are typically used.
[0004] Image-based motion-capture systems rely on the ability to distinguish an object of interest from a background. This is often achieved using image-analysis algorithms that detect edges, typically by comparing pixels to detect abrupt changes in color and/or brightness. Such conventional systems, however, suffer performance degradation under many common
circumstances, e.g., low contrast between the object of interest and the background and/or patterns in the background that may falsely register as object edges.
[0005] In some instances, distinguishing object and background can be facilitated by
"instrumenting" the object of interest, e.g., by having a person wear a mesh of reflectors or active light sources or the like while performing the motion. Special lighting conditions (e.g., low light) can be used to make the reflectors or light sources stand out in the images. Instrumenting the subject, however, is not always a convenient or desirable option.
SUMMARY
[0006] Certain embodiments of the present invention relate to imaging systems that improve object recognition by enhancing contrast between the object and background surfaces visible in an image using; this may be accomplished, for example, by means of controlled lighting directed at the object. For example, in a motion-capture system where an object of interest, such as a person's hand, is significantly closer to the camera than any background surfaces, the falloff of light intensity with distance (1/r2 for pointlike light sources) can be exploited by positioning a light source (or multiple light sources) near the camera(s) or other image capture device(s) and shining that light onto the object. Source light reflected by the nearby object of interest can be expected to be much brighter than light reflected from more distant background surfaces, and the more distant the background (relative to the object), the more pronounced the effect will be. Accordingly, in some embodiments, a threshold cutoff on pixel brightness in the captured images can be used to distinguish "object" pixels from "background" pixels. While broadband ambient light sources can be employed, various embodiments employ light having a confined wavelength range and a camera matched to detect such light; for example, an infrared source light can be used with one or more cameras sensitive to infrared frequencies.
[0007] Accordingly, in a first aspect, the invention pertains to an image capture and analysis system for identifying objects of interest in a digitally represented image scene. In various embodiments, the system comprises at least one camera oriented toward a field of view; at least one light source disposed on a same side of the field of view as the camera and oriented to illuminate the field of view; and an image analyzer coupled to the camera and the light source(s). The image analyzer may be configured to operate the camera(s) to capture a sequence of images including a first image captured at a time when the light source(s) are illuminating the field of view; identify pixels corresponding to the object rather than to the background (e.g., image components that are nearby or reflective); and based on the identified pixels, constructing a 3D model of the object, including a position and shape of the object, to geometrically determine whether it corresponds to the object of interest. In certain embodiments, the image analyzer distinguishes between (i) foreground image components corresponding to objects located within a proximal zone of the field of view, where the proximal zone extends from the camera(s) and has a depth relative thereto of at least twice the expected maximum distance between the objects corresponding to the foreground image components and the camera(s), and (ii) background image components corresponding to objects located within a distal zone of the field of view, where the distal zone is located, relative to the at least one camera, beyond the proximal zone. For example, the proximal zone may have a depth of at least four times the expected maximum distance.
[0008] In other embodiments, the image analyzer operates the camera(s) to capture second and third images when the light source(s) are not illuminating the field of view and identifies the pixels corresponding to the object based on the difference between the first and second images and the difference between the first and third images, where the second image is captured before the first image and the third image is captured after the second image.
[0009] The light source(s) may, for example, be diffuse emitters— e.g., infrared light-emitting diodes, in which case the camera(s) are an infrared-sensitive camera. Two or more light sources may be arranged to flank the camera(s) and be substantially coplanar therewith. In various embodiments, the camera(s) and the light source(s) are oriented vertically upward. To enhance contrast, the camera may be operated to provide an exposure time no greater than 100
microseconds and the light source(s) may be activated during exposure time at a power level of at least 5 watts. In certain implementations, a holographic diffraction grating is positioned between the lens of each camera and the field of view (i.e., in front of the camera lens).
[00010] The image analyzer may geometrically determine whether an object corresponds to the object of interest by identifying ellipses that volumetrically define a candidate object, discarding object segments geometrically inconsistent with an ellipse-based definition, and determining, based on the ellipses, whether the candidate object corresponds to the object of interest.
[00011] In another aspect, the invention pertains to a method for capturing and analyzing images. In various embodiments, the method comprises the steps of activating at least one light source to illuminate a field of view containing an object of interest; capturing a sequence of digital images of the field of view using a camera (or cameras) at a time when the light source(s) are activated; identifying pixels corresponding to the object rather than to the background; and based on the identified pixels, constructing a 3D model of the object, including a position and shape of the object, to geometrically determine whether it corresponds to the object of interest. [00012] The light source(s) may be positioned such that objects of interest are located within a proximal zone of the field of view, where the proximal zone extends from the camera to a distance at least twice an expected maximum distance between the objects of interest and the camera. For example, the proximal zone may have a depth of at least four times the expected maximum distance. The light source(s) may, for example, be diffuse emitters— e.g., infrared light-emitting diodes, in which case the camera is an infrared-sensitive camera. Two or more light sources may be arranged to flank the camera and be substantially coplanar therewith. In various embodiments, the camera and the light source(s) are oriented vertically upward. To enhance contrast, the camera may be operated to provide an exposure time no greater than 100
microseconds and the light source(s) may be activated during exposure time at a power level of at least 5 watts.
[00013] Alternatively, object pixels may be identified by capturing a first image when the light source(s) are not activated, a second image when the light source(s) are activated, and a third image when the light source(s) are not activated, where pixels corresponding to the object are identified based on a difference between the second and first images and a difference between the second and third images
[00014] Geometrically determining whether an object corresponds to the object of interest may comprise or consist of identifying ellipses that volumetrically define a candidate object, discarding object segments geometrically inconsistent with an ellipse-based definition, and determining, based on the ellipses, whether the candidate object corresponds to the object of interest.
[00015] In still another aspect the invention pertains to a method of locating rounded objects within a digital image. In various embodiments, the method comprises the steps of: ctivating at least one light source to illuminate a field of view containing an object of interest; operating a camera to capture a sequence of images including a first image captured at a time when the at least one light source is illuminating the field of view; and analyzing the images to detect therein Gaussian brightness falloff patterns indicative of rounded objects in the field of view. In some embodiments, the rounded objects are detected without identifying edges thereof. The method may further comprise tracking the motion of the detected rounded objects through a plurality of the captured images.
[00016] Another aspect of the invention relates to an image capture and analysis system for locating rounded objects within a field of view. In various embodiments, the system comprises at least one camera oriented toward the field of view; at least one light source disposed on a same side of the field of view as the camera and oriented to illuminate the field of view; and an image analyzer coupled to the camera and the light source. The image analyzer may be configured to operate the camera(s) to capture a sequence of images including a first image captured at a time when the light source(s) are illuminating the field of view; and analyze the images to detect therein Gaussian brightness falloff patterns indicative of rounded objects in the field of view. The the rounded objects may, in some embodiments, be detected without identifying edges thereof. The system may track the motion of the detected rounded objects through a plurality of the captured images. [00017] As used herein, the term "substantially" or "approximately" means ±10% (e.g., by weight or by volume), and in some embodiments, ±5%. The term "consists essentially of means excluding other materials that contribute to function, unless otherwise defined herein. Reference throughout this specification to "one example," "an example," "one embodiment," or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the example is included in at least one example of the present technology. Thus, the occurrences of the phrases "in one example," "in an example," "one embodiment," or "an embodiment" in various places throughout this specification are not necessarily all referring to the same example. Furthermore, the particular features, structures, routines, steps, or characteristics may be combined in any suitable manner in one or more examples of the technology. The headings provided herein are for convenience only and are not intended to limit or interpret the scope or meaning of the claimed technology.
[00018] The following detailed description together with the accompanying drawings will provide a better understanding of the nature and advantages of the present invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[00019] FIG. 1 illustrates a system for capturing image data according to an embodiment of the present invention.
[00020] FIG. 2 is a simplified block diagram of a computer system implementing an image analysis apparatus according to an embodiment of the present invention.
[00021] FIGs. 3A-3C are graphs of brightness data for rows of pixels that may be obtained according to an embodiment of the present invention. [00022] FIG. 4 is a flow diagram of a process for identifying the location of an object in an image according to an embodiment of the present invention.
[00023] FIG. 5 illustrates a timeline in which light sources pulsed on at regular intervals according to an embodiment of the present invention.
[00024] FIG. 6 illustrates a timeline for pulsing light sources and capturing images according to an embodiment of the present invention.
[00025] FIG. 7 is a flow diagram of a process for identifying object edges using successive images according to an embodiment of the present invention.
[00026] FIG. 8 is a top view of a computer system incorporating a motion detector as a user input device according to an embodiment of the present invention.
[00027] FIG. 9 is a front view of a tablet computer illustrating another example of a computer system incorporating a motion detector according to an embodiment of the present invention.
[00028] FIG. 10 illustrates a goggle system incorporating a motion detector according to an embodiment of the present invention.
[00029] FIG. 11 is a flow diagram of a process for using motion information as user input to control a computer system or other system according to an embodiment of the present invention.
[00030] FIG. 12 illustrates a system for capturing image data according to another embodiment of the present invention.
[00031] FIG. 13 illustrates a system for capturing image data according to still another embodiment of the present invention.
DETAILED DESCRIPTION
[00032] Refer first to FIG. 1, which illustrates a system 100 for capturing image data according to an embodiment of the present invention. System 100 includes a pair of cameras 102, 104 coupled to an image-analysis system 106. Cameras 102, 104 can be any type of camera, including cameras sensitive across the visible spectrum or, more typically, with enhanced sensitivity to a confined wavelength band (e.g., the infrared (IR) or ultraviolet bands); more generally, the term "camera" herein refers to any device (or combination of devices) capable of capturing an image of an object and representing that image in the form of digital data. For example, line sensors or line cameras rather than conventional devices that capture a two- dimensional (2D) image can be employed. The term "light" is used generally to connote any electromagnetic radiation, which may or may not be within the visible spectrum, and may be broadband (e.g., white light) or narrowband (e.g., a single wavelength or narrow band of wavelengths).
[00033] The heart of a digital camera is an image sensor, which contains a grid of light- sensitive picture elements (pixels). A lens focuses light onto the surface of the image sensor, and the image is formed as the light strikes the pixels with varying intensity. Each pixel converts the light into an electric charge whose magnitude reflects the intensity of the detected light, and collects that charge so it can be measured. Both CCD and CMOS image sensors perform this same function but differ in how the signal is measured and transferred.
[00034] In a CCD, the charge from each pixel is transported to a single structure that converts the charge into a measurable voltage. This is done by sequentially shifting the charge in each pixel to its neighbor, row by row and then column by column in "bucket brigade" fashion, until it reaches the measurement structure. A CMOS sensor, by contrast, places a measurement structure at each pixel location. The measurements are transferred directly from each location to the output of the sensor.
[00035] Cameras 102, 104 are preferably capable of capturing video images (i.e., successive image frames at a constant rate of at least 15 frames per second), although no particular frame rate is required. The capabilities of cameras 102, 104 are not critical to the invention, and the cameras can vary as to frame rate, image resolution (e.g., pixels per image), color or intensity resolution (e.g., number of bits of intensity data per pixel), focal length of lenses, depth of field, etc. In general, for a particular application, any cameras capable of focusing on objects within a spatial volume of interest can be used. For instance, to capture motion of the hand of an otherwise stationary person, the volume of interest might be defined as a cube approximately one meter on a side.
[00036] System 100 also includes a pair of light sources 108, 1 10, which can be disposed to either side of cameras 102, 104, and controlled by image-analysis system 106. Light sources 108, 1 10 can be infrared light sources of generally conventional design, e.g., infrared light-emitting diodes (LEDs), and cameras 102, 104 can be sensitive to infrared light. Filters 120, 122 can be placed in front of cameras 102, 104 to filter out visible light so that only infrared light is registered in the images captured by cameras 102, 104. In some embodiments where the object of interest is a person's hand or body, use of infrared light can allow the motion-capture system to operate under a broad range of lighting conditions and can avoid various inconveniences or distractions that may be associated with directing visible light into the region where the person is moving. However, a particular wavelength or region of the electromagnetic spectrum is required.
[00037] It should be stressed that the foregoing arrangement is representative and not limiting. For example, lasers or other light sources can be used instead of LEDs. For laser setups, additional optics (e.g., a lens or diffuser) may be employed to widen the laser beam (and make its field of view similiar to that of the cameras). Useful arrangements can also include short- and wide-angle illuminators for different ranges. Light sources are typically diffuse rather than specular point sources; for example, packaged LEDs with light-spreading encapsulation are suitable.
[00038] In operation, cameras 102, 104 are oriented toward a region of interest 112 in which an object of interest 114 (in this example, a hand) and one or more background objects 116 can be present. Light sources 108, 1 10 are arranged to illuminate region 112. In some embodiments, one or more of the light sources 108, 1 10 and one or more of the cameras 102, 104 are disposed below the motion to be detected, e.g., where hand motion is to be detected, beneath the spatial region where that motion takes place. This is an optimal location because the amount of information recorded about the hand is proportional to the number of pixels it occupies in the camera images, the hand will occupy more pixels when the camera's angle with respect to the hand's "pointing direction" is as close to perpendicular as possible. Because it is uncomfortable for a user to orient his palm toward a screen, the optimal positions are either from the bottom looking up, from the top looking down (which requires a bridge) or from the screen bezel looking diagonally up or diagonally down. In scenarios looking up there is less likelyhood of confusion with background objects (clutter on the user's desk, for example) and if it is directly looking up then there is little likelihood of confusion with other people out of the field of view (and also privacy is enhanced by not imaging faces). Image-analysis system 106, which can be, e.g., a computer system, can control the operation of light sources 108, 1 10 and cameras 102, 104 to capture images of region 112. Based on the captured images, image-analysis system 106 determines the position and/or motion of object 114.
[00039] For example, as a step in determining the position of object 114, image-analysis system 106 can determine which pixels of various images captured by cameras 102, 104 contain portions of object 1 14. In some embodiments, any pixel in an image can be classified as an "object" pixel or a "background" pixel depending on whether that pixel contains a portion of object 1 14 or not. With the use of light sources 108, 110, classification of pixels as object or background pixels can be based on the brightness of the pixel. For example, the distance (r0) between an object of interest 1 14 and cameras 102, 104 is expected to be smaller than the distance (¾) between background object(s) 116 and cameras 102, 104. Because the intensity of light from sources 108, 1 10 decreases as llr2, object 114 will be more brightly lit than background 1 16, and pixels containing portions of object 114 (i.e., object pixels) will be correspondingly brighter than pixels containing portions of background 116 (i.e., background pixels). For example, if rB/ro = 2, then object pixels will be approximately four times brighter than background pixels, assuming object 1 14 and background 116 are similarly reflective of the light from sources 108, 1 10, and further assuming that the overall illumination of region 1 12 (at least within the frequency band captured by cameras 102, 104) is dominated by light sources 108, 1 10. These assumptions generally hold for suitable choices of cameras 102, 104, light sources 108, 1 10, filters 120, 122, and objects commonly encountered. For example, light sources 108, 110 can be infrared LEDs capable of strongly emitting radiation in a narrow frequency band, and filters 120, 122 can be matched to the frequency band of light sources 108, 110. Thus, although a human hand or body, or a heat source or other object in the background, may emit some infrared radiation, the response of cameras 102, 104 can still be dominated by light originating from sources 108, 1 10 and reflected by object 1 14 and/or background 116.
[00040] In this arrangement, image-analysis system 106 can quickly and accurately distinguish object pixels from background pixels by applying a brightness threshold to each pixel. For example, pixel brightness in a CMOS sensor or similar device can be measured on a scale from 0.0 (dark) to 1.0 (fully saturated), with some number of gradations in between depending on the sensor design. The brightness encoded by the camera pixels scales standardly (linearly) with the luminance of the object, typically due to the deposited charge or diode voltages. In some embodiments, light sources 108, 1 10 are bright enough that reflected light from an object at distance r0 produces a brightness level of 1.0 while an object at distance rB = 2r0 produces a brightness level of 0.25. Object pixels can thus be readily distinguished from background pixels based on brightness. Further, edges of the object can also be readily detected based on differences in brightness between adjacent pixels, allowing the position of the object within each image to be determined. Correlating object positions between images from cameras 102, 104 allows image- analysis system 106 to determine the location in 3D space of object 1 14, and analyzing sequences of images allows image-analysis system 106 to reconstruct 3D motion of object 114 using conventional motion algorithms.
[00041] It will be appreciated that system 100 is illustrative and that variations and modifications are possible. For example, light sources 108, 1 10 are shown as being disposed to either side of cameras 102, 104. This can facilitate illuminating the edges of object 1 14 as seen from the perspectives of both cameras; however, a particular arrangement of cameras and lights is not required. (Examples of other arrangements are described below.) As long as the object is significantly closer to the cameras than the background, enhanced contrast as described herein can be achieved.
[00042] Image-analysis system 106 (also referred to as an image analyzer) can include or consist of any device or device component that is capable of capturing and processing image data, e.g., using techniques described herein. FIG. 2 is a simplified block diagram of a computer system 200, implementing image-analysis system 106 according to an embodiment of the present invention. Computer system 200 includes a processor 202, a memory 204, a camera interface 206, a display 208, speakers 209, a keyboard 210, and a mouse 21 1.
[00043] Memory 204 can be used to store instructions to be executed by processor 202 as well as input and/or output data associated with execution of the instructions. In particular, memory 204 contains instructions, conceptually illustrated as a group of modules described in greater detail below, that control the operation of processor 202 and its interaction with the other hardware components. An operating system directs the execution of low-level, basic system functions such as memory allocation, file management and operation of mass storage devices. The operating system may be or include a variety of operating systems such as Microsoft WINDOWS operating system, the Unix operating system, the Linux operating system, the Xenix operating system, the IBM AIX operating system, the Hewlett Packard UX operating system, the Novell NETWARE operating system, the Sun Microsystems SOLARIS operating system, the OS/2 operating system, the BeOS operating system, the MACINTOSH operating system, the APACHE operating system, an OPENSTEP operating system or another operating system of platform.
[00044] The computing environment may also include other removable/nonremovable, volatile/nonvolatile computer storage media. For example, a hard disk drive may read or write to nonremovable, nonvolatile magnetic media. A magnetic disk drive may read from or writes to a removable, nonvolatile magnetic disk, and an optical disk drive may read from or write to a removable, nonvolatile optical disk such as a CD-ROM or other optical media. Other removable/nonremovable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The storage media are typically connected to the system bus through a removable or non- removable memory interface.
[00045] Processor 202 may be a general-purpose microprocessor, but depending on implementation can alternatively be a microcontroller, peripheral integrated circuit element, a CSIC (customer-specific integrated circuit), an ASIC (application-specific integrated circuit), a logic circuit, a digital signal processor, a programmable logic device such as an FPGA (field- programmable gate array), a PLD (programmable logic device), a PLA (programmable logic array), an RFID processor, smart chip, or any other device or arrangement of devices that is capable of implementing the steps of the processes of the invention.
[00046] Camera interface 206 can include hardware and/or software that enables
communication between computer system 200 and cameras such as cameras 102, 104 shown in FIG. 1, as well as associated light sources such as light sources 108, 1 10 of FIG. 1. Thus, for example, camera interface 206 can include one or more data ports 216, 218 to which cameras can be connected, as well as hardware and/or software signal processors to modify data signals received from the cameras (e.g., to reduce noise or reformat data) prior to providing the signals as inputs to a conventional motion-capture ("mocap") program 214 executing on processor 202. In some embodiments, camera interface 206 can also transmit signals to the cameras, e.g., to activate or deactivate the cameras, to control camera settings (frame rate, image quality, sensitivity, etc.), or the like. Such signals can be transmitted, e.g., in response to control signals from processor 202, which may in turn be generated in response to user input or other detected events.
[00047] Camera interface 206 can also include controllers 217, 219, to which light sources (e.g., light sources 108, 110) can be connected. In some embodiments, controllers 217, 219 supply operating current to the light sources, e.g., in response to instructions from processor 202 executing mocap program 214. In other embodiments, the light sources can draw operating current from an external power supply (not shown), and controllers 217, 219 can generate control signals for the light sources, e.g., instructing the light sources to be turned on or off or changing the brightness. In some embodiments, a single controller can be used to control multiple light sources.
[00048] Instructions defining mocap program 214 are stored in memory 204, and these instructions, when executed, perform motion-capture analysis on images supplied from cameras connected to camera interface 206. In one embodiment, mocap program 214 includes various modules, such as an object detection module 222 and an object analysis module 224; again, both of these modules are conventional and well-characterized in the art. Object detection module 222 can analyze images (e.g., images captured via camera interface 206) to detect edges of an object therein and/or other information about the object's location. Object analysis module 224 can analyze the object information provided by object detection module 222 to determine the 3D position and/or motion of the object. Examples of operations that can be implemented in code modules of mocap program 214 are described below. Memory 204 can also include other information and/or code modules used by mocap program 214.
[00049] Display 208, speakers 209, keyboard 210, and mouse 211 can be used to facilitate user interaction with computer system 200. These components can be of generally conventional design or modified as desired to provide any type of user interaction. In some embodiments, results of motion capture using camera interface 206 and mocap program 214 can be interpreted as user input. For example, a user can perform hand gestures that are analyzed using mocap program 214, and the results of this analysis can be interpreted as an instruction to some other program executing on processor 200 (e.g., a web browser, word processor, or other application). Thus, by way of illustration, a user might use upward or downward swiping gestures to "scroll" a webpage currently displayed on display 208, to use rotating gestures to increase or decrease the volume of audio output from speakers 209, and so on.
[00050] It will be appreciated that computer system 200 is illustrative and that variations and modifications are possible. Computer systems can be implemented in a variety of form factors, including server systems, desktop systems, laptop systems, tablets, smart phones or personal digital assistants, and so on. A particular implementation may include other functionality not described herein, e.g., wired and/or wireless network interfaces, media playing and/or recording capability, etc. In some embodiments, one or more cameras may be built into the computer rather than being supplied as separate components. Further, an image analyzer can be implemented using only a subset of computer system components (e.g., as a processor executing program code, an ASIC, or a fixed-function digital signal processor, with suitable I/O interfaces to receive image data and output analysis results).
[00051] While computer system 200 is described herein with reference to particular blocks, it is to be understood that the blocks are defined for convenience of description and are not intended to imply a particular physical arrangement of component parts. Further, the blocks need not correspond to physically distinct components. To the extent that physically distinct components are used, connections between components (e.g., for data communication) can be wired and/or wireless as desired.
[00052] Execution of object detection module 222 by processor 202 can cause processor 202 to operate camera interface 206 to capture images of an object and to distinguish object pixels from background pixels by analyzing the image data. FIGs. 3A-3C are three different graphs of brightness data for rows of pixels that may be obtained according to various embodiments of the present invention. While each graph illustrates one pixel row, it is to be understood that an image typically contains many rows of pixels, and a row can contain any number of pixels; for instance, an HD video image can include 1080 rows having 1920 pixels each.
[00053] FIG. 3 A illustrates brightness data 300 for a row of pixels in which the object has a single cross-section, such as a cross-section through a palm of a hand. Pixels in region 302, corresponding to the object, have high brightness while pixels in regions 304 and 306,
corresponding to background, have considerably lower brightness. As can be seen, the object's location is readily apparent, and the locations of the edges of the object (at 308 at 310) are easily identified. For example, any pixel with brightness above 0.5 can be assumed to be an object pixel, while any pixel with brightness below 0.5 can be assumed to be a background pixel.
[00054] FIG. 3B illustrates brightness data 320 for a row of pixels in which the object has multiple distinct cross-sections, such as a cross-section through fingers of an open hand. Regions 322, 323, and 324, corresponding to the object, have high brightness while pixels in regions
326-329, corresponding to background, have low brightness. Again, a simple threshold cutoff on brightness (e.g., at 0.5) suffices to distinguish object pixels from background pixels, and the edges of the object can be readily ascertained.
[00055] FIG. 3C illustrates brightness data 340 for a row of pixels in which the distance to the object varies across the row, such as a cross-section of a hand with two fingers extending toward the camera. Regions 342 and 343 correspond to the extended fingers and have highest brightness; regions 344 and 345 correspond to other portions of the hand and are slightly less bright; this can be due in part to being farther away in part to shadows cast by the extended fingers. Regions 348 and 349 are background regions and are considerably darker than hand-containing regions 342-345. A threshold cutoff on brightness (e.g., at 0.5) again suffices to distinguish object pixels from background pixels. Further analysis of the object pixels can also be performed to detect the edges of regions 342 and 343, providing additional information about the object's shape. [00056] It will be appreciated that the data shown in FIGs. 3A-3C is illustrative. In some embodiments, it may be desirable to adjust the intensity of light sources 108, 110 such that an object at an expected distance (e.g., r0 in FIG. 1) will be overexposed - that is, many if not all of the object pixels will be fully saturated to a brightness level of 1.0. (The actual brightness of the object may in fact be higher.) While this may also make the background pixels somewhat brighter, the \lr2 falloff of light intensity with distance still leads to a ready distinction between object and background pixels as long as the intensity is not set so high that background pixels also approach the saturation level. As FIGs. 3A-3C illustrate, use of lighting directed at the object to create strong contrast between object and background allows the use of simple and fast algorithms to distinguish between background pixels and object pixels, which can be particularly useful in real-time motion- capture systems. Simplifying the task of distinguishing background and object pixels can also free up computing resources for other motion-capture tasks (e.g., reconstructing the object's position, shape, and/or motion).
[00057] Refer now to FIG. 4, which illustrates a process 400 for identifying the location of an object in an image according to an embodiment of the present invention. Process 400 can be implemented, e.g., in system 100 of FIG. 1. At block 402, light sources 108, 110 are turned on. At block 404, one or more images are captured using cameras 102, 104. In some embodiments, one image from each camera is captured. In other embodiments, a sequence of images is captured from each camera. The images from the two cameras can be closely correlated in time (e.g.,
simultaneous to within a few milliseconds) so that correlated images from the two cameras can be used to determine the 3D location of the object.
[00058] At block 406, a threshold pixel brightness is applied to distinguish object pixels from background pixels. Block 406 can also include identifying locations of edges of the object based on transition points between background and object pixels. In some embodiments, each pixel is first classified as either object or background based on whether it exceeds the threshold brightness cutoff. For example, as shown in FIGs. 3A-3C, a cutoff at a saturation level of 0.5 can be used. Once the pixels are classified, edges can be detected by finding locations where background pixels are adjacent to object pixels. In some embodiments, to avoid noise artifacts, the regions of background and object pixels on either side of the edge may be required to have a certain minimum size (e.g., 2, 4 or 8 pixels).
[00059] In other embodiments, edges can be detected without first classifying pixels as object or background. For example, Δβ can be defined as the difference in brightness between adjacent pixels, and |Δβ| above a threshold (e.g., 0.3 or 0.5 in terms of the saturation scale) can indicate a transition from background to object or from object to background between adjacent pixels. (The sign of Δβ can indicate the direction of the transition.) In some instances where the object's edge is actually in the middle of a pixel, there may be a pixel with an intermediate value at the boundary. This can be detected, e.g., by computing two brightness values for a pixel i: L = (βί + βϊ - 1)12 and fiR = (βί + βί + l)/2, where pixel (i-1) is to the left of pixel i and pixel (i+1) is to the right of pixel i. If pixel i is not near an edge, |βΙ_, - R| will generally be close to zero; if pixel is near an edge, then |βΙ_, - R| will be closer to 1, and a threshold on |βΙ_, - R| can be used to detect edges.
[00060] In some instances, one part of an object may partially occlude another in an image; for example, in the case of a hand, a finger may partly occlude the palm or another finger.
Occlusion edges that occur where one part of the object partially occludes another can also be detected based on smaller but distinct changes in brightness once background pixels have been eliminated. FIG. 3C illustrates an example of such partial occlusion, and the locations of occlusion edges are apparent.
[00061] Detected edges can be used for numerous purposes. For example, as previously noted, the edges of the object as viewed by the two cameras can be used to determine an approximate location of the object in 3D space. The position of the object in a 2D plane transverse to the optical axis of the camera can be determined from a single image, and the offset (parallax) between the position of the object in time-correlated images from two different cameras can be used to determine the distance to the object if the spacing between the cameras is known.
[00062] Further, the position and shape of the object can be determined based on the locations of its edges in time-correlated images from two different cameras, and motion (including articulation) of the object can be determined from analysis of successive pairs of images. Examples of techniques that can be used to determine an object's position, shape and motion based on locations of edges of the object are described in co-pending U.S. Serial No. 13/414,485, filed March 7, 2012, the entire disclosure of which is incorporated herein by reference. Those skilled in the art with access to the present disclosure will recognize that other techniques for determining position, shape and motion of an object based on information about the location of edges of the object can also be used. [00063] In accordance with the '485 application, an object's motion and/or position is reconstructed using small amounts of information. For example, an outline of an object's shape, or silhouette, as seen from a particular vantage point can be used to define tangent lines to the object from that vantage point in various planes, referred to herein as "slices." Using as few as two different vantage points, four (or more) tangent lines from the vantage points to the object can be obtained in a given slice. From these four (or more) tangent lines, it is possible to determine the position of the object in the slice and to approximate its cross-section in the slice, e.g., using one or more ellipses or other simple closed curves. As another example, locations of points on an object's surface in a particular slice can be determined directly (e.g., using a time-of-flight camera), and the position and shape of a cross-section of the object in the slice can be approximated by fitting an ellipse or other simple closed curve to the points. Positions and cross-sections determined for different slices can be correlated to construct a 3D model of the object, including its position and shape. A succession of images can be analyzed using the same technique to model motion of the object. Motion of a complex object that has multiple separately articulating members (e.g., a human hand) can be modeled using these techniques.
[00064] More particularly, an ellipse in the xy plane can be characterized by five parameters: the x and y coordinates of the center (xc, yc), the semimajor axis, the semiminor axis, and a rotation angle (e.g., angle of the semimajor axis relative to the x axis). With only four tangents, the ellipse is underdetermined. However, an efficient process for estimating the ellipse in spite of this fact involves making an initial working assumption (or "guess") as to one of the parameters and revisiting the assumption as additional information is gathered during the analysis. This additional information can include, for example, physical constraints based on properties of the cameras and/or the object. In some circumstances, more than four tangents to an object may be available for some or all of the slices, e.g., because more than two vantage points are available. An elliptical cross-section can still be determined, and the process in some instances is somewhat simplified as there is no need to assume a parameter value. In some instances, the additional tangents may create additional complexity. In some circumstances, fewer than four tangents to an object may be available for some or all of the slices, e.g., because an edge of the object is out of range of the field of view of one camera or because an edge was not detected. A slice with three tangents can be analyzed. For example, using two parameters from an ellipse fit to an adjacent slice (e.g., a slice that had at least four tangents), the system of equations for the ellipse and three tangents is sufficiently determined that it can be solved. As another option, a circle can be fit to the three tangents; defining a circle in a plane requires only three parameters (the center coordinates and the radius), so three tangents suffice to fit a circle. Slices with fewer than three tangents can be discarded or combined with adjacent slices.
[00065] To determine geometrically whether an object corresponds to an object of interest comprises, one approach is to look for continuous volumes of ellipses that define an object and discard object segments geometrically inconsistent with the ellipse-based definition of the object— e.g., segments that are too cylindrical or too straight or too thin or too small or too far away— and discarding these. If a sufficient number of ellipses remain to characterize the object and it conforms to the object of interest, it is so identified, and may be tracked from frame to frame.
[00066] In some embodiments, each of a number of slices is analyzed separately to determine the size and location of an elliptical cross-section of the object in that slice. This provides an initial 3D model (specifically, a stack of elliptical cross-sections), which can be refined by correlating the cross-sections across different slices. For example, it is expected that an object's surface will have continuity, and discontinuous ellipses can accordingly be discounted. Further refinement can be obtained by correlating the 3D model with itself across time, e.g., based on expectations related to continuity in motion and deformation. With renewed reference to FIGs. 1 and 2, in some embodiments, light sources 108, 1 10 can be operated in a pulsed mode rather than being continually on. This can be useful, e.g., if light sources 108, 110 have the ability to produce brighter light in a pulse than in a steady-state operation. FIG. 5 illustrates a timeline in which light sources 108, 110 are pulsed on at regular intervals as shown at 502. The shutters of cameras 102, 104 can be opened to capture images at times coincident with the light pulses as shown at 504. Thus, an object of interest can be brightly illuminated during the times when images are being captured. In some embodiments, the silhouettes of an object are extracted from one or more images of the object that reveal information about the object as seen from different vantage points. While silhouettes can be obtained using a number of different techniques, in some embodiments, the silhouettes are obtained by using cameras to capture images of the object and analyzing the images to detect object edges.
[00067] In some embodiments, the pulsing of light sources 108, 110 can be used to further enhance contrast between an object of interest and background. In particular, the ability to discriminate between relevant and irrelevant (e.g., background) objects in a scene can be compromised if the scene contains object that themselves emit light or are highly reflective. This problem can be addressed by setting the camera exposure time to extraordinarily short periods (e.g., 100 microseconds or less) and pulsing the illumination at very high powers (i.e., 5 to 20 watts or, in some cases, to higher levels, e.g., 40 watts). In this period of time, most common sources of ambient illumination (e.g., fluorescent lights) are very dark by comparison to such bright, short- period illumination; that is, in microseconds, non-pulsed light sources are dimmer than they would appear at an exposure time of milliseconds or more. In effect, this approach increases the contrast of an object of interest with respect to other objects, even those emitting in the same general band. Accordingly, discriminating by brightness under such conditions allows irrelevant objects to be ignored for purposes of image reconstruction and processing. Average power consumption is also reduced; in the case of 20 watts for 100 microseconds, the average power consumption is under 10 milliwatts. In general, the light sources 108, 1 10 are operated so as to be on during the entire camera exposure period, i.e., the pulse width is equal to the exposure time and is coordinated therewith.
[00068] It is also possible to coordinate pulsing of lights 108, 1 10 for purposes of by comparing images taken with lights 108, 1 10 on and images taken with lights 108, 1 10 off. FIG. 6 illustrates a timeline in which light sources 108, 1 10 are pulsed on at regular intervals as shown at 602, while shutters of cameras 102, 104 are opened to capture images at times shown at 604. In this case, light sources 108, 1 10 are "on" for every other image. If the object of interest is significantly closer than background regions to light sources 108, 1 10, the difference in light intensity will be stronger for object pixels than for background pixels. Accordingly, comparing pixels in successive images can help distinguish object and background pixels.
[00069] FIG. 7 is a flow diagram of a process 700 for identifying object edges using successive images according to an embodiment of the present invention. At block 702, the light sources are turned off, and at block 704 a first image (A) is captured. Then, at block 706, the light sources are turned on, and at block 708 a second image (B) is captured. At block 710, a
"difference" image B - A is calculated, e.g., by subtracting the brightness value of each pixel in image A from the brightness value of the corresponding pixel in image B. Since image B was captured with lights on, it is expected that B - A will be positive for most pixels.
[00070] The difference image is used to discriminate between background and foreground by applying a threshold or other metric on a pixel-by -pixel basis. At block 712, a threshold is applied to the difference image (B - A) to identify object pixels, with (B - A) above a threshold being associated with object pixels and (B - A) below the threshold being associated with background pixels. Object edges can then be defined by identifying where object pixels are adjacent to background pixels, as described above. Object edges can be used for purposes such as position and/or motion detection, as described above.
[00071] In an alternative embodiment, object edges are identified using a triplet of image frames rather than a pair. For example, in one implementation, a first image (Image 1) is obtained with the light sources turned off; a second image (Image2) is obtained with the light sources turned on; and a third image (Image3) is taken with the light sources again turned off. Two difference images,
Image4 = abs(Image2 - Image 1) and
Image5 = abs(Image2 - Image3)
are then defined by subtracting pixel brightness values. A final image, Image6, is defined based on the two images Image4 and Image5. In particular, the value of each pixel in Image6 is the smaller of the two corresponding pixel values in Image4 and Image5. In other words, Image6 = min(Image4, Image5) on a pixel-by-pixel basis. Image6 represents an enhanced-accuracy difference image and most of its pixels will be positive. Once again, a threshold or other metric can be used on a pixel-by -pixel basis to distinguish foreground and background pixels.
[00072] Contrast-based object detection as described herein can be applied in any situation where objects of interest are expected to be significantly closer (e.g., half the distance) to the light source(s) than background objects. One such application relates to the use of motion-detection as user input to interact with a computer system. For example, the user may point to the screen or make other hand gestures, which can be interpreted by the computer system as input.
[00073] A computer system 800 incorporating a motion detector as a user input device according to an embodiment of the present invention is illustrated in FIG. 8. Computer system 800 includes a desktop box 802 that can house various components of a computer system such as processors, memory, fixed or removable disk drives, video drivers, audio drivers, network interface components, and so on. A display 804 is connected to desktop box 802 and positioned to be viewable by a user. A keyboard 806 is positioned within easy reach of the user's hands. A motion- detector unit 808 is placed near keyboard 806 (e.g., behind, as shown or to one side), oriented toward a region in which it would be natural for the user to make gestures directed at display 804 (e.g., a region in the air above the keyboard and in front of the monitor). Cameras 810, 812 (which can be similar or identical to cameras 102, 104 described above) are arranged to point generally upward, and light sources 814, 816 (which can be similar or identical to light sources 108, 110 described above) are arranged to either side of cameras 810, 812 to illuminate an area above motion-detector unit 808. In typical implementations, the cameras 810, 812 and the light sources 814, 816 are substantially coplanar. This configuration prevents the appearance of shadows that can, for example, interfere with edge detection (as can be the case were the light sources located between, rather than flanking, the cameras). A filter, not shown, can be placed over the top of motion-detector unit 808 (or just over the apertures of cameras 810, 812) to filter out all light outside a band around the peak frequencies of light sources 814, 816.
[00074] In the illustrated configuration, when the user moves a hand or other object (e.g., a pencil) in the field of view of cameras 810, 812, the background will likely consist of a ceiling and/or various ceiling-mounted fixtures. The user's hand can be 10-20 cm above motion detector 808, while the ceiling may be five to ten times that distance (or more). Illumination from light sources 814, 816 will therefore be much more intense on the user's hand than on the ceiling, and the techniques described herein can be used to reliably distinguish object pixels from background pixels in images captured by cameras 810, 812. If infrared light is used, the user will not be distracted or disturbed by the light.
[00075] Computer system 800 can utilize the architecture shown in FIG. 1. For example, cameras 810, 812 of motion-detector unit 808 can provide image data to desktop box 802, and image analysis and subsequent interpretation can be performed using the processors and other components housed within desktop box 802. Alternatively, motion-detector unit 808 can incorporate processors or other components to perform some or all stages of image analysis and interpretation. For example, motion-detector unit 808 can include a processor (programmable or fixed-function) that implements one or more of the processes described above to distinguish between object pixels and background pixels. In this case, motion-detector unit 808 can send a reduced representation of the captured images (e.g., a representation with all background pixels zeroed out) to desktop box 802 for further analysis and interpretation. A particular division of computational tasks between a processor inside motion-detector unit 808 and a processor inside desktop box 802 is not required.
[00076] It is not always necessary to discriminate between object pixels and background pixels by absolute brightness levels; for example, where knowledge of object shape exists, the pattern of brightness falloff can be utilized to detect the object in an image even without explicit detection of object edges. On rounded objects (such as hands and fingers), for example, the \/r2 relationship produces Gaussian or near-Gaussian brightness distributions near the centers of the objects; imaging a cylinder illuminated by an LED and disposed perpendicularly with respect to a camera results in an image having a bright center line corresponding to the cylinder axis, with brightness falling off to each side (around the cylinder circumference). Fingers are approximately cylindrical, and by identifying these Gaussian peaks, it is possible to locate fingers even in situations where the background is close and the edges are not visible due to the relative brightness of the background (either due to proximity or the fact that it may be actively emitting infrared light). The term "Gaussian" is used broadly herein to connote a curve with a negative second derivative. Often such curves will be bell-shaped and symmetric, but this is not necessarily the case; for example, in situations with higher object specularity or if the object is at an extreme angle, the curve may be skewed in a particular direction. Accordingly, as used herein, the term
"Gaussian" is not limited to curves explicitly conforming to a Gaussian function.
[00077] FIG. 9 illustrates a tablet computer 900 incorporating a motion detector according to an embodiment of the present invention. Tablet computer 900 has a housing, the front surface of which incorporates a display screen 902 surrounded by a bezel 904. One or more control buttons 906 can be incorporated into bezel 904. Within the housing, e.g., behind display screen 902, tablet computer 900 can have various conventional computer components (processors, memory, network interfaces, etc.). A motion detector 910 can be implemented using cameras 912, 914 (e.g., similar or identical to cameras 102, 104 of FIG. 1) and light sources 916, 918 (e.g., similar or identical to light sources 108, 110 of FIG. 1) mounted into bezel 904 and oriented toward the front surface so as to capture motion of a user positioned in front of tablet computer 900.
[00078] When the user moves a hand or other object in the field of view of cameras 912,
914, the motion is detected as described above. In this case, the background is likely to be the user's own body, at a distance of roughly 25-30 cm from tablet computer 900. The user may hold a hand or other object at a short distance from display 902, e.g., 5-10 cm. As long as the user's hand is significantly closer than the user's body (e.g., half the distance) to light sources 916, 918, the illumination-based contrast enhancement techniques described herein can be used to distinguish object pixels from background pixels. The image analysis and subsequent interpretation as input gestures can be done within tablet computer 900 (e.g., leveraging the main processor to execute operating-system or other software to analyze data obtained from cameras 912, 914). The user can thus interact with tablet 900 using gestures in 3D space.
[00079] A goggle system 1000, as shown in FIG. 10, may also incorporate a motion detector according to an embodiment of the present invention. Goggle system 1000 can be used, e.g., in connection with virtual-reality and/or augmented-reality environments. Goggle system 1000 includes goggles 1002 that are wearable by a user, similar to conventional eyeglasses. Goggles 1002 include eyepieces 1004, 1006 that can incorporate small display screens to provide images to the user's left and right eyes, e.g., images of a virtual reality environment. These images can be provided by a base unit 1008 (e.g., a computer system) that is in communication with goggles 1002, either via a wired or wireless channel. Cameras 1010, 1012 (e.g., similar or identical to cameras 102, 104 of FIG. 1) can be mounted in a frame section of goggles 1002 such that they do not obscure the user's vision. Light sources 1014, 1016 can be mounted in the frame section of goggles 1002 to either side of cameras 1010, 1012. Images collected by cameras 1010, 1012 can be transmitted to base unit 1008 for analysis and interpretation as gestures indicating user interaction with the virtual or augmented environment. (In some embodiments, the virtual or augmented environment presented through eyepieces 1004, 1006 can include a representation of the user's hand, and that representation can be based on the images collected by cameras 1010, 1012.)
[00080] When the user gestures using a hand or other object in the field of view of cameras 1008, 1010, the motion is detected as described above. In this case, the background is likely to be a wall of a room the user is in, and the user will most likely be sitting or standing at some distance from the wall. As long as the user's hand is significantly closer than the user's body (e.g., half the distance) to light sources 1012, 1014, the illumination-based contrast enhancement techniques described herein facilitate distinguishing object pixels from background pixels. The image analysis and subsequent interpretation as input gestures can be done within base unit 1008.
[00081] It will be appreciated that the motion-detector implementations shown in FIGs. 8-10 are illustrative and that variations and modifications are possible. For example, a motion detector or components thereof can be combined in a single housing with other user input devices, such as a keyboard or trackpad. As another example, a motion detector can be incorporated into a laptop computer, e.g., with upward-oriented cameras and light sources built into the same surface as the laptop keyboard (e.g., to one side of the keyboard or in front of or behind it) or with front-oriented cameras and light sources built into a bezel surrounding the laptop's display screen. As still another example, a wearable motion detector can be implemented, e.g., as a headband or headset that does not include active displays or optical components.
[00082] As illustrated in FIG. 1 1, motion information can be used as user input to control a computer system or other system according to an embodiment of the present invention. Process 1 100 can be implemented, e.g., in computer systems such as those shown in FIGs. 8-10. At block 1 102, images are captured using the light sources and cameras of the motion detector. As described above, capturing the images can include using the light sources to illuminate the field of view of the cameras such that objects closer to the light sources (and the cameras) are more brightly illuminated than objects farther away.
[00083] At block 1 104, the captured images are analyzed to detect edges of the object based on changes in brightness. For example, as described above, this analysis can include comparing the brightness of each pixel to a threshold, detecting transitions in brightness from a low level to a high level across adjacent pixels, and/or comparing successive images captured with and without illumination by the light sources. At block 1106, an edge-based algorithm is used to determine the object's position and/or motion. This algorithm can be, for example, any of the tangent-based algorithms described in the above-referenced '485 application; other algorithms can also be used.
[00084] At block 1 108, a gesture is identified based on the object's position and/or motion. For example, a library of gestures can be defined based on the position and/or motion of a user's fingers. A "tap" can be defined based on a fast motion of an extended finger toward a display screen. A "trace" can be defined as motion of an extended finger in a plane roughly parallel to the display screen. An inward pinch can be defined as two extended fingers moving closer together and an outward pinch can be defined as two extended fingers moving farther apart. Swipe gestures can be defined based on movement of the entire hand in a particular direction (e.g., up, down, left, right) and different swipe gestures can be further defined based on the number of extended fingers (e.g., one, two, all). Other gestures can also be defined. By comparing a detected motion to the library, a particular gesture associated with detected position and/or motion can be determined.
[00085] At block 1 110, the gesture is interpreted as user input, which the computer system can process. The particular processing generally depends on application programs currently executing on the computer system and how those programs are configured to respond to particular inputs. For example, a tap in a browser program can be interpreted as selecting a link toward which the finger is pointing. A tap in a word-processing program can be interpreted as placing the cursor at a position where the finger is pointing or as selecting a menu item or other graphical control element that may be visible on the screen. The particular gestures and interpretations can be determined at the level of operating systems and/or applications as desired, and no particular interpretation of any gesture is required.
[00086] Full-body motion can be captured and used for similar purposes. In such embodiments, the analysis and reconstruction advantageously occurs in approximately real-time (e.g., times comparable to human reaction times), so that the user experiences a natural interaction with the equipment. In other applications, motion capture can be used for digital rendering that is not done in real time, e.g., for computer-animated movies or the like; in such cases, the analysis can take as long as desired.
[00087] Embodiments described herein provide efficient discrimination between object and background in captured images by exploiting the decrease of light intensity with distance. By brightly illuminating the object using one or more light sources that are significantly closer to the object than to the background (e.g., by a factor of two or more), the contrast between object and background can be increased. In some instances, filters can be used to remove light from sources other than the intended sources. Using infrared light can reduce unwanted "noise" or bright spots from visible light sources likely to be present in the environment where images are being captured and can also reduce distraction to users (who presumably cannot see infrared).
[00088] The embodiments described above provide two light sources, one disposed to either side of the cameras used to capture images of the object of interest. This arrangement can be particularly useful where the position and motion analysis relies on knowledge of the object's edges as seen from each camera, as the light sources will illuminate those edges. However, other arrangements can also be used. For example, FIG. 12 illustrates a system 1200 with a single camera 1202 and two light sources 1204, 1206 disposed to either side of camera 1202. This arrangement can be used to capture images of object 1208 and shadows cast by object 1208 against a flat background region 1210. In this embodiment, object pixels and background pixels can be readily distinguished. In addition, provided that background 1210 is not too far from object 1208, there will still be enough contrast between pixels in the shadowed background region and pixels in the unshadowed background region to allow discrimination between the two. Position and motion detection algorithms using images of an object and its shadows are described in the
above-referenced '485 application and system 1200 can provide input information to such algorithms, including the location of edges of the object and its shadows.
[00089] The single-camera implementation 1200 may benefit from inclusion of a holographic diffraction grating 1215 placed in front of the lens of the camera 1202. The grating 1215 creates fringe patterns that appear as ghost silhouettes and/or tangents of the object 1208. Particularly when separable (i.e., when overlap is not excessive), these patterns provide high contrast facilitating discrimination of object from background. See, e.g., DIFFRACTION GRATING HANDBOOK (Newport Corporation, Jan. 2005; available at http://gratings.newport.com/library/handbook/handbook.asp), the entire disclosure of which is hereby incorporated by reference.
[00090] FIG. 13 illustrates another system 1300 with two cameras 1302, 1304 and one light source 1306 disposed between the cameras. System 1300 can capture images of an object 1308 against a background 1310. System 1300 is generally less reliable for edge illumination than system 100 of FIG. 1 ; however, not all algorithms for determining position and motion rely on precise knowledge of the edges of an object. Accordingly, system 1300 can be used, e.g., with edge-based algorithms in situations where less accuracy is required. System 1300 can also be used with non-edge-based algorithms.
[00091] While the invention has been described with respect to specific embodiments, one skilled in the art will recognize that numerous modifications are possible. The number and arrangement of cameras and light sources can be varied. The cameras' capabilities, including frame rate, spatial resolution, and intensity resolution, can also be varied as desired. The light sources can be operated in continuous or pulsed mode. The systems described herein provide images with enhanced contrast between object and background to facilitate distinguishing between the two, and this information can be used for numerous purposes, of which position and/or motion detection is just one among many possibilities.
[00092] Threshold cutoffs and other specific criteria for distinguishing object from background can be adapted for particular cameras and particular environments. As noted above, contrast is expected to increase as the ratio ¾/¾ increases. In some embodiments, the system can be calibrated in a particular environment, e.g., by adjusting light-source brightness, threshold criteria, and so on. The use of simple criteria that can be implemented in fast algorithms can free up processing power in a given system for other uses.
[00093] Any type of object can be the subject of motion capture using these techniques, and various aspects of the implementation can be optimized for a particular object. For example, the type and positions of cameras and/or light sources can be optimized based on the size of the object whose motion is to be captured and/or the space in which motion is to be captured. Analysis techniques in accordance with embodiments of the present invention can be implemented as algorithms in any suitable computer language and executed on programmable processors.
Alternatively, some or all of the algorithms can be implemented in fixed- function logic circuits, and such circuits can be designed and fabricated using conventional or other tools. [00094] Computer programs incorporating various features of the present invention may be encoded on various computer readable storage media; suitable media include magnetic disk or tape, optical storage media such as compact disk (CD) or DVD (digital versatile disk), flash memory, and any other non-transitory medium capable of holding data in a computer-readable form.
Computer-readable storage media encoded with the program code may be packaged with a compatible device or provided separately from other devices. In addition program code may be encoded and transmitted via wired optical, and/or wireless networks conforming to a variety of protocols, including the Internet, thereby allowing distribution, e.g., via Internet download.
[00095] Thus, although the invention has been described with respect to specific
embodiments, it will be appreciated that the invention is intended to cover all modifications and equivalents within the scope of the following claims.
What is claimed is:

Claims

CLAIMS 1. An image capture and analysis system for identifying objects of interest in a digitally represented image scene, the system comprising:
at least one camera oriented toward a field of view;
at least one light source disposed on a same side of the field of view as the camera and oriented to illuminate the field of view; and
an image analyzer coupled to the camera and the at least one light source and configured to:
operate the at least one camera to capture a sequence of images including a first image captured at a time when the at least one light source is illuminating the field of view;
identify pixels corresponding to the object rather than to a background; and based on the identified pixels, constructing a 3D model of the object, including a position and shape of the object, to geometrically determine whether it corresponds to the object of interest.
2. The system of claim 1 wherein the image analyzer distinguishes between (i) foreground image components corresponding to objects located within a proximal zone of the field of view, the proximal zone extending from the at least one camera and having a depth relative thereto of at least twice an expected maximum distance between the objects corresponding to the foreground image components and the at least one camera, and (ii) background image components corresponding to objects located within a distal zone of the field of view, the distal zone being located, relative to the at least one camera, beyond the proximal zone.
3. The system of claim 2 wherein the proximal zone has a depth of at least four times the expected maximum distance.
4. The system of claim 1 wherein the at least one light source is a diffuse emitter.
5. The system of claim 4 wherein the at least one light source is an infrared light-emitting diode and the at least one camera is an infrared-sensitive camera.
6. The system of claim 1 wherein there are at least two light sources flanking the at least one camera and substantially coplanar therewith.
7. The system of claim 1 wherein the at least one camera and the at least one light source are oriented vertically upward.
8. The system of claim 1 wherein the at least one camera is operated to provide an exposure time no greater than 100 microseconds and the at least one light source is activated during exposure time at a power level of at least 5 watts.
9. The system of claim 1 further comprising a holographic diffraction grating positioned between a lens of the at least one camera and the field of view.
10. The system of claim 1 wherein the image analyzer operates the at least one camera to capture second and third images when the at least one light source is not illuminating the field of view and identifies the pixels corresponding to the object based on a difference between the first and second images and a difference between the first and third images, wherein the second image is captured before the first image and the third image is captured after the second image.
1 1. A method for capturing and analyzing images, the method comprising the steps of:
activating at least one light source to illuminate a field of view containing an object of interest;
capturing a sequence of digital images of the field of view using a camera at a time when the at least one light source is activated;
identifying pixels corresponding to the object rather than to a background; and based on the identified pixels, constructing a 3D model of the object, including a position and shape of the object, to geometrically determine whether it corresponds to the object of interest.
12. The method of claim 1 1 wherein the at least one light source is positioned such that objects of interest are located within a proximal zone of the field of view, the proximal zone extending from a camera to a distance at least twice an expected maximum distance between the objects of interest and the camera.
13. The method of claim 12 wherein the proximal zone has a depth of at least four times the expected maximum distance.
14. The method of claim 11 wherein the at least one light source is a diffuse emitter.
15. The method of claim 11 wherein the at least one light source is an infrared light-emitting diode and the camera is an infrared-sensitive camera.
16. The method of claim 11 wherein two light sources are activated, the light sources flanking the camera and substantially coplanar therewith.
17. The method of claim 1 1 wherein the camera and the at least one light source are oriented vertically upward.
18. The method of claim 1 1 further comprising capturing a first image when the at least one light source is not activated, a second image when the at least one light source is activated, and a third image when the at least one light source is not activated, wherein pixels corresponding to the object are identified based on a difference between the second and first images and a difference between the second and third images.
19. A method of locating rounded objects within a digital image, the method comprising the steps of:
activating at least one light source to illuminate a field of view containing an object of interest;
operating a camera to capture a sequence of images including a first image captured at a time when the at least one light source is illuminating the field of view; and
analyzing the images to detect therein Gaussian brightness falloff patterns indicative of rounded objects in the field of view.
20. The method of claim 19 wherein the rounded objects are detected without identifying edges thereof.
21. The method of claim 19 further comprising tracking motion of the detected rounded objects through a plurality of the captured images.
22. An image capture and analysis system for locating rounded objects within a field of view, the system comprising:
at least one camera oriented toward the field of view;
at least one light source disposed on a same side of the field of view as the camera and oriented to illuminate the field of view; and
an image analyzer coupled to the camera and the light source and configured to: operate the at least one camera to capture a sequence of images including a first image captured at a time when the at least one light source is illuminating the field of view; and
analyze the images to detect therein Gaussian brightness falloff patterns indicative of rounded objects in the field of view.
23. The system of claim 22 wherein the rounded objects are detected without identifying edges thereof.
24. The system of claim 22 further comprising tracking motion of the detected rounded objects through a plurality of the captured images.
PCT/US2013/021713 2012-01-17 2013-01-16 Enhanced contrast for object detection and characterization by optical imaging WO2013109609A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014552391A JP2015510169A (en) 2012-01-17 2013-01-16 Feature improvement by contrast improvement and optical imaging for object detection
CN201380012276.5A CN104145276B (en) 2012-01-17 2013-01-16 Enhanced contrast for object detection and characterization by optical imaging
DE112013000590.5T DE112013000590B4 (en) 2012-01-17 2013-01-16 Improved contrast for object detection and characterization by optical imaging

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US201261587554P 2012-01-17 2012-01-17
US61/587,554 2012-01-17
US13/414,485 2012-03-07
US13/414,485 US20130182079A1 (en) 2012-01-17 2012-03-07 Motion capture using cross-sections of an object
US201261724068P 2012-11-08 2012-11-08
US201261724091P 2012-11-08 2012-11-08
US61/724,068 2012-11-08
US61/724,091 2012-11-08
US13/724,357 2012-12-21
US13/724,357 US9070019B2 (en) 2012-01-17 2012-12-21 Systems and methods for capturing motion in three-dimensional space

Publications (2)

Publication Number Publication Date
WO2013109609A2 true WO2013109609A2 (en) 2013-07-25
WO2013109609A3 WO2013109609A3 (en) 2013-10-31

Family

ID=48799803

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/021713 WO2013109609A2 (en) 2012-01-17 2013-01-16 Enhanced contrast for object detection and characterization by optical imaging

Country Status (4)

Country Link
JP (2) JP2015510169A (en)
CN (2) CN104145276B (en)
DE (1) DE112013000590B4 (en)
WO (1) WO2013109609A2 (en)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9070019B2 (en) 2012-01-17 2015-06-30 Leap Motion, Inc. Systems and methods for capturing motion in three-dimensional space
WO2015110331A1 (en) * 2014-01-24 2015-07-30 Myestro Interactive Gmbh Method for detecting a movement path of at least one moving object within a detection region, method for detecting gestures while using such a detection method, and device for carrying out such a detection method
WO2015139750A1 (en) 2014-03-20 2015-09-24 Telecom Italia S.P.A. System and method for motion capture
US9153028B2 (en) 2012-01-17 2015-10-06 Leap Motion, Inc. Systems and methods for capturing motion in three-dimensional space
US9285893B2 (en) 2012-11-08 2016-03-15 Leap Motion, Inc. Object detection and tracking with variable-field illumination devices
US9465461B2 (en) 2013-01-08 2016-10-11 Leap Motion, Inc. Object detection and tracking with audio and optical signals
US9495613B2 (en) 2012-01-17 2016-11-15 Leap Motion, Inc. Enhanced contrast for object detection and characterization by optical imaging using formed difference images
US9613262B2 (en) 2014-01-15 2017-04-04 Leap Motion, Inc. Object detection and tracking for providing a virtual device experience
US9679215B2 (en) 2012-01-17 2017-06-13 Leap Motion, Inc. Systems and methods for machine control
US9702977B2 (en) 2013-03-15 2017-07-11 Leap Motion, Inc. Determining positional information of an object in space
US9880629B2 (en) 2012-02-24 2018-01-30 Thomas J. Moscarillo Gesture recognition devices and methods with user authentication
US9916009B2 (en) 2013-04-26 2018-03-13 Leap Motion, Inc. Non-tactile interface systems and methods
US10609285B2 (en) 2013-01-07 2020-03-31 Ultrahaptics IP Two Limited Power consumption in motion-capture systems
WO2020121174A1 (en) 2018-12-10 2020-06-18 Gentex Corporation Scanning apparatus for reducing field of view search space
US10691219B2 (en) 2012-01-17 2020-06-23 Ultrahaptics IP Two Limited Systems and methods for machine control
US10739862B2 (en) 2013-01-15 2020-08-11 Ultrahaptics IP Two Limited Free-space user interface and control using virtual constructs
US10846942B1 (en) 2013-08-29 2020-11-24 Ultrahaptics IP Two Limited Predictive information for free space gesture control and communication
US11227165B2 (en) 2016-01-04 2022-01-18 Netatmo Automatic lighting and security device
US11720180B2 (en) 2012-01-17 2023-08-08 Ultrahaptics IP Two Limited Systems and methods for machine control
US11740705B2 (en) 2013-01-15 2023-08-29 Ultrahaptics IP Two Limited Method and system for controlling a machine according to a characteristic of a control object
US11775033B2 (en) 2013-10-03 2023-10-03 Ultrahaptics IP Two Limited Enhanced field of view to augment three-dimensional (3D) sensory space for free-space gesture interpretation
US11778159B2 (en) 2014-08-08 2023-10-03 Ultrahaptics IP Two Limited Augmented reality with motion sensing
US11868687B2 (en) 2013-10-31 2024-01-09 Ultrahaptics IP Two Limited Predictive information for free space gesture control and communication

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652653B2 (en) * 2014-12-27 2017-05-16 Hand Held Products, Inc. Acceleration-based motion tolerance and predictive coding
CN104586404A (en) * 2015-01-27 2015-05-06 深圳泰山在线科技有限公司 Method and system for identifying posture of fitness and health monitoring
US9934574B2 (en) * 2015-02-25 2018-04-03 Facebook, Inc. Using intensity variations in a light pattern for depth mapping of objects in a volume
DE102015207768B4 (en) 2015-04-28 2020-03-12 Volkswagen Aktiengesellschaft Improved gesture recognition for a vehicle
US10602074B2 (en) * 2015-11-10 2020-03-24 Lumileds Holding B.V. Adaptive light source
DE102016201704A1 (en) 2016-02-04 2017-08-10 Bayerische Motoren Werke Aktiengesellschaft A gesture recognition apparatus and method for detecting a gesture of an occupant of a vehicle
US10671881B2 (en) 2017-04-11 2020-06-02 Microsoft Technology Licensing, Llc Image processing system with discriminative control
DE102017125799A1 (en) 2017-11-06 2019-05-09 Carl Zeiss Industrielle Messtechnik Gmbh Reduction of picture disturbances in pictures
TWI672957B (en) 2018-03-29 2019-09-21 瑞昱半導體股份有限公司 Image processing device and image processing method
US10616550B1 (en) * 2018-09-14 2020-04-07 Facebook Technologies, Llc Generating a representation of an object from depth information determined in parallel from images captured by multiple cameras
EP3968888A4 (en) * 2019-06-20 2022-10-12 Gentex Corporation Illumination system and method for object tracking
JP2021051042A (en) * 2019-09-26 2021-04-01 ソニーセミコンダクタソリューションズ株式会社 Image processing device, electronic apparatus, image processing method, and program
US11418742B2 (en) * 2020-01-16 2022-08-16 GM Global Technology Operations LLC System and method for analyzing camera performance degradation due to lens abrasion
JP7401129B1 (en) 2022-11-15 2023-12-19 株式会社SEtech Product display shelf

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH076782B2 (en) * 1989-03-10 1995-01-30 工業技術院長 Object shape measuring method and apparatus
US5282067A (en) * 1991-10-07 1994-01-25 California Institute Of Technology Self-amplified optical pattern recognition system
JP3737537B2 (en) * 1995-03-22 2006-01-18 帝人ファイバー株式会社 Deterioration detection method for illumination means for image processing
JPH09259278A (en) * 1996-03-25 1997-10-03 Matsushita Electric Ind Co Ltd Image processor
JP2000023038A (en) * 1998-06-30 2000-01-21 Toshiba Corp Image extractor
JP4483067B2 (en) * 2000-10-24 2010-06-16 沖電気工業株式会社 Target object extraction image processing device
JP2003256814A (en) * 2002-02-27 2003-09-12 Olympus Optical Co Ltd Substrate checking device
JP2004246252A (en) * 2003-02-17 2004-09-02 Takenaka Komuten Co Ltd Apparatus and method for collecting image information
DE10326035B4 (en) * 2003-06-10 2005-12-22 Hema Electronic Gmbh Method for adaptive error detection on a structured surface
DE602004032540D1 (en) * 2003-06-17 2011-06-16 Univ Brown METHOD AND DEVICE FOR MODEL-BASED DETECTION OF A STRUCTURE IN PROJECTION DATA
US8059153B1 (en) * 2004-06-21 2011-11-15 Wyse Technology Inc. Three-dimensional object tracking using distributed thin-client cameras
JP4678487B2 (en) * 2005-03-15 2011-04-27 オムロン株式会社 Image processing system, image processing apparatus and method, recording medium, and program
JP4797752B2 (en) * 2006-03-31 2011-10-19 株式会社デンソー Operating object extraction device for moving objects
US9696808B2 (en) * 2006-07-13 2017-07-04 Northrop Grumman Systems Corporation Hand-gesture recognition method
US8180114B2 (en) * 2006-07-13 2012-05-15 Northrop Grumman Systems Corporation Gesture recognition interface system with vertical display
US8059894B1 (en) * 2006-12-19 2011-11-15 Playvision Technologies, Inc. System and associated methods of calibration and use for an interactive imaging environment
JP2008227569A (en) * 2007-03-08 2008-09-25 Seiko Epson Corp Photographing device, electronic device, photography control method and photography control program
US20100027845A1 (en) * 2008-07-31 2010-02-04 Samsung Electronics Co., Ltd. System and method for motion detection based on object trajectory
US8199248B2 (en) * 2009-01-30 2012-06-12 Sony Corporation Two-dimensional polynomial model for depth estimation based on two-picture matching
JP2011010258A (en) * 2009-05-27 2011-01-13 Seiko Epson Corp Image processing apparatus, image display system, and image extraction device
KR101307341B1 (en) * 2009-12-18 2013-09-11 한국전자통신연구원 Method and apparatus for motion capture of dynamic object
CN102044151B (en) * 2010-10-14 2012-10-17 吉林大学 Night vehicle video detection method based on illumination visibility identification
JP5397426B2 (en) * 2011-07-22 2014-01-22 カシオ計算機株式会社 Imaging apparatus, focusing method, and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None

Cited By (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10410411B2 (en) 2012-01-17 2019-09-10 Leap Motion, Inc. Systems and methods of object shape and position determination in three-dimensional (3D) space
US11782516B2 (en) 2012-01-17 2023-10-10 Ultrahaptics IP Two Limited Differentiating a detected object from a background using a gaussian brightness falloff pattern
US11720180B2 (en) 2012-01-17 2023-08-08 Ultrahaptics IP Two Limited Systems and methods for machine control
US9153028B2 (en) 2012-01-17 2015-10-06 Leap Motion, Inc. Systems and methods for capturing motion in three-dimensional space
US11308711B2 (en) 2012-01-17 2022-04-19 Ultrahaptics IP Two Limited Enhanced contrast for object detection and characterization by optical imaging based on differences between images
US9436998B2 (en) 2012-01-17 2016-09-06 Leap Motion, Inc. Systems and methods of constructing three-dimensional (3D) model of an object using image cross-sections
US10565784B2 (en) 2012-01-17 2020-02-18 Ultrahaptics IP Two Limited Systems and methods for authenticating a user according to a hand of the user moving in a three-dimensional (3D) space
US9495613B2 (en) 2012-01-17 2016-11-15 Leap Motion, Inc. Enhanced contrast for object detection and characterization by optical imaging using formed difference images
US10767982B2 (en) 2012-01-17 2020-09-08 Ultrahaptics IP Two Limited Systems and methods of locating a control object appendage in three dimensional (3D) space
US9626591B2 (en) 2012-01-17 2017-04-18 Leap Motion, Inc. Enhanced contrast for object detection and characterization by optical imaging
US10699155B2 (en) 2012-01-17 2020-06-30 Ultrahaptics IP Two Limited Enhanced contrast for object detection and characterization by optical imaging based on differences between images
US9652668B2 (en) 2012-01-17 2017-05-16 Leap Motion, Inc. Enhanced contrast for object detection and characterization by optical imaging based on differences between images
US9672441B2 (en) 2012-01-17 2017-06-06 Leap Motion, Inc. Enhanced contrast for object detection and characterization by optical imaging based on differences between images
US9679215B2 (en) 2012-01-17 2017-06-13 Leap Motion, Inc. Systems and methods for machine control
US9697643B2 (en) 2012-01-17 2017-07-04 Leap Motion, Inc. Systems and methods of object shape and position determination in three-dimensional (3D) space
US10691219B2 (en) 2012-01-17 2020-06-23 Ultrahaptics IP Two Limited Systems and methods for machine control
US9741136B2 (en) 2012-01-17 2017-08-22 Leap Motion, Inc. Systems and methods of object shape and position determination in three-dimensional (3D) space
US9767345B2 (en) 2012-01-17 2017-09-19 Leap Motion, Inc. Systems and methods of constructing three-dimensional (3D) model of an object using image cross-sections
US9778752B2 (en) 2012-01-17 2017-10-03 Leap Motion, Inc. Systems and methods for machine control
US9945660B2 (en) 2012-01-17 2018-04-17 Leap Motion, Inc. Systems and methods of locating a control object appendage in three dimensional (3D) space
US10366308B2 (en) 2012-01-17 2019-07-30 Leap Motion, Inc. Enhanced contrast for object detection and characterization by optical imaging based on differences between images
US9934580B2 (en) 2012-01-17 2018-04-03 Leap Motion, Inc. Enhanced contrast for object detection and characterization by optical imaging based on differences between images
US9070019B2 (en) 2012-01-17 2015-06-30 Leap Motion, Inc. Systems and methods for capturing motion in three-dimensional space
US9880629B2 (en) 2012-02-24 2018-01-30 Thomas J. Moscarillo Gesture recognition devices and methods with user authentication
US11009961B2 (en) 2012-02-24 2021-05-18 Thomas J. Moscarillo Gesture recognition devices and methods
US9285893B2 (en) 2012-11-08 2016-03-15 Leap Motion, Inc. Object detection and tracking with variable-field illumination devices
US10609285B2 (en) 2013-01-07 2020-03-31 Ultrahaptics IP Two Limited Power consumption in motion-capture systems
US10097754B2 (en) 2013-01-08 2018-10-09 Leap Motion, Inc. Power consumption in motion-capture systems with audio and optical signals
US9465461B2 (en) 2013-01-08 2016-10-11 Leap Motion, Inc. Object detection and tracking with audio and optical signals
US9626015B2 (en) 2013-01-08 2017-04-18 Leap Motion, Inc. Power consumption in motion-capture systems with audio and optical signals
US10739862B2 (en) 2013-01-15 2020-08-11 Ultrahaptics IP Two Limited Free-space user interface and control using virtual constructs
US11874970B2 (en) 2013-01-15 2024-01-16 Ultrahaptics IP Two Limited Free-space user interface and control using virtual constructs
US11740705B2 (en) 2013-01-15 2023-08-29 Ultrahaptics IP Two Limited Method and system for controlling a machine according to a characteristic of a control object
US11353962B2 (en) 2013-01-15 2022-06-07 Ultrahaptics IP Two Limited Free-space user interface and control using virtual constructs
US10585193B2 (en) 2013-03-15 2020-03-10 Ultrahaptics IP Two Limited Determining positional information of an object in space
US9702977B2 (en) 2013-03-15 2017-07-11 Leap Motion, Inc. Determining positional information of an object in space
US11693115B2 (en) 2013-03-15 2023-07-04 Ultrahaptics IP Two Limited Determining positional information of an object in space
US9916009B2 (en) 2013-04-26 2018-03-13 Leap Motion, Inc. Non-tactile interface systems and methods
US11099653B2 (en) 2013-04-26 2021-08-24 Ultrahaptics IP Two Limited Machine responsiveness to dynamic user movements and gestures
US10452151B2 (en) 2013-04-26 2019-10-22 Ultrahaptics IP Two Limited Non-tactile interface systems and methods
US10846942B1 (en) 2013-08-29 2020-11-24 Ultrahaptics IP Two Limited Predictive information for free space gesture control and communication
US11282273B2 (en) 2013-08-29 2022-03-22 Ultrahaptics IP Two Limited Predictive information for free space gesture control and communication
US11776208B2 (en) 2013-08-29 2023-10-03 Ultrahaptics IP Two Limited Predictive information for free space gesture control and communication
US11461966B1 (en) 2013-08-29 2022-10-04 Ultrahaptics IP Two Limited Determining spans and span lengths of a control object in a free space gesture control environment
US11775033B2 (en) 2013-10-03 2023-10-03 Ultrahaptics IP Two Limited Enhanced field of view to augment three-dimensional (3D) sensory space for free-space gesture interpretation
US11868687B2 (en) 2013-10-31 2024-01-09 Ultrahaptics IP Two Limited Predictive information for free space gesture control and communication
US9613262B2 (en) 2014-01-15 2017-04-04 Leap Motion, Inc. Object detection and tracking for providing a virtual device experience
WO2015110331A1 (en) * 2014-01-24 2015-07-30 Myestro Interactive Gmbh Method for detecting a movement path of at least one moving object within a detection region, method for detecting gestures while using such a detection method, and device for carrying out such a detection method
WO2015139750A1 (en) 2014-03-20 2015-09-24 Telecom Italia S.P.A. System and method for motion capture
US10092220B2 (en) 2014-03-20 2018-10-09 Telecom Italia S.P.A. System and method for motion capture
US11778159B2 (en) 2014-08-08 2023-10-03 Ultrahaptics IP Two Limited Augmented reality with motion sensing
US11227165B2 (en) 2016-01-04 2022-01-18 Netatmo Automatic lighting and security device
EP3871146A4 (en) * 2018-12-10 2021-12-29 Gentex Corporation Scanning apparatus for reducing field of view search space
US11776313B2 (en) 2018-12-10 2023-10-03 Gentex Corporation Scanning apparatus for reducing field of view search space
WO2020121174A1 (en) 2018-12-10 2020-06-18 Gentex Corporation Scanning apparatus for reducing field of view search space

Also Published As

Publication number Publication date
CN104145276B (en) 2017-05-03
CN107066962B (en) 2020-08-07
CN107066962A (en) 2017-08-18
DE112013000590T5 (en) 2014-11-06
JP2016186793A (en) 2016-10-27
CN104145276A (en) 2014-11-12
DE112013000590B4 (en) 2016-05-04
WO2013109609A3 (en) 2013-10-31
JP2015510169A (en) 2015-04-02

Similar Documents

Publication Publication Date Title
US11308711B2 (en) Enhanced contrast for object detection and characterization by optical imaging based on differences between images
CN107066962B (en) Enhanced contrast for object detection and characterization by optical imaging
US9285893B2 (en) Object detection and tracking with variable-field illumination devices
US11778159B2 (en) Augmented reality with motion sensing
US20140028861A1 (en) Object detection and tracking
US20220385804A1 (en) Adjusting Motion Capture Based on the Distance Between Tracked Objects
US10609285B2 (en) Power consumption in motion-capture systems
JP2015526927A (en) Context-driven adjustment of camera parameters
US9392196B2 (en) Object detection and tracking with reduced error due to background illumination

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13706761

Country of ref document: EP

Kind code of ref document: A2

ENP Entry into the national phase

Ref document number: 2014552391

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 112013000590

Country of ref document: DE

Ref document number: 1120130005905

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13706761

Country of ref document: EP

Kind code of ref document: A2