This disclosure generally relates to devices and methods for capturing and processing images and audio from an environment of a user, and using information derived from captured images and audio.
Today, technological advancements make it possible for wearable devices to automatically capture images and audio, and store information that is associated with the captured images and audio. Certain devices have been used to digitally record aspects and personal experiences of one's life in an exercise typically called “lifelogging.” Some individuals log their life so they can retrieve moments from past activities, for example, social events, trips, etc. Lifelogging may also have significant benefits in other fields (e.g., business, fitness and healthcare, and social research). Lifelogging devices, while useful for tracking daily activities, may be improved with capability to enhance one's interaction in his environment with feedback and other advanced functionality based on the analysis of captured image and audio data.
Even though users can capture images and audio with their smartphones and some smartphone applications can process the captured information, smartphones may not be the best platform for serving as lifelogging apparatuses in view of their size and design. Lifelogging apparatuses should be small and light, so they can be easily worn. Moreover, with improvements in image capture devices, including wearable apparatuses, additional functionality may be provided to assist users in navigating in and around an environment, identifying persons and objects they encounter, and providing feedback to the users about their surroundings and activities. Therefore, there is a need for apparatuses and methods for automatically capturing and processing images and audio to provide useful information to users of the apparatuses, and for systems and methods to process and leverage information gathered by the apparatuses.
Embodiments consistent with the present disclosure provide devices and methods for automatically capturing and processing images and audio from an environment of a user, and systems and methods for processing information related to images and audio captured from the environment of the user.
In an embodiment, a wearable apparatus may include an image sensor configured to capture a plurality of images from an environment of a user; a light projector; and at least one processor. The processor may be programmed to receive at least one image of the plurality of images; identify an item of information based on the at least one image; render the item of information into an informational image; select a surface located within a field of view of the user; and cause the projector to project the informational image onto the surface.
In an embodiment, a method of displaying information to a user may include: receiving at least one image captured by an image sensor from an environment of the user; receiving at least one audio signal representative of sounds captured by at least one microphone from the environment of the user; identifying an item of information based on at least one of the received at least one image or the received at least one audio signal; selecting a surface within a field of view of the user; rendering an informational image comprising the item of information; and projecting, using a projector, the informational image onto the surface.
Consistent with other disclosed embodiments, non-transitory computer-readable storage media may store program instructions, which are executed by at least one processor and perform any of the methods described herein.
The foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the claims.
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate various disclosed embodiments. In the drawings:
The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar parts. While several illustrative embodiments are described herein, modifications, adaptations and other implementations are possible. For example, substitutions, additions or modifications may be made to the components illustrated in the drawings, and the illustrative methods described herein may be modified by substituting, reordering, removing, or adding steps to the disclosed methods. Accordingly, the following detailed description is not limited to the disclosed embodiments and examples. Instead, the proper scope is defined by the appended claims.
In some embodiments, apparatus 110 may communicate wirelessly or via a wire with a computing device 120. In some embodiments, computing device 120 may include, for example, a smartphone, or a tablet, or a dedicated processing unit, which may be portable (e.g., can be carried in a pocket of user 100). Although shown in
According to the disclosed embodiments, apparatus 110 may include an image sensor system 220 for capturing real-time image data of the field-of-view of user 100. In some embodiments, apparatus 110 may also include a processing unit 210 for controlling and performing the disclosed functionality of apparatus 110, such as to control the capture of image data, analyze the image data, and perform an action and/or output a feedback based on a hand-related trigger identified in the image data. According to the disclosed embodiments, a hand-related trigger may include a gesture performed by user 100 involving a portion of a hand of user 100. Further, consistent with some embodiments, a hand-related trigger may include a wrist-related trigger. Additionally, in some embodiments, apparatus 110 may include a feedback outputting unit 230 for producing an output of information to user 100.
As discussed above, apparatus 110 may include an image sensor 220 for capturing image data. The term “image sensor” refers to a device capable of detecting and converting optical signals in the near-infrared, infrared, visible, and ultraviolet spectrums into electrical signals. The electrical signals may be used to form an image or a video stream (i.e. image data) based on the detected signal. The term “image data” includes any form of data retrieved from optical signals in the near-infrared, infrared, visible, and ultraviolet spectrums. Examples of image sensors may include semiconductor charge-coupled devices (CCD), active pixel sensors in complementary metal-oxide-semiconductor (CMOS), or N-type metal-oxide-semiconductor (NMOS, Live MOS). In some cases, image sensor 220 may be part of a camera included in apparatus 110.
Apparatus 110 may also include a processor 210 for controlling image sensor 220 to capture image data and for analyzing the image data according to the disclosed embodiments. As discussed in further detail below with respect to
In some embodiments, the information or feedback information provided to user 100 may include time information. The time information may include any information related to a current time of day and, as described further below, may be presented in any sensory perceptive manner. In some embodiments, time information may include a current time of day in a preconfigured format (e.g., 2:30 pm or 14:30). Time information may include the time in the user's current time zone (e.g., based on a determined location of user 100), as well as an indication of the time zone and/or a time of day in another desired location. In some embodiments, time information may include a number of hours or minutes relative to one or more predetermined times of day. For example, in some embodiments, time information may include an indication that three hours and fifteen minutes remain until a particular hour (e.g., until 6:00 pm), or some other predetermined time. Time information may also include a duration of time passed since the beginning of a particular activity, such as the start of a meeting or the start of a jog, or any other activity. In some embodiments, the activity may be determined based on analyzed image data. In other embodiments, time information may also include additional information related to a current time and one or more other routine, periodic, or scheduled events. For example, time information may include an indication of the number of minutes remaining until the next scheduled event, as may be determined from a calendar function or other information retrieved from computing device 120 or server 250, as discussed in further detail below.
Feedback outputting unit 230 may include one or more feedback systems for providing the output of information to user 100. In the disclosed embodiments, the audible or visual feedback may be provided via any type of connected audible or visual system or both. Feedback of information according to the disclosed embodiments may include audible feedback to user 100 (e.g., using a Bluetooth™ or other wired or wirelessly connected speaker, or a bone conduction headphone). Feedback outputting unit 230 of some embodiments may additionally or alternatively produce a visible output of information to user 100, for example, as part of an augmented reality display projected onto a lens of glasses 130 or provided via a separate heads up display in communication with apparatus 110, such as a display 260 provided as part of computing device 120, which may include an onboard automobile heads up display, an augmented reality device, a virtual reality device, a smartphone, PC, table, etc.
The term “computing device” refers to a device including a processing unit and having computing capabilities. Some examples of computing device 120 include a PC, laptop, tablet, or other computing systems such as an on-board computing system of an automobile, for example, each configured to communicate directly with apparatus 110 or server 250 over network 240. Another example of computing device 120 includes a smartphone having a display 260. In some embodiments, computing device 120 may be a computing system configured particularly for apparatus 110, and may be provided integral to apparatus 110 or tethered thereto. Apparatus 110 can also connect to computing device 120 over network 240 via any known wireless standard (e.g., Wi-Fi, Bluetooth®, etc.), as well as near-filed capacitive coupling, and other short range wireless techniques, or via a wired connection. In an embodiment in which computing device 120 is a smartphone, computing device 120 may have a dedicated application installed therein. For example, user 100 may view on display 260 data (e.g., images, video clips, extracted information, feedback information, etc.) that originate from or are triggered by apparatus 110. In addition, user 100 may select part of the data for storage in server 250.
Network 240 may be a shared, public, or private network, may encompass a wide area or local area, and may be implemented through any suitable combination of wired and/or wireless communication networks. Network 240 may further comprise an intranet or the Internet. In some embodiments, network 240 may include short range or near-field wireless communication systems for enabling communication between apparatus 110 and computing device 120 provided in close proximity to each other, such as on or near a user's person, for example. Apparatus 110 may establish a connection to network 240 autonomously, for example, using a wireless module (e.g., Wi-Fi, cellular). In some embodiments, apparatus 110 may use the wireless module when being connected to an external power source, to prolong battery life. Further, communication between apparatus 110 and server 250 may be accomplished through any suitable communication channels, such as, for example, a telephone network, an extranet, an intranet, the Internet, satellite communications, off-line communications, wireless communications, transponder communications, a local area network (LAN), a wide area network (WAN), and a virtual private network (VPN).
As shown in
An example of wearable apparatus 110 incorporated with glasses 130 according to some embodiments (as discussed in connection with
In some embodiments, support 310 may include a quick release mechanism for disengaging and reengaging apparatus 110. For example, support 310 and apparatus 110 may include magnetic elements. As an alternative example, support 310 may include a male latch member and apparatus 110 may include a female receptacle. In other embodiments, support 310 can be an integral part of a pair of glasses, or sold separately and installed by an optometrist. For example, support 310 may be configured for mounting on the arms of glasses 130 near the frame front, but before the hinge. Alternatively, support 310 may be configured for mounting on the bridge of glasses 130.
In some embodiments, apparatus 110 may be provided as part of a glasses frame 130, with or without lenses. Additionally, in some embodiments, apparatus 110 may be configured to provide an augmented reality display projected onto a lens of glasses 130 (if provided), or alternatively, may include a display for projecting time information, for example, according to the disclosed embodiments. Apparatus 110 may include the additional display or alternatively, may be in communication with a separately provided display system that may or may not be attached to glasses 130.
In some embodiments, apparatus 110 may be implemented in a form other than wearable glasses, as described above with respect to
In some embodiments, apparatus 110 includes a function button 430 for enabling user 100 to provide input to apparatus 110. Function button 430 may accept different types of tactile input (e.g., a tap, a click, a double-click, a long press, a right-to-left slide, a left-to-right slide). In some embodiments, each type of input may be associated with a different action. For example, a tap may be associated with the function of taking a picture, while a right-to-left slide may be associated with the function of recording a video.
Apparatus 110 may be attached to an article of clothing (e.g., a shirt, a belt, pants, etc.), of user 100 at an edge of the clothing using a clip 431 as shown in
An example embodiment of apparatus 110 is shown in
Various views of apparatus 110 are illustrated in
The example embodiments discussed above with respect to
Processor 210, depicted in
Although, in the embodiment illustrated in
In some embodiments, processor 210 may process a plurality of images captured from the environment of user 100 to determine different parameters related to capturing subsequent images. For example, processor 210 can determine, based on information derived from captured image data, a value for at least one of the following: an image resolution, a compression ratio, a cropping parameter, frame rate, a focus point, an exposure time, an aperture size, and a light sensitivity. The determined value may be used in capturing at least one subsequent image. Additionally, processor 210 can detect images including at least one hand-related trigger in the environment of the user and perform an action and/or provide an output of information to a user via feedback outputting unit 230.
In another embodiment, processor 210 can change the aiming direction of image sensor 220. For example, when apparatus 110 is attached with clip 420, the aiming direction of image sensor 220 may not coincide with the field-of-view of user 100. Processor 210 may recognize certain situations from the analyzed image data and adjust the aiming direction of image sensor 220 to capture relevant image data. For example, in one embodiment, processor 210 may detect an interaction with another individual and sense that the individual is not fully in view, because image sensor 220 is tilted down. Responsive thereto, processor 210 may adjust the aiming direction of image sensor 220 to capture image data of the individual. Other scenarios are also contemplated where processor 210 may recognize the need to adjust an aiming direction of image sensor 220.
In some embodiments, processor 210 may communicate data to feedback-outputting unit 230, which may include any device configured to provide information to a user 100. Feedback outputting unit 230 may be provided as part of apparatus 110 (as shown) or may be provided external to apparatus 110 and communicatively coupled thereto. Feedback-outputting unit 230 may be configured to output visual or nonvisual feedback based on signals received from processor 210, such as when processor 210 recognizes a hand-related trigger in the analyzed image data.
The term “feedback” refers to any output or information provided in response to processing at least one image in an environment. In some embodiments, as similarly described above, feedback may include an audible or visible indication of time information, detected text or numerals, the value of currency, a branded product, a person's identity, the identity of a landmark or other environmental situation or condition including the street names at an intersection or the color of a traffic light, etc., as well as other information associated with each of these. For example, in some embodiments, feedback may include additional information regarding the amount of currency still needed to complete a transaction, information regarding the identified person, historical information or times and prices of admission etc. of a detected landmark etc. In some embodiments, feedback may include an audible tone, a tactile response, and/or information previously recorded by user 100. Feedback-outputting unit 230 may comprise appropriate components for outputting acoustical and tactile feedback. For example, feedback-outputting unit 230 may comprise audio headphones, a hearing aid type device, a speaker, a bone conduction headphone, interfaces that provide tactile cues, vibrotactile stimulators, etc. In some embodiments, processor 210 may communicate signals with an external feedback outputting unit 230 via a wireless transceiver 530, a wired connection, or some other communication interface. In some embodiments, feedback outputting unit 230 may also include any suitable display device for visually displaying information to user 100.
As shown in
As further shown in
Mobile power source 520 may power one or more wireless transceivers (e.g., wireless transceiver 530 in
Apparatus 110 may operate in a first processing-mode and in a second processing-mode, such that the first processing-mode may consume less power than the second processing-mode. For example, in the first processing-mode, apparatus 110 may capture images and process the captured images to make real-time decisions based on an identifying hand-related trigger, for example. In the second processing-mode, apparatus 110 may extract information from stored images in memory 550 and delete images from memory 550. In some embodiments, mobile power source 520 may provide more than fifteen hours of processing in the first processing-mode and about three hours of processing in the second processing-mode. Accordingly, different processing-modes may allow mobile power source 520 to produce sufficient power for powering apparatus 110 for various time periods (e.g., more than two hours, more than four hours, more than ten hours, etc.).
In some embodiments, apparatus 110 may use first processor 210a in the first processing-mode when powered by mobile power source 520, and second processor 210b in the second processing-mode when powered by external power source 580 that is connectable via power connector 510. In other embodiments, apparatus 110 may determine, based on predefined conditions, which processors or which processing modes to use. Apparatus 110 may operate in the second processing-mode even when apparatus 110 is not powered by external power source 580. For example, apparatus 110 may determine that it should operate in the second processing-mode when apparatus 110 is not powered by external power source 580, if the available storage space in memory 550 for storing new image data is lower than a predefined threshold.
Although one wireless transceiver is depicted in
In some embodiments, processor 210 and processor 540 are configured to extract information from captured image data. The term “extracting information” includes any process by which information associated with objects, individuals, locations, events, etc., is identified in the captured image data by any means known to those of ordinary skill in the art. In some embodiments, apparatus 110 may use the extracted information to send feedback or other real-time indications to feedback outputting unit 230 or to computing device 120. In some embodiments, processor 210 may identify in the image data the individual standing in front of user 100, and send computing device 120 the name of the individual and the last time user 100 met the individual. In another embodiment, processor 210 may identify in the image data, one or more visible triggers, including a hand-related trigger, and determine whether the trigger is associated with a person other than the user of the wearable apparatus to selectively determine whether to perform an action associated with the trigger. One such action may be to provide a feedback to user 100 via feedback-outputting unit 230 provided as part of (or in communication with) apparatus 110 or via a feedback unit 545 provided as part of computing device 120. For example, feedback-outputting unit 545 may be in communication with display 260 to cause the display 260 to visibly output information. In some embodiments, processor 210 may identify in the image data a hand-related trigger and send computing device 120 an indication of the trigger. Processor 540 may then process the received trigger information and provide an output via feedback outputting unit 545 or display 260 based on the hand-related trigger. In other embodiments, processor 540 may determine a hand-related trigger and provide suitable feedback similar to the above, based on image data received from apparatus 110. In some embodiments, processor 540 may provide instructions or other information, such as environmental information to apparatus 110 based on an identified hand-related trigger.
In some embodiments, processor 210 may identify other environmental information in the analyzed images, such as an individual standing in front user 100, and send computing device 120 information related to the analyzed information such as the name of the individual and the last time user 100 met the individual. In a different embodiment, processor 540 may extract statistical information from captured image data and forward the statistical information to server 250. For example, certain information regarding the types of items a user purchases, or the frequency a user patronizes a particular merchant, etc. may be determined by processor 540. Based on this information, server 250 may send computing device 120 coupons and discounts associated with the user's preferences.
When apparatus 110 is connected or wirelessly connected to computing device 120, apparatus 110 may transmit at least part of the image data stored in memory 550a for storage in memory 550b. In some embodiments, after computing device 120 confirms that transferring the part of image data was successful, processor 540 may delete the part of the image data. The term “delete” means that the image is marked as ‘deleted’ and other image data may be stored instead of it, but does not necessarily mean that the image data was physically removed from the memory.
As will be appreciated by a person skilled in the art having the benefit of this disclosure, numerous variations and/or modifications may be made to the disclosed embodiments. Not all components are essential for the operation of apparatus 110. Any component may be located in any appropriate apparatus and the components may be rearranged into a variety of configurations while providing the functionality of the disclosed embodiments. For example, in some embodiments, apparatus 110 may include a camera, a processor, and a wireless transceiver for sending data to another device. Therefore, the foregoing configurations are examples and, regardless of the configurations discussed above, apparatus 110 can capture, store, and/or process images.
Further, the foregoing and following description refers to storing and/or processing images or image data. In the embodiments disclosed herein, the stored and/or processed images or image data may comprise a representation of one or more images captured by image sensor 220. As the term is used herein, a “representation” of an image (or image data) may include an entire image or a portion of an image. A representation of an image (or image data) may have the same resolution or a lower resolution as the image (or image data), and/or a representation of an image (or image data) may be altered in some respect (e.g., be compressed, have a lower resolution, have one or more colors that are altered, etc.).
For example, apparatus 110 may capture an image and store a representation of the image that is compressed as a .JPG file. As another example, apparatus 110 may capture an image in color, but store a black-and-white representation of the color image. As yet another example, apparatus 110 may capture an image and store a different representation of the image (e.g., a portion of the image). For example, apparatus 110 may store a portion of an image that includes a face of a person who appears in the image, but that does not substantially include the environment surrounding the person. Similarly, apparatus 110 may, for example, store a portion of an image that includes a product that appears in the image, but does not substantially include the environment surrounding the product. As yet another example, apparatus 110 may store a representation of an image at a reduced resolution (i.e., at a resolution that is of a lower value than that of the captured image). Storing representations of images may allow apparatus 110 to save storage space in memory 550. Furthermore, processing representations of images may allow apparatus 110 to improve processing efficiency and/or help to preserve battery life.
In addition to the above, in some embodiments, any one of apparatus 110 or computing device 120, via processor 210 or 540, may further process the captured image data to provide additional functionality to recognize objects and/or gestures and/or other information in the captured image data. In some embodiments, actions may be taken based on the identified objects, gestures, or other information. In some embodiments, processor 210 or 540 may identify in the image data, one or more visible triggers, including a hand-related trigger, and determine whether the trigger is associated with a person other than the user to determine whether to perform an action associated with the trigger.
Some embodiments of the present disclosure may include an apparatus securable to an article of clothing of a user. Such an apparatus may include two portions, connectable by a connector. A capturing unit may be designed to be worn on the outside of a user's clothing, and may include an image sensor for capturing images of a user's environment. The capturing unit may be connected to or connectable to a power unit, which may be configured to house a power source and a processing device. The capturing unit may be a small device including a camera or other device for capturing images. The capturing unit may be designed to be inconspicuous and unobtrusive, and may be configured to communicate with a power unit concealed by a user's clothing. The power unit may include bulkier aspects of the system, such as transceiver antennas, at least one battery, a processing device, etc. In some embodiments, communication between the capturing unit and the power unit may be provided by a data cable included in the connector, while in other embodiments, communication may be wirelessly achieved between the capturing unit and the power unit. Some embodiments may permit alteration of the orientation of an image sensor of the capture unit, for example to better capture images of interest.
Image sensor 220 may be configured to be movable with the head of user 100 in such a manner that an aiming direction of image sensor 220 substantially coincides with a field of view of user 100. For example, as described above, a camera associated with image sensor 220 may be installed within capturing unit 710 at a predetermined angle in a position facing slightly upwards or downwards, depending on an intended location of capturing unit 710. Accordingly, the set aiming direction of image sensor 220 may match the field-of-view of user 100. In some embodiments, processor 210 may change the orientation of image sensor 220 using image data provided from image sensor 220. For example, processor 210 may recognize that a user is reading a book and determine that the aiming direction of image sensor 220 is offset from the text. That is, because the words in the beginning of each line of text are not fully in view, processor 210 may determine that image sensor 220 is tilted in the wrong direction. Responsive thereto, processor 210 may adjust the aiming direction of image sensor 220.
Orientation identification module 601 may be configured to identify an orientation of an image sensor 220 of capturing unit 710. An orientation of an image sensor 220 may be identified, for example, by analysis of images captured by image sensor 220 of capturing unit 710, by tilt or attitude sensing devices within capturing unit 710, and by measuring a relative direction of orientation adjustment unit 705 with respect to the remainder of capturing unit 710.
Orientation adjustment module 602 may be configured to adjust an orientation of image sensor 220 of capturing unit 710. As discussed above, image sensor 220 may be mounted on an orientation adjustment unit 705 configured for movement. Orientation adjustment unit 705 may be configured for rotational and/or lateral movement in response to commands from orientation adjustment module 602. In some embodiments orientation adjustment unit 705 may be adjust an orientation of image sensor 220 via motors, electromagnets, permanent magnets, and/or any suitable combination thereof.
In some embodiments, monitoring module 603 may be provided for continuous monitoring. Such continuous monitoring may include tracking a movement of at least a portion of an object included in one or more images captured by the image sensor. For example, in one embodiment, apparatus 110 may track an object as long as the object remains substantially within the field-of-view of image sensor 220. In additional embodiments, monitoring module 603 may engage orientation adjustment module 602 to instruct orientation adjustment unit 705 to continually orient image sensor 220 towards an object of interest. For example, in one embodiment, monitoring module 603 may cause image sensor 220 to adjust an orientation to ensure that a certain designated object, for example, the face of a particular person, remains within the field-of view of image sensor 220, even as that designated object moves about. In another embodiment, monitoring module 603 may continuously monitor an area of interest included in one or more images captured by the image sensor. For example, a user may be occupied by a certain task, for example, typing on a laptop, while image sensor 220 remains oriented in a particular direction and continuously monitors a portion of each image from a series of images to detect a trigger or other event. For example, image sensor 210 may be oriented towards a piece of laboratory equipment and monitoring module 603 may be configured to monitor a status light on the laboratory equipment for a change in status, while the user's attention is otherwise occupied.
In some embodiments consistent with the present disclosure, capturing unit 710 may include a plurality of image sensors 220. The plurality of image sensors 220 may each be configured to capture different image data. For example, when a plurality of image sensors 220 are provided, the image sensors 220 may capture images having different resolutions, may capture wider or narrower fields of view, and may have different levels of magnification. Image sensors 220 may be provided with varying lenses to permit these different configurations. In some embodiments, a plurality of image sensors 220 may include image sensors 220 having different orientations. Thus, each of the plurality of image sensors 220 may be pointed in a different direction to capture different images. The fields of view of image sensors 220 may be overlapping in some embodiments. The plurality of image sensors 220 may each be configured for orientation adjustment, for example, by being paired with an image adjustment unit 705. In some embodiments, monitoring module 603, or another module associated with memory 550, may be configured to individually adjust the orientations of the plurality of image sensors 220 as well as to turn each of the plurality of image sensors 220 on or off as may be required or preferred. In some embodiments, monitoring an object or person captured by an image sensor 220 may include tracking movement of the object across the fields of view of the plurality of image sensors 220.
Embodiments consistent with the present disclosure may include connectors configured to connect a capturing unit and a power unit of a wearable apparatus. Capturing units consistent with the present disclosure may include least one image sensor configured to capture images of an environment of a user. Power units consistent with the present disclosure may be configured to house a power source and/or at least one processing device. Connectors consistent with the present disclosure may be configured to connect the capturing unit and the power unit, and may be configured to secure the apparatus to an article of clothing such that the capturing unit is positioned over an outer surface of the article of clothing and the power unit is positioned under an inner surface of the article of clothing. Exemplary embodiments of capturing units, connectors, and power units consistent with the disclosure are discussed in further detail with respect to
Capturing unit 710 may include an image sensor 220 and an orientation adjustment unit 705 (as illustrated in
Connector 730 may include a clip 715 or other mechanical connection designed to clip or attach capturing unit 710 and power unit 720 to an article of clothing 750 as illustrated in
In some embodiments, connector 730 may include a flexible printed circuit board (PCB).
In further embodiments, an apparatus securable to an article of clothing may further include protective circuitry associated with power source 520 housed in in power unit 720.
Protective circuitry 775 may be configured to protect image sensor 220 and/or other elements of capturing unit 710 from potentially dangerous currents and/or voltages produced by mobile power source 520. Protective circuitry 775 may include passive components such as capacitors, resistors, diodes, inductors, etc., to provide protection to elements of capturing unit 710. In some embodiments, protective circuitry 775 may also include active components, such as transistors, to provide protection to elements of capturing unit 710. For example, in some embodiments, protective circuitry 775 may comprise one or more resistors serving as fuses. Each fuse may comprise a wire or strip that melts (thereby braking a connection between circuitry of image capturing unit 710 and circuitry of power unit 720) when current flowing through the fuse exceeds a predetermined limit (e.g., 500 milliamps, 900 milliamps, 1 amp, 1.1 amps, 2 amp, 2.1 amps, 3 amps, etc.) Any or all of the previously described embodiments may incorporate protective circuitry 775.
In some embodiments, the wearable apparatus may transmit data to a computing device (e.g., a smartphone, tablet, watch, computer, etc.) over one or more networks via any known wireless standard (e.g., cellular, Wi-Fi, Bluetooth®, etc.), or via near-filed capacitive coupling, other short range wireless techniques, or via a wired connection. Similarly, the wearable apparatus may receive data from the computing device over one or more networks via any known wireless standard (e.g., cellular, Wi-Fi, Bluetooth®, etc.), or via near-filed capacitive coupling, other short range wireless techniques, or via a wired connection. The data transmitted to the wearable apparatus and/or received by the wireless apparatus may include images, portions of images, identifiers related to information appearing in analyzed images or associated with analyzed audio, or any other data representing image and/or audio data. For example, an image may be analyzed and an identifier related to an activity occurring in the image may be transmitted to the computing device (e.g., the “paired device”). In the embodiments described herein, the wearable apparatus may process images and/or audio locally (on board the wearable apparatus) and/or remotely (via a computing device). Further, in the embodiments described herein, the wearable apparatus may transmit data related to the analysis of images and/or audio to a computing device for further analysis, display, and/or transmission to another device (e.g., a paired device). Further, a paired device may execute one or more applications (apps) to process, display, and/or analyze data (e.g., identifiers, text, images, audio, etc.) received from the wearable apparatus.
Some of the disclosed embodiments may involve systems, devices, methods, and software products for determining at least one keyword. For example, at least one keyword may be determined based on data collected by apparatus 110. At least one search query may be determined based on the at least one keyword. The at least one search query may be transmitted to a search engine.
In some embodiments, at least one keyword may be determined based on at least one or more images captured by image sensor 220. In some cases, the at least one keyword may be selected from a keywords pool stored in memory. In some cases, optical character recognition (OCR) may be performed on at least one image captured by image sensor 220, and the at least one keyword may be determined based on the OCR result. In some cases, at least one image captured by image sensor 220 may be analyzed to recognize: a person, an object, a location, a scene, and so forth. Further, the at least one keyword may be determined based on the recognized person, object, location, scene, etc. For example, the at least one keyword may comprise: a person's name, an object's name, a place's name, a date, a sport team's name, a movie's name, a book's name, and so forth.
In some embodiments, at least one keyword may be determined based on the user's behavior. The user's behavior may be determined based on an analysis of the one or more images captured by image sensor 220. In some embodiments, at least one keyword may be determined based on activities of a user and/or other person. The one or more images captured by image sensor 220 may be analyzed to identify the activities of the user and/or the other person who appears in one or more images captured by image sensor 220. In some embodiments, at least one keyword may be determined based on at least one or more audio segments captured by apparatus 110. In some embodiments, at least one keyword may be determined based on at least GPS information associated with the user. In some embodiments, at least one keyword may be determined based on at least the current time and/or date.
In some embodiments, at least one search query may be determined based on at least one keyword. In some cases, the at least one search query may comprise the at least one keyword. In some cases, the at least one search query may comprise the at least one keyword and additional keywords provided by the user. In some cases, the at least one search query may comprise the at least one keyword and one or more images, such as images captured by image sensor 220. In some cases, the at least one search query may comprise the at least one keyword and one or more audio segments, such as audio segments captured by apparatus 110.
In some embodiments, the at least one search query may be transmitted to a search engine. In some embodiments, search results provided by the search engine in response to the at least one search query may be provided to the user. In some embodiments, the at least one search query may be used to access a database.
For example, in one embodiment, the keywords may include a name of a type of food, such as quinoa, or a brand name of a food product; and the search will output information related to desirable quantities of consumption, facts about the nutritional profile, and so forth. In another example, in one embodiment, the keywords may include a name of a restaurant, and the search will output information related to the restaurant, such as a menu, opening hours, reviews, and so forth. The name of the restaurant may be obtained using OCR on an image of signage, using GPS information, and so forth. In another example, in one embodiment, the keywords may include a name of a person, and the search will provide information from a social network profile of the person. The name of the person may be obtained using OCR on an image of a name tag attached to the person's shirt, using face recognition algorithms, and so forth. In another example, in one embodiment, the keywords may include a name of a book, and the search will output information related to the book, such as reviews, sales statistics, information regarding the author of the book, and so forth. In another example, in one embodiment, the keywords may include a name of a movie, and the search will output information related to the movie, such as reviews, box office statistics, information regarding the cast of the movie, show times, and so forth. In another example, in one embodiment, the keywords may include a name of a sport team, and the search will output information related to the sport team, such as statistics, latest results, future schedule, information regarding the players of the sport team, and so forth. For example, the name of the sports team may be obtained using audio recognition algorithms.
A wearable apparatus consistent with the disclosed embodiments may be used in social events to identify individuals in the environment of a user of the wearable apparatus and provide contextual information associated with the individual. For example, the wearable apparatus may determine whether an individual is known to the user, or whether the user has previously interacted with the individual. The wearable apparatus may provide an indication to the user about the identified person, such as a name of the individual or other identifying information. The device may also extract any information relevant to the individual, for example, words extracted from a previous encounter between the user and the individual, topics discussed during the encounter, or the like. The device may also extract and display information from external source, such as the internet. Further, regardless of whether the individual is known to the user or not, the wearable apparatus may pull available information about the individual, such as from a web page, a social network, etc. and provide the information to the user.
This content information may be beneficial for the user when interacting with the individual. For example, the content information may remind the user who the individual is. For example, the content information may include a name of the individual, or topics discussed with the individual, which may remind the user of how he or she knows the individual. Further, the content information may provide talking points for the user when conversing with the individual. for example, the user may recall previous topics discussed with the individual, which the user may want to bring up again. In some embodiments, for example where the content information is derived from a social media or blog post, the user may bring up topics that the user and the individual have not discussed yet, such as an opinion or point of view of the individual, events in the individual's life, or other similar information. Thus, the disclosed embodiments may provide, among other advantages, improved efficiency, convenience, and functionality over prior art devices.
In some embodiments, apparatus 110 may be configured to use audio information in addition to image information. For example, apparatus 110 may detect and capture sounds in the environment of the user, via one or more microphones. Apparatus 110 may use this audio information instead of, or in combination with, image information to determine situations, identify persons, perform activities, or the like.
Wearable Apparatus for Projecting Information
As described above, audio and image signals captured from within the environment of a user may be processed prior to presenting them to the user. This processing may include various types of conditioning or enhancements of the audio to improve the experience for the user. For example, in any of the configurations described above, whether the device comprises a speaker, transmits audio to an external device, transmits audio to a hearing aid or the like, additional information associated with the source of the audio may be provided to a user, such as, but not limited to, the name of a person who is the source of the audio.
In some embodiments, a system in accordance with the disclosure may analyze one or more captured images to detect an individual in the images. The disclosed hearing aid system may determine additional information regarding the individual, for example, a name of the individual. The disclosed system may provide the additional information to the user. In some embodiments, the additional information may be provided to the user by displaying the information (e.g., projecting the information) on a surface in the environment of the user.
In some embodiments, user 100 may wear a wearable apparatus (e.g., similar to the camera-based hearing aid device discussed above).
In some embodiments, the hearing aid device may be placed in one or both ears of user 100, similar to traditional hearing interface devices. In other embodiments, hearing aid device may comprise a bone conduction headphone that may be surgically implanted and may provide audible feedback to user 100 through bone conduction of sound vibrations to the inner ear. In other embodiments, the hearing aid device may be of various styles, including in-the-canal, completely-in-canal, in-the-ear, behind-the-ear, on-the-ear, receiver-in-canal, open fit, or various other styles. The hearing aid device may also comprise one or more headphones (e.g., wireless headphones, over-ear headphones, etc.) or a portable speaker carried or worn by user 100. In some embodiments, hearing aid device may be integrated into other devices, such as a Bluetooth™ headset of the user, glasses, a helmet (e.g., motorcycle helmets, bicycle helmets, etc.), a hat, etc. However, in some embodiments the wearable apparatus may comprise or connect to a speaker rather than communicate with a hearing aid interface.
In some embodiments, the wearable apparatus may include an image sensor configured to capture a plurality of images from an environment of a user. As illustrated in
In some embodiments the disclosed system may include at least one microphone configured to capture sounds from the environment of the user. As discussed above, apparatus 110 may also include one or more microphones to receive one or more sounds associated with the environment of user 100. For example, apparatus 110 may comprise microphones 443, 444, as described with respect to
In some embodiments, the camera and the at least one microphone are each configured to be worn by the user. By way of example, user 100 may wear an apparatus 110 that may include a camera (e.g., image sensor system 220) and/or one or more microphones 443, 444 (See
As illustrated in
In some embodiments the wearable apparatus may include a light projector. In some embodiments the light projector may include a light source configured to emit light. For example, as also illustrated in
In some embodiments, the wearable apparatus may include at least one processor. By way of example, as discussed above, apparatus 110 may include processor 210 (see
In some embodiments, the at least one processor may be programmed to receive at least one image of the plurality of images. In some embodiments, the at least one processor may also be programed to receive at least one audio signal representative of the sounds captured by the at least one microphone. For example, processor 210 of apparatus 110 may receive one or more images captured by the one or more cameras or image sensors 220 and one or more audio signals captured by the one or more microphones 443 or 444. Processor 210 may be configured to analyze the captured images and detect a recognized individual using various facial recognition techniques or voice recognition techniques. Accordingly, apparatus 110, or specifically memory 550, may comprise one or more facial or voice recognition components as discussed above with reference to
In some embodiments, the processor may be programmed to detect a face in the at least one image. In particular, the processor may be programmed to identify the at least one individual by recognizing a face of the at least one individual. For example, facial recognition component 2040 may be configured to identify one or more faces within the environment of user 100. By way of example, facial recognition component 2040 may identify facial features, such as the eyes, nose, cheekbones, jaw, or other features, on a face of an individual as represented in an image received by wearable apparatus 110. Facial recognition component 2040 may then analyze the relative size and position of these features to identify the user. Facial recognition component 2040 may use one or more of the techniques described above to identify an individual (e.g. 2110,
In some embodiments, the at least one processor may be programmed to compare the face to a plurality of faces stored in a database. Facial recognition component 2040 may access a database or data associated with user 100 to determine if the detected facial features correspond to a recognized individual. For example, processor 210 may access database 2050 containing information about individuals known to user 100 and data representing associated facial features or other identifying features. Processor 210 may be configured to compare one or more faces (e.g., facial features) identified in the one or more images captured by image sensor 220 with a plurality of faces (and facial features) stored in database 2050. Processor 210 may be configured to identify an individual in the one or more images captured by image sensor 220 when a face in the captured images matches, for example, one or more faces stored in database 2050. Other data or information may also inform the facial identification process. In some embodiments, processor 210 may determine a user's looking direction, which may be used to verify the identity of individual 2010. For example, if user 100 is looking in the direction of individual 2110 (see
In some embodiments, processor 210 may use various techniques to recognize the voice of an individual 2110 (see
In some embodiments, one identification method may be used. If the confidence level is above a first predetermined threshold, identification may be determined. If the confidence level is below a second predetermined threshold, it may be determined that the individual is not recognized. If the confidence level is between the first and the second predetermined thresholds, the second identification method may be employed. By way of example, individual 2110 may be recognized using facial recognition component 2040. A confidence level associated with identification of individual 2010 may be determined. If the determined confidence level exceeds a first predetermined threshold confidence level, identification of individual 2110 may be confirmed. If, however, the determined confidence level is below a second predetermined threshold confidence level, processor 210 may determine that individual 2110 has not been identified. If the determined confidence level lies between the first and second predetermined threshold confidence levels, processor 210 may employ voice recognition component 2041 to recognize individual 2110.
In some embodiments, the at least one processor may be programmed to identify an item of information based on the at least one image. In other embodiments, the at least one processor may be programmed to determine the item of information based on the comparison of the face detected in the at least one image to a plurality of faces stored in a database. In yet other embodiments, the at least one processor may be programmed to identify the item of information based on the at least one image and the at least one audio signal. For example, processor 210 may be configured to identify an item of information associated with the individual recognized using either or both of the one or more images obtained by apparatus 110 via image sensor 220 or audio captured by microphones 443, 444. In some embodiments, processor 210 may be configured to identify the item of information based on information stored in database 2050. In some embodiments, database 2050 may be associated with a social network platform, such as Facebook™, LinkedIn™, Instagram™, etc. Facial recognition component 2040 may also access a contact list of user 100, such as a contact list on the user's phone, a web-based contact list (e.g., through Outlook™, Skype™, Google™, SalesForce™, etc.) or a dedicated contact list associated with user 100 to determine the item of information.
In some embodiments, the item of information includes at least one of a name of a person within the field of view of the user, a location, a phone number associated with the person, a time, or a date. By way of example, identifying the information may include determining at least one of an identity of an individual (e.g., a name), a location, or an object in the at least one image. As also discussed above, processor 210 may be configured to recognize the individual based on voice recognition. Thus, in some embodiments, the item of information may include an identity of an individual determined by identifying a voice of the individual using the at least one audio signal. For example, the item of information may include a name of the individual whose voice is identified using the audio signal by processor 210. The item of information may additionally or alternatively include a description of the recognized individual, a telephone number associated with the recognized individual, a time or location where the user may have previously interacted with the recognized individual, or social relationships between the user and the recognized individual, etc. In some embodiments, the item of information may also include, for example, a current location, details such as the last time user 100 met with the recognized individual, a location of the previous meeting, or one or more words or topics identified in a previous conversation between user 100 and the recognized individual, etc. For example, processor 210 may determine that the recognized individual is a first, second, or third connection of the user, a friend of the user, a relative of the user, a professional contact of the user, etc., via accessing a database and/or one or more of the social media platforms such as Facebook™, LinkedIn™, Instagram™, etc. In some embodiments, processor 210 may determine the item of information based on, for example, one or more contact lists of user 100, previous text or audio communications exchanged between the user and the recognized individual, etc. It is contemplated that processor 210 may determine the item of information based on various other sources such as blogs, newspaper or magazine articles, social media posts, whether authored by user 100, the recognized individual, and/or other authors, etc. It is also contemplated that in some embodiments, the item of information may include a current date and/or time at which user 100 may be interacting with a recognized individual in the user's environment. Processor 210 may be configured to determine the date and/or time using clocks or timers associated with processor 210 or based on information stored in database 2050. In some embodiments, processor 210 may determine the date and/or time based on information received from a secondary device, for example, a user device such as a laptop or desktop computer, smartphone, smartwatch, tablet computer, or other computing device associated with user 100.
In some embodiments the processor may be configured to identify the item of information by identifying a product in the at least one image. For example, although the above description discloses how processor 210 may identify an individual using the one or more images obtained via image sensor 220 or audio captured by one or more microphones 443, 444, it is contemplated that processor 210 may additionally or alternatively identify one or more objects and/or locations in the one or more images obtained by image sensor 220. For example, processor 210 may be configured to detect edges and/or surfaces associated with one or more objects in the one or more images obtained via image sensor 220. Processor 210 may use various algorithms including, for example, localization, image segmentation, edge detection, surface detection, feature extraction, etc., to detect one or more objects in the one or more images obtained via image sensor 220. It is contemplated that processor 210 may additionally or alternatively employ algorithms similar to those used for facial recognition to detect objects in the one or more images obtained via camera 1730. In some embodiments, processor 210 may be configured to compare the one or more detected objects with images or information associated with a plurality of objects stored in, for example, database 2050. Processor 210 may be configured to identify the one or more detected objects based on the comparison. For example, processor 210 may identify objects such as a name tag worn by an individual, a barcode on an object, a hoarding, a sign or display, a street sign, a table, a chair, a shelf, a cupboard, a column or pillar, etc. in the one or more images obtained by camera 1730. It is to be understood that this list of objects is non-limiting and processor 210 may be configured to identify other objects that may be encountered by user 100 in the user's environment.
In some embodiments, the item of information may be associated with a product located in the field of view of the user. Processor 210 may be configured to identify an item of information associated with the detected object (e.g., product). For example, processor 210 may access information stored in database 2050 to determine an identity of the object (e.g., identify an object as a table, a chair, etc.) Additionally or alternatively, processor 210 may be configured to identify a size, a shape, a color, a texture, a surface characteristic, and/or a location of the object based on analysis of the one or more images obtained via camera 1730. Some or all of these characteristics (e.g., size, shape color, etc.) of a detected object may be included in the item of information. In some embodiments, processor 210 may be configured to identify and extract textual information associated with the detected object.
In some embodiments, the at least one processor may be programmed to identify the item of information by identifying a street sign in the at least one image. For example, processor 210 may identify a text on a name tag, a street sign, a sign, or display, etc. Processor 210 may extract the text (e.g., using one or more optical character recognition techniques) and identify the text as an item of information to be provided to user 100. In some embodiments processor 210 may be configured to identify a barcode in the object. Processor 210 may access, for example, database 2050 to identify additional information associated with the identified barcode. In some exemplary embodiments, the at least one processor may be programmed to search for stores selling the product. For example, processor 210 may access database 2050 and/or one or more external repositories of information (e.g., Facebook, Google, store websites, online merchant websites, etc.) to determine sellers (online or otherwise) that may be selling the object or product identified in the image. In some exemplary embodiments, the at least one processor may be programmed to determine prices for the product in the stores selling the product and set the determined prices as the item of information. For example, processor 210 may be configured to obtain pricing information for the object from merchants identified as sellers of the object or product seen in the image. Processor 210 may identify the one or more prices of the object as the one or more items of information associated with the object.
In some embodiments, processor 210 may be configured to identify a location based on the one or more images and/or the one or more objects detected in the images. For example, processor 210 may be configured to compare the one or more images obtained by image sensor 220 with images stored in database 2050. In some embodiments, the at least one processor may be programmed to identify the item of information by searching for a street name associated with the street sign in a plurality of maps stored in a database. Processor 210 may also be configured to determine a location, for example, a street, a town or city, a neighborhood or section of the city (e.g., Soho or Chinatown) based on the comparison. In other embodiments, processor 210 may be configured to determine the location based on textual information extracted from the one or more detected objects, for example, a street sign. For example, processor 210 may be configured to compare the extracted textual information with textual information stored in database 2050 to identify the location. In some embodiments, the processor may be programmed to identify the item of information by selecting a map associated with the street sign based on the searching. For example, processor 210 may access database 2050 and select one or more maps associated with the street sign based on, for example, the textual information extracted from the image. In some embodiments, the processor may be programmed to set the selected one or more maps as the one or more items of information. Thus, for example, processor 210 may identify a map associated with the street sign from the one or more maps selected from database 2050. Processor 210 may identify that map as an item of information to be provided to user 100. As another example, processor 210 may identify the determined location associated with the street sign as an item of information to be provided to user 100.
In some embodiments, the at least one processor may be programmed to transmit the at least one image to a mobile device associated with a user, and receive the item of information from the mobile device. By way of example, processor 210 may be configured to transmit one or more images captured by, for example, image sensor 220 to optional computing device 120, server 250, and/or to a secondary computing device (e.g., mobile phone, smartphone, smartwatch, laptop computer, desktop computer, tablet computer, etc.) associated with user 100. One or more processors associated with optional computing device 120, server 250, and/or the secondary computing device associated with user 100 may perform operations similar to those discussed above with respect to processor 210 to identify one or more items of information associated with, for example, an individual or an object recognized in the one or more images. Computing device 120, server 250, and/or the secondary computing device associated with user 100 may be configured to transmit the one or more items of information to processor 210 for projecting or displaying the one or more items of information to user 100.
In some embodiments, the at least one processor may be programmed to select a surface located within a field of view of the user. Image analysis performed over the captured images may include the detection of a surface within the field of view of the user, for example a surface that is substantially perpendicular to the line of sight of the user. For example, as explained above, processor 210 may be configured to determine a looking direction of user 100. In some embodiments, the processor may be programmed to identify a plurality of surfaces within a field of view of the user for projecting the informational image. For example, processor 210 may be configured to identify one or more surfaces positioned directly in the looking direction of user 100 or adjacent to the looking direction. Processor 210 may define the field of view of user 100 based on a range of directions around the looking direction of user 100. By way of example, the range of directions may include directions within any suitable angle (e.g., 10 degrees, 20 degrees, 45 degrees) around the looking direction of the user (e.g., left side, right side, up, down, or other orientations relative to the looking direction, etc.). Processor 210 may identify one or more surfaces in the field of view of user 100. Processor 210 may be configured to use various algorithms including, for example, localization, image segmentation, edge detection, surface detection, feature extraction, object-space methods, depth-buffer methods, etc., to detect the one or more surfaces in the one or more images obtained from the environment of the user. By way of example,
In some exemplary embodiments, the one or more surfaces may include a portion of a hand of the user (e.g., palm, back of hand, wrist, forearm, etc.), a top surface of a desk, a wall the user is facing, a whiteboard or chalkboard, a door, a surface of a cupboard or cabinet, a surface of a shelf, a portion of the ceiling, or the like. In some embodiments, when more than one surface is identified by processor 210, processor 210 may be configured to select a surface from among the plurality of identified surfaces. For example, in some embodiments, processor 210 may be programmed to analyze the one or more images obtained by image sensor 220. Processor 210 may detect a looking direction of user 100 based on the analysis of the one or more images. Processor 210 may select a surface (e.g., 2120) that may be in front of user 100 but behind a recognized individual or an object (e.g., wall 2120) based on a looking direction of user 100. In other embodiments, processor 210 may be configured to select a surface at a distance from user 100 such that user 100 is able to read text on the surface without the need for glasses. In other embodiments, processor 210 may be configured to select the surface based on one or more of a size of the surface, a distance to the surface, an angle of the surface relative to the user, a smoothness or uniformity of the surface, a color of the surface, or the like. In yet other embodiments, processor 210 may be configured to select the surface based on the amount of information to be displayed. For example, if the information comprises only a name, then it may be displayed on the palm or wrist of the user, while if a larger amount of information is to be displayed, a part of a wall behind the individual may be preferred. In yet other embodiments, processor 210 may be configured to select the surface based on a user preference. For example, processor 210 may retrieve a user profile from database 2050. The user profile may specify, for example, colors, textures, uniformity, etc. of surfaces that user 100 prefers for projection of information. Processor 210 may select a surface for projection from the plurality of identified surfaces based on the user's preference.
In some embodiments, the at least one processor may be programmed to render the item of information into an informational image. For example, processor 210 may be configured to convert textual, audio, image, or other data associated with the item of information into an informational image. It is contemplated that the informational image may have any of various formats, for example, .jpg, .tiff, .gif, .bmp, .mov, .aa3, .aa4, etc. In some embodiments, the at least one processor may be programmed to cause the projector to project the informational image onto the surface. For example, processor 210 may cause projection component 1850 to project the informational image on a selected surface. Processor 210 may cause light source 1910 to initiate emission of light and may further adjust the one or more reflectors 1920 to direct the light from source 1910 onto the selected surface (e.g., surface 1930). By way of example,
In some embodiments, the at least one processor may be programmed to identify at least one human or animal eye in the at least one image. For example, before projecting the informational image, processor 210 may be configured to determine whether it is safe to project the informational image onto the selected surface. For example, it may be beneficial to make sure the light projected from projected component 1850 does not impinge on an eye of individual 2110, another individual in environment 2100, a child in environment 2100, and/or a pet (e.g., dog, cat, etc.) present in environment 2100. Processor 210 may be configured to determine whether the one or more images captured by image sensor 220 includes an eye. Processor 210 may employ one or more of the algorithms discussed (e.g., facial recognition techniques) to identify one or more eyes in the one or more images captured by wearable apparatus 110. For example, processor 210 may compare portions of the one or more images captured by image sensor 220 with images of eyes stored, for example, in database 2050 to determine whether an eye is present in those images. In other embodiments, processor 210 may use a trained machine learning or neural network model to detect the presence of one or more eyes in the one or more images captured by image sensor 220.
In some embodiments, the processor may be programmed to determine whether the at least one eye is located between the projector and the surface. For example, processor 210 may determine a position of the detected eye relative to surfaces (e.g., 2120, 2130) and to projection component 1850 and/or user 100 based on the one or more images captured by image sensor 220. When processor 210 determines that the detected eye is located between user 100 and the one or more surface 2120 and 2130, processor 210 may determine whether light projected from projection component 1850 may impinge on the detected one or more eyes. Processor 210 may employ a variety of algorithms, such as, ray tracing, photon mapping, beam tracing, etc. to determine whether light emitted from projection component 1850 may impinge on the detected one or more eyes.
In some embodiments, the processor may be programmed to cause the projector to project the informational image when the eye is not located between the projector and the surface. For example, in some embodiments, processor 210 may be configured to either turn off light source 1910 and/or adjust the one or more reflectors 1920 such that light emitted by light source 1910 does not impinge on the one or more eyes detected in the one or more images obtained by wearable apparatus 100. In some embodiments, processor 210 may be configured to do so when it detects that the one or more eyes are located between user 100 and the one or more surfaces 2120 and/or 2130. In other embodiments, instead of turning off light source 1910, processor 210 may be configured to adjust the one or more reflectors 1920 to direct light away from the one or more of the detected eyes towards an alternate surface. For example, if processor 210 detects an eye (e.g., of a child or pet) between user 100 and surface 2120, processor 210 may adjust the one or more reflectors 1920 of projection component 1850 to divert the light from light source 1910 towards a different surface, for example, surface 2130. Thus, processor 210 may project the name “PETER” of individual 2110 on surface 2130 instead of on surface 2120.
In some embodiments, the at least one processor may be programmed to receive an input from the user indicating an approval or a disapproval for projecting the informational image, and subject to the input indicating an approval, cause the projector to project the informational image on to the surface. It is contemplated that in some embodiments, user 100 may be able to determine whether or not a suitable surface is available for projection. For example, when user 100 is in a large conference room where the nearest walls are too far away, it may not be possible for wearable apparatus 100 to project information so that user 100 can see it. Also, it may be determined, based on analyzing images and/or audio whether additional people are present in the environment, in which case projecting the information may be suppressed. In such situations, user 100 may activate one or more input devices (e.g. buttons, touch pads, switches, voice controls, etc.) to provide an input to processor 210 to allow or disallow projection of information. When user 100 provides an input indicating a disapproval for projecting the informational image, processor 210 may cause projection component 1850 to cease projecting the informational image by, for example, turning off light source 1910. When, however, user 100 provides an input indicating approval for projecting the informational image, processor 210 may cause light source 1910 to be switched on and adjust the one or more reflectors 1920, allowing projection component 1850 to project the informational image on a suitable surface (e.g., 2120 or 2130).
In step 2210, process 2200 may include receiving one or more images captured by an image sensor of a wearable apparatus. For example, the one or more images may be captured by a wearable camera such as a camera including image sensor 220 of apparatus 110. In step 2212, process 2200 may include receiving one or more audio signals representative of the sounds captured by a microphone from the environment of the user. For example, microphones 443, 444 may capture one or more sounds from an environment (e.g. 2100) of user 100.
In step 2214, process 2200 may include identifying an item of information based on at least one of the received at least one image or the received at least one audio signal. In step 2214, process 2200 may include identifying a representation of at least one individual or at least one object in at least one of the plurality of images. The individual and/or object may be identified using one or more image detection techniques such as segmentation, localization, edge and/or surface detection and/or one or more algorithms such as Haar cascade, histograms of oriented gradients (HOG), deep convolution neural networks (CNN), scale-invariant feature transform (SIFT), or the like. In step 2214, process 2200 may additionally or alternatively include identifying an individual or an object based on an analysis of the one or more audio signals received, for example, in step 2210. As discussed above, one or more voice recognition algorithms, such as Hidden Markov Models, Dynamic Time Warping, neural networks, or other techniques may be used to identify the individual or object based on an analysis of the one or more audio signals.
In step 2214, process 2200 may further include identifying an item of information associated with the detected individual and/or object. For example, processor 210 may use one or more techniques discussed above to identify one or more items of information associated with the identified individual or object. As discussed above, the one or more items of information may include a name, telephone number, age, social or other relationship with the user, address, profession, date, time, or place of the present interaction or last interaction with the user, words or topics from a previous conversation with the user, etc. For example, processor 210 may access database 2050, which may be associated with one or more social media platforms, and/or one or more contact lists of user 100 to determine the item of information. Additionally or alternatively, an identity of the object detected in the image, its location, etc. may be determined as an item of information. For example, as discussed above, processor 210 may compare the identified object with images of objects in database 2050 to determine the identity and/or location of the object.
In step 2216, process 2200 may include identifying a surface for projection in a field of view of the user. For example, as discussed above, processor 210 may be configured to identify a looking direction of user 100 and further identify one or more surfaces (e.g. 2120, 2130) etc., within a range of angles around the looking direction. As also explained above, in some embodiments the identified surfaces may include one or more of walls, surfaces of items, or a wrist, palm, hand, forearm, etc., of user 100. In step 2216, processor 210 may also select one of the surfaces from the plurality of identified surfaces for projecting an information image including an item of information. For example, as discussed above, processor 210 may select a surface based on a distance to the surface, an orientation of the surface, a color, roughness, uniformity or other characteristic of the surface, etc.
In step 2218, process 2200 may include a step of rendering an informational image including the item of information. For example, as explained above, processor 210 may be configured to convert any of textual, audio, and/or image data associated with the item of information into an informational image, which may have one of many formats (e.g., .jpg, .tiff, .gif, .bmp, .mov, .aa3, .aa4, etc.).
In step 2220, process 2200 may include a step of determining whether an input indicating approval or disapproval for projecting the informational image has been received from user 100. For example, as explained above, user 100 may use one or more input devices associated with wearable apparatus 110 to provide an input indicating whether or not projection component 1850 may project the informational image on a selected surface. In step 2220, when processor 210 determines that projection is approved (Step 2220, Yes), process 2200 may proceed to step 2222. In step 2220, when processor 210 determines, however, that projection is not approved (Step 2220, No) process 2200 may return to step 2216.
In step 2222, process 2200 may include a step of determining whether there is an eye located between projection component 1850 and the selected surface. For example, as explained above, processor 210 may determine whether the one or more images obtained by image sensor 220 include one or more eyes. Processor 210 may further determine positions of the detected one or more eyes relative to user 100 and the one or more surfaces (e.g., 2120, 2130). As further discussed above, processor 210 may determine whether the one or more eyes is located between projection component 1850 and one or more of surfaces (e.g., 2120, 2130). In step 2222, when processor 210 determines that the one or more eyes is located between projection component 1850 and one or more of the surfaces (Step 2222, Yes), process 2200 may return to step 2216 to identify an alternative surface for projection. In step 2222, when processor 210 determines, however, that the one or more eyes is not located between projection component 1850 and the one or more of surfaces (Step 2222, No), process 2200 may proceed to step 2224.
In step 2224, process 2200 may include a step of projecting the informational image onto a selected surface. For example, in step 2224, processor 210 may cause light source 1910 to emit light and may adjust the one or more reflectors 1920 to direct the light to a selected surface (e.g., 1930, 2120, 2130, etc.). Thus, in step 2224, processor 210 may cause projection component 1850 to project the informational image including the one or more items of information onto a selected surface (e.g., 1930, 2120, 2130, etc.) so that user 100 may be able to view the information regarding a recognized individual 2110 or an object in environment 2100 of user 100.
The foregoing description has been presented for purposes of illustration. It is not exhaustive and is not limited to the precise forms or embodiments disclosed. Modifications and adaptations will be apparent to those skilled in the art from consideration of the specification and practice of the disclosed embodiments. Additionally, although aspects of the disclosed embodiments are described as being stored in memory, one skilled in the art will appreciate that these aspects can also be stored on other types of computer readable media, such as secondary storage devices, for example, hard disks or CD ROM, or other forms of RAM or ROM, USB media, DVD, Blu-ray, Ultra HD Blu-ray, or other optical drive media.
Computer programs based on the written description and disclosed methods are within the skill of an experienced developer. The various programs or program modules can be created using any of the techniques known to one skilled in the art or can be designed in connection with existing software. For example, program sections or program modules can be designed in or by means of .Net Framework, .Net Compact Framework (and related languages, such as Visual Basic, C, etc.), Java, C++, Objective-C, HTML, HTML/AJAX combinations, XML, or HTML with included Java applets.
Moreover, while illustrative embodiments have been described herein, the scope of any and all embodiments having equivalent elements, modifications, omissions, combinations (e.g., of aspects across various embodiments), adaptations and/or alterations as would be appreciated by those skilled in the art based on the present disclosure. The limitations in the claims are to be interpreted broadly based on the language employed in the claims and not limited to examples described in the present specification or during the prosecution of the application. The examples are to be construed as non-exclusive. Furthermore, the steps of the disclosed methods may be modified in any manner, including by reordering steps and/or inserting or deleting steps. It is intended, therefore, that the specification and examples be considered as illustrative only, with a true scope and spirit being indicated by the following claims and their full scope of equivalents.