CN111552389A - Method and device for eliminating fixation point jitter and storage medium - Google Patents

Method and device for eliminating fixation point jitter and storage medium Download PDF

Info

Publication number
CN111552389A
CN111552389A CN202010393282.1A CN202010393282A CN111552389A CN 111552389 A CN111552389 A CN 111552389A CN 202010393282 A CN202010393282 A CN 202010393282A CN 111552389 A CN111552389 A CN 111552389A
Authority
CN
China
Prior art keywords
distance
coordinate position
determining
low
pass filtering
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010393282.1A
Other languages
Chinese (zh)
Other versions
CN111552389B (en
Inventor
韩世广
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202010393282.1A priority Critical patent/CN111552389B/en
Publication of CN111552389A publication Critical patent/CN111552389A/en
Application granted granted Critical
Publication of CN111552389B publication Critical patent/CN111552389B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements

Abstract

The application discloses a method, a device and a storage medium for eliminating the jitter of a fixation point, wherein the method comprises the following steps: acquiring a first coordinate position of a current fixation point and a second coordinate position of a previous fixation point of the current fixation point; determining a first distance between the first coordinate position and the second coordinate position; low-pass filtering the first distance to obtain a second distance; determining a first adjusting coefficient for adjusting the low-pass filtering strength according to the second distance; and determining the target coordinate position of the current fixation point corresponding to the first coordinate position according to the first coordinate position, the first adjusting coefficient and the first distance. By adopting the method and the device, the gazing point position can be accurately determined.

Description

Method and device for eliminating fixation point jitter and storage medium
Technical Field
The present application relates to the field of image processing technologies, and in particular, to a method and an apparatus for eliminating a gaze point jitter, and a storage medium.
Background
With the widespread use of electronic devices (such as mobile phones, tablet computers, and the like), the electronic devices have more and more applications and more powerful functions, and the electronic devices are developed towards diversification and personalization, and become indispensable electronic products in the life of users.
The eyeball tracking technology will also become a standard matching technology of electronic equipment, but the current technical problem is that the gaze point of the eyeball tracking output shakes, flies out of a gaze area for a short time (such as blinking), and the output gaze point is inaccurate.
Disclosure of Invention
The embodiment of the application provides a method and a device for eliminating the jitter of a gazing point and a storage medium, which can accurately determine the position of the gazing point.
In a first aspect, an embodiment of the present application provides a method for eliminating a gaze point jitter, where the method includes:
acquiring a first coordinate position of a current fixation point and a second coordinate position of a previous fixation point of the current fixation point;
determining a first distance between the first coordinate position and the second coordinate position;
low-pass filtering the first distance to obtain a second distance;
determining a first adjusting coefficient for adjusting the low-pass filtering strength according to the second distance;
and determining the target coordinate position of the current fixation point corresponding to the first coordinate position according to the first coordinate position, the first adjusting coefficient and the first distance.
In a second aspect, an embodiment of the present application provides a device for eliminating a gaze point jitter, the device including: an obtaining unit, a first determining unit, a filtering unit, a second determining unit and a third determining unit, wherein,
the acquisition unit is used for acquiring a first coordinate position of a current fixation point and a second coordinate position of a previous fixation point of the current fixation point;
the first determining unit is used for determining a first distance between the first coordinate position and the second coordinate position;
the filtering unit is used for carrying out low-pass filtering on the first distance to obtain a second distance;
the second determining unit is used for determining a first adjusting coefficient for adjusting the low-pass filtering strength according to the second distance;
the third determining unit is configured to determine a target coordinate position of the current gaze point corresponding to the first coordinate position according to the first coordinate position, the first adjustment coefficient, and the first distance.
In a third aspect, embodiments of the present application provide an electronic device, which includes a processor, a memory, a communication interface, and one or more programs, stored in the memory and configured to be executed by the processor, the programs including instructions for performing some or all of the steps described in the method according to the first aspect of the embodiments of the present application.
In a fourth aspect, the present application provides a computer-readable storage medium, where the computer-readable storage medium is used to store a computer program, where the computer program is executed by a processor to implement part or all of the steps described in the method according to the first aspect of the present application.
In a fifth aspect, the present application provides a computer program product, where the computer program product includes a non-transitory computer-readable storage medium storing a computer program, where the computer program is operable to cause a computer to perform some or all of the steps described in the method according to the first aspect of the present application. The computer program product may be a software installation package.
The embodiment of the application has the following beneficial effects:
it can be seen that, in the method, the apparatus, and the storage medium for eliminating the jitter of the gazing point described in the embodiments of the present application, the first distance between the first coordinate position and the second coordinate position is determined by obtaining the first coordinate position of the current gazing point and the second coordinate position of the previous gazing point of the current gazing point, the first distance is low-pass filtered to obtain the second distance, the first adjustment coefficient for adjusting the low-pass filtering strength is determined according to the second distance, and the target coordinate position of the current gazing point corresponding to the first coordinate position is determined according to the first coordinate position, the first adjustment coefficient, and the first distance.
These and other aspects of the present application will be more readily apparent from the following description of the embodiments.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic hardware structure diagram of an electronic device according to an embodiment of the present disclosure;
fig. 2 is a software architecture diagram of a method for eliminating a gaze point jitter according to an embodiment of the present application;
fig. 3A is a schematic flowchart of a method for eliminating a gaze point jitter according to an embodiment of the present application;
FIG. 3B is a schematic diagram illustrating an application scenario provided by an embodiment of the present application;
fig. 3C is a schematic illustration of another application scenario provided by an embodiment of the present application;
fig. 3D is a schematic illustration of another application scenario provided by an embodiment of the present application;
fig. 4 is an interaction diagram of a method for eliminating a gaze point jitter according to an embodiment of the present application;
fig. 5 is a schematic diagram of another hardware structure of an electronic device according to an embodiment of the present disclosure;
fig. 6A is a schematic structural diagram of a device for eliminating eye gaze point jitter according to an embodiment of the present application;
fig. 6B is a schematic structural diagram of another apparatus for eliminating eye gaze point jitter according to an embodiment of the present application;
fig. 6C is a schematic structural diagram of another apparatus for eliminating eye gaze point jitter according to an embodiment of the present application.
Detailed Description
In order to make the technical solutions better understood by those skilled in the art, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only partial embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The following are detailed below.
The terms "first," "second," "third," and "fourth," etc. in the description and claims of this application and in the accompanying drawings are used for distinguishing between different objects and not for describing a particular order. Furthermore, the terms "include" and "have," as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those steps or elements listed, but may alternatively include other steps or elements not listed, or inherent to such process, method, article, or apparatus.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the application. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. It is explicitly and implicitly understood by one skilled in the art that the embodiments described herein can be combined with other embodiments.
Hereinafter, some terms in the present application are explained to facilitate understanding by those skilled in the art.
Electronic devices may include various handheld devices having wireless communication capabilities, in-vehicle devices, wearable devices (e.g., smart watches, smart glasses, smart bracelets, pedometers, etc.), smart cameras (e.g., smart single-lens reflex cameras, high-speed cameras), computing devices, or other processing devices communicatively connected to a wireless modem, as well as various forms of User Equipment (UE), Mobile Stations (MS), terminal devices (terminal device), and so forth. For convenience of description, the above-mentioned devices are collectively referred to as electronic devices.
As shown in fig. 1, fig. 1 is a schematic diagram of a hardware structure of an electronic device according to an embodiment of the present application. The electronic device may include a processor, Memory, signal processor, transceiver, display, speaker, microphone, Random Access Memory (RAM), camera, sensor, and Infrared light (IR), among others. The storage, the signal processor, the display screen, the loudspeaker, the microphone, the RAM, the camera, the sensor and the IR are connected with the processor, and the transceiver is connected with the signal processor.
The Display screen may be a Liquid Crystal Display (LCD), an Organic or inorganic Light-Emitting Diode (OLED), an active matrix Organic Light-Emitting Diode (AMOLED), or the like.
The camera may be a common camera or an infrared camera, and is not limited herein. The camera may be a front camera or a rear camera, and is not limited herein.
Wherein the sensor comprises at least one of: light-sensitive sensors, gyroscopes, infrared proximity sensors, fingerprint sensors, pressure sensors, etc. Among them, the light sensor, also called an ambient light sensor, is used to detect the ambient light brightness. The light sensor may include a light sensitive element and an analog to digital converter. The photosensitive element is used for converting collected optical signals into electric signals, and the analog-to-digital converter is used for converting the electric signals into digital signals. Optionally, the light sensor may further include a signal amplifier, and the signal amplifier may amplify the electrical signal converted by the photosensitive element and output the amplified electrical signal to the analog-to-digital converter. The photosensitive element may include at least one of a photodiode, a phototransistor, a photoresistor, and a silicon photocell.
The processor is a control center of the electronic equipment, various interfaces and lines are used for connecting all parts of the whole electronic equipment, and various functions and processing data of the electronic equipment are executed by operating or executing software programs and/or modules stored in the memory and calling data stored in the memory, so that the electronic equipment is monitored integrally.
A processor may include one or more processing cores. The processor, using the various interfaces and lines to connect the various parts throughout the electronic device, performs various functions of the electronic device and processes data by executing or executing instructions, programs, code sets, or instruction sets stored in memory, and invoking data stored in memory. The processor may include one or more processing units, such as: the processor may include a Central Processing Unit (CPU), an Application Processor (AP), a modem processor, a Graphics Processing Unit (GPU), an Image Signal Processor (ISP), a controller, a video codec, a Digital Signal Processor (DSP), a baseband processor, and/or a neural-Network Processing Unit (NPU), etc. The controller can be a neural center and a command center of the electronic device. The controller can generate an operation control signal according to the instruction operation code and the timing signal to complete the control of instruction fetching and instruction execution. The CPU mainly processes an operating system, a user interface, an application program and the like; the GPU is used for rendering and drawing display content; the modem is used to handle wireless communications. The digital signal processor is used for processing digital signals, and can process digital image signals and other digital signals. For example, when the electronic device selects a frequency point, the digital signal processor is used for performing fourier transform and the like on the frequency point energy. Video codecs are used to compress or decompress digital video. The electronic device may support one or more video codecs. In this way, the electronic device can play or record video in a variety of encoding formats, such as: moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, and the like. The NPU is a neural-network (NN) computing processor that processes input information quickly by using a biological neural network structure, for example, by using a transfer mode between neurons of a human brain, and can also learn by itself continuously. The NPU can realize applications such as intelligent cognition of electronic equipment, for example: image recognition, face recognition, speech recognition, text understanding, and the like.
A memory may be provided in the processor for storing instructions and data. In some embodiments, the memory in the processor is a cache memory. The memory may hold instructions or data that have just been used or recycled by the processor. If the processor needs to reuse the instruction or data, it can be called directly from the memory. Avoiding repeated access, reducing the waiting time of the processor and improving the system efficiency.
The processor may include one or more interfaces, such as an integrated circuit (I2C) interface, an integrated circuit built-in audio (I2S) interface, a Pulse Code Modulation (PCM) interface, a universal asynchronous receiver/transmitter (UART) interface, a Mobile Industry Processor Interface (MIPI), a general-purpose-input-output (GPIO) interface, a Subscriber Identity Module (SIM) interface, and/or a Universal Serial Bus (USB) interface, among others.
The I2C interface is a bi-directional synchronous serial bus that includes a serial data line (SDA) and a Serial Clock Line (SCL). The processor may contain multiple sets of I2C interfaces, and touch sensors, chargers, flashes, cameras, etc. may be coupled through different I2C interfaces, respectively. For example: the processor may be coupled to the touch sensor via an I2C interface, such that the processor and the touch sensor communicate via an I2C interface to implement touch functionality of the electronic device.
The I2S interface may be used for audio communication. The processor may include multiple sets of I2S interfaces coupled to the audio module via I2S interfaces to enable communication between the processor and the audio module. The audio module can transmit audio signals to the wireless communication module through the I2S interface, and the function of answering the call through the Bluetooth headset is realized.
The PCM interface may also be used for audio communication, sampling, quantizing and encoding analog signals. The audio module and the wireless communication module can be coupled through the PCM interface, and particularly, an audio signal can be transmitted to the wireless communication module through the PCM interface, so that the function of answering a call through the Bluetooth headset is realized. Both the I2S interface and the PCM interface may be used for audio communication.
The UART interface is a universal serial data bus used for asynchronous communications. The bus may be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. A UART interface is typically used to connect the processor with the wireless communication module. For example: the processor communicates with a Bluetooth module in the wireless communication module through a UART interface to realize the Bluetooth function. The audio module can transmit audio signals to the wireless communication module through the UART interface, and the function of playing music through the Bluetooth headset is achieved.
The MIPI interface may be used to connect a processor with peripheral devices such as a display screen, a camera, and the like. The MIPI interface includes a Camera Serial Interface (CSI), a Display Serial Interface (DSI), and the like. In some embodiments, the processor and the camera communicate through a CSI interface to implement a shooting function of the electronic device. The processor and the display screen are communicated through the DSI interface, and the display function of the electronic equipment is achieved.
The GPIO interface may be configured by software. The GPIO interface may be configured as a control signal and may also be configured as a data signal. In some embodiments, a GPIO interface may be used to connect a processor with a camera, display screen, wireless communication module, audio module, sensor module, and the like. The GPIO interface may also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, and the like.
The USB interface is an interface conforming to the USB standard specification, and may specifically be a Mini USB interface, a Micro USB interface, a USB Type C interface, or the like. The USB interface can be used for connecting a charger to charge the electronic equipment and can also be used for transmitting data between the electronic equipment and peripheral equipment. And the earphone can also be used for connecting an earphone and playing audio through the earphone. The interface may also be used to connect other electronic devices, such as AR devices and the like.
It is to be understood that the processor may be mapped to a System On Chip (SOC) in an actual product, and the processing unit and/or the interface may not be integrated into the processor, and the corresponding functions may be implemented by a communication chip or an electronic component alone. The above-described interface connection relationship between the modules is merely illustrative, and does not constitute a unique limitation on the structure of the electronic device.
The Memory may include a Random Access Memory (RAM) or a Read-Only Memory (Read-Only Memory). Optionally, the memory includes a non-transitory computer-readable medium (non-transitory-readable storage medium). The memory may be used to store an instruction, a program, code, a set of codes, or a set of instructions. The memory may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for implementing at least one function (such as a touch function, a sound playing function, an image playing function, etc.), instructions for implementing various method embodiments described below, and the like, and the operating system may be an Android (Android) system (including an Android system depth development-based system), an IOS system developed by apple, including an IOS system depth development-based system, or other systems. The data storage area can also store data (such as a phone book, audio and video data, chatting record data) and the like created by the electronic equipment in use.
The processor may integrate an application processor and a modem processor, wherein the application processor mainly handles operating systems, user interfaces, application programs, and the like, and the modem processor mainly handles wireless communications. It will be appreciated that the modem processor described above may not be integrated into the processor.
The memory is used for storing software programs and/or modules, and the processor executes various functional applications and data processing of the electronic equipment by operating the software programs and/or modules stored in the memory. The memory mainly comprises a program storage area and a data storage area, wherein the program storage area can store an operating system, a software program required by at least one function and the like; the storage data area may store data created according to use of the electronic device, and the like. Further, the memory may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
Wherein, the IR is used for irradiating the human eye to generate a bright spot (glint) on the human eye, and the camera is used for shooting the human eye to obtain an image comprising the bright spot and a pupil (pupil).
As shown in fig. 2, fig. 2 is a software architecture diagram of a method for eliminating a gaze point jitter according to an embodiment of the present application. The software architecture diagram includes four layers, where the first layer is an application layer, which may include applications such as e-books, browsers, launchers, systems, unlocking, mobile payments, point of interest tracking, and the like. The second layer can comprise an eyeball tracking service (OEyeTracerService), which specifically comprises modules such as an eyeball tracking authorization (OEyeTracerAuthentication), an eyeball tracking strategy (OEyeTracerStrategy), an eyeball tracking algorithm (OEyeTracerRalgo) and an eyeball tracking parameter (OEyeTracerParams), wherein the OEyeTracerService is connected with the application of the first layer through an eyeball tracking SDK (OEyeTracerSDK) interface; the second layer further includes a camera NDK interface (CameraNDKInterface) and a camera service (CameraService), the CameraNDKInterface is connected with the oeyetracker service, and the CameraService is connected with the CameraNDKInterface. The third layer is a hardware abstraction layer, which may include Google HAL Interface (Google HAL Interface), high-pass HAL Interface (Qualcomm HAL Interface), electronic anti-shake module, Cam X, Chi-cdk, etc., the high-pass HAL Interface (Qualcomm HAL Interface) may connect the electronic anti-shake module, the Google HAL Interface is connected with the CameraService of the second layer, the Qualcomm HAL Interface is connected with the Google HAL Interface, Cam X is connected with Qualcomm RGB HAL Interface and Chi-cdk, respectively, the fourth layer is a bottom layer driver, which includes RGB sensor (sensor), Digital Signal Processor (DSP), infrared sensor (IR sensor), Laser (Laser), Light Emitting Diode (LED), etc., and the IR sensor is connected with Cam X of the third layer. The connection between OEyeTracker service and OEyeTracker SDK, the connection between CameraService and CameraNDKInterface, and the connection between Google HAL Interface and CameraService are all through Binder architecture.
The OEyeTracker SDK is responsible for providing the point of regard acquisition and the input api for the common application, and the form of the api is a jar/aar package. Oeyetracker service is responsible for managing the gazing point algorithm, gazing point post-processing, input processing, and authentication and parameter setting. Eyetracker algo is the core algorithm for eye tracking, including the algorithm for determining the function of the point of regard in this application. Oeyetracerstrategy is associated with algorithmic post-processing such as filtering, gaze point jumping, gaze point shift monitoring, gaze point input. The OEyeTrackerAuuthentization call-back module is responsible for authenticating whether the requester is allowed. OEyeTracker param is responsible for parsing configuration and hot update configuration. The electronic anti-shake module is used for realizing an electronic anti-shake function, and the principle is that a CCD is fixed on a support capable of moving up and down and left and right, the direction and the amplitude of camera shake are sensed through a gyroscope, then a sensor transmits data to a processor for screening and amplifying, and the CCD moving amount capable of offsetting shake is calculated.
The eyeball gaze point is a gaze point position of a plane where eyeballs of a user gaze the electronic device, and the eyeball tracking software development kit interface is a Software Development Kit (SDK) interface provided by the electronic device for eyeball tracking application and is responsible for providing an Application Programming Interface (API) interface for acquiring the gaze point and inputting the gaze point for the eyeball tracking application. The eyeball tracking service can also call camera application through a Native Development Kit (NDK) interface of the camera, the camera application can call a camera, the camera acquires face images, and eyeball tracking is realized through the face images.
As shown in fig. 3A, fig. 3A is a schematic flowchart of a method for eliminating a gaze point jitter according to an embodiment of the present application, which is applied to an electronic device shown in fig. 1 or fig. 2, and the method includes:
301. and acquiring a first coordinate position of the current fixation point and a second coordinate position of a previous fixation point of the current fixation point.
The first coordinate position may be a vertical coordinate position, a horizontal coordinate position, or the first coordinate position may include a vertical coordinate position and a vertical coordinate position. The second coordinate position may be an ordinate position, an abscissa position, or the second coordinate position may include an ordinate position and an ordinate position.
In a specific implementation, the first coordinate position of the current gaze point may be calculated by an eye tracking algorithm, and similarly, the second coordinate position of the previous gaze point of the current gaze point may also be calculated by an eye tracking algorithm. The first coordinate position of the current gazing point may be a coordinate position that is not subjected to the low-pass filtering process. The second coordinate position may be a coordinate position where low-pass filtering is performed or a coordinate position where low-pass filtering is not performed. In the embodiment of the application, the gaze point detection may be performed at intervals of a preset time interval through an eye tracking algorithm, the preset time interval may be set by a user or default by a system, and the electronic device may determine the second coordinate position of the previous gaze point of the current gaze point through the eye tracking algorithm, and then determine the first coordinate position of the current gaze point through the eye tracking algorithm after the interval of the preset time interval.
In a specific implementation, for the viewpoint dithering, the dithering reasons may include the following cases: (1) the mobile phone and the head can shake slightly; (2) the eyeball attention is not continuously concentrated, so that the pupil shakes; (3) some errors are easy to occur when the current eyeball tracking algorithm processes the infrared image, so that the fixation point output shakes; (4) and fly out of the fixation area for a short time. That is, the gaze point output deviates excessively from the area that the user is gazing because if the jitter is serious, the gaze point output is too far away from the gaze point, which means that the gaze point output is out of the gaze area; (5) blinking; (6) glasses or eyelids etc. to block the pupil; (7) the cell phone is too far from the head or the image suddenly gets dark, etc. For a specific application scenario, for example, when an eyeball tracks the gaze point and outputs the gaze point as an event such as a mobile phone input click slide, an input position may be incorrect due to gaze point jitter.
302. A first distance between the first coordinate position and the second coordinate position is determined.
The electronic device may determine the first distance between the first coordinate position and the second coordinate position, for example, the first distance between the first coordinate position and the second coordinate position may be determined by a euclidean distance calculation method, or the first distance between the first coordinate position and the second coordinate position may be determined by a hamming distance calculation method.
In one possible example, the step 302 of determining the first distance between the first coordinate position and the second coordinate position may include the steps of:
21. acquiring a low-pass filtering result corresponding to the second coordinate position;
22. acquiring the detection frequency of the position of the fixation point;
23. and determining the first distance according to the first coordinate position, the gazing point position detection frequency and the low-pass filtering result.
In a specific implementation, the electronic device may perform low-pass filtering on the second coordinate position through a low-pass filter to obtain a low-pass filter result, where the low-pass filter may be at least one of: one Euro filter, wavelet filter, Butterworth low pass filter, gaussian low pass filter, etc., without limitation. Further, a gazing point position detection frequency may be obtained, and then, the first distance may be determined according to the first coordinate position, the gazing point position detection frequency, and the low-pass filtering result, which may specifically be implemented by referring to the following formula:
dx=(x-x'low-pass-filter)*rate
the calculation formula is used for calculating a difference between the current coordinate and the last coordinate, and rate is an inverse of the detection frequency of the gazing point position, for example, when the frequency of the gazing point is 30fps, the rate is 1/30; x is the position of the currently input fixation point with noise to be filtered, and the position can be an abscissa, an ordinate or comprise the abscissa and the ordinate at the same time; x'low-pass-filterIs the low pass filtered result corresponding to the second coordinate position, which can be based on OneEuro filter, implementing low pass filtering.
303. And carrying out low-pass filtering on the first distance to obtain a second distance.
The electronic device may also perform low-pass filtering processing on the first distance by using a low-pass filter to obtain the second distance, where the low-pass filter may be at least one of: one Euro filter, wavelet filter, Butterworth low pass filter, gaussian low pass filter, etc., without limitation.
In one possible example, the step 303 of low-pass filtering the first distance to obtain the second distance may include the following steps:
31. acquiring a preset adjusting factor and a low-pass filtering distance of a distance between the second coordinate position and a previous watching point position;
32. determining a second adjusting coefficient for adjusting the low-pass filtering strength according to the detection frequency of the gazing point position and the preset adjusting factor;
33. and carrying out low-pass filtering on the first distance according to the second adjusting coefficient and the low-pass filtering distance to obtain the second distance.
Wherein, the preset adjusting factor can be set by the user or the default of the system. In specific implementation, the electronic device may obtain a preset adjustment factor, and determine a second adjustment coefficient for adjusting the low-pass filtering strength according to the gaze point position detection frequency and the preset adjustment factor, which may specifically be implemented by using the following formula:
alphadcutoff=1/{1+[1/(2*π*dcutoff)]/(1/rate)}
wherein, alphadcutoffRepresenting a second adjusting coefficient, dcutoff representing a preset adjusting factor, rate representing the reciprocal of the detection frequency of the gazing point position, and the value range of the second adjusting coefficient being [0, 1%]。
Further, the electronic device may perform low-pass filtering on the first distance according to a second adjustment coefficient and a low-pass filtering distance of a distance between the second coordinate position and a previous gazing point position of the second coordinate position, so as to obtain a second distance, which may specifically refer to the following formula:
dxlow-pass-filter=alphadcutoff*dx+(1-alphadcutoff)*dx'low-pass-filter
wherein the calculation formulaTo low-pass filter the distance between the current coordinate and the last coordinate to reduce the variation distance, alphadcutoffRepresenting a second adjustment factor, dxlow-pass-filterIs a second distance, dx'low-pass-filterA low pass filtered distance that is the distance between the second coordinate location and its previous gaze location.
304. And determining a first adjusting coefficient for adjusting the low-pass filtering strength according to the second distance.
The electronic device may pre-store a mapping relationship between the distance and the adjustment coefficient, and further determine a first adjustment coefficient for adjusting the low-pass filtering strength corresponding to the second distance according to the mapping relationship.
In one possible example, the step 304 of determining the first adjustment coefficient for adjusting the low-pass filtering strength according to the second distance may include the steps of:
341. acquiring a preset minimum critical value and a target scaling factor required for adjusting the low-pass filtering strength;
342. determining a target critical value according to the preset minimum critical value, the target scaling factor and the second distance;
343. and determining the first adjusting coefficient according to the detection frequency of the gazing point position and the target critical value.
The preset minimum threshold and the target scaling factor can be set by the user or default by the system. In a specific implementation, the electronic device may obtain a preset minimum critical value and a target scaling factor required for adjusting the low-pass filtering strength, and then may determine the target critical value according to the preset minimum critical value and the target scaling factor, which may specifically be implemented by referring to the following formula:
cutoff=mincutoff+beta*|dxlow-pass-filter|
the cutoff is a target critical value, mincutoff refers to a preset minimum critical value, beta is a target scaling factor, and cutoff calculated by the formula refers to a critical value required to be used for calculating the first adjusting coefficient alpha. Beta is used to zoom secondDistance dxlow-pass-filter
Further, the electronic device may determine the first adjustment coefficient according to the gazing point position detection frequency and the target critical value, and may specifically refer to the following formula:
alpha=1/{1+[1/(2*π*cutoff)]/(1/rate)},
where alpha is a first adjustment coefficient, cutoff is a target threshold, and may be configured to adjust the size of alpha, and rate is the reciprocal of the gaze point position detection frequency, in this embodiment, alpha is a value in the interval between [0, 1] for adjusting the intensity of the low pass filtering.
305. And determining the target coordinate position of the current fixation point corresponding to the first coordinate position according to the first coordinate position, the first adjusting coefficient and the first distance.
The electronic device may determine a target coordinate position of the current gaze point corresponding to the first coordinate position according to the first coordinate position, the first adjustment coefficient, and the first distance, where the target coordinate position is a position after the shake correction, and the target coordinate position may be specifically implemented by referring to the following formula:
xlow-pass-filter=alpha*x+(1-alpha)*x'low-pass-filter
wherein x islow-pass-filterIs a target coordinate position, alpha is a first adjustment coefficient, x is a first coordinate position, x'low-pass-filterIs the low pass filtered result for the second coordinate position. Therefore, the embodiment of the application can perform jitter elimination processing on jitter in the x-axis direction, jitter in the y-axis direction and gaze point jitter generated in both directions, and improves the determination accuracy of the gaze point position.
In the embodiment of the application, the One Euro filter is taken as an example, and the One Euro filter is used for eliminating the view point shaking problem by taking the One Euro filter filtering idea as reference, so that the view point shaking condition is effectively eliminated, and the delay is low (the follow-up property is high). Because the One eco filter is accurate and quick in response, the method is particularly suitable for an interactive system which reduces jitter and hysteresis, uses the One eco filter filtering for eliminating the problem of view point jitter, effectively eliminates the view point jitter, and has low delay (high follow-up performance), thereby realizing accurate output of the view point position and being beneficial to realizing high-precision touch operation through an eyeball tracking technology.
In a possible example, between the above steps 302 to 303, the following steps may be further included:
a1, judging whether the first distance is in a first preset range;
and A2, when the first distance is in the first preset range, executing the step of low-pass filtering the first distance to obtain a second distance.
The first preset range can be set by the user or the system defaults. In a specific implementation, the electronic device may determine whether the first distance is within a first preset range, and may perform step 303 when the first distance is within the first preset range, and may not perform the subsequent step when the first distance is not within the first preset range.
In a possible example, before the step 301, the following steps may be further included:
b1, determining the jitter offset of the electronic equipment;
b2, when the jitter offset is smaller than a preset threshold, executing the step of acquiring the first coordinate position of the current gaze point and the second coordinate position of the previous gaze point of the current gaze point.
Wherein, the second preset range can be set by the user or the system defaults. In specific implementation, the electronic device may determine a jitter offset of the electronic device through the gyroscope, where the jitter offset may be used to express a jitter degree of the electronic device, and then, when the jitter offset is within a second preset range, step 301 may be executed, so that when the jitter is small, corresponding electronic anti-jitter may be implemented. When the shake offset amount is not in the second preset range, the shake elimination operation may not be performed on the point of regard.
Further, in a possible example, the step B1 of determining the jitter offset of the electronic device may include the following steps:
b11, acquiring a jitter variation curve of the electronic equipment in a preset time period, wherein the horizontal axis of the jitter variation curve is time, and the vertical axis of the jitter variation curve is amplitude;
b12, sampling the jitter variation curve to obtain a plurality of amplitudes;
b13, determining an average amplitude value according to the amplitude values;
b14, determining a first offset corresponding to the average amplitude according to a preset mapping relation between the amplitude and the offset;
b15, performing mean square error operation according to the amplitude values to obtain a target mean square error;
b16, determining a target adjustment coefficient corresponding to the target mean square error according to a preset mapping relation between the mean square error and the adjustment coefficient;
and B17, adjusting the first offset according to the target adjustment coefficient to obtain the jitter offset of the electronic equipment.
The preset time period may be preset or default to the system, for example, the preset time period may be a time period after the shooting instruction is received. The electronic device may further pre-store a mapping relationship between a preset amplitude and an offset, and a mapping relationship between a preset mean square error and an adjustment coefficient.
In specific implementation, the jitter variation curve may be collected by a gyroscope, a horizontal axis of the jitter variation curve is time, a vertical axis of the jitter variation curve is amplitude, the amplitude may be used to represent a jitter amplitude, the electronic device may sample the jitter variation curve to obtain a plurality of amplitudes, a specific sampling manner may be to sample at preset time intervals, or, the sampling may be random, and the preset time intervals may be preset or default to a system.
Furthermore, the electronic device may determine an average amplitude according to the plurality of amplitudes, and may determine a first offset corresponding to the average amplitude according to a mapping relationship between a preset amplitude and the offset, and in addition, the electronic device may further perform a mean square error operation according to the plurality of amplitudes to obtain a target mean square error, where the mean square error reflects a stability of the jitter to a certain extent, and the stability of the jitter reflects a stability of the jitter from a side surface, and therefore, the electronic device may determine a target adjustment coefficient corresponding to the target mean square error according to a mapping relationship between a preset mean square error and an adjustment coefficient.
In the embodiment of the application, the value range of the adjustment coefficient may be-0.15, and of course, the value range may also be set by the user or updated by the system, further, the electronic device may adjust the first offset according to the target adjustment coefficient to obtain the jitter offset, and the specific calculation mode of the jitter offset may refer to the following formula:
jitter offset (1+ target adjustment coefficient) first offset
Therefore, the offset can be preliminarily determined through the amplitude, and the offset can be adjusted according to the jitter stability (mean square error) so as to accurately determine the jitter offset degree, and the jitter condition of the electronic equipment can be accurately detected.
In one possible example, the step 301 of acquiring the first coordinate position of the current gazing point may include the following steps:
11. acquiring a first image through a first camera;
12. a first coordinate position of a current gaze point of a target object in the first image is determined.
The electronic equipment can comprise a first camera, the first camera can be a rear camera or a side camera or a front camera, the first camera can also be a single camera, a double camera or a plurality of cameras, the single camera can be an infrared camera or a visible light camera (a common visual angle camera or a wide angle camera), and the double cameras can be a common visual angle camera and a wide angle camera or an infrared camera and a visible light camera. As shown in fig. 3B, the electronic device may perform shooting through the first camera, obtain a first image, and display the first image on the display screen.
In specific implementation, when the first camera is a front camera, as shown in fig. 3C, the target object may be self-photographed, and the first camera may acquire the first image and may also acquire an eyeball fixation point of the target object in the first image.
In specific implementation, when the first camera is not a front camera, the electronic device may further include a second camera, which may be a front camera and may be used to implement an eye tracking function. As shown in fig. 3D, the first camera is used to capture the object to be captured to obtain a first image, and the first image is displayed on the display screen, and if the target object is gazing at the first image, the eyeball gazing point corresponding to the target object, that is, the first coordinate position of the current gazing point, can be determined in the first image.
In a possible example, before the step 301 obtains the first coordinate position of the current gaze point and the second coordinate position of the previous gaze point of the current gaze point, the method may further include the following steps:
c1, determining N fixation points on the screen, wherein N is an integer greater than 1;
c2, determining an accuracy value corresponding to the eyeball tracking and positioning corresponding to each fixation point in the N fixation points to obtain N accuracy values;
c3, determining an interpolation parameter corresponding to each precision value in the N precision values to obtain N interpolation parameters;
c4, carrying out interpolation operation on each pixel point of the screen according to the N interpolation parameters to obtain an eyeball tracking and positioning precision distribution map corresponding to the screen;
then, in step 31, obtaining the preset adjustment factor may be implemented as follows:
and determining the preset adjusting factor corresponding to the first coordinate position according to the mapping relation between the adjusting factors of the preset coordinate positions.
Wherein the interpolation parameter may be at least one of: the interpolation algorithm, the interpolation algorithm corresponding to the interpolation control parameter, the interpolation area parameter, etc., are not limited herein. Wherein, the interpolation algorithm may be at least one of the following: the interpolation control parameters corresponding to the interpolation algorithm may be understood as control parameters corresponding to the interpolation algorithm and adjustment parameters for adjusting the interpolation degree, the interpolation region parameters may be understood as a specific region range within which to perform interpolation, and the interpolation region parameters may include at least one of the following: the shape of the region, the position of the region, the area of the region, etc., are not limited thereto.
In the specific implementation, each gaze point corresponds to an actual attention position of an eyeball (pupil), and the predicted attention position calculated by the eyeball tracking algorithm, a certain deviation exists between the actual attention position and the predicted attention position, and the deviation determines an accuracy value corresponding to eyeball tracking positioning.
In addition, in a specific implementation, since the position corresponding to each precision value in the N precision values is not constant or the size of each precision value is different, the interpolation parameters are also different, so that the interpolation parameter corresponding to each precision value in the N precision values can be determined to obtain N interpolation parameters, each interpolation parameter in the N interpolation parameters can be responsible for performing interpolation operation on an independent area, and the N interpolation parameters can realize interpolation operation on the whole screen, thereby obtaining an eyeball tracking positioning precision distribution map corresponding to the screen.
Further, in this embodiment of the application, a mapping relationship between adjustment factors according to preset coordinate positions may be pre-stored in the electronic device, and then the preset adjustment factor corresponding to the first coordinate position may be determined according to the mapping relationship.
In one possible example, the step C2 of determining the accuracy value corresponding to the eye-tracking location corresponding to each gaze point of the N gaze points may include the following steps:
c21, determining a third coordinate position watched by the pupil corresponding to the gazing point i, wherein the gazing point i is any one of the N gazing points;
c22, determining a fourth coordinate position corresponding to the fixation point i and determined by a prestored eyeball tracking algorithm;
and C23, determining an accuracy value corresponding to the eyeball tracking location corresponding to the fixation point i according to the third coordinate position and the fourth coordinate position.
Wherein, the electronic device may pre-store an eyeball tracking algorithm for implementing eyeball positioning, taking the gaze point i as an example, the gaze point i is any one of N gaze points, the electronic device may determine a third coordinate position gazed by a pupil corresponding to the gaze point i, that is, a third coordinate position (actual gaze position) of the gaze point i, the electronic device may also determine a fourth coordinate position (predicted gaze position) corresponding to the gaze point i by the pre-stored eyeball tracking algorithm, and further may determine an accuracy value corresponding to the eyeball tracking positioning corresponding to the gaze point i according to the third coordinate position and the fourth coordinate position, for example, may calculate a target euclidean distance between the third coordinate position and the fourth coordinate position, determine an accuracy value corresponding to the target euclidean distance according to a mapping relationship between the preset euclidean distance and the accuracy value, in this way, an accuracy value between the actual gaze location and the gaze location predicted by the eye tracking algorithm may be determined.
In one possible example, in step C3, the determining an interpolation parameter corresponding to each of the N precision values to obtain N interpolation parameters may include the following steps:
c31, acquiring a target screen state parameter between an eyeball corresponding to an accuracy value j and the screen, wherein the accuracy value j is any one of the N accuracy values;
and C32, determining an interpolation parameter j corresponding to the target screen state parameter according to a mapping relation between preset screen state parameters and interpolation parameters.
In this embodiment of the present application, the screen state parameter may be at least one of the following: the size of the screen, the state of the screen, the distance between the gaze point and the pupil of the user, the angle between the gaze point and the pupil of the user, and the like, which are not limited herein. The screen state can be a horizontal screen state or a vertical screen state.
In a specific implementation, taking the precision value j as an example, the precision value j is any one of the N precision values. The electronic device can acquire a target screen state parameter between the eyeball and the screen corresponding to the precision value j, a preset mapping relation between the screen state parameter and the interpolation parameter can be stored in the electronic device in advance, the interpolation parameter j corresponding to the target screen state parameter can be further determined according to the preset mapping relation between the screen state parameter and the interpolation parameter, and by analogy, the interpolation parameter corresponding to each precision value can be determined.
In a possible example, in the step C4, performing an interpolation operation on each pixel point of the screen according to the N interpolation parameters to obtain the eye tracking and positioning accuracy distribution map corresponding to the screen may include the following steps:
c41, determining an interpolation region corresponding to each interpolation parameter in the N interpolation parameters to obtain N regions to be interpolated, wherein the N regions to be interpolated cover each pixel point of the screen;
and C42, performing interpolation operation on the N areas to be interpolated according to the N interpolation parameters and the N precision values to obtain an eyeball tracking and positioning precision distribution map corresponding to the screen.
The electronic device may determine a to-be-interpolated region corresponding to each interpolation parameter in the N interpolation parameters to obtain N to-be-interpolated regions, where the to-be-interpolated region may be planned in advance, each to-be-interpolated region corresponds to one gaze point, and a region within a certain range of each gaze point in the N gaze points may also be used as the to-be-interpolated region, and then, the N to-be-interpolated regions may be subjected to interpolation operation according to the N interpolation parameters and the N precision values to obtain an eyeball tracking and positioning precision distribution map corresponding to the screen, that is, the N to-be-interpolated regions may be subjected to interpolation operation with the precision values of the gaze points corresponding to the to-be-interpolated regions as references and with the corresponding interpolation parameters, and may quickly generate the eyeball tracking and positioning precision distribution map corresponding to the entire screen.
It can be seen that, in the method for eliminating jitter of a gazing point described in the embodiment of the present application, a first distance between a first coordinate position and a second coordinate position of a previous gazing point of a current gazing point is determined by obtaining the first coordinate position of the current gazing point and the second coordinate position of the previous gazing point of the current gazing point, low-pass filtering is performed on the first distance to obtain the second distance, a first adjustment coefficient for adjusting the low-pass filtering strength is determined according to the second distance, and a target coordinate position of the current gazing point corresponding to the first coordinate position is determined according to the first coordinate position, the first adjustment coefficient and the first distance.
Referring to fig. 4 in a manner consistent with the embodiment shown in fig. 3A, fig. 4 is a schematic flowchart of a method for eliminating a gaze point jitter provided by an embodiment of the present application, and as shown in the figure, the method for eliminating a gaze point jitter is applied to the electronic device shown in fig. 1 or fig. 2, and the method for eliminating a gaze point jitter includes:
401. and acquiring a first coordinate position of the current fixation point and a second coordinate position of a previous fixation point of the current fixation point.
402. A first distance between the first coordinate position and the second coordinate position is determined.
403. And judging whether the first distance is in a first preset range.
404. And when the first distance is within the first preset range, low-pass filtering is carried out on the first distance to obtain a second distance.
405. And determining a first adjusting coefficient for adjusting the low-pass filtering strength according to the second distance.
406. And determining a shake correction position corresponding to the first coordinate position according to the first coordinate position, the first adjustment coefficient and the first distance to obtain a target coordinate position of the current fixation point.
For the detailed description of steps 401 to 406, reference may be made to corresponding steps of the method for removing a view point jitter as described in fig. 3A, and details are not repeated here.
It can be seen that, in the method for eliminating the jitter of the gazing point described in the embodiment of the present application, by obtaining the first coordinate position of the current gazing point and the second coordinate position of the previous gazing point of the current gazing point, determining the first distance between the first coordinate position and the second coordinate position, determining whether the first distance is within the first preset range, performing low-pass filtering on the first distance when the first distance is within the first preset range to obtain the second distance, determining the first adjustment coefficient for adjusting the low-pass filtering strength according to the second distance, and determining the target coordinate position of the current gazing point corresponding to the first coordinate position according to the first coordinate position, the first adjustment coefficient, and the first distance, on one hand, whether the gazing point has jitter can be identified, and on the other hand, because the jitter elimination processing can be performed on the position of the current gazing point according to the position of the gazing point above the current gazing point, therefore, the user experience is improved by accurately determining the current fixation point.
In keeping with the above embodiments, please refer to fig. 5, fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present application, and as shown in the figure, the electronic device includes a processor, a memory, a communication interface, and one or more programs, the one or more programs are stored in the memory and configured to be executed by the processor, and in an embodiment of the present application, the programs include instructions for performing the following steps:
acquiring a first coordinate position of a current fixation point and a second coordinate position of a previous fixation point of the current fixation point;
determining a first distance between the first coordinate position and the second coordinate position;
low-pass filtering the first distance to obtain a second distance;
determining a first adjusting coefficient for adjusting the low-pass filtering strength according to the second distance;
and determining the target coordinate position of the current fixation point corresponding to the first coordinate position according to the first coordinate position, the first adjusting coefficient and the first distance.
It can be seen that, in the electronic device described in this embodiment of the present application, a first distance between a first coordinate position and a second coordinate position is determined by obtaining the first coordinate position of a current gaze point and the second coordinate position of a previous gaze point of the current gaze point, low-pass filtering is performed on the first distance to obtain the second distance, a first adjustment coefficient for adjusting the low-pass filtering strength is determined according to the second distance, a target coordinate position of the current gaze point corresponding to the first coordinate position is determined according to the first coordinate position, the first adjustment coefficient, and the first distance, and since jitter elimination processing can be performed on the position of the current gaze point according to the position of the previous gaze point of the current gaze point, the current gaze point can be accurately determined, and user experience is improved.
In one possible example, in said determining a first distance between said first coordinate location and said second coordinate location, the above program includes instructions for performing the steps of:
acquiring a low-pass filtering result corresponding to the second coordinate position;
acquiring the detection frequency of the position of the fixation point;
and determining the first distance according to the first coordinate position, the gazing point position detection frequency and the low-pass filtering result.
In one possible example, the program includes instructions for performing the following steps in terms of low-pass filtering the first distance to obtain a second distance:
acquiring a preset adjusting factor and a low-pass filtering distance of a distance between the second coordinate position and a previous watching point position;
determining a second adjusting coefficient for adjusting the low-pass filtering strength according to the detection frequency of the gazing point position and the preset adjusting factor;
and carrying out low-pass filtering on the first distance according to the second adjusting coefficient and the low-pass filtering distance to obtain the second distance.
In one possible example, in said determining a first adjustment factor for adjusting the low-pass filtering strength as a function of said second distance, the above procedure comprises instructions for:
acquiring a preset minimum critical value and a target scaling factor required for adjusting the low-pass filtering strength;
determining a target critical value according to the preset minimum critical value, the target scaling factor and the second distance;
and determining the first adjusting coefficient according to the detection frequency of the gazing point position and the target critical value.
In one possible example, the program further includes instructions for performing the steps of:
judging whether the first distance is in a first preset range or not;
and when the first distance is within the first preset range, performing low-pass filtering on the first distance to obtain a second distance.
In one possible example, the program further includes instructions for performing the steps of:
determining a jitter offset of the electronic device;
and when the jitter offset is in a second preset range, executing the step of acquiring the first coordinate position of the current fixation point and the second coordinate position of the last fixation point of the current fixation point.
In one possible example, in the determining the jitter offset of the electronic device, the program includes instructions for performing the steps of:
acquiring a jitter variation curve of the electronic equipment in a preset time period, wherein the horizontal axis of the jitter variation curve is time, and the vertical axis of the jitter variation curve is amplitude;
sampling the jitter variation curve to obtain a plurality of amplitudes;
determining an average amplitude value according to the plurality of amplitude values;
determining a first offset corresponding to the average amplitude according to a preset mapping relation between the amplitude and the offset;
performing mean square error operation according to the plurality of amplitude values to obtain a target mean square error;
determining a target adjustment coefficient corresponding to the target mean square error according to a mapping relation between a preset mean square error and an adjustment coefficient;
and adjusting the first offset according to the target adjustment coefficient to obtain the jitter offset of the electronic equipment.
The above description has introduced the solution of the embodiment of the present application mainly from the perspective of the method-side implementation process. It is understood that the electronic device comprises corresponding hardware structures and/or software modules for performing the respective functions in order to realize the above-mentioned functions. Those of skill in the art will readily appreciate that the present application is capable of hardware or a combination of hardware and computer software implementing the various illustrative elements and algorithm steps described in connection with the embodiments provided herein. Whether a function is performed as hardware or computer software drives hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiment of the present application, the electronic device may be divided into the functional units according to the method example, for example, each functional unit may be divided corresponding to each function, or two or more functions may be integrated into one processing unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit. It should be noted that the division of the unit in the embodiment of the present application is schematic, and is only a logic function division, and there may be another division manner in actual implementation.
Fig. 6A is a block diagram of functional units of a gaze point jitter removing apparatus 600 according to an embodiment of the present application. The apparatus 600 for eliminating the eye gaze point jitter is applied to an electronic device, and the apparatus 600 may include: an acquisition unit 601, a first determination unit 602, a filtering unit 603, a second determination unit 604 and a third determination unit 605, wherein,
the acquiring unit 601 is configured to acquire a first coordinate position of a current gaze point and a second coordinate position of a previous gaze point of the current gaze point;
the first determining unit 602 is configured to determine a first distance between the first coordinate position and the second coordinate position;
the filtering unit 603 is configured to perform low-pass filtering on the first distance to obtain a second distance;
the second determining unit 604 is configured to determine a first adjusting coefficient for adjusting the low-pass filtering strength according to the second distance;
the third determining unit 605 is configured to determine the target coordinate position of the current gazing point corresponding to the first coordinate position according to the first coordinate position, the first adjusting coefficient, and the first distance.
It can be seen that, in the device for eliminating jitter of a gazing point described in the embodiment of the present application, a first distance between a first coordinate position and a second coordinate position of a previous gazing point of a current gazing point is determined by obtaining the first coordinate position of the current gazing point and the second coordinate position of the previous gazing point of the current gazing point, a low-pass filtering is performed on the first distance to obtain the second distance, a first adjustment coefficient for adjusting the low-pass filtering strength is determined according to the second distance, and a target coordinate position of the current gazing point corresponding to the first coordinate position is determined according to the first coordinate position, the first adjustment coefficient and the first distance.
In one possible example, in terms of the determining the first distance between the first coordinate position and the second coordinate position, the first determining unit 602 is specifically configured to:
acquiring a low-pass filtering result corresponding to the second coordinate position;
acquiring the detection frequency of the position of the fixation point;
and determining the first distance according to the first coordinate position, the gazing point position detection frequency and the low-pass filtering result.
In a possible example, in terms of the low-pass filtering the first distance to obtain the second distance, the filtering unit 603 is specifically configured to:
acquiring a preset adjusting factor and a low-pass filtering distance of a distance between the second coordinate position and a previous watching point position;
determining a second adjusting coefficient for adjusting the low-pass filtering strength according to the detection frequency of the gazing point position and the preset adjusting factor;
and carrying out low-pass filtering on the first distance according to the second adjusting coefficient and the low-pass filtering distance to obtain the second distance.
In one possible example, in the aspect of determining the first adjusting coefficient for adjusting the low-pass filtering strength according to the second distance, the second determining unit 604 is specifically configured to:
acquiring a preset minimum critical value and a target scaling factor required for adjusting the low-pass filtering strength;
determining a target critical value according to the preset minimum critical value, the target scaling factor and the second distance;
and determining the first adjusting coefficient according to the detection frequency of the gazing point position and the target critical value.
In one possible example, as shown in fig. 6B, fig. 6B is a further modified structure of the gaze point jitter removing device shown in fig. 6A, which may further include, compared to fig. 6A: the determining unit 606 is specifically as follows:
the judging unit 606 is configured to judge whether the first distance is within a first preset range;
and when the first distance is within the first preset range, the filtering unit 603 performs the step of performing low-pass filtering on the first distance to obtain a second distance.
In one possible example, as shown in fig. 6C, fig. 6C is a further modified structure of the gaze point jitter removing device shown in fig. 6A, which may further include, compared to fig. 6A: the fourth determination unit 607 is specifically as follows:
the fourth determining unit 607, configured to determine a jitter offset of the electronic device;
the step of acquiring the first coordinate position of the current gaze point and the second coordinate position of the previous gaze point of the current gaze point is performed by the acquiring unit 601 when the jitter offset is in the second preset range.
Further, in a possible example, in the aspect of determining the jitter offset of the electronic device, the fourth determining unit 607 is specifically configured to:
acquiring a jitter variation curve of the electronic equipment in a preset time period, wherein the horizontal axis of the jitter variation curve is time, and the vertical axis of the jitter variation curve is amplitude;
sampling the jitter variation curve to obtain a plurality of amplitudes;
determining an average amplitude value according to the plurality of amplitude values;
determining a first offset corresponding to the average amplitude according to a preset mapping relation between the amplitude and the offset;
performing mean square error operation according to the plurality of amplitude values to obtain a target mean square error;
determining a target adjustment coefficient corresponding to the target mean square error according to a mapping relation between a preset mean square error and an adjustment coefficient;
and adjusting the first offset according to the target adjustment coefficient to obtain the jitter offset of the electronic equipment.
Embodiments of the present application also provide a computer storage medium, where the computer storage medium stores a computer program for electronic data exchange, the computer program enabling a computer to execute part or all of the steps of any one of the methods described in the above method embodiments, and the computer includes an electronic device.
Embodiments of the present application also provide a computer program product comprising a non-transitory computer readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps of any of the methods as described in the above method embodiments. The computer program product may be a software installation package, the computer comprising an electronic device.
It should be noted that, for simplicity of description, the above-mentioned method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present application is not limited by the order of acts described, as some steps may occur in other orders or concurrently depending on the application. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required in this application.
In the foregoing embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus may be implemented in other manners. For example, the above-described embodiments of the apparatus are merely illustrative, and for example, the above-described division of the units is only one type of division of logical functions, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection of some interfaces, devices or units, and may be an electric or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit may be stored in a computer readable memory if it is implemented in the form of a software functional unit and sold or used as a stand-alone product. Based on such understanding, the technical solution of the present application may be substantially implemented or a part of or all or part of the technical solution contributing to the prior art may be embodied in the form of a software product stored in a memory, and including several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the above-mentioned method of the embodiments of the present application. And the aforementioned memory comprises: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
Those skilled in the art will appreciate that all or part of the steps in the methods of the above embodiments may be implemented by associated hardware instructed by a program, which may be stored in a computer-readable memory, which may include: flash Memory disks, Read-Only memories (ROMs), Random Access Memories (RAMs), magnetic or optical disks, and the like.
The foregoing detailed description of the embodiments of the present application has been presented to illustrate the principles and implementations of the present application, and the above description of the embodiments is only provided to help understand the method and the core concept of the present application; meanwhile, for a person skilled in the art, according to the idea of the present application, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present application.

Claims (10)

1. A method for eliminating a view point shake, the method comprising:
acquiring a first coordinate position of a current fixation point and a second coordinate position of a previous fixation point of the current fixation point;
determining a first distance between the first coordinate position and the second coordinate position;
low-pass filtering the first distance to obtain a second distance;
determining a first adjusting coefficient for adjusting the low-pass filtering strength according to the second distance;
and determining the target coordinate position of the current fixation point corresponding to the first coordinate position according to the first coordinate position, the first adjusting coefficient and the first distance.
2. The method of claim 1, wherein the determining a first distance between the first coordinate location and the second coordinate location comprises:
acquiring a low-pass filtering result corresponding to the second coordinate position;
acquiring the detection frequency of the position of the fixation point;
and determining the first distance according to the first coordinate position, the gazing point position detection frequency and the low-pass filtering result.
3. The method of claim 2, wherein low pass filtering the first distance to obtain a second distance comprises:
acquiring a preset adjusting factor and a low-pass filtering distance of a distance between the second coordinate position and a previous watching point position;
determining a second adjusting coefficient for adjusting the low-pass filtering strength according to the detection frequency of the gazing point position and the preset adjusting factor;
and carrying out low-pass filtering on the first distance according to the second adjusting coefficient and the low-pass filtering distance to obtain the second distance.
4. The method according to claim 2 or 3, wherein determining a first adjustment factor for adjusting the low-pass filtering strength according to the second distance comprises:
acquiring a preset minimum critical value and a target scaling factor required for adjusting the low-pass filtering strength;
determining a target critical value according to the preset minimum critical value, the target scaling factor and the second distance;
and determining the first adjusting coefficient according to the detection frequency of the gazing point position and the target critical value.
5. The method according to any one of claims 1-4, further comprising:
judging whether the first distance is in a first preset range or not;
and when the first distance is within the first preset range, performing low-pass filtering on the first distance to obtain a second distance.
6. The method according to any one of claims 1-5, characterized in that the method further comprises:
determining a jitter offset of the electronic device;
and when the jitter offset is in a second preset range, executing the step of acquiring the first coordinate position of the current fixation point and the second coordinate position of the last fixation point of the current fixation point.
7. The method of claim 6, wherein determining the jitter offset of the electronic device comprises:
acquiring a jitter variation curve of the electronic equipment in a preset time period, wherein the horizontal axis of the jitter variation curve is time, and the vertical axis of the jitter variation curve is amplitude;
sampling the jitter variation curve to obtain a plurality of amplitudes;
determining an average amplitude value according to the plurality of amplitude values;
determining a first offset corresponding to the average amplitude according to a preset mapping relation between the amplitude and the offset;
performing mean square error operation according to the plurality of amplitude values to obtain a target mean square error;
determining a target adjustment coefficient corresponding to the target mean square error according to a mapping relation between a preset mean square error and an adjustment coefficient;
and adjusting the first offset according to the target adjustment coefficient to obtain the jitter offset of the electronic equipment.
8. A gaze point shake elimination apparatus, characterized in that the apparatus comprises: an obtaining unit, a first determining unit, a filtering unit, a second determining unit and a third determining unit, wherein,
the acquisition unit is used for acquiring a first coordinate position of a current fixation point and a second coordinate position of a previous fixation point of the current fixation point;
the first determining unit is used for determining a first distance between the first coordinate position and the second coordinate position;
the filtering unit is used for carrying out low-pass filtering on the first distance to obtain a second distance;
the second determining unit is used for determining a first adjusting coefficient for adjusting the low-pass filtering strength according to the second distance;
the third determining unit is configured to determine a target coordinate position of the current gaze point corresponding to the first coordinate position according to the first coordinate position, the first adjustment coefficient, and the first distance.
9. An electronic device comprising a processor, a memory, a communication interface, and one or more programs stored in the memory and configured to be executed by the processor, the programs comprising instructions for performing the steps in the method of any of claims 1-7.
10. A computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program which is executed by a processor to implement the method of any one of claims 1 to 7.
CN202010393282.1A 2020-05-11 2020-05-11 Gaze point shake eliminating method, gaze point shake eliminating device and storage medium Active CN111552389B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010393282.1A CN111552389B (en) 2020-05-11 2020-05-11 Gaze point shake eliminating method, gaze point shake eliminating device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010393282.1A CN111552389B (en) 2020-05-11 2020-05-11 Gaze point shake eliminating method, gaze point shake eliminating device and storage medium

Publications (2)

Publication Number Publication Date
CN111552389A true CN111552389A (en) 2020-08-18
CN111552389B CN111552389B (en) 2023-04-28

Family

ID=72002716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010393282.1A Active CN111552389B (en) 2020-05-11 2020-05-11 Gaze point shake eliminating method, gaze point shake eliminating device and storage medium

Country Status (1)

Country Link
CN (1) CN111552389B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112672058A (en) * 2020-12-26 2021-04-16 维沃移动通信有限公司 Shooting method and device
CN113658083A (en) * 2021-10-19 2021-11-16 广东唯仁医疗科技有限公司 Eyeball image noise elimination method, system, device and medium
CN113766133A (en) * 2021-09-17 2021-12-07 维沃移动通信有限公司 Video recording method and device
CN114079728A (en) * 2020-08-19 2022-02-22 Oppo广东移动通信有限公司 Shooting anti-shake method and device, electronic equipment and storage medium
CN114911445A (en) * 2022-05-16 2022-08-16 歌尔股份有限公司 Display control method of virtual reality device, and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013217834A (en) * 2012-04-11 2013-10-24 Furuno Electric Co Ltd Target motion estimating device, target motion estimating method, and radar device
KR20150025041A (en) * 2013-08-28 2015-03-10 삼성전자주식회사 Method and its apparatus for controlling a mouse cursor using eye recognition
CN104951084A (en) * 2015-07-30 2015-09-30 京东方科技集团股份有限公司 Eye-tracking method and device
CN108989688A (en) * 2018-09-14 2018-12-11 成都数字天空科技有限公司 Virtual camera anti-fluttering method, device, electronic equipment and readable storage medium storing program for executing
CN110969116A (en) * 2019-11-28 2020-04-07 Oppo广东移动通信有限公司 Method for determining gazing point position and related device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013217834A (en) * 2012-04-11 2013-10-24 Furuno Electric Co Ltd Target motion estimating device, target motion estimating method, and radar device
KR20150025041A (en) * 2013-08-28 2015-03-10 삼성전자주식회사 Method and its apparatus for controlling a mouse cursor using eye recognition
CN104951084A (en) * 2015-07-30 2015-09-30 京东方科技集团股份有限公司 Eye-tracking method and device
CN108989688A (en) * 2018-09-14 2018-12-11 成都数字天空科技有限公司 Virtual camera anti-fluttering method, device, electronic equipment and readable storage medium storing program for executing
CN110969116A (en) * 2019-11-28 2020-04-07 Oppo广东移动通信有限公司 Method for determining gazing point position and related device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114079728A (en) * 2020-08-19 2022-02-22 Oppo广东移动通信有限公司 Shooting anti-shake method and device, electronic equipment and storage medium
CN112672058A (en) * 2020-12-26 2021-04-16 维沃移动通信有限公司 Shooting method and device
CN113766133A (en) * 2021-09-17 2021-12-07 维沃移动通信有限公司 Video recording method and device
CN113658083A (en) * 2021-10-19 2021-11-16 广东唯仁医疗科技有限公司 Eyeball image noise elimination method, system, device and medium
CN114911445A (en) * 2022-05-16 2022-08-16 歌尔股份有限公司 Display control method of virtual reality device, and storage medium

Also Published As

Publication number Publication date
CN111552389B (en) 2023-04-28

Similar Documents

Publication Publication Date Title
CN111510630B (en) Image processing method, device and storage medium
CN111552389A (en) Method and device for eliminating fixation point jitter and storage medium
EP3454255B1 (en) Facial recognition method and related product
WO2022179376A1 (en) Gesture control method and apparatus, and electronic device and storage medium
KR102433293B1 (en) Electronic device and operating method thereof
EP3998112A1 (en) Application running mehod and electronic device
CN112799508A (en) Display method and device, electronic equipment and storage medium
WO2022027972A1 (en) Device searching method and electronic device
CN113934330A (en) Screen capturing method and electronic equipment
US20220262074A1 (en) Interaction Method in Virtual Reality Scenario and Apparatus
US9584728B2 (en) Apparatus and method for displaying an image in an electronic device
WO2022105702A1 (en) Method and electronic device for saving image
CN113395438B (en) Image correction method and related device for eyeball tracking technology
CN110930372A (en) Image processing method, electronic equipment and computer readable storage medium
WO2022089625A1 (en) Augmented reality function control method and electronic device
CN115150542B (en) Video anti-shake method and related equipment
CN113325948B (en) Air-isolated gesture adjusting method and terminal
US11164388B2 (en) Electronic device and method for providing augmented reality object therefor
CN107872619B (en) Photographing processing method, device and equipment
CN113311937A (en) Calibration method for eyeball tracking and related device
CN114519891A (en) Backlight adjusting method and device and storage medium
CN112748797A (en) Eyeball tracking method and related equipment
WO2023207862A1 (en) Method and apparatus for determining head posture
WO2022222702A1 (en) Screen unlocking method and electronic device
EP4329320A1 (en) Method and apparatus for video playback

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant