The disclosed technologies are directed to determining a duration of time in which an individual observed a region in an environment. Specifically, the disclosed technologies are directed to processing an image of the environment that includes an indication of a point of gaze of the individual, added to the image, and a visual fiducial marker, which is in the environment and includes a visual symbol that is associated with data that define a shape of the region, a size of the region, and a displacement of the region in a direction from a position of the visual fiducial marker, to determine if the point of gaze is within the region.
Durations of time in which an individual observed one or more regions can be determined from a sequence of images that includes indications of points of gaze of the individual. For example, such a sequence of images can be produced by an eye point-of-gaze tracking device worn by the individual. For example, the eye point-of-gaze tracking device can include wearable eye tracker glasses. Conventionally, each image in the sequence of images can be reviewed by a human to determine if an indication of the point of gaze of the individual is within one of the one or more regions. Based on a rate at which images in the sequence of images are produced, durations of time in which the individual observed the one or more regions can be determined. A timeline for the durations of time can be produced. Using such a timeline an order in which the individual observes different items of information presented to the individual can be determined.
In an embodiment, a system for determining a duration of time in which an individual observed a region can include one or more processors, a data store, and a memory. The one or more processors can be configured to receive an image. The image can include an indication of a point of gaze of the individual at a time of a production of the image. The image can include a visual fiducial marker. The visual fiducial marker can be disposed at a position in the image. The visual fiducial marker can include a visual symbol. The visual symbol can be associated with data that define the region. The region can have a shape and a size. The region can be disposed a displacement in a direction from a position of the visual fiducial marker. A measurement of the displacement can be one or more of a multiple of a measurement of a size of the visual fiducial marker or a multiple of a measurement of a size of the visual symbol. The data store can be communicably coupled to the one or more processors. The data store can be configured to store the image. The memory can be communicably coupled to the one or more processors. The memory can store a region locator module, a matching module, and a determination module. The region locator module can include instructions that when executed by the one or more processors cause the one or more processors to determine, using the visual symbol, one or more locations of one or more edges of the region in the image. The matching module can include instructions that when executed by the one or more processors cause the one or more processors to determine that the indication of the point of gaze is within the region. The determination module can include instructions that when executed by the one or more processors cause the one or more processors to determine that the time of the production of the image is within the duration of time in which the individual observed the region.
In another embodiment, a method for determining a duration of time in which an individual observed a region can include receiving, by a processor, an image. The image can include an indication of a point of gaze of the individual at a time of a production of the image. The image can include a visual fiducial marker. The visual fiducial marker can be disposed at a position in the image and can include a visual symbol. The visual symbol can be associated with data that define the region. The region can have a shape and a size. The region can be disposed a displacement in a direction from a position of the visual fiducial marker. A measurement of the displacement can be one or more of a multiple of a measurement of a size of the visual fiducial marker or a multiple of a measurement of a size of the visual symbol. The method can include determining, by the processor, using the visual symbol, one or more locations of one or more edges of the region in the image. The method can include determining, by the processor, that the indication of the point of gaze is within the region. The method can include determining, by the processor, that the time of the production of the image is within the duration of time in which the individual observed the region.
In another embodiment, a non-transitory computer-readable medium for determining a duration of time in which an individual observed a region can include instructions that when executed by one or more processors cause the one or more processors to receive an image. The image can include an indication of a point of gaze of the individual at a time of a production of the image. The image can include a visual fiducial marker. The visual fiducial marker can be disposed at a position in the image and can include a visual symbol. The visual symbol can be associated with data that define the region. The region can have a shape and a size. The region can be disposed a displacement in a direction from a position of the visual fiducial marker. A measurement of the displacement can be one or more of a multiple of a measurement of a size of the visual fiducial marker or a multiple of a measurement of a size of the visual symbol. The non-transitory computer-readable medium can include instructions that when executed by the one or more processors cause the one or more processors to determine, using the visual symbol, one or more locations of one or more edges of the region in the image. The non-transitory computer-readable medium can include instructions that when executed by the one or more processors cause the one or more processors to determine that the indication of the point of gaze is within the region. The non-transitory computer-readable medium can include instructions that when executed by the one or more processors cause the one or more processors to determine that the time of the production of the image is within the duration of time in which the individual observed the region.
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate various systems, methods, and other embodiments of the disclosure. It will be appreciated that the illustrated element boundaries (e.g., boxes, groups of boxes, or other shapes) in the figures represent one embodiment of the boundaries. In some embodiments, one element may be designed as multiple elements or multiple elements may be designed as one element. In some embodiments, an element shown as an internal component of another element may be implemented as an external component and vice versa. Furthermore, elements may not be drawn to scale.
The disclosed technologies are directed to determining a duration of time in which an individual observed a region in an environment. An image of the environment can be received by a processor. The image can include an indication of a point of gaze of the individual at a time of a production of the image. The indication of the point of gaze can have been added to the image of the environment. The image can include a visual fiducial marker, which is in the environment. The visual fiducial marker can be disposed at a position in the image and can include a visual symbol. The visual symbol can be associated with data that define the region. The region can have a shape and a size and can be disposed a displacement in a direction from the position of the visual fiducial marker. A measurement of the displacement can be one or more of a multiple of a measurement of a size of the visual fiducial marker or a multiple of a measurement of a size of the visual symbol. By having the measurement of the displacement be one or more of the multiple of the measurement of the size of the visual fiducial marker or the multiple of the measurement of the size of the visual symbol, the shape and the size of the region in the image and a position of the region in the image at the displacement in the direction from the position of the visual fiducial marker in the image can account for a difference in scale between the position of the region and the position of the visual fiducial marker in the image and a corresponding position of the region and a corresponding position of the visual fiducial marker in an environment in which the image was produced. Using the visual symbol, the processor can determine one or more locations of one or more edges of the region. The processor can determine that the indication of the point of gaze is within the region. The processor can determine that the time of the production of the image is within the duration of time in which the individual observed the region. In this manner, the processor can determine that the indication of the point of gaze is within the region regardless of an appearance of an object within the region. Thus, the image can be processed with segmentation by regions rather than by objects. Furthermore, if the appearance of the object within the region is known, then the processor can determine that the point of gaze may have been directed at the object.
The processor 202 can be configured to receive the first image 208. For example, the processor 202 can be configured to receive the first image 208 from an eye point-of-gaze tracking device (not illustrated) worn by the individual. For example, the eye point-of-gaze tracking device can include wearable eye tracker glasses. For example, the wearable eye tracker glasses can be Tobii Pro Glasses 3 distributed by Tobii of Stockholm, Sweden. The first image 208 can include an indication of a point of gaze of the individual at a time of a production of the first image 208. The first image 208 can include a first visual fiducial marker. The first visual fiducial marker can be disposed at a first position in the first image 208 and can include a first visual symbol. The first visual symbol can be associated with first data that define a first region. For example, the first visual symbol can include one or more of a bar code, a QR code, an ARTag code, an AprilTag code, an ARToolKit code, an ArUco code, or the like. The first region can have a first shape and a first size. The first region can be disposed a first displacement in a first direction from a position of the first visual fiducial marker. A measurement of the first displacement can be one or more of a first multiple of a measurement of a size of the first visual fiducial marker or a first multiple of a measurement of a size of the first visual symbol.
For example, with reference to
Returning to
For example, the first visual symbol can include a type of visual symbol that has been pre-programmed to represent the first data that define the first region, the first shape, the first size, the first displacement, and the first direction. For example, the type of visual symbol can be a QR code. The instructions to determine the at least one location of the at least one edge of the first region in the first image can include instructions that function to control the processor 202 to determine the first data from the first visual symbol.
Additionally or alternatively, for example, the instructions to determine the at least one location of the at least one edge of the first region in the first image can include instructions that function to control the processor 202 to: (1) determine an identity of the first visual symbol and (2) retrieve, based on the identity, the first data that define the first region, the first shape, the first size, the first displacement, and the first direction.
The matching module 212 can include instructions that function to control the processor 202 to determine that the indication of the point of gaze is within the first region.
The determination module 214 can include instructions that function to control the processor 202 to determine that the time of the production of the first image 208 is within a first duration of time in which the individual observed the first region. For example, if the first image 208 is included in a set of images (e.g., frames in a video) that defines the first duration of time and in which the indication of the point of gaze is within the first region, then the processor 202 can determine that the time of the production of the first image 208 is within the first duration of time.
For example, the measurement of the size of the first visual fiducial marker can include one or more of a measurement of an area of a shape of the first visual fiducial marker, a measurement of an edge of the shape of the first visual fiducial marker, a measurement of a diagonal of the shape of the first visual fiducial marker, a measurement of an axis of the shape of the first visual fiducial marker, or the like.
For example, with reference to
Returning to
For example, with reference to
Returning to
For example, at least a portion of the second region can overlap at least a portion of the first region.
For example, with reference to
Returning to
For example, with reference to
For example, with reference to
Returning to
For example, with reference to
Returning to
For example, with reference to
For example, with reference to
Returning to
For example, with reference to
The barricade 112 can be disposed a first displacement in a first direction from the position of the fourth visual fiducial marker 122. For example, in the system 200, the first visual symbol (i.e., the symbol with the vertical bar intersected by the two horizontal bars in the fourth visual fiducial marker 122) can be associated with the first data that define: (1) the first shape and the first size of the barricade 112 and (2) the first displacement (e.g., to one or more edges of the barricade 112) in the first direction (e.g., directions that surround the fourth visual fiducial marker 122) from the position of the fourth visual fiducial marker 122 at which the barricade 112, having the first shape and the first size, is disposed. Additionally, the barricade 112 can be disposed a second displacement in a second direction from the position of the fifth visual fiducial marker 124. For example, in the system 200, the second visual symbol (i.e., the symbol with the backslash intersected by the two slashes in the fifth visual fiducial marker 124) can be associated with the second data that define: (1) the first shape and the first size of the barricade 112 and (2) the second displacement (e.g., to one or more edges of the barricade 112) in the second direction (e.g., directions that surround the fifth visual fiducial marker 124) from the position of the fifth visual fiducial marker 124 at which the barricade 112, having the first shape and the first size, is disposed.
For example, with reference to
For example, the region locator module 210 can determine: (1) using the first visual symbol, that the shape 502 is the first of the one or more locations of the one or more edges of the barricade 112 and (2) using the second visual symbol, that the shape 504 is the second of the one or more locations of the one or more edges of the barricade 112. The matching module 212 can determine, based on the shape 502, that the second indication 128 is within the barricade 112.
Having a plurality of visual fiducial markers (e.g., the third visual fiducial marker 120, the fourth visual fiducial marker 122, and the fifth visual fiducial marker 124) disposed on the barricade 112 can provide several advantages. First, as described above, because each of the visual fiducial markers can be associated with a corresponding shape for a same region, a determination that an indication of a point of gaze is within the region can be made based on a determination that the indication is within one or more corresponding shapes. Second, a degree of reliability of the determination that the indication of the point of gaze is within the region can be made based on a count of a number of the corresponding shapes that include the indication. Third, the determination that the indication of the point of gaze is within one of the corresponding shapes, but not within one or more other of the corresponding shapes, may be indicative that the point of gaze is directed to a periphery of the region. Fourth, having the plurality of visual fiducial markers disposed at different positions on the barricade 112 can increase a likelihood that at least one of the visual fiducial markers will be within a field of view of a device (not illustrated) that produced the image 100 (e.g., Tobii Pro Glasses 3) and, therefore, included in the image 100 so that the system 200200 can have the information needed to determine if the indication of the point of gaze is within the barricade 112. Fifth, having the plurality of visual fiducial markers can allow for a determination that the indication of the point of gaze is within the region to be made in an event in which a portion of at least one, but not all, of the visual fiducial markers is occluded in the image 100. For example, even though at the time of the production of the image 100, in the environment 102 a gust of wind can have caused the tarp 114 to blow such that a portion of the third visual fiducial marker 120 is occluded in the image 100, a determination that the indication of the point of gaze is within the barricade 112 can be made using one or more of the fourth visual fiducial marker 122 or the fifth visual fiducial marker 124.
In
For example, the measurement of the size of the first visual fiducial marker can include one or more of a measurement of an area of a shape of the first visual fiducial marker, a measurement of an edge of the shape of the first visual fiducial marker, a measurement of a diagonal of the shape of the first visual fiducial marker, a measurement of an axis of the shape of the first visual fiducial marker, or the like.
Additionally or alternatively, for example, the measurement of the size of the first visual symbol can include one or more of a measurement of an area of a shape of the first visual symbol, a measurement of an edge of the shape of the first visual symbol, a measurement of a diagonal of the shape of the first visual symbol, a measurement of an axis of the shape of the first visual symbol, or the like.
In a first implementation, the first visual symbol can further be associated with second data that define a second region. For example, at least a portion of the second region can overlap at least a portion of the first region. The second region can have a second shape and a second size. The second region can be disposed a second displacement in a second direction from the position of the first visual fiducial marker. A measurement of the second displacement can be one or more of a second multiple of the measurement of the size of the first visual fiducial marker or a second multiple of the measurement of the size of the first visual symbol.
In a second implementation, at an operation 604, the orientation module 216 can determine an orientation of one or more of the first visual fiducial marker or the first visual symbol.
At an operation 606, the region locator module 210 can determine, using one or more of the first visual symbol or a second visual symbol, one or more locations of one or more edges of the first region in the first image. For example, the first visual symbol can include a type of visual symbol that has been pre-programmed to represent the first data that define the first region, the first shape, the first size, the first displacement, and the first direction. For example, the type of visual symbol can be a QR code. In this situation, at the operation 606, the region locator module 210 can determine the one or more locations of the one or more edges of the first region in the first image by determining the first data from the first visual symbol. Additionally or alternatively, for example, at the operation 606, the region locator module 210 can determine the one or more locations of the one or more edges of the first region in the first image by: (1) determining an identity of the first visual symbol and (2) retrieving, based on the identity, the first data that define the first region, the first shape, the first size, the first displacement, and the first direction. In the first implementation, the region locator module 210 can determine, using the first visual symbol, one or more locations of one or more edges of the second region in the first image 208. In the second implementation, the region locator module 210 can adjust, based on the orientation, the first shape.
At an operation 608, the matching module 212 can determine that the indication of the point of gaze is within the first region.
At an operation 610, the determination module 214 can determine that the time of the production of the first image 208 is within a first duration of time in which the individual observed the first region.
In
In the third implementation, at an operation 614, the region locator module 210 can determine, using the first visual symbol, the one or more locations of the one or more edges of the first region in the second image 218.
In the third implementation, at an operation 616, the matching module 212 can determine that the indication of the point of gaze at the time of the production of the second image 218 is within the first region.
In the third implementation, at an operation 618, the determination module 214 can determine that the time of the production of the second image 218 is within the first duration of time in which the individual observed the first region.
Additionally, for example, in the third implementation, at an operation 620, the timeline module 220 can produce a timeline for the first duration of time.
In
In the fourth implementation, at an operation 624, the region locator module 210 can determine, using the first visual symbol, one or more locations of one or more edges of the second region in the second image 218.
In the fourth implementation, at an operation 626, the matching module 212 can determine that the indication of the point of gaze at the time of the production of the second image 218 is within the second region.
In the fourth implementation, at an operation 628, the determination module 214 can determine that the time of the production of the second image 218 is within a second duration of time in which the individual observed the second region.
Additionally, for example, in the fourth implementation, at an operation 630, the timeline module 220 can produce a timeline for the first duration of time and the second duration of time.
Additionally, for example, in the fourth implementation, at an operation 632, the timeline module 220 can determine an order in which the individual observes different items of information presented to the individual.
In a fifth implementation, the first image 208 can further include a second visual fiducial marker. The second visual fiducial marker can be disposed at a second position in the first image 208 and can include the second visual symbol. The second visual symbol can be associated with second data that define the first region. The first region can have the first shape and the first size. The first region can be disposed a second displacement in a second direction from a position of the second visual fiducial marker. A measurement of the second displacement can be one or more of a multiple of a measurement of a size of the second visual fiducial marker or a multiple of a measurement of a size of the second visual symbol.
Additionally, for example, in the fifth implementation, at the operation 606, the region locator module 210 can determine: (1) using the first visual symbol, a first of the one or more locations of the one or more edges of the first region and (2) using the second visual symbol, a second of the one or more locations of the one or more edges of the first region.
For example, in the fifth implementation, at the operation 608, the matching module 212 can determine that, based on the first of the one or more locations of the one or more edges of the first region, the indication of the point of gaze is within the first region.
Detailed embodiments are disclosed herein. However, one of skill in the art understands, in light of the description herein, that the disclosed embodiments are intended only as examples. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative basis for teaching one of skill in the art to variously employ the aspects herein in virtually any appropriately detailed structure. Furthermore, the terms and phrases used herein are not intended to be limiting but rather to provide an understandable description of possible implementations. Various embodiments are illustrated in
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments. In this regard, each block in flowcharts or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). One of skill in the art understands, in light of the description herein, that, in some alternative implementations, the functions described in a block may occur out of the order depicted by the figures. For example, two blocks depicted in succession may, in fact, be executed substantially concurrently, or the blocks may be executed in the reverse order, depending upon the functionality involved.
The systems, components and/or processes described above can be realized in hardware or a combination of hardware and software and can be realized in a centralized fashion in one processing system or in a distributed fashion where different elements are spread across several interconnected processing systems. Any kind of processing system or another apparatus adapted for carrying out the methods described herein is suitable. A typical combination of hardware and software can be a processing system with computer-readable program code that, when loaded and executed, controls the processing system such that it carries out the methods described herein. The systems, components, and/or processes also can be embedded in a computer-readable storage, such as a computer program product or other data programs storage device, readable by a machine, tangibly embodying a program of instructions executable by the machine to perform methods and processes described herein. These elements also can be embedded in an application product that comprises all the features enabling the implementation of the methods described herein and that, when loaded in a processing system, is able to carry out these methods.
Furthermore, arrangements described herein may take the form of a computer program product embodied in one or more computer-readable media having computer-readable program code embodied, e.g., stored, thereon. Any combination of one or more computer-readable media may be utilized. The computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. As used herein, the phrase “computer-readable storage medium” means a non-transitory storage medium. A computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the computer-readable storage medium would include, in a non-exhaustive list, the following: a portable computer diskette, a hard disk drive (HDD), a solid-state drive (SSD), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. As used herein, a computer-readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
Generally, modules, as used herein, include routines, programs, objects, components, data structures, and so on that perform particular tasks or implement particular data types. In further aspects, a memory generally stores such modules. The memory associated with a module may be a buffer or may be cache embedded within a processor, a random-access memory (RAM), a ROM, a flash memory, or another suitable electronic storage medium. In still further aspects, a module as used herein, may be implemented as an application-specific integrated circuit (ASIC), a hardware component of a system on a chip (SoC), a programmable logic array (PLA), or another suitable hardware component that is embedded with a defined configuration set (e.g., instructions) for performing the disclosed functions.
Program code embodied on a computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber, cable, radio frequency (RF), etc., or any suitable combination of the foregoing. Computer program code for carrying out operations for aspects of the disclosed technologies may be written in any combination of one or more programming languages, including an object-oriented programming language such as Java™, Smalltalk, C++, or the like, and conventional procedural programming languages such as the “C” programming language or similar programming languages. The program code may execute entirely on a user's computer, partly on a user's computer, as a stand-alone software package, partly on a user's computer and partly on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
The terms “a” and “an,” as used herein, are defined as one or more than one. The term “plurality,” as used herein, is defined as two or more than two. The term “another,” as used herein, is defined as at least a second or more. The terms “including” and/or “having,” as used herein, are defined as comprising (i.e., open language). The phrase “at least one of . . . or . . . ” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. For example, the phrase “at least one of A, B, or C” includes A only, B only, C only, or any combination thereof (e.g., AB, AC, BC, or ABC).
Aspects herein can be embodied in other forms without departing from the spirit or essential attributes thereof. Accordingly, reference should be made to the following claims, rather than to the foregoing specification, as indicating the scope hereof.
Number | Name | Date | Kind |
---|---|---|---|
7646899 | Fitzpatrick | Jan 2010 | B2 |
20150356737 | Ellsworth et al. | Dec 2015 | A1 |
20210056306 | Hu | Feb 2021 | A1 |
Number | Date | Country |
---|---|---|
2020140387 | Jul 2020 | WO |
Entry |
---|
T. Langner, D. Seifert, B. Fischer, D. Goehring, T. Ganjineh and R. Rojas, “Traffic awareness driver assistance based on stereovision, eye-tracking, and head-up display,” 2016 IEEE International Conference on Robotics and Automation (ICRA), Stockholm, Sweden, 2016, pp. 3167-3173 (Year: 2016). |
A. Bykowski and S. Kupiński, “Feature matching and ArUco markers application in mobile eye tracking studies,” 2018 Signal Processing: Algorithms, Architectures, Arrangements, and Applications (SPA), Poznan, Poland, 2018, pp. 255-260, (Year: 2018). |
Alan B. Craig, “Understanding Augmented Reality: Concepts and Applications,” Morgan Kaufmann Publishers Inc., 2013, pp. 1-272. |
Unknown, “Tobii Pro Glasses 2—Discontinued” 11 pages, last accessed May 2021, found at https://www.tobiipro.com/product-listing/tobii-pro-glasses-2/. |
Unknown, “ARTag” 2 pages, last accessed on May 4, 2020, found at https://en.wikipedia.org/wiki/ARTag. |
Rosenhahn et al., “Three-Dimensional Shape Knowledge for Joint Image Segmentation and Pose Tracking,” International Journal of Computer Vision, vol. 73, 2007, pp. 1-30. |
Unknown, “Eye tracking” 19 pages, last accessed on Apr. 28, 2021, found at https://en.wikipedia.org/wiki/Eye_tracking. |
Unknown, “Fiducial marker” 6 pages, last accessed on Apr. 21, 2021, found at https://en.wikipedia.org/wiki/Fiducial_marker. |
Wu et al., “SEQIT: Visualizing Sequences of Interest in Eye Tracking Data,” IEEE Conference on Information Visualization (InfoVis), Chicago, USA, 2015, pp. 449-458. |
Number | Date | Country | |
---|---|---|---|
20230018747 A1 | Jan 2023 | US |