Using pattern recognition to reduce noise in a 3D map

To reduce the random noise in a depth map that is rendered using colors to convey the various depths, pattern recognition may be used to selectively apply noise reduction or to modulate the strength of the noise reduction. In this way, the potential adverse effect on the detail/sharpness of the image can be ameliorated. For example, in an image of a person, the skin does not have any sharp edges so noise reduction can be applied to such an image with little adverse consequence, whereas noise reduction applied to the image of a person's eye can cause loss of the detail of the iris, eyelashes, etc. Using pattern recognition on objects in the image, the appropriate level of noise reduction can be applied across an image while minimizing blurring/loss of detail.

FIELD

The present application relates to technically inventive, non-routine solutions that are necessarily rooted in computer technology and that produce concrete technical improvements.

BACKGROUND

When multiple computerized devices interact with each other at close range, they may employ sensors such as cameras and laser range finders. As understood herein, the use of such sensors by multiple devices can cause mutual interference. As also understood herein, such devices may use lasers to provide three dimensional (3D) depth maps of objects in the field of view of cameras of the devices, and such 3D depth maps can be problematic in terms of knowing when and when not to apply digital image noise reduction algorithms.

SUMMARY

As understood herein, noise reduction can be used in conjunction with pattern recognition to modify a three dimensional (3D) depth map. Specifically, in a camera based depth mapping system, depth information from a laser can be coded with colors to make the 3D depth map easier to interpret. Depth maps are discussed in the present assignee's U.S. Pat. No. 8,472,746. 3D depth maps generated using lasers are discussed in U.S. Pat. No. 9,456,307. Both of these documents are incorporated by reference herein.

As revealed here, in the event that the laser illumination is not sufficient, the depth information can have a low signal to noise ratio, i.e., it can be noisy. This means that if noise reduction is applied to such an image, the edges of object images can be blurred, reducing the sharpness of an image. Examples of digital image noise reduction techniques are discussed in the present assignee's U.S. Pat. No. 8,711,249, incorporated by reference herein.

As envisioned herein, to reduce the random noise in a depth map that is rendered using colors to convey the various depths, pattern recognition may be used to selectively apply noise reduction or to modulate the strength of the noise reduction. In this way, the potential adverse effect on the detail/sharpness of the image can be ameliorated. For example, in an image of a person, the skin does not have any sharp edges so noise reduction can be applied to such an image with little adverse consequence, whereas noise reduction applied to the image of a person's eye can cause loss of the detail of the iris, eyelashes, etc. Using pattern recognition on objects in the image, the appropriate level of noise reduction can be applied across an image while minimizing blurring/loss of detail.

Accordingly, a device includes at least one computer medium that is not a transitory signal and that comprises instructions executable by at least one processor to receive a digital depth map, and to execute image recognition on the depth map. The instructions are executable to, based at least in part on the image recognition, identify a first object, and based at least in part on the image recognition, identify a second object. The instructions are also executable to identify a first noise reduction level associated with the first object and to identify a second noise reduction level associated with the second object, the first noise reduction level being different from the second level noise reduction level, and to apply the first and second noise reduction levels to the respective first and second objects.

The digital depth map may be based on laser emissions. It may thus be laser-generated. The instructions may be executable to access at least one data structure, and using the data structure, correlate the first object with the first noise reduction level. The instructions also may be executable to, using the data structure, correlate the second object with the second noise reduction level. The device may include the processor.

In example embodiments, the second noise reduction level is less than the first noise reduction level, and the second object includes an ocular iris. In some examples, the second noise reduction level is less than the first noise reduction level, and the second object includes at least one eyelash. The second noise reduction level may be zero such that no noise reduction is applied to the second object.

In another aspect, a method includes applying noise reduction to reduce noise in a depth map that is rendered using colors to convey various depths of objects in an image. The method also includes executing pattern recognition on the image, and selectively adjusting the noise reduction and/or modulating a strength of the noise reduction based at least in part on the pattern recognition.

In another aspect, an assembly includes plural devices on at least one surface. Each device can include at least one laser range finder configured to output signals useful for generating images of other devices on the surface. At least one processor is configured with instructions for selectively applying noise reduction to at least a first one of the images based on pattern recognition executed on the first image.

In examples, some or all of the devices may be motorized for movement on the surface. One or more of the devices may include transceivers for receiving remote control signals from respective controllers.

The details of the present application, both as to its structure and operation, can be best understood in reference to the accompanying drawings, in which like reference numerals refer to like parts, and in which:

DETAILED DESCRIPTION

This disclosure relates generally to computer ecosystems including aspects of multiple computerized devices. A system herein including computerized devices may include server and client components, connected over a network such that data may be exchanged between the client and server components. The client components may include one or more computing devices such as portable televisions (e.g. smart TVs, Internet-enabled TVs), portable computers such as laptops and tablet computers, and other mobile devices including smart phones and additional examples discussed below. These client devices may operate with a variety of operating environments. For example, some of the client computers may employ, as examples, operating systems from Microsoft, or a Unix operating system, or operating systems produced by Apple Computer or Google. These operating environments may be used to execute one or more browsing programs, such as a browser made by Microsoft or Google or Mozilla or other browser program that can access web applications hosted by the Internet servers discussed below.

Servers may include one or more processors executing instructions that configure the servers to receive and transmit data over a network such as the Internet. Or, a client and server can be connected over a local intranet or a virtual private network.

Information may be exchanged over a network between the clients and servers. To this end and for security, servers and/or clients can include firewalls, load balancers, temporary storages, and proxies, and other network infrastructure for reliability and security. One or more servers may form an apparatus that implement methods of providing a secure community including but not limited to social networks to network members.

A processor may be any conventional general purpose single- or multi-chip processor that can execute logic by means of various lines such as address lines, data lines, and control lines and registers and shift registers. A processor may be implemented by a digital signal processor (DSP), for example.

Software modules described by way of the flow charts and user interfaces herein can include various sub-routines, procedures, etc. Without limiting the disclosure, logic stated to be executed by a particular module can be redistributed to other software modules and/or combined together in a single module and/or made available in a shareable library.

Further to what has been alluded to above, logical blocks, modules, and circuits described below can be implemented or performed with a general purpose processor, a digital signal processor (DSP), a field programmable gate array (FPGA) or other programmable logic device such as an application specific integrated circuit (ASIC), discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A processor can be implemented by a controller or state machine or a combination of computing devices.

Now specifically referring toFIG. 1, an example system10is shown, which may include one or more of the example devices mentioned above and described further below in accordance with present principles. The first of the example devices included in the system10is an example computerized device12.

The computerized device12may be an Android®-based system. The computerized device12alternatively may also include a computerized Internet enabled (“smart”) telephone, a tablet computer, a notebook computer, a wearable computerized device such as e.g. computerized Internet-enabled watch, a computerized Internet-enabled bracelet, other computerized Internet-enabled devices, a computerized Internet-enabled music player, computerized Internet-enabled head phones, a computerized Internet-enabled implantable device such as an implantable skin device, etc. Regardless, it is to be understood that the computerized device12and/or other computers described herein is configured to undertake present principles (e.g. communicate with other CE devices to undertake present principles, execute the logic described herein, and perform any other functions and/or operations described herein).

Accordingly, to undertake such principles the computerized device12can be established by some or all of the components shown inFIG. 1. For example, the computerized device12can include one or more displays14that may be implemented by a high definition or ultra-high definition “4K” or higher flat screen and that may or may not be touch-enabled for receiving user input signals via touches on the display. The computerized device12may include one or more speakers16for outputting audio in accordance with present principles, and at least one additional input device18such as e.g. an audio receiver/microphone for receiving input sound including but not limited to audible commands to the computerized device12to control the computerized device12. The example computerized device12may also include one or more network interfaces20for communication over at least one network22such as the Internet, a WAN, a LAN, a PAN etc. under control of one or more processors24. Thus, the interface20may be, without limitation, a Wi-Fi transceiver, which is an example of a wireless computer network interface, such as but not limited to a mesh network transceiver. The interface20may be, without limitation a Bluetooth transceiver, Zigbee transceiver, IrDA transceiver, Wireless USB transceiver, wired USB, wired LAN, Powerline or MoCA. It is to be understood that the processor24controls the computerized device12to undertake present principles, including the other elements of the computerized device12described herein such as e.g. controlling the display14to present images thereon and receiving input therefrom. Furthermore, note the network interface20may be, e.g., a wired or wireless modem or router, or other appropriate interface such as, e.g., a wireless telephony transceiver, or Wi-Fi transceiver as mentioned above, etc.

In addition to the foregoing, the computerized device12may also include one or more input ports26such as, e.g., a high definition multimedia interface (HDMI) port or a USB port to physically connect (e.g. using a wired connection) to another CE device and/or a headphone port to connect headphones to the computerized device12for presentation of audio from the computerized device12to a user through the headphones. For example, the input port26may be connected via wire or wirelessly to a cable or satellite source26aof audio video content. Thus, the source26amay be, e.g., a separate or integrated set top box, or a satellite receiver. Or, the source26amay be a game console or disk player containing content that might be regarded by a user as a favorite for channel assignation purposes described further below.

The computerized device12may further include one or more computer memories28such as disk-based or solid state storage that are not transitory signals, in some cases embodied in the chassis of the device as standalone devices or as a personal video recording device (PVR) or video disk player either internal or external to the chassis of the device for playing back AV programs or as removable memory media. Also in some embodiments, the computerized device12can include a position or location receiver such as but not limited to a cellphone receiver, GPS receiver and/or altimeter30that is configured to e.g. receive geographic position information from at least one satellite or cellphone tower and provide the information to the processor24and/or determine an altitude at which the computerized device12is disposed in conjunction with the processor24. However, it is to be understood that that another suitable position receiver other than a cellphone receiver, GPS receiver and/or altimeter may be used in accordance with present principles to e.g. determine the location of the computerized device12in e.g. all three dimensions.

In some embodiments the computerized device12may include one or more cameras32that may be, e.g., a thermal imaging camera, a digital camera such as a webcam, and/or a camera integrated into the computerized device12and controllable by the processor24to gather pictures/images and/or video in accordance with present principles. Also included on the computerized device12may be a Bluetooth transceiver34and other Near Field Communication (NFC) element36for communication with other devices using Bluetooth and/or NFC technology, respectively. An example NFC element can be a radio frequency identification (RFID) element.

Further still, the computerized device12may include one or more auxiliary sensors37(e.g., a motion sensor such as an accelerometer, gyroscope, cyclometer, or a magnetic sensor, an infrared (IR) sensor for receiving IR commands or other signals from a remote control or laser, an optical sensor, a speed and/or cadence sensor, a gesture sensor (e.g. for sensing gesture command), etc.) providing input to the processor24. The computerized device12may include one or more motors38, which may be a battery-powered motor, and one or more actuators39coupled to the motor38and configured to cause the device12to ambulate. In one example, the actuator39is a simple axle-and-wheel actuator that can be energized by the motor38to cause the device12to roll across a surface. In another example the actuator39may include one or more linear actuators with joints to cause the device12to move in a robotic, walking-type fashion on multiple legs. These are but two examples of motion actuators that can be included in the device12.

In addition to the foregoing, it is noted that the computerized device12may also include an infrared (IR) transmitter and/or IR receiver and/or IR transceiver42such as a laser or an IR data association (IRDA) device. A battery (not shown) may be provided for powering the computerized device12.

Still referring toFIG. 1, in addition to the computerized device12, the system10may include one or more other computer device types that may include some or all of the components shown for the computerized device12and that may wirelessly communicate with the device12to control it. In one example, a first device44and a second device46are shown and may include similar components as some or all of the components of the computerized device12. Fewer or greater devices may be used than shown.

In the example shown, to illustrate present principles all three devices12,44,46are assumed to be members of a local network in, e.g., a dwelling48, illustrated by dashed lines.

The example non-limiting first device44may include one or more touch-sensitive surfaces50such as a touch-enabled video display for receiving user input signals via touches on the display. The first device44may include one or more speakers52for outputting audio in accordance with present principles, and at least one additional input device54such as e.g. an audio receiver/microphone for e.g. entering audible commands to the first device44to control the device44. The example first device44may also include one or more network interfaces56for communication over the network22under control of one or more processors58. Thus, the interface56may be, without limitation, a Wi-Fi transceiver, which is an example of a wireless computer network interface, including mesh network interfaces. It is to be understood that the processor58controls the first device44to undertake present principles, including the other elements of the first device44described herein such as e.g. controlling the display50to present images thereon and receiving input therefrom. Furthermore, note the network interface56may be, e.g., a wired or wireless modem or router, or other appropriate interface such as, e.g., a wireless telephony transceiver, or Wi-Fi transceiver as mentioned above, etc.

In addition to the foregoing, the first device44may also include one or more input ports60such as, e.g., a HDMI port or a USB port to physically connect (e.g. using a wired connection) to another computer device and/or a headphone port to connect headphones to the first device44for presentation of audio from the first device44to a user through the headphones. The first device44may further include one or more tangible computer readable storage medium62such as disk-based or solid state storage. Also in some embodiments, the first device44can include a position or location receiver such as but not limited to a cellphone and/or GPS receiver and/or altimeter64that is configured to e.g. receive geographic position information from at least one satellite and/or cell tower, using triangulation, and provide the information to the device processor58and/or determine an altitude at which the first device44is disposed in conjunction with the device processor58. However, it is to be understood that that another suitable position receiver other than a cellphone and/or GPS receiver and/or altimeter may be used in accordance with present principles to e.g. determine the location of the first device44in e.g. all three dimensions.

Continuing the description of the first device44, in some embodiments the first device44may include one or more cameras66that may be, e.g., a thermal imaging camera, a digital camera such as a webcam, etc. Also included on the first device44may be a Bluetooth transceiver68and other Near Field Communication (NFC) element70for communication with other devices using Bluetooth and/or NFC technology, respectively. An example NFC element can be a radio frequency identification (RFID) element.

Further still, the first device44may include one or more auxiliary sensors72(e.g., a motion sensor such as an accelerometer, gyroscope, cyclometer, or a magnetic sensor, an infrared (IR) sensor, an optical sensor, a speed and/or cadence sensor, a gesture sensor (e.g. for sensing gesture command), etc.) providing input to the CE device processor58. The first device44may include still other sensors such as e.g. one or more climate sensors74(e.g. barometers, humidity sensors, wind sensors, light sensors, temperature sensors, etc.) and/or one or more biometric sensors76providing input to the device processor58. In addition to the foregoing, it is noted that in some embodiments the first device44may also include an infrared (IR) transmitter and/or IR receiver and/or IR transceiver78such as a laser or an IR data association (IRDA) device. A battery may be provided for powering the first device44. The device44may communicate with the computerized device12through any of the above-described communication modes and related components.

The second device46may include some or all of the components described above.

Now in reference to the afore-mentioned at least one server80, it includes at least one server processor82, at least one computer memory84such as disk-based or solid state storage, and at least one network interface86that, under control of the server processor82, allows for communication with the other devices ofFIG. 1over the network22, and indeed may facilitate communication between servers, controllers, and client devices in accordance with present principles. Note that the network interface86may be, e.g., a wired or wireless modem or router, Wi-Fi transceiver, or other appropriate interface such as, e.g., a wireless telephony transceiver.

Accordingly, in some embodiments the server80may be an Internet server, and may include and perform “cloud” functions such that the devices of the system10may access a “cloud” environment via the server80in example embodiments. Or, the server80may be implemented by a game console or other computer in the same room as the other devices shown inFIG. 1or nearby.

FIG. 2shows that multiple devices12,12A may be controlled by respective CE devices44,46to interact on a surface200such as a flat planar surface.

FIG. 3shows that the first device12may have a camera providing a field of view (FOV) with a FOV angle300. The first device12may emit laser range-finding light such as IR light along one or more range finding axes302. The camera may be implemented by a complementary metal oxide semiconductor (CMOS) camera that can detect both visible and infrared light so as to be able to produce still or video images along with detections of laser reflections for purposes of generating a depth map.

Likewise, the second device12A may have a camera providing a field of view (FOV) with a FOV angle304. The first device12may emit laser range-finding light such as IR light along one or more range finding axes306. More than two devices may be used. In the example shown, each device is within the FOV of the other device, and the FOVs of the devices overlap as shown.

FIG. 4shows example general logic. Commencing at state400, objects are recognized in one or more images from one or more cameras of the computerized devices12,12A shown inFIGS. 2 and 3. The images may be generated using the lasers of the devices and may be examples of 3D depth maps of the objects on the images. A first noise reduction level is applied to a first object in an image at state402, while a second, different noise reduction level is applied to a second object in the same image at block404.

FIG. 5shows example detailed logic that may be employed according to present principles. Commencing at block500, object boundaries may be identified in an image such as a 3D depth map imaged by a camera on one of the devices12,12A shown inFIGS. 2 and 3. Boundaries may be identified by identifying a substantially continuous sequence of pixels in an image that have characteristics such as brightness, color, etc. that are similar to each other in the sequence but that are different by, e.g., a threshold amount from the characteristics of pixels nearby the sequence.

Proceeding to block502, one or more pattern recognition algorithms are executed on the image to identify one or more objects within the boundaries, when boundary identification is employed. When block500is omitted pattern recognition may be applied to the entire image to identify one or more objects.

At block504, a data structure such as but not limited to the data structure600shown inFIG. 6is accessed using the objects identified in block502as entering arguments. If the recognized object is determined to be in the data structure at diamond506, the logic can retrieve from the data structure a corresponding noise reduction level for that object at block508and apply it to the object. Example noise reduction techniques are provided in the above-incorporated U.S. Pat. No. 8,711,249. On the other hand, if the recognized object is determined not to be in the data structure at diamond506, the logic can move to block510to either ignore the object, effectively applying no noise reduction to that object, or it can apply a default noise reduction level to the object.

FIG. 6illustrates further. A column602provides a list of objects and a column604a list of corresponding noise reduction levels. When an object is recognized at block502, it may be used as entering argument to the data structure600inFIG. 6to determine if it matches one of the objects in the column602, and if it does, the corresponding noise reduction level is retrieved from the column604.

Thus, for one type of object, such as an eye or an eyelash (of, e.g., a device12modeled to resemble a person), a small level of noise reduction may be applied. The small level may be represented by a numeral, such as one (1). On the other hand, higher levels of noise reduction may be applied to other objects such as skin and body objects as shown. Indicia such as letters and numerals inscribed on an imaged device may be correlated with little or noise reduction as shown inFIG. 6. It is to be understood that a single image with multiple objects may thus have multiple different levels of the same noise reduction algorithm applied to respective different objects in the same single image based on pattern recognition.

While particular techniques and machines are herein shown and described in detail, it is to be understood that the subject matter which is encompassed by the present invention is limited only by the claims.