# Patent

## Title
Systems and methods for automatic control of a continuous action

## Abstract

A device and method are provided for automatic control of a continuous action. In one implementation, an apparatus for providing feedback to a user is provided. The apparatus may include an image sensor configured to be positioned for movement with a head of a user. The image sensor may also be configured to capture real time images from an environment of the user as the user's head moves. The apparatus may also include at least one processor device configured to process at least one image to identify an existence of an object within a field of view of the image sensor and to initiate a continuous action associated with the object. The processing device may also be configured to suspend the continuous action associated with the object when the object moves outside the field of view of the image sensor.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of priority of U.S. Provisional Patent Application No. 61/799,649, filed on Mar. 15, 2013, and U.S. Provisional Patent Application No. 61/830,122, filed on Jun. 2, 2013, both of which are incorporated herein by reference in their entirety.


BACKGROUND
I. Technical Field
This disclosure generally relates to devices and methods for providing information to a user. More particularly, this disclosure relates to devices and methods for providing information to a user by processing images captured from the environment of the user.
II. Background Information
Visual acuity is an indication of the clarity or clearness of a person's vision that is commonly measured twenty feet from an object. When measuring visual acuity, the ability of a person to identify black symbols on a white background at twenty feet is compared to the ability of a person with normal eyesight. This comparison can be symbolized by a ratio. For example, a ratio of 20/70 vision means a person located at a distance of twenty feet can see what a person with normal vision can see at seventy feet. A person has low vision if he or she has a visual acuity between 20/70 and 20/200 in the better-seeing eye that cannot be corrected or improved with regular eyeglasses. The prevalence of low vision is about one in a hundred for people in their sixties and rapidly increases to one in five for people in their nineties. Low vision may also depend on the environment. For example, some individuals may be able to see only when there is ample light.
A person may have low vision (also known as visual impairment) for several reasons. Other than eye damage and failure of the brain to receive visual cues sent by the eyes, different medical conditions may cause visual impairment. Medical conditions that may cause visual impairment include Age-related Macular Degeneration (AMD), retinitis pigmentosa, cataract, and diabetic retinopathy.
AMD, which usually affects adults, is caused by damage to the retina that diminishes vision in the center of a person's visual field. The lifetime risk for developing AMD is strongly associated with certain genes. For example, the lifetime risk of developing AMD is 50% for people that have a relative with AMD, versus 12% for people that do not have relatives with AMD.
Retinitis pigmentosa is an inherited, degenerative eye disease that causes severe vision impairment and often blindness. The disease process begins with changes in pigment and damage to the small arteries and blood vessels that supply blood to the retina. There is no cure for retinitis pigmentosa and no known treatment can stop the progressive vision loss caused by the disease.
A cataract is a clouding of the lens inside the eye which leads to a decrease in vision. Over time, a yellow-brown pigment is deposited within the lens and obstructs light from passing and being focused onto the retina at the back of the eye. Biological aging is the most common cause of a cataract, but a wide variety of other risk factors (e.g., excessive tanning, diabetes, prolonged steroid use) can cause a cataract.
Diabetic retinopathy is a systemic disease that affects up to 80% of all patients who have had diabetes for ten years or more. Diabetic retinopathy causes microvascular damage to a blood-retinal barrier in the eye and makes the retinal blood vessels more permeable to fluids.
People with low vision experience difficulties due to lack of visual acuity, field-of-view, color perception, and other visual impairments. These difficulties affect many aspects of everyday life. Persons with low vision may use magnifying glasses to compensate for some aspects of low vision. For example, if the smallest letter a person with 20/100 vision can read is five times larger than the smallest letter that a person with 20/20 vision can read, then 5× magnification should make everything that is resolvable to the person with 20/20 vision resolvable to the person with low vision. However, magnifying glasses are expensive and cannot remedy all aspects of low vision. For example, a person with low vision who wears magnifying glasses may still have a difficult time recognizing details from a distance (e.g., people, signboards, traffic lights, etc.). Accordingly, there is a need for other technologies that can assist people who have low vision accomplish everyday activities.
SUMMARY
Embodiments consistent with the present disclosure provide devices and methods for providing information to a user by processing images captured from the environment of the user. The disclosed embodiments may assist persons who have low vision.
In accordance with a disclosed embodiment, an apparatus for providing feedback to a user is provided. The apparatus may include an image sensor configured to be positioned for movement with a head of a user and configured to capture real time images from an environment of the user as the user's head moves. The apparatus may also include at least one processor device configured to process at least one image to identify an existence of an object within a field of view of the image sensor and to initiate a continuous action associated with the object. The processing device may also be configured to suspend the continuous action associated with the object when the object moves outside the field of view of the image sensor.
In accordance with another disclosed embodiment, an apparatus for providing feedback to a user is provided. The apparatus may include an image sensor configured to be positioned for movement with a head of a user and configured to capture real time images from an environment of the user as the user's head moves. The apparatus may also include at least one processor device configured to identify existence of a trigger and initiate, based on identification of the trigger, a continuous action associated with an object located within a field of view of the image sensor. The at least one processor device may also be configured to identify movements of the head of the user, and suspend the continuous action associated with the object when a specific head movement is identified.
Consistent with another disclosed embodiment, a method for providing feedback to a user is provided. The method may include receiving from an image sensor real time image data that includes a representation of an object, with the image sensor being configured to be positioned for movement with a head of the user. The method may also include processing the image data to identify an existence of the object within the field of view of the image sensor, and initiating a continuous action associated with the object. The method may also include suspending the continuous action associated with the object when the object moves outside the field of view of the image sensor.
Consistent with other disclosed embodiments, non-transitory computer-readable storage media may store program instructions, which are executed by at least one processor device 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.



BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate various disclosed embodiments. In the drawings:
FIG. 1 is a schematic illustration of a user wearing an apparatus for aiding persons who have low vision;
FIG. 2A is a schematic illustration of an example of a support from a first viewpoint;
FIG. 2B is a schematic illustration of the support shown in FIG. 2A from a second viewpoint;
FIG. 2C is a schematic illustration of the support shown in FIG. 2A mounted on a pair of glasses;
FIG. 2D is a schematic illustration of a sensory unit attached to the support that is mounted on the pair of glasses shown in FIG. 2C;
FIG. 2E is an exploded view of FIG. 2D;
FIG. 3A is a schematic illustration of an example of a sensory unit from a first viewpoint;
FIG. 3B is a schematic illustration of the sensory unit shown in FIG. 3A from a second viewpoint;
FIG. 3C is a schematic illustration of the sensory unit shown in FIG. 3A from a third viewpoint;
FIG. 3D is a schematic illustration of the sensory unit shown in FIG. 3A from a fourth viewpoint;
FIG. 3E is a schematic illustration of the sensory unit shown in FIG. 3A in an extended position;
FIG. 4A is a schematic illustration of an example of a processing unit from a first viewpoint;
FIG. 4B is a schematic illustration of the processing unit shown in FIG. 4A from a second viewpoint;
FIG. 5A is a block diagram illustrating an example of the components of an apparatus for aiding persons who have low vision according to a first embodiment;
FIG. 5B is a block diagram illustrating an example of the components of an apparatus for aiding persons who have low vision according to a second embodiment;
FIG. 5C is a block diagram illustrating an example of the components of an apparatus for aiding persons who have low vision according to a third embodiment;
FIG. 5D is a block diagram illustrating an example of the components of an apparatus for aiding persons who have low vision according to a fourth embodiment;
FIG. 6 is a block diagram illustrating an example of a memory that may be used in conjunction with an apparatus for aiding persons who have low vision;
FIG. 7 is an example of a process for performing a continuous action in response to an input;
FIG. 8A is a schematic illustration of an object in the field of view of the apparatus; and
FIG. 8B is a schematic illustration of an object outside of the field of view of the apparatus.



DETAILED DESCRIPTION
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.
Disclosed embodiments provide devices and methods for assisting people who have low vision. One example of the disclosed embodiments is a device that includes a camera configured to capture real-time image data from the environment of the user. The device also includes a processing unit configured to process the real-time image data and provide real-time feedback to the user. The real-time feedback may include, for example, an output that audibly identifies individuals from a distance, reads signboards, and/or identifies the state of a traffic light.
FIG. 1 illustrates a user 100 wearing an apparatus 110 connected to glasses 105, consistent with a disclosed embodiment. Apparatus 110 may provide functionality for aiding user 100 with various daily activities that are otherwise difficult for user 100 to accomplish due to low vision. Glasses 105 may be prescription glasses, magnifying glasses, non-prescription glasses, safety glasses, sunglasses, etc.
As shown in FIG. 1, apparatus 110 includes a sensory unit 120 and a processing unit 140. Sensory unit 120 may be connected to a support (not shown in FIG. 1) that is mounted on glasses 105. In addition, sensory unit 120 may include an image sensor (not shown in FIG. 1) for capturing real-time image data of the field-of-view of user 100. The term “image data” includes any form of data retrieved from optical signals in the near-infrared, infrared, visible, and ultraviolet spectrums. The image data may be used to form video clips and/or photographs.
Processing unit 140 may communicate wirelessly or via a wire 130 connected to sensory unit 120. In some embodiments, processing unit 140 may produce an output of audible feedback to user 100 (e.g., using a speaker or a bone conduction headphone).
Apparatus 110 is one example of a device capable of implementing the functionality of the disclosed embodiments. Other devices capable of implementing the disclosed embodiments include, for example, a mobile computer with a camera (e.g., a smartphone, a smartwatch, a tablet, etc.) or a clip-on-camera configured to communicate with a processing unit (e.g., a smartphone or a dedicated processing unit, which can be carried in a pocket). A person skilled in the art will appreciate that different types of devices and arrangements of devices may implement the functionality of the disclosed embodiments.
FIG. 2A is a schematic illustration of an example of a support 210. As discussed in connection with FIG. 1, support 210 may be mounted on glasses 105 and connect to sensory unit 120. The term “support” includes any device or structure that enables detaching and reattaching of a device including a camera to a pair of glasses or to another object (e.g., a helmet). Support 210 may be made from plastic (e.g., polycarbonate), metal (e.g., aluminum), or a combination of plastic and metal (e.g., carbon fiber graphite). Support 210 may be mounted on glasses 105 using screws, bolts, snaps, or any fastening means used in the art.
As shown in FIG. 2A, support 210 includes a base 230 connected to a clamp 240. A bridge 220 connects base 230 with clamp 240. Base 230 and clamp 240 enable sensory unit 120 to easily attach to and detach from support 210. In one embodiment, base 230 may include an internally threaded member 250 for cooperating with a screw (not shown in FIG. 2A) to mount support 210 on glasses 105.
FIG. 2B illustrates support 210 from a second viewpoint. The viewpoint shown in FIG. 2B is from a side orientation of support 210.
FIG. 2C illustrates support 210 mounted on glasses 105. Support 210 may be configured for mounting on any kind of glasses (e.g., eyeglasses, sunglasses, 3D glasses, safety glasses, etc.). As shown in FIG. 20, sensory unit 120 is not attached to support 210 and, accordingly, support 210 may be sold separately from apparatus 110. This arrangement makes apparatus 110 compatible with a variety of glasses. For example, some users may have several pairs of glasses and may wish to mount a support on each pair of glasses.
In other embodiments, support 210 may be an integral part of a pair of glasses, or sold and installed by an optometrist. For example, support 210 may be configured for mounting on the arms of glasses 105 near the frame front, but before the hinge. Alternatively, support 210 may be configured for mounting on the bridge of glasses 105.
FIG. 2D illustrates sensory unit 120 attached to support 210 (not visible in FIG. 2D), and support 210 mounted on glasses 105. In some embodiments, support 210 may include a quick release mechanism for disengaging and reengaging sensory unit 120. For example, support 210 and sensory unit 120 may include magnetic elements. As an alternative example, support 210 may include a male latch member and sensory unit 120 may include a female receptacle.
When sensory unit 120 is attached (or reattached) to support 210, the field-of-view of a camera associated with sensory unit 120 may be substantially identical to the field-of-view of user 100. Accordingly, in some embodiments, after support 210 is attached to sensory unit 120, directional calibration of sensory unit 120 may not be required because sensory unit 120 aligns with the field-of-view of user 100.
In other embodiments, support 210 may include an adjustment component (not shown in FIG. 2D) to enable calibration of the aiming direction of sensory unit 120 in a substantially set position that is customized to user 100 wearing glasses 105. For example, the adjustment component may include an adjustable hinge to enable vertical and horizontal alignment of the aiming direction of sensory unit 120. Adjusting the alignment of sensory unit 120 may assist users who have a unique and individual visual impairment. The adjustment may be internal or external to sensory unit 120.
FIG. 2E is an exploded view of the components shown in FIG. 2D. Sensory unit 120 may be attached to glasses 105 in the following way. Initially, support 210 may be mounted on glasses 105 using screw 260. Next, screw 260 may be inserted into internally threaded member 250 (not shown in FIG. 2E) in the side of support 210. Sensory unit 120 may then be clipped on support 210 such that it is aligned with the field-of-view of user 100.
FIG. 3A is a schematic illustration of sensory unit 120 from a first viewpoint. As shown in FIG. 3A, sensory unit 120 includes a feedback-outputting unit 340 and an image sensor 350.
Sensory unit 120 is configured to cooperate with support 210 using clip 330 and groove 320, which fits the dimensions of support 210. The term “sensory unit” refers to any electronic device configured to capture real-time images and provide a non-visual output. Furthermore, as discussed above, sensory unit 120 includes feedback-outputting unit 340. The term “feedback-outputting unit” includes any device configured to provide information to a user.
In some embodiments, feedback-outputting unit 340 may be configured to be used by blind persons and persons with low vision. Accordingly, feedback-outputting unit 340 may be configured to output nonvisual feedback. The term “feedback” refers to any output or information provided in response to processing at least one image in an environment. For example, feedback may include a descriptor of a branded product, an audible tone, a tactile response, and/or information previously recorded by user 100. Furthermore, feedback-outputting unit 340 may comprise appropriate components for outputting acoustical and tactile feedback that people with low vision can interpret. For example, feedback-outputting unit 340 may comprise audio headphones, a speaker, a bone conduction headphone, interfaces that provide tactile cues, vibrotactile stimulators, etc.
As discussed above, sensory unit 120 includes image sensor 350. 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 electric signals may be used to form an image based on the detected signal. For example, image sensor 350 may be part of a camera. In some embodiments, when sensory unit 120 is attached to support 210, image sensor 350 may acquire a set aiming direction without the need for directional calibration. The set aiming direction of image sensor 350 may substantially coincide with the field-of-view of user 100 wearing glasses 105. For example, a camera associated with image sensor 350 may be installed within sensory unit 120 in a predetermined angle in a position facing slightly downwards (e.g., 5-15 degrees from the horizon). Accordingly, the set aiming direction of image sensor 350 may match the field-of-view of user 100.
As shown in FIG. 3A, feedback-outputting unit 340 and image sensor 350 are included in a housing 310. The term “housing” refers to any structure that at least partially covers, protects, or encloses a sensory unit. The housing may be made from one or more different materials (e.g., plastic or aluminum). In one embodiment, housing 310 may be designed to engage with a specific pair of glasses having a specific support (e.g., support 210). In an alternative embodiment, housing 310 may be designed to engage more than one pair of glasses, each having a support (e.g., support 210) mounted thereon. Housing 310 may include a connector for receiving power from an external mobile-power-source or an internal mobile-power-source, and for providing an electrical connection to image sensor 350.
FIG. 3B is a schematic illustration of sensory unit 120 from a second viewpoint. As shown in FIG. 3B, housing 310 includes a U-shaped element. An inner distance “d” between each side of the U-shaped element is larger than the width of the arm of glasses 105. Additionally, the inner distance “d” between each side of the U-shaped element is substantially equal to a width of support 210. The inner distance “d” between each side of the U-shaped element may allow user 100 to easily attach housing 310 to support 210, which may be mounted on glasses 105. As illustrated in FIG. 3B, image sensor 350 is located on one side of the U-shaped element and feedback-outputting unit 340 is located on another side of the U-shaped element.
FIG. 3C is a schematic illustration of sensory unit 120 from a third viewpoint. The viewpoint shown in FIG. 30 is from a side orientation of sensory unit 120 and shows the side of the U-shaped element that includes image sensor 350.
FIG. 3D is a schematic illustration of sensory unit 120 from a fourth viewpoint. The viewpoint shown in FIG. 3D is from an opposite side of the orientation shown in FIG. 30. FIG. 3D shows the side of the U-shaped element that includes feedback-outputting unit 340.
FIG. 3E is a schematic illustration of the sensory unit shown in FIG. 3A in an extended position. As shown in FIG. 3E, a portion of sensory unit 120 is extendable and wire 130 may pass through a channel of sensory unit 120. This arrangement may allow a user to adjust the length and the angle of sensory unit 120 without interfering with the operation of apparatus 110.
User 100 may adjust the U-shaped element of sensory unit 120 so that feedback-outputting unit 340 is positioned adjacent to the user's ear or the user's temple. Accordingly, sensory unit 120 may be adjusted for use with different users who may have different head sizes. Alternatively, a portion of sensory unit 120 may be flexible such that the angle of feedback-outputting unit 340 is relative to the user's ear or the user's temple.
FIG. 4A is a schematic illustration of processing unit 140. As shown in FIG. 4A, processing unit 140 has a rectangular shape, which easily fits in a pocket of user 100. Processing unit 140 includes a connector 400 for connecting wire 130 to processing unit 140. Wire 130 may be used to transmit power from processing unit 140 to sensory unit 120, and data to and from processing unit 140 to sensory unit 120. Alternatively, wire 130 may comprise multiple wires (e.g., a wire dedicated to power transmission and a wire dedicated to data transmission).
Processing unit 140 includes a function button 410 for enabling user 100 to provide input to apparatus 110. Function button 410 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 confirming an action, while a right-to-left slide may be associated with the function of repeating the last output.
FIG. 4B is a schematic illustration of processing unit 140 from a second viewpoint. As shown in FIG. 4B, processing unit 140 includes a volume switch 420, a battery pack compartment 430, and a power port 440. In one embodiment, user 100 may charge apparatus 110 using a charger connectable to power port 440. Alternatively, user 100 may replace a battery pack (not shown) stored in battery pack compartment 430.
FIG. 5A is a block diagram illustrating the components of apparatus 110 according to a first embodiment. Specifically, FIG. 5A depicts an embodiment in which apparatus 110 comprises sensory unit 120 and processing unit 140, as discussed in connection with, for example, FIG. 1. Furthermore, sensory unit 120 may be physically coupled to support 210.
As shown in FIG. 5A, sensory unit 120 includes feedback-outputting unit 340 and image sensor 350. Although one image sensor is depicted in FIG. 5A, sensory unit 120 may include a plurality of image sensors (e.g., two image sensors). For example, in an arrangement with more than one image sensor, each of the image sensors may be face a different direction or be associated with a different camera (e.g., a wide angle camera, a narrow angle camera, an IR camera, etc.). In other embodiments (not shown in the figure) sensory unit 120 may also include buttons and other sensors such as a microphone and inertial measurements devices.
As further shown in FIG. 5A, sensory unit 120 is connected to processing unit 140 via wire 130. Processing unit 140 includes a mobile power source 510, a memory 520, a wireless transceiver 530, and a processor 540.
Processor 540 may constitute any physical device having an electric circuit that performs a logic operation on input or inputs. For example, processor 540 may include one or more integrated circuits, microchips, microcontrollers, microprocessors, all or part of a central processing unit (CPU), graphics processing unit (GPU), digital signal processor (DSP), field-programmable gate array (FPGA), or other circuits suitable for executing instructions or performing logic operations. The instructions executed by processor 540 may, for example, be pre-loaded into a memory integrated with or embedded into processor 540 or may be stored in a separate memory (e.g., memory 520). Memory 520 may comprise a Random Access Memory (RAM), a Read-Only Memory (ROM), a hard disk, an optical disk, a magnetic medium, a flash memory, other permanent, fixed, or volatile memory, or any other mechanism capable of storing instructions.
Although one processor is shown in FIG. 5A, processing unit 140 may include more than one processor. Each processor may have a similar construction or the processors may be of differing constructions that are electrically connected or disconnected from each other. For example, the processors may be separate circuits or integrated in a single circuit. When more than one processor is used, the processors may be configured to operate independently or collaboratively. The processors may be coupled electrically, magnetically, optically, acoustically, mechanically or by other means that permit them to interact.
In some embodiments, processor 540 may change the aiming direction of image sensor 350 using image data provided from image sensor 350. For example, processor 540 may recognize that a user is reading a book and determine that the aiming direction of image sensor 350 is offset from the text. That is, because the words in the beginning of each line of text are not fully in view, processor 540 may determine that image sensor 350 is tilted down and to the right. Responsive thereto, processor 540 may adjust the aiming direction of image sensor 350.
Processor 540 may access memory 520. Memory 520 may be configured to store information specific to user 100. For example, data for image representations of known individuals, favorite products, personal items, etc., may be stored in memory 520. In one embodiment, user 100 may have more than one pair of glasses, with each pair of glasses having support 210 mounted thereon. Accordingly, memory 520 may store information (e.g., personal settings) associated with each pair of glasses. For example, when a user wears his sunglasses may have different preferences than when the user wears reading glasses.
As shown in FIG. 5A, processing unit 140 includes mobile power source 510. Mobile power source 510 may be configured to power processing unit 140 and/or sensory unit 120. The term “mobile power source” includes any device capable of providing electrical power, which can be easily carried by a hand (e.g., the total weight of mobile power source 510 may be less than a pound). Thus, the mobility of the power source enables user 100 to use apparatus 110 in a variety of situations. For example, mobile power source 510 may include one or more batteries (e.g., nickel-cadmium batteries, nickel-metal hydride batteries, and lithium-ion batteries) or any other type of electrical power supply. In some embodiments, mobile power source 510 may be rechargeable and contained within a casing that holds processing unit 140. In other embodiments, mobile power source 510 may include one or more energy harvesting devices for converting ambient energy into electrical energy (e.g., portable solar power units, human vibration units, etc.).
Apparatus 110 may operate in a low-power-consumption mode and in a processing-power-consumption mode. For example, mobile power source 510 can produce five hours of processing-power-consumption mode and fifteen hours of low-power-consumption mode. Accordingly, different power consumption modes may allow mobile power source 510 to produce sufficient power for powering processing unit 140 for various time periods (e.g., more than two hours, more than four hours, more than ten hours, etc.).
Mobile power source 510 may power one or more wireless transceivers (e.g., wireless transceiver 530 in FIG. 5A). The term “wireless transceiver” refers to any device configured to exchange transmissions over an air interface by use of radio frequency, infrared frequency, magnetic field, or electric field. Wireless transceiver 530 may use any known standard to transmit and/or receive data (e.g., Wi-Fi, Bluetooth®, Bluetooth Smart, 802.15.4, or ZigBee). In some embodiments, wireless transceiver 530 may transmit data (e.g., raw image data or audio data) from image sensor 350 to processing unit 140, or wireless transceiver 530 may transmit data from processing unit 140 to feedback-outputting unit 340.
In another embodiment, wireless transceiver 530 may communicate with a different device (e.g., a hearing aid, the user's smartphone, or any wirelessly controlled device) in the environment of user 100. For example, wireless transceiver 530 may communicate with an elevator using a Bluetooth® controller. In such an arrangement, apparatus 110 may recognize that user 100 is approaching an elevator and call the elevator, thereby minimizing wait time. In another example, wireless transceiver 530 may communicate with a smart TV. In such an arrangement, apparatus 110 may recognize that user 100 is watching television and identify specific hand movements as commands for the smart TV (e.g., switching channels). In yet another example, wireless transceiver 530 may communicate with a virtual cane. A virtual cane is any device that uses a laser beam or ultrasound waves to determine the distance from user 100 to an object.
FIG. 5B is a block diagram illustrating the components of apparatus 110 according to a second embodiment. In FIG. 5B, similar to the arrangement shown in FIG. 5A, support 210 is used to couple sensory unit 120 to a pair of glasses. However, in the embodiment shown in FIG. 5B, sensory unit 120 and processing unit 140 communicate wirelessly. For example, wireless transceiver 530A can transmit image data to processing unit 140 and receive information to be outputted via feedback-outputting unit 340.
In this embodiment, sensory unit 120 includes feedback-outputting unit 340, mobile power source 510A, wireless transceiver 530A, and image sensor 350. Mobile power source 510A is contained within sensory unit 120. As further shown in FIG. 5B, processing unit 140 includes wireless transceiver 530B, processor 540, mobile power source 510B, and memory 520.
FIG. 5C is a block diagram illustrating the components of apparatus 110 according to a third embodiment. In particular, FIG. 50 depicts an embodiment in which support 210 includes image sensor 350 and connector 550B. In this embodiment, sensory unit 120 provides functionality for processing data and, therefore, a separate processing unit is not needed in such a configuration.
As shown in FIG. 5C, sensory unit 120 includes processor 540, connector 550A, mobile power source 510, memory 520, and wireless transceiver 530. In this embodiment, apparatus 110 does not include a feedback-outputting unit. Accordingly, wireless transceiver 530 may communicate directly with a hearing aid (e.g., a Bluetooth® hearing aid). In addition, in this embodiment, image sensor 350 is included in support 210. Accordingly, when support 210 is initially mounted on glasses 105, image sensor 350 may acquire a set aiming direction. For example, a camera associated with image sensor 350 may be installed within support 210 in a predetermined angle in a position facing slightly downwards (e.g., 7-12 degrees from the horizon). Furthermore, connector 550A and connector 550B may allow data and power to be transmitted between support 210 and sensory unit 120.
FIG. 5D is a block diagram illustrating the components of apparatus 110 according to a fourth embodiment. In FIG. 5D, sensory unit 120 couples directly to a pair of glasses without the need of a support. In this embodiment, sensory unit 120 includes image sensor 350, feedback-outputting unit 340, processor 540, and memory 520. As shown in FIG. 5D, sensory unit 120 is connected via a wire 130 to processing unit 140. Additionally, in this embodiment, processing unit 140 includes mobile power source 510 and wireless transceiver 530.
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 part of apparatus 110 and the components may be rearranged into a variety of configurations while providing the functionality of the disclosed embodiments. Therefore, the foregoing configurations are examples and, regardless of the configurations discussed above, apparatus 110 can assist persons who have low vision with their everyday activities in numerous ways.
One way apparatus 110 can assist persons who have low vision is by identifying relevant objects in an environment. For example, in some embodiments, processor 540 may execute one or more computer algorithms and/or signal-processing techniques to find objects relevant to user 100 in image data captured by sensory unit 120. The term “object” refers to any physical object, person, text, or surroundings in an environment.
In one embodiment, apparatus 110 can perform a hierarchical object identification process. In a hierarchical object identification process, apparatus 110 can identify objects from different categories (e.g., spatial guidance, warning of risks, objects to be identified, text to be read, scene identification, and text in the wild) of image data. For example, apparatus 110 can perform a first search in the image data to identify objects from a first category, and after initiating the first search, execute a second search in the image data to identify objects from a second category.
In another embodiment, apparatus 110 can provide information associated with one or more of the objects identified in image data. For example, apparatus 110 can provide information such as the name of an individual standing in front of user 100. The information may be retrieved from a dynamic database stored in memory 520. If the database does not contain specific information associated with the object, apparatus 110 may provide user 100 with nonvisual feedback indicating that a search was made, but the requested information was not found in the database. Alternatively, apparatus 110 may use wireless transceiver 530 to search for and retrieve information associated with the object from a remote database (e.g., over a cellular network or Wi-Fi connection to the Internet).
Another way apparatus 110 can assist persons who have low vision is by performing a continuous action that relates to an object in an environment. A continuous action may involve providing continuous feedback regarding the object. For example, apparatus 110 can provide continuous feedback associated with an object identified within a field-of-view of image sensor 350, and suspend the continuous feedback when the object moves outside the field-of-view of image sensor 350. Examples of continuous feedback may include audibly reading text, playing a media file, etc. In addition, in some embodiments, apparatus 110 may provide continuous feedback to user 100 based on information derived from a discrete image or based on information derived from one or more images captured by sensory unit 120 from the environment of user 100.
Another type of continuous action includes monitoring the state of an object in an environment. For example, in one embodiment, apparatus 110 can track an object as long as the object remains substantially within the field-of-view of image sensor 350. Furthermore, before providing user 100 with feedback, apparatus 110 may determine whether the object is likely to change its state. If apparatus 110 determines that the object is unlikely to change its state, apparatus 110 may provide a first feedback to user 100. For example, if user 100 points to a road sign, apparatus 110 may provide a first feedback that comprises a descriptor of the road sign. However, if apparatus 110 determines that the object is likely to change its state, apparatus 110 may provide a second feedback to user 100 after the object has changed its state. For example, if user 100 points at a traffic light, the first feedback may comprise a descriptor of the current state of the traffic light (e.g., the traffic light is red) and the second feedback may comprise a descriptor indicating that the state of traffic light has changed (i.e., the traffic light is now green).
Apparatus 110 may also determine that an object that is expected to change its state is not functioning and provide appropriate feedback. For example, apparatus 110 may provide a descriptor indicating that a traffic light is broken.
Apparatus 110 can also assist persons who have low vision by making intelligent decisions regarding a person's intentions. Apparatus 110 can make these decisions by understanding the context of a situation. Accordingly, disclosed embodiments may retrieve contextual information from captured image data and adjust the operation of apparatus 110 based on at least the contextual information. The term “contextual information” (or “context”) refers to any information having a direct or indirect relationship with an object in an environment. In some embodiments, apparatus 110 may retrieve different types of contextual information from captured image data. One type of contextual information is the time and/or the place that an image of the object was captured. Another example of a type of contextual information is the meaning of text written on the object. Other examples of types of contextual information include the identity of an object, the type of the object, the background of the object, the location of the object in the frame, the physical location of the user relative to the object, etc.
In an embodiment, the type of contextual information that is used to adjust the operation of apparatus 110 may vary based on objects identified in the image data and/or the particular user who wears apparatus 110. For example, when apparatus 110 identifies a package of cookies as an object, apparatus 110 may use the location of the package (i.e., at home or at the grocery store) to determine whether or not to read the list of ingredients aloud. Alternatively, when apparatus 110 identifies a signboard identifying arrival times for trains as an object, the location of the sign may not be relevant, but the time that the image was captured may affect the output. For example, if a train is arriving soon, apparatus 110 may read aloud the information regarding the coming train. Accordingly, apparatus 110 may provide different responses depending on contextual information.
Apparatus 110 may use contextual information to determine a processing action to execute or an image resolution of image sensor 350. For example, after identifying the existence of an object, contextual information may be used to determine if the identity of the object should be announced, if text written on the object should be audibly read, if the state of the object should be monitored, or if an image representation of the object should be saved. In some embodiments, apparatus 110 may monitor a plurality of images and obtain contextual information from specific portions of an environment. For example, motionless portions of an environment may provide background information that can be used to identify moving objects in the foreground.
Yet another way apparatus 110 can assist persons who have low vision is by automatically carrying out processing actions after identifying specific objects and/or hand gestures in the field-of-view of image sensor 350. For example, processor 540 may execute several actions after identifying one or more triggers in image data captured by apparatus 110. The term “trigger” includes any information in the image data that may cause apparatus 110 to execute an action. For example, apparatus 110 may detect as a trigger a finger of user 100 pointing to one or more coins. The detection of this gesture may cause apparatus 110 to calculate a sum of the value of the one or more coins. As another example of a trigger, an appearance of an individual wearing a specific uniform (e.g., a policeman, a fireman, a nurse) in the field-of-view of image sensor 350 may cause apparatus 110 to make an audible indication that this particular individual is nearby.
In some embodiments, the trigger identified in the image data may constitute a hand-related trigger. The term “hand-related trigger” refers to a gesture made by, for example, the user's hand, the user's finger, or any pointed object that user 100 can hold (e.g., a cane, a wand, a stick, a rod, etc.).
In other embodiments, the trigger identified in the image data may include an erratic movement of an object caused by user 100. For example, unusual movement of an object can trigger apparatus 110 to take a picture of the object. In addition, each type of trigger may be associated with a different action. For example, when user 100 points to text, apparatus 110 may audibly read the text. As another example, when user 100 erratically moves an object, apparatus 110 may audibly identify the object or store the representation of that object for later identification.
Apparatus 110 may use the same trigger to execute several actions. For example, when user 100 points to text, apparatus 110 may audibly read the text. As another example, when user 100 points to a traffic light, apparatus 110 may monitor the state of the traffic light. As yet another example, when user 100 points to a branded product, apparatus 110 may audibly identify the branded product. Furthermore, in embodiments in which the same trigger is used for executing several actions, apparatus 110 may determine which action to execute based on contextual information retrieved from the image data. In the examples above, wherein the same trigger (pointing to an object) is used, apparatus 110 may use the type of the object (text, a traffic light, a branded product) to determine which action to execute.
To assist user 100 throughout his or her daily activities, apparatus 100 may follow several procedures for saving processing resources and prolonging battery life. For example, apparatus 110 can use several image resolutions to form images. Higher image resolution provides more detailed images, but requires more processing resources. Lower image resolution provides less detailed images, but saves processing resources. Therefore, to prolong battery life, apparatus 110 may have rules for capturing and processing high resolution image under certain circumstances, and rules for capturing and processing low resolution image when possible. For example, apparatus 110 may capture higher resolution images when performing Optical Character Recognition (OCR), and capture low resolution images when searching for a trigger.
One of the common challenges persons with low vision face on a daily basis is reading. Apparatus 110 can assist persons who have low vision by audibly reading text that is present in user 100 environment. Apparatus 110 may capture an image that includes text using sensory unit 120. After capturing the image, to save resources and to process portions of the text that are relevant to user 100, apparatus 110 may initially perform a layout analysis on the text. The term “layout analysis” refers to any process of identifying regions in an image that includes text. For example, layout analysis may detect paragraphs, blocks, zones, logos, titles, captions, footnotes, etc.
In one embodiment, apparatus 110 can select which parts of the image to process, thereby saving processing resources and battery life. For example, apparatus 110 can perform a layout analysis on image data taken at a resolution of one megapixel to identify specific areas of interest within the text. Subsequently, apparatus 110 can instruct image sensor 350 to capture image data at a resolution of five megapixels to recognize the text in the identified areas. In other embodiments, the layout analysis may include initiating at least a partial OCR process on the text.
In another embodiment, apparatus 110 may detect a trigger that identifies a portion of text that is located a distance from a level break in the text. A level break in the text represents any discontinuity of the text (e.g., a beginning of a sentence, a beginning of a paragraph, a beginning of a page, etc.). Detecting this trigger may cause apparatus 110 to read the text aloud from the level break associated with the trigger. For example, user 100 can point to a specific paragraph in a newspaper and apparatus 110 may audibly read the text from the beginning of the paragraph instead of from the beginning of the page.
In addition, apparatus 110 may identify contextual information associated with text and cause the audible presentation of one portion of the text and exclude other portions of the text. For example, when pointing to a food product, apparatus 110 may audibly identify the calorie value of the food product. In other embodiments, contextual information may enable apparatus 110 to construct a specific feedback based on at least data stored in memory 520. For example, the specific feedback may assist user 100 to fill out a form (e.g. by providing user 100 audible instructions and details relevant to a form in the user's field-of-view).
To improve the audible reading capabilities of apparatus 110, processor 540 may use OCR techniques. The term “optical character recognition” includes any method executable by a processor to retrieve machine-editable text from images of text, pictures, graphics, etc. OCR techniques and other document recognition technology typically use a pattern matching process to compare the parts of an image to sample characters on a pixel-by-pixel basis. This process, however, does not work well when encountering new fonts, and when the image is not sharp. Accordingly, apparatus 110 may use an OCR technique that compares a plurality of sets of image regions that are proximate to each other, Apparatus 110 may recognize characters in the image based on statistics relate to the plurality of the sets of image regions. By using the statistics of the plurality of sets of image regions, apparatus 110 can recognize small font characters defined by more than four pixels e.g., six or more pixels. In addition, apparatus 110 may use several images from different perspectives to recognize text on a curved surface. In another embodiment, apparatus 110 can identify in image data an existence of printed information associated with a system command stored in a database and execute the system command thereafter. Examples of a system command include: “enter training mode,” “enter airplane mode,” “backup content,” “update operating system,” etc.
The disclosed OCR techniques may be implemented on various devices and systems and are not limited to use with apparatus 110. For example, the disclosed OCR techniques provide accelerated machine reading of text. In one embodiment, a system is provided for audibly presenting a first part of a text from an image, while recognizing a subsequent part of the text. Accordingly, the subsequent part may be presented immediately upon completion of the presentation of the first part, resulting in a continuous audible presentation of standard text in less than two seconds after initiating OCR.
As is evident from the foregoing, apparatus 110 may provide a wide range of functionality. More specifically, one embodiment consistent with the present disclosure provides an automatic reaction function that allows apparatus 110 to automatically perform and/or suspend a continuous action, depending on various factors, such as objects in the image data, a focus of a user, a field-of-view of image sensor 350, and contextual information. Apparatus 110 may interpret information associated with these factors to determine an intention of the user, such as an intention to cause apparatus 110 to perform a continuous action and/or an intention to cause apparatus 110 to suspend performance of a continuous action. In this way, apparatus 110 may perform functions to automatically react to a user's movements and allow apparatus 110 to adapt to the user in real-time or near real-time.
In order to provide this functionality, apparatus 110 may include components (e.g., processing unit 140) configured to process real time images (e.g., images received from image sensor 350) to monitor a user's environment. In particular, apparatus 110 may be configured to monitor a field-of-view of apparatus 110. In some embodiments, the field-of-view of apparatus 110 may be an area of space that is detectable by image sensor 350. Apparatus 110 may be arranged such that its field-of-view corresponds at least partially with a visually-unimpaired user's typical field of view, such as an area in front of the user's face.
In some embodiments, the field-of-view of apparatus 110 may include the entire detectable area (e.g., the entire space covered by one detected image). In other embodiments, the field-of-view of apparatus 110 may include a portion of the entire detectable area. For example, the field-of-view of apparatus 110 may correspond to a focus of attention region. A focus of attention region may be a particular portion of the detectable area. The focus of attention region may correspond to an area that the user may be focusing, or intend to focus, his or her attention. For example, a focus of attention region may include a central area within the detectable area.
As described herein, the field-of-view of apparatus 110 may include any region of an image received in real-time image data, including any selected portion of the image and the entire image. In some embodiments, apparatus 110 may monitor the field-of-view of apparatus 110 in providing the automatic reaction function. Apparatus 110 may perform actions based on inputs identified in the field-of-view, and subsequently change the action as the field-of-view changes. In this way, apparatus 110 may be configured to automatically react to changes in the image data based on changes in the users' environment and/or movements of the user.
In some embodiments, memory 520 may include components configured to provide the automatic reaction function. As shown in FIG. 6, memory 520 may include an input detection module 610, a continuous action module 620, and a database 630. Input detection module 610 may be a component configured to detect an input associated with the automatic reaction function. Continuous action module 620 may be a component configured to manage a continuous action performed by apparatus 110. Database 630 may be a component configured to store data associated with the automatic reaction function and provide particular data when requested.
Input detection module 610 and continuous action module 620 may be implemented in software, hardware, firmware, a mix of any of those, or the like. For example, if input detection module 610 and continuous action module 620 are implemented in software, they may be stored in memory 520, as shown in FIG. 6. Other components of processing unit 140 and/or sensory unit 120 may be configured to perform processes to implement and facilitate operations of input detection module 610 and continuous action module 620. Thus, input detection module 610 and continuous action module 620 may include software, hardware, or firmware instructions (or a combination thereof) executable by one or more processors (e.g., processor 540), alone or in various combinations with each other. For example, input detection module 610 and continuous action module 620 may be configured to interact with each other and/or other modules of apparatus 110 to perform functions consistent with disclosed embodiments. For example, in some embodiments, input detection module 610 and continuous action module 620 may each include dedicated sensors (e.g., IR, image sensors, etc.) and/or dedicated application processing devices to perform the disclosed functionality.
Database 630 may include one or more memory devices that store information and are accessed and/or managed through a computing device, such as processing unit 140. In some embodiments, database 630 may be located in memory 520, as shown in FIG. 6. In other embodiments, database 630 may be located remotely from memory 520, and be accessible to other components of apparatus 110 (e.g., processing unit 140) via one or more wireless connections (e.g., a wireless network). While one database 630 is shown, it should be understood that several separate and/or interconnected databases may make up database 630. Database 630 may include computing components (e.g., database management system, database server, etc.) configured to receive and process requests for data stored in memory devices associated with database 630 and to provide data from database 630.
In some embodiments, database 630 may be configured to store data associated with the automatic reaction function of apparatus 110. For example, database 630 may include recognized objects. In some embodiments, recognized objects may include images of objects that were previously stored via apparatus 110. Recognized objects may be objects that apparatus 110 is configured to identify in real-time image data received by image sensor 350. Recognized objects may include any physical object, a person, an area, an environment, a background, and any combination and/or grouping of these. Recognized objects may include a particular aspect of an object (e.g., shape, color, text, etc.).
In some embodiments, recognized objects may include triggers, including triggers associated with the automatic reaction function of apparatus 110. In some embodiments, triggers may include any stored image or portion of an image that apparatus 110 may recognize as an input indicating a particular intention of the user of apparatus 110. For example, a pointing finger, a specific object, a particular hand motion, change in the field-of-view of apparatus 110, change in the user's area of focus, and the like, may be triggers. In some embodiments, apparatus 110 may be configured to perform a process to match a trigger in real-time image data to a trigger stored in database 630 and perform additional processing to determine a particular action associated with the trigger (e.g., performance of a continuous action).
Input detection module 610 and continuous action module 620 may be configured to communicate with each other and with database 630. For example, input detection module 610 may monitor real-time image data to look for any input in the field-of-view that may be matched to an input stored in database 630. If a matching input is detected, input detection module 610 may communicate with continuous action module 620 to determine a particular continuous action associated with the detected input. Continuous action module 620 may communicate with components of apparatus 110 to cause apparatus 110 to perform the determined continuous action. Input detection module 610 may continue to monitor the field-of-view to determine if any additional inputs are in the real-time images. If additional inputs are found, input detection module 610 may communicate with continuous action module 620 to suspend, reinstitute, modify, change, or otherwise alter the continuous action.
As used herein, real-time image data may refer to image data captured in real-time or near real-time. For example, input detection module 610 may monitor the field-of-view of apparatus 110 to detect inputs while continuous action module 620 may determine whether to suspend, reinstitute, modify, change, or otherwise alter the continuous action. Accordingly, input detection module 610 and continuous action module 620 may operate in parallel to process captured image data. That is, apparatus 110 may capture and analyze image data in parallel, or may institute a queue-like implementation whereby image data is captured and then analyzed in a continuous fashion (i.e., a first image is captured and analyzed while a subsequent image is captured and then subsequently analyzed).
FIG. 7 depicts a flowchart of an example of a process 700 for providing an automatic reaction function. In some embodiments, input detection module 610 and/or continuous action module 620 may be configured to perform at least a part of process 700. To perform process 700, apparatus 110 may include image sensor 350 positioned for movement with a head of a user of apparatus 110. Image sensor 350 may also be configured to capture real-time images in a field-of-view of image sensor 350 from the user's environment. Image sensor 350 may be configured to capture the real-time images as the user's head moves and/or the field-of-view of image sensor 350 changes (including changes in the environment).
In some embodiments, input detection module 610 may be configured to monitor image data associated with one or more real-time images that are captured by image sensor 350. In some instances, input detection module 610 may detect in the image data an input associated with a continuous action (step 710). In some embodiments, the input may be the existence of an object. For example, input detection module 610 may be configured to process the image data (associated with at least one image) to identify the existence of an object within a field-of-view of image sensor 350. Input detection module 610 may be configured to identify the object, for example, by matching image data associated with the object to image data associated with one or more recognized images stored in database 630.
In some embodiments, identification of an object may be a sufficient input for input detection module 610 (and/or continuous action module 620) to cause apparatus 110 to automatically react and perform additional processing and/or functions (e.g., perform a continuous action). In other embodiments, input detection module 610 may monitor the image data for additional or alternative information to determine an input.
For example, input detection module 610 may be configured to determine a head movement of the user. Input detection module 610 may determine a head movement of the user, for example, by monitoring for changes in the field-of-view of image sensor 350, which may correspond to a particular head movement (e.g., changing direction of focus, nodding or shaking of the head, tilting of the head, etc.). In some embodiments, input detection module 610 may use the head movement determination in identifying the object. For example, input detection module 610 may detect a head movement of the user that indicates the user is changing their focus of attention to a particular region in which an object is located, without the user providing an additional indication. Input detection module 610 may associate the head movement as a signal to identify the object in the region where the user has decided to look.
In another example, input detection module 610 may be configured to monitor for a trigger in the image data. For example, input detection module 610 may identify an object and a trigger in the field-of-view of image sensor 350. In some embodiments, identification of an object and a trigger may constitute an input that may cause an automatic reaction by apparatus 110 (e.g., performance of a continuous action). For example, input detection module 610 may identify several objects in the field-of-view of image sensor 350. Input detection module may also detect a trigger, such as a finger of the user pointing to one of the objects. Based on the trigger, input detection module may determine that the automatic reaction should be associated with the object associated with the trigger (the object at which the finger is pointed).
In other embodiments, identification of a trigger may cause input detection module 610 to perform a process to identify an object associated with the trigger (e.g., the user is pointing at an object), and cause an automatic reaction based on the identified object. In still other embodiments, identification of a trigger may itself be a sufficient input to cause an automatic reaction.
After input detection module 610 determines that an input is present in the real-time image data, input detection module 610 may cause apparatus 110 to have an automatic reaction to the input. In the example of process 700, continuous action module 620 may initiate a continuous action (step 720). A continuous action may be any action, function, process, etc., that apparatus 110 may be configured to perform. Examples of continuous actions include audibly reading of text (e.g., text on an identified object, such as a newspaper), monitoring of a state of an object (e.g., the state of a device that changes indicators, such as a stop light), recording of a video stream (e.g., a video stream of an identified object), playing of a media file (e.g., a media file, such as an audio recording, associated with an identified object), audibly providing information (e.g., information associated with an identified object), and the like.
Continuous action module 620 may be configured to determine which continuous action to initiate. In some embodiments, continuous action module 620 may be configured to select which continuous action to initiate based on the type of the object identified. For example, continuous action module 620 (and/or input detection module 610) may determine that the identified object is an object with text (e.g., a newspaper, magazine, book, etc.) and determine that the continuous action is audible reading of the text. In another example, continuous action module 620 may recognize that the user has turned a page in a book, and continue audible reading of the text on the next page. In other embodiments, continuous action module 620 may be configured to select a continuous action to initiate based on a particular context associated with the identified object. The context may include contextual information, such as the time and/or the place that an image of the object was captured, the meaning of text written on the object, the identity of an object, the type of the object, the background of the object, the location of the object in the frame, the physical location of the user relative to the object, etc. After determining which continuous action should be used (e.g. audible reading of text on an object), continuous action module 620 may initiate the continuous action (e.g., begin audible reading of text).
While the continuous action is being performed, input detection module 610 may continue to monitor real-time image data for additional inputs. In some embodiments, input detection module 610 may monitor the real-time image data for head movements of the user and/or changes in the field-of-view of the user (step 730). In some aspects, input detection module 610 may monitor for these movements and/or changes for inputs to suspend the continuous action being performed (step 740).
An input to suspend the continuous action may be anything determined by input detection module 610 as indicating a desire of the user of apparatus 110 to stop the performance of the continuous action and/or that performance of the continuous action is no longer possible. In one example, detection by input detection module 610 that the identified object has moved outside of the field-of-view of image sensor 350 may be determined to be an input to suspend the continuous action. As has been described, the field-of-view of image sensor 350 may refer to an entire detectable region of image sensor 350 or a particular area of the detectable region, such as a focus of attention region.
In another example, identification by input detection module 610 of a specific head movement may be determined to be an input to suspend the continuous action. For example, input detection module 610 may identify a specific head movement that includes a movement causing the identified object to move outside of the field-of-view of image sensor 350. In some embodiments, the specific head movement may include two or more detected changes in the movement of the head of the user (e.g., nodding or shaking of the user's head).
In instances in which there is no input to suspend detected during performance of the continuous action (step 740—NO), apparatus 110 may perform the continuous action until it is completed (or some other completing event, such as an error, change in the continuous action, etc.), and process 700 may end. However, in instances in which an input to suspend is detected (step 740—YES), apparatus 110 (via continuous action module 620, for example) may suspend the continuous action (step 750). Examples of suspending continuous actions based on inputs to suspend include suspending audible reading of text when the user looks away from the text being read aloud (i.e., the text moves outside the field-of-view of image sensor 350), suspending monitoring of a state of an object when the user looks away from the object, suspending recording of a video stream of an object when the user looks away from the object, suspending playing of a media file associated with an object when the user looks away from the object, suspending audibly providing information associated with an object when the user looks away from the object, and the like.
In some embodiments, continuous action module 620 (and/or input detection module 610) may be configured to reinstitute the continuous action. For example, continuous action module 620 may be configured to stop a particular action when the action is suspended, and return to the point at which performance was stopped and continue performance of the action at a later point in time. Input detection module 610 may continue to monitor real-time image data, head movements of the user, and field-of-view of image sensor 350, to determine if any inputs to reinstitute the continuous action are detected (step 760).
In some instances, input detection module 610 may not detect an input to reinstitute the suspended continuous action (step 760—NO). In some embodiments, input detection module 610 may determine if a threshold time period has passed since the continuous action was suspended (step 770). If a threshold time period has passed (step 770—YES), input detection module 610 and/or continuous action module 620 may consider the continuous action completed and process 700 may end. If the threshold time period has not passed (step 770—NO) input detection module 610 may continue to look for an input to reinstitute the suspended action (and remain prepared to restart the action at the point at which it was stopped).
In other instances, input detection module 610 may detect an input to reinstitute the suspended continuous action (step 760—YES). The input to reinstitute the suspended action may be anything detected by input detection module 610 that indicates that the stopped continuous action should return to being performed. In one example, the input to reinstitute the continuous action may be identification of the identified object that caused initiation of the continuous action. For example, in situations in which a continuous action was suspended after the identified object moved outside of the field-of-view of image sensor 350, continuous action module 620 may be configured to automatically reinstitute the suspended action when the object reappears in the field-of-view. In embodiments in which the action may only be reinstituted during a threshold time period, continuous action module 620 may be configured to automatically reinstitute the suspended action if a time period, between a time the object moves outside the field-of-view and a time the object reappears in the field-of-view, is less than a predetermined threshold.
In other embodiments, the input to reinstitute the suspended action may include a trigger. In one example, continuous action module 620 may be configured to reinstitute a suspended action after the object reappears in the field-of-view and a trigger is identified. For example, continuous action module 620 may be configured to reinstitute a continuous action associated with an object after the object reappears in the field-of-view of image sensor 350 and identification module 610 identifies that the user is pointing a finger at the object.
After an input to reinstitute the continuous action is detected, continuous action module 620 may be configured to reinstitute the continuous action (step 780). For example, a continuous action of audible reading text that was suspended may be reinstituted, and apparatus 110 may continue audible reading of the text from the point at which the reading was stopped. As the action continues, input detection module 610 may continue to monitor for inputs, such as a subsequent input to suspend the continuous action (step 790). A subsequent input to suspend the action may be the same or different action from the input detected in step 740 (e.g., identified object moving outside of the field-of-view of image sensor 350).
If input detection module 610 detects a subsequent input to suspend the continuous action (step 790—YES), process 700 may return to step 750, and the continuous action may be suspended again. Processing may be repeated to determine if the suspended action is to be reinstituted or if the process will end. Several iterations of suspending and reinstituting the action may occur, depending on the situation (e.g., the user may look away from an object several times only to return to it each time). In instances in which no subsequent input to suspend the continuous action is detected (step 790—NO), apparatus 110 may perform the continuous action until it is completed (or some other completing event, such as an error, change in the continuous action, etc.), and process 700 may end.
Through process 700, apparatus 110 may automatically perform an action based on image data captured by image sensor 350, which may allow apparatus 110 to automatically react as the user moves and/or the captured environment changes. FIGS. 8A-8B schematically illustrate an example of a scenario in which the automatic reaction function of apparatus 110 may be used. FIG. 8 illustrates an object 810, such as a newspaper, which may be in the field-of-view 820 of image sensor 350. Apparatus 110 may be configured to identify object 810 as a newspaper and select a continuous action that audibly reads a particular section 830 of the newspaper, such as based on identification of a finger pointing to section 830 (not shown). Apparatus 110 may continue to audibly read section 830 until completion. However, as shown in FIG. 8B, the object 810 and/or section 830 may leave the field-of-view 820. The object 810 and/or section 830 may leave the field-of-view 820, for example, when the user of apparatus 110 moves their head. When identification module 610 determines that object 810 has left the field-of-view 820, audible reading of section 830 may be suspended. The suspension of the continuous action may correspond to the user turning their attention to another object or a person in their environment, and thus a desire to stop the audible reading. As described in process 700, if the object returns to the field-of-view 820 (e.g., by the user moving his or her head or by moving the object), continuous action module 620 may reinstitute the suspended action, and audible reading of section 830 may restart at the point at which reading was stopped.
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, floppy disks, or CD ROM, or other forms of RAM or ROM, USB media, DVD, 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. One or more of such software sections or modules can be integrated into a computer system or existing e-mail or browser software.
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 routines 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.

## Claims

1. An apparatus for providing feedback to a user regarding an object of interest, the apparatus comprising:
an image sensor configured to be positioned for movement with a head of a user and configured to capture real time images from an environment of the user as the user's head moves;
at least one processor device configured to:
process at least one image to identify an existence of the object of interest within a field of view of the image sensor;
provide a continuous feedback to the user regarding the object of interest when the object of interest is detected within the field of the view of the image sensor;
suspend the continuous action feedback to the user regarding the object of interest after the object of interest is detected to be outside the field of view of the image sensor; and
automatically reinstitute the suspended feedback if a time period, between a time the object of interest moves outside the field of view and a time the object of interest reappears in the field of view, is less than a predetermined threshold.

2. The apparatus of claim 1, wherein the at least one processor device is further configured to determine a head movement of the user and to use the head movement determination in identifying the object of interest.

3. The apparatus of claim 1, wherein the at least one processor device is further configured to select which continuous feedback to provide, based on a type of the object of interest identified.

4. The apparatus of claim 1, wherein the at least one processor device is further configured to select which continuous feedback to provide, based on a particular context associated with the object of interest identified in the at least one of the image.

5. The apparatus of claim 1, wherein the at least one processor device is further configured to provide the continuous feedback in response to identification of a trigger.

6. The apparatus of claim 1, wherein the at least one processor device is further configured to provide the continuous feedback in response to a trigger identified in the at least one image.

7. The apparatus of claim 1, wherein the continuous feedback includes audibly reading text aloud and wherein the at least one processor device is configured to suspend reading when the user looks away from the text being read aloud.

8. The apparatus of claim 1, wherein the at least one processor device is further configured to monitor a state of the object of interest, and suspend monitoring when the user looks away from the object of interest.

9. The apparatus of claim 1, wherein the at least one processor device is further configured to record a video stream of the object, and suspend recording when the user looks away from the object of interest.

10. The apparatus of claim 1, wherein the continuous feedback includes playing a media file associated with the object of interest, and wherein the at least one processor device is configured to suspend playing the media file when the user looks away from the object of interest.

11. The apparatus of claim 1, wherein the continuous feedback includes audibly providing information associated with the object of interest, and wherein the at least one processor device is configured to suspend providing the information when the user looks away from object of interest.

12. The apparatus of claim 1, wherein the at least one processor device is further configured to reinstitute the suspended feedback after the object of interest reappears in the field of view within the time period and a trigger is identified.

13. An apparatus for providing feedback to a user, the apparatus comprising:
an image sensor configured to be positioned for movement with a head of a user and configured to capture real time images from an environment of the user as the user's head moves;
at least one processor device configured to:
identify existence of a trigger;
provide, based on identification of the trigger, a continuous feedback to the user regarding an object of interest located within a field of view of the image sensor;
identify movements of the head of the user;
suspend the continuous feedback to the user regarding the object of interest after a specific head movement is identified;
detect an input to reinstitute the suspended feedback; and
reinstitute the suspended feedback if a time period, between a time the continuous feedback is suspended and a time the input to reinstitute the suspended feedback is detected, is less than a predetermined threshold.

14. The apparatus of claim 13, wherein the trigger is identified in the real time images.

15. The apparatus of claim 13, wherein the specific head movement includes a movement causing the object of interest to move outside the field of view of the image sensor.

16. The apparatus of claim 13, wherein the specific head movement includes at least two detected changes in the movement of the head of the user.

17. The apparatus of claim 13, wherein the at least one processor device is further configured to select which continuous feedback to initiate, based on the trigger and a particular context associated with at least one of the real time images.

18. A method for providing feedback to a user regarding an object of interest, the method comprising:
receiving from an image sensor real time image data that includes a representation of the object of interest, wherein the image sensor is configured to be positioned for movement with a head of the user;
processing the image data to identify an existence of the object of interest within the field of view of the image sensor;
providing a continuous feedback to the user regarding the object of interest when the object of interest is detected within the field of view of the image sensor;
suspending the continuous feedback to the user regarding the object of interest after the object of interest is detected to be outside the field of view of the image sensor; and
automatically reinstitute the suspended feedback if a time period, between a time the object of interest moves outside the field of view and a time the object of interest reappears in the field of view, is less than a predetermined threshold.

19. A software product stored on a non-transitory computer readable medium and comprising data and computer implementable instructions for carrying out the method of claim 18.