Object identification method and device

CN119312121APending Publication Date: 2025-01-14HONOR DEVICE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310863201.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-12
Publication Date
2025-01-14

AI Technical Summary

Technical Problem

There is a lack of effective methods in the prior art to detect whether the user of the terminal device is a minor, especially when the minor uses the terminal device for recharge or game operations without the consent of the guardian, it is difficult to identify and restrict behavior.

Method used

By analyzing the historical application usage records of the terminal device, the target application is determined, and a feature vector is generated based on the application name and classification code, and input it into the identification model to predict whether the user is a minor. This method uses a bidirectional gated recurrent unit network recognition model, combining the first and second coded dictionaries to distinguish application usage habits of minors and adults.

Benefits of technology

It realizes accurate identification of minor users based on short-term application usage, effectively limits minors' misbehavior on terminal devices, and improves the accuracy and security of user identity authentication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119312121A_ABST
    Figure CN119312121A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an object recognition method and device, and the method comprises the steps: determining at least one target application entering a foreground for operation in a historical time period according to an application use record of terminal equipment in the historical time period; and for any target application, according to the application name of the target application and the at least one coding dictionary, coding information of the target application is determined, and the coding information comprises a name code of the target application and / or a classification code to which the target application belongs. According to the coding information of each target application and the opening time of each target application, determining a feature vector; and inputting the feature vector into a recognition model to obtain a recognition result output by the recognition model, the recognition result being used for indicating whether the user using the terminal device is a juvenile user and / or the predicted age of the user using the terminal device. According to the technical scheme, juvenile users can be effectively and accurately identified based on short-term application use conditions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of terminal technology, and in particular to an object recognition method and device. Background Art

[0002] With the continuous development of terminal equipment technology, the users of terminal equipment are becoming more and more extensive, and the users can include people of all ages.

[0003] Among the users of all age groups, the use of terminal devices by minors is particularly noteworthy, so it is particularly important to detect whether the user currently using the terminal device is a minor. Currently, there is no effective solution in the relevant technology to detect whether the user using the terminal device is a minor. Summary of the invention

[0004] The embodiments of the present application provide an object recognition method and device, which are applied in the field of terminal technology.

[0005] In a first aspect, an embodiment of the present application provides an object recognition method. The method comprises:

[0006] Determine, based on the application usage record of the terminal device in the historical period, at least one target application that entered the foreground and ran in the historical period;

[0007] For any of the target applications, determine the coding information of the target application according to the application name of the target application and at least one coding dictionary, the coding information including the name code of the target application and / or the category code to which the target application belongs;

[0008] Determining a feature vector according to the encoding information of each target application and the opening time of each target application;

[0009] The feature vector is input into a recognition model to obtain a recognition result output by the recognition model, wherein the recognition result is used to indicate whether the user using the terminal device is a minor user and / or the predicted age of the user using the terminal device.

[0010] In this implementation, the name and category of the target application are encoded to obtain the coding information of the target application, and then a feature vector that can reflect the application itself, the category of the application, and the opening time of the application is obtained based on the coding information of the target application and the opening time of the target application. Then, by inputting the feature vector into the recognition model, the recognition result of the underage user output by the recognition model can be obtained, thereby effectively and accurately identifying underage users based on short-term application usage.

[0011] In some implementations, the at least one coding dictionary includes a first coding dictionary and a second coding dictionary, the first coding dictionary includes first name codes corresponding to M applications and at least one classification code, the second coding dictionary includes second name codes corresponding to N applications, the M and the N are integers greater than or equal to 1, and the M is greater than the N;

[0012] The determining the encoding information of the target application according to the name information of the target application and the encoding dictionary includes:

[0013] According to the name information of the target application, searching the first coding information of the target application in the first coding dictionary, the first coding information including the first name code of the target application and the category code to which the target application belongs;

[0014] According to the name information of the target application, second encoding information of the target application is searched in the second encoding dictionary, where the second encoding information includes a second name code of the target application.

[0015] In this implementation, by determining the first coding information and the second coding information of the target application through a first coding dictionary that includes applications commonly used by all users and a second coding dictionary that includes applications commonly used by underage users but not commonly used by all users, it is possible to effectively determine an application that can distinguish between minors and adults.

[0016] In some implementations, the method further includes:

[0017] Acquire at least one differentiated application, wherein a usage frequency of the differentiated application corresponding to a minor user group is greater than a usage frequency of the differentiated application corresponding to an adult user group;

[0018] Encoding the application names of the differentiated applications respectively to obtain second name codes corresponding to the differentiated applications;

[0019] The second coding dictionary is determined according to the second name codes corresponding to the differentiated applications.

[0020] In this implementation, differentiated applications are determined by the usage frequency of the applications in different groups, and then a second coding dictionary is generated based on the differentiated applications, thereby effectively ensuring that the second coding dictionary contains applications that can effectively identify minors.

[0021] In some implementations, there are multiple application usage records, and any one of the application usage records includes a foreground flag, which is used to indicate that the application enters the foreground or exits the foreground;

[0022] The step of determining, based on the application usage record of the terminal device in the historical period, at least one target application that entered the foreground and ran in the historical period includes:

[0023] According to the foreground flags in the application usage records within the historical period, an application whose foreground flag indicates that the application has entered the foreground is determined as the target application.

[0024] In this implementation, the foreground flag can be used to quickly and efficiently filter out target applications that enter the foreground.

[0025] In some implementations, the application usage record also includes at least one of the following information: application name, application identifier, and opening time;

[0026] Before determining the encoding information of any of the target applications according to the application name of the target application and at least one encoding dictionary, the method further includes:

[0027] For any of the target applications, the application name and opening time of the target application are obtained according to the application usage record of the target application.

[0028] In some implementations, determining the feature vector according to the encoding information of each target application and the opening time of each target application includes:

[0029] Characteristic encoding is performed on the opening time of each of the target applications to obtain the time characteristics of the target application;

[0030] Setting the usage flag corresponding to each of the target applications to a first flag bit, where the first flag bit is used to indicate that the target application is an actually opened application;

[0031] A feature vector is determined according to the coding information of each target application, the time characteristics of each target application, and the usage flag corresponding to each application.

[0032] In some implementations, determining the feature vector according to the encoding information of each of the target applications, the time characteristics of each of the target applications, and the usage flags corresponding to each of the applications includes:

[0033] If the number of the target applications is less than the preset number, a vector consisting of the coding information of each target application, the time characteristics of each target application and the usage flags corresponding to each application is determined as the feature vector; or,

[0034] If the number of the target applications is less than a preset number, an initial vector is determined based on the encoding information of each target application, the time characteristics of each target application, and the usage flag corresponding to each application; and a zero-filling operation is performed on the basis of the initial vector to obtain the feature vector so that the dimension of the feature vector is the preset dimension.

[0035] In this implementation, the nearest preset number of target applications is screened to ensure the real-time data of the determined target applications. When the number of target applications is less than the preset number, the dimension of the feature vector is ensured to be the preset dimension by padding with 0, so as to effectively meet the input data format of the recognition model and ensure data standardization.

[0036] In some implementations, the recognition model is a bidirectional gated recurrent unit network.

[0037] In a second aspect, an embodiment of the present application provides a terminal device, which may also be referred to as a terminal, user equipment (UE), mobile station (MS), mobile terminal (MT), etc. The terminal device may be a mobile phone, a smart TV, a wearable device, a tablet computer (Pad), a computer with wireless transceiver function, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical surgery, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city, a wireless terminal in smart home, etc.

[0038] The terminal device comprises: a processor and a memory; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory, so that the terminal device executes the method of the first aspect.

[0039] In a third aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program. When the computer program is executed by a processor, the method of the first aspect is implemented.

[0040] In a fourth aspect, an embodiment of the present application provides a computer program product, which includes a computer program. When the computer program is executed, the computer executes the method of the first aspect.

[0041] In a fifth aspect, an embodiment of the present application provides a chip, the chip including a processor, the processor being used to call a computer program in a memory to execute the method described in the first aspect.

[0042] It should be understood that the second to fifth aspects of the present application correspond to the technical solutions of the first aspect of the present application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation methods are similar and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] Figure 1 A schematic diagram of the hardware structure of a terminal device provided in an embodiment of the present application;

[0044] Figure 2 A software structure block diagram of a terminal device according to an embodiment of the present application;

[0045] Figure 3 A flowchart of an object recognition method provided in an embodiment of the present application;

[0046] Figure 4 A schematic diagram of an application usage record provided in an embodiment of the present application;

[0047] Figure 5 The process of the object recognition method provided in the embodiment of the present application Figure 2 ;

[0048] Figure 6 A schematic diagram of application classification provided for an embodiment of the present application;

[0049] Figure 7 A schematic diagram of a first coding dictionary provided in an embodiment of the present application;

[0050] Figure 8 A schematic diagram of a second coding dictionary provided in an embodiment of the present application;

[0051] Fig. 9 A flowchart of an object recognition method provided in an embodiment of the present application;

[0052] Fig.10 A schematic diagram of the structure of a bidirectional cyclic network provided in an embodiment of the present application;

[0053] Fig.11 A schematic diagram of the structure of the GRU network provided in the embodiment of the present application;

[0054] Fig.12 A schematic diagram of the identity authentication interface provided in the embodiment of the present application;

[0055] Fig.13 A schematic diagram of the payment cancellation interface provided in an embodiment of the present application. DETAILED DESCRIPTION

[0056] In order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" in the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0057] In the embodiments of the present application, "at least one" refers to one or more, and "plurality" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple.

[0058] It should be noted that the "at..." in the embodiment of the present application can be the instant when a certain situation occurs, or a period of time after a certain situation occurs, and the embodiment of the present application does not specifically limit this. In addition, the display interface provided in the embodiment of the present application is only an example, and the display interface can also include more or less content.

[0059] With the continuous development of terminal device technology, the user population of terminal devices is becoming more and more extensive, including people of all ages, such as minors and adults, among which the adult population can be further divided into young people and old people.

[0060] Among the users of all ages, the use of terminal devices by minors is particularly noteworthy. For example, recharge functions are commonly found in various applications. If minors use the guardian's terminal device and the guardian's account to recharge in the application without the guardian's knowledge, controversial payment behavior will occur. Whether it is a recharge application that provides recharge services or a payment application that provides payment services, because the guardian's compliant account is used throughout the payment process, it is impossible to identify the user who actually made the payment as a minor through the account type.

[0061] For another example, there are some gaming applications that can set usage time and game content restrictions for minors. However, if the minor uses the guardian's terminal device and the guardian's account to play without the guardian's knowledge, the above restrictions can be avoided. Similarly, gaming applications cannot identify the user who actually operates the terminal device as a minor through the account type.

[0062] Therefore, it is particularly important to detect whether the user currently using the terminal device is a minor. There is no effective solution for detecting underage users during the use of terminal devices in the current related technologies.

[0063] In response to the problems in the prior art, the present application proposes the following technical concept: because users of different ages have different usage habits for applications in terminal devices, for example, adults and minors also have differences in application usage habits, therefore, it is possible to predict whether the user currently using the terminal device is a minor by using multiple application usage records within a historical period.

[0064] For example, Figure 1 A schematic diagram of the hardware structure of a terminal device provided in an embodiment of the present application is shown.

[0065] The terminal device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0066] It is understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the terminal device 100. In other embodiments of the present application, the terminal device 100 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0067] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (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. Different processing units may be independent devices or integrated into one or more processors.

[0068] The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.

[0069] The processor 110 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be called from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0070] In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuits sound (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, etc.

[0071] It is understandable that the interface connection relationship between the modules illustrated in the embodiment of the present application is a schematic illustration and does not constitute a structural limitation on the terminal device 100. In other embodiments of the present application, the terminal device 100 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.

[0072] The terminal device 100 implements the display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs, which execute program instructions to generate or change display information.

[0073] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the terminal device 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.

[0074] The terminal device 100 can realize the shooting function through ISP, camera 193, video codec, GPU, display screen 194 and application processor.

[0075] ISP is used to process the data fed back by camera 193. For example, when taking a photo, the shutter is opened, and the light is transmitted to the camera photosensitive element through the lens. The light signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to ISP for processing and converts it into an image visible to the naked eye. ISP can also perform algorithm optimization on the noise, brightness, and skin color of the image. ISP can also optimize the exposure, color temperature and other parameters of the shooting scene. In some embodiments, ISP can be set in camera 193.

[0076] The camera 193 is used to capture still images or videos. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, and then passes the electrical signal to the ISP to be converted into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format. In some embodiments, the terminal device 100 may include 1 or N cameras 193, where N is a positive integer greater than 1.

[0077] The digital signal processor is used to process digital signals, and can process not only digital image signals but also other digital signals. For example, when the terminal device 100 is selecting a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.

[0078] Video codecs are used to compress or decompress digital videos. The terminal device 100 may support one or more video codecs. Thus, the terminal device 100 may play or record videos in various coding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.

[0079] NPU is a neural network (NN) computing processor. By drawing on the structure of biological neural networks, such as the transmission mode between neurons in the human brain, it can quickly process input information and can also continuously self-learn. Through NPU, applications such as intelligent cognition of the terminal device 100 can be realized, such as image recognition, face recognition, voice recognition, text understanding, etc.

[0080] The gyroscope sensor 180B can be used to determine the motion posture of the terminal device 100. In some embodiments, the angular velocity of the terminal device 100 around three axes (i.e., x, y, and z axes) can be determined by the gyroscope sensor 180B. The gyroscope sensor 180B can be used for anti-shake shooting. For example, when the shutter is pressed, the gyroscope sensor 180B detects the angle of the terminal device 100 shaking, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to offset the shaking of the terminal device 100 through reverse movement to achieve anti-shake. The gyroscope sensor 180B can also be used for navigation and somatosensory game scenes.

[0081] Gyro sensor 180B is used to collect angle change data. Gyro sensor 180B is used to collect angle data.

[0082] The acceleration sensor 180E can detect the magnitude of the acceleration of the terminal device 100 in all directions (generally three axes). When the terminal device 100 is stationary, the magnitude and direction of gravity can be detected. It can also be used to identify the posture of the terminal device and applied to applications such as horizontal and vertical screen switching and pedometers.

[0083] The acceleration change data is collected based on the acceleration sensor 180E. The terminal device determines the posture change information of the terminal device based on the acceleration change data collected by the acceleration sensor 180E.

[0084] The terminal device determines the screen direction based on the angle data collected by the gyro sensor 180B.

[0085] The terminal device determines the posture change information of the terminal device based on the angle change data collected by the gyroscope sensor 180B. Alternatively, the terminal device determines the posture change information of the terminal device based on the acceleration change data collected by the acceleration sensor 180E. Alternatively, the terminal device determines the posture change information of the terminal device based on the angle change data collected by the gyroscope sensor 180B and the acceleration change data collected by the acceleration sensor 180E.

[0086] The proximity light sensor 180G may include, for example, a light emitting diode (LED) and a light detector, such as a photodiode. The light emitting diode may be an infrared light emitting diode. The terminal device 100 emits infrared light outward through the light emitting diode. The terminal device 100 uses a photodiode to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the terminal device 100. When insufficient reflected light is detected, the terminal device 100 can determine that there is no object near the terminal device 100. The terminal device 100 can use the proximity light sensor 180G to detect that the user holds the terminal device 100 close to the ear to talk, so as to automatically turn off the screen to save power. The proximity light sensor 180G can also be used in leather case mode, and pocket mode automatically unlocks and locks the screen.

[0087] The proximity light sensor 180G collects proximity light data. The terminal device determines proximity light information based on the proximity light data collected by the light sensor 180G.

[0088] The ambient light sensor 180L is used to sense the ambient light brightness. The terminal device 100 can adaptively adjust the brightness of the display screen 194 according to the perceived ambient light brightness. The ambient light sensor 180L can also be used to automatically adjust the white balance when taking pictures. The ambient light sensor 180L can also cooperate with the proximity light sensor 180G to detect whether the terminal device 100 is in a pocket to prevent accidental touch.

[0089] The ambient light sensor 180L collects ambient light data. The terminal device determines ambient light information based on the ambient light data collected by the ambient light sensor 180L.

[0090] The software system of the terminal device 100 may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture, etc. The embodiment of the present application takes the Android system of the layered architecture as an example to exemplify the software structure of the terminal device 100.

[0091] Figure 2 This is a software structure block diagram of the terminal device 100 according to an embodiment of the present application.

[0092] The layered architecture divides the software into several layers, each with clear roles and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system library, and the kernel layer.

[0093] The application layer can include a series of application packages.

[0094] like Figure 2 As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, wireless local area network (WLAN), Bluetooth, music, video, short message, lock screen application, setting application, etc. Of course, the application layer may also include other application packages, such as payment application, shopping application, banking application, game application, social application and other third-party applications, which are not limited in this application. Among them, the third-party application may have functions such as face recognition, video call, scanning, photo taking and video recording.

[0095] In this embodiment, the target application can be Figure 2 The payment application or game application shown in FIG.

[0096] And reference Figure 2 The application layer in this embodiment also includes an identification unit, where the identification unit is used to execute the minor identification process introduced in the above embodiments. The specific processing flow of the identification unit can refer to the introduction of each embodiment in this application.

[0097] The application framework layer provides an application programming interface (API) and a programming framework for the applications in the application layer. The application framework layer includes some predefined functions.

[0098] like Figure 2 As shown, the application framework layer may include a window manager, a content provider, a resource manager, a view system, a notification manager, an activity manager, and the like.

[0099] The window manager is used to manage window programs. The window manager can obtain the display size, determine whether there is a status bar, lock the screen, touch the screen, drag the screen, capture the screen, etc.

[0100] Content providers are used to store and retrieve data and make it accessible to applications. The data can include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.

[0101] The view system includes visual controls, such as controls for displaying text, controls for displaying images, etc. The view system can be used to build applications. A display interface can be composed of one or more views. For example, a display interface including a text notification icon can include a view for displaying text and a view for displaying images.

[0102] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.

[0103] The notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, such as notifications of applications running in the background, or a notification that appears on the screen in the form of a dialog window. For example, a text message is displayed in the status bar, a prompt sound is emitted, the terminal device vibrates, the indicator light flashes, etc.

[0104] Android runtime includes core libraries and virtual machines. Android runtime is responsible for scheduling and management of the Android system.

[0105] The core library consists of two parts: one part is the function that needs to be called by the Java language, and the other part is the Android core library.

[0106] The application layer and the application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.

[0107] The kernel layer is the layer between hardware and software. The kernel layer contains at least display driver, camera driver, audio driver, and sensor driver.

[0108] Based on the above introduction, the object recognition method provided by the present application is described below in conjunction with specific embodiments. Figure 3 and Figure 4 To explain, Figure 3 A flowchart of an object recognition method provided in an embodiment of the present application, Figure 4 A schematic diagram of an application usage record provided in an embodiment of the present application.

[0109] like Figure 3 As shown, the method includes:

[0110] S301. Determine at least one target application that entered the foreground and ran in the historical period according to the application usage record of the terminal device in the historical period.

[0111] In this embodiment, the terminal device can record the usage information of the application. For example, the terminal device can record the usage information when the application is opened or exited, and correspondingly the application usage record mentioned in this embodiment can be obtained.

[0112] In a possible implementation, there may be multiple application usage records, each of which may include at least one of the following information: application name, application identifier, opening time, and foreground flag.

[0113] In this embodiment, the application name can be the name of the application itself, or can also be the name of the data packet corresponding to the application, and the foreground flag is used to indicate whether the application enters the foreground or exits the foreground. For example, when the foreground flag is 1, it means that the application enters the foreground, which can also be understood as the application is opened; when the foreground flag is 0, it means that the application exits the foreground, which can also be understood as the application is closed.

[0114] For example, you can refer to Figure 4 Understand the application usage records, such as Figure 4 As shown, each application usage record can correspond to its own id (identifier). Figure 4 Four application usage records are shown in FIG.

[0115] Among them, for the first application usage record with id 1, the application name included is "Application A", the application ID is 206, and the opening time is "1647847242126". Figure 4 The opening time indicated in the figure is in the form of a timestamp, and the foreground flag corresponding to the application is "0". Then the meaning of application usage record 1 is that at the time indicated by the timestamp "1647847242126", application A exited the foreground operation, that is, application A was closed.

[0116] And, for the second application usage record with id 2, the application name included is "Application B", the application ID is 34, the opening time is "1837104102818", and the foreground flag corresponding to the application is "1". So the meaning of application usage record 2 is that at the time indicated by the timestamp "1837104102818", application B entered the foreground, that is, application B was opened.

[0117] The meanings of the third application usage record with id 3 and the fourth application usage record with id 4 are similar to those described above and will not be repeated here.

[0118] Because in this embodiment it is necessary to analyze whether the user is a minor based on the situation of the user opening the application, it is possible to determine at least one target application that entered the foreground and ran in the historical period based on the application usage record of the terminal device in the historical period, that is, to determine at least one target application that was opened in the historical period.

[0119] Because the foreground flag in the application usage record can indicate whether the application enters the foreground or exits the foreground, the application whose foreground flag indicates that the application enters the foreground can be determined as the target application based on the foreground flags in the application usage records within the historical period.

[0120] For example, Figure 4 In the example, application B, application C, and application D can be determined as target applications.

[0121] In addition, in this embodiment, the historical period can be, for example, within 2 hours before the current moment, and the specific implementation of the historical period can be determined according to actual needs. The reason for selecting the application usage records within the historical period for analysis is to perform analysis based on relatively real-time short-term application usage records, so as to ensure that the source of the analyzed data is consistent with the user who is currently using the terminal device, so as to ensure the accuracy and effectiveness of the underage identification of the user who is currently using the terminal device.

[0122] S302: For any target application, determine the coding information of the target application according to the application name of the target application and at least one coding dictionary, where the coding information includes the name code of the target application and / or the category code to which the target application belongs.

[0123] After at least one target application is determined, in this embodiment, feature extraction can be performed for the target application. The processing method for each target application is similar, so any target application is taken as an example for description below.

[0124] In this embodiment, for any target application, the application name of the target application can be obtained according to the application usage record described above, and then the encoding information of the target application is determined according to the application name of the target application and at least one pre-generated encoding dictionary.

[0125] In this embodiment, the coding dictionary may include name codes and / or classification codes corresponding to the application names of each target application. Therefore, the coding dictionary can be searched according to the application name of the target application to determine the coding information of the target application, where the coding information includes the name code of the target application and / or the classification code to which the target application belongs. The specific classification method of the application program can be selected and set according to actual needs.

[0126] The reason for determining the coding information of the target application based on the coding dictionary is to convert the relevant features of the target application into numerical form for subsequent analysis and processing. Based on the coding dictionary, the classification information corresponding to the target application can also be further determined. Different age groups have different usage preferences for different categories of application programs. Therefore, the classification information can also reflect the probability that the user is a minor to a certain extent.

[0127] S303: Determine a feature vector according to the coding information of each target application and the opening time of each target application.

[0128] In this embodiment, for any target application, the opening time of the target application can also be obtained according to the application usage record described above. Then, the feature vector can be determined according to the encoding information of each target application and the opening time of each target application.

[0129] For example, each target application may be processed separately to obtain a feature vector corresponding to each target application, or a joint process may be performed on each target application to obtain an overall feature vector corresponding to each target application.

[0130] S304: Input the feature vector into a recognition model to obtain a recognition result output by the recognition model, where the recognition result is used to indicate whether the user using the terminal device is a minor user and / or the predicted age of the user using the terminal device.

[0131] In this embodiment, a recognition model is pre-trained, wherein the input of the recognition model is the feature vector, and the output of the recognition model is the recognition result, which can indicate whether the user corresponding to the input data is a minor user and / or the predicted age of the user corresponding to the input data. Then, in the scenario of this embodiment, the recognition result can specifically indicate whether the user using the terminal device is a minor user and / or the predicted age of the user using the terminal device.

[0132] In this embodiment, the feature vector can reflect which specific application the target application is, the category to which the target application belongs, and the time when the target application was opened. There are certain differences between the preferences of underage users and adult users for applications visited, the category preferences of the applications visited, and the time preferences for opening applications. Therefore, the feature vector is input into the recognition model, and the recognition model is pre-trained and can learn the differences in the usage preferences of underage users and adult users for applications. Therefore, the recognition model processes the feature vector to output a recognition result, wherein the recognition result can more accurately indicate whether the user is a minor and / or the predicted age of the user.

[0133] It should be noted that in different geographical regions, there may be some differences in the definitions of minors and adults. The minors and adults introduced in this embodiment are a relative concept, and the specific age boundaries of minors and adults can be selected and set according to actual needs. In other words, there is no strict age limit for minors and adults in this embodiment, and minors and adults can be defined according to actual needs.

[0134] The object recognition method provided by the embodiment of the present application includes: determining at least one target application that entered the foreground and ran in the historical period according to the application usage record of the terminal device in the historical period. For any target application, the coding information of the target application is determined according to the application name of the target application and at least one coding dictionary, and the coding information includes the name code of the target application and / or the classification code to which the target application belongs. Determine a feature vector based on the coding information of each target application and the opening time of each target application. Input the feature vector into the recognition model to obtain the recognition result output by the recognition model, and the recognition result is used to indicate whether the user using the terminal device is a minor user and / or the predicted age of the user using the terminal device. By determining the target application opened by the user in the historical period according to the application usage record in the historical period, subsequent analysis can be performed based on the short-term application usage record to improve the accuracy of the analysis results. Then, the name and category of the target application will be encoded to obtain the coding information of the target application. Then, based on the coding information of the target application and the opening time of the target application, a feature vector that can reflect the application itself, the classification of the application, and the opening time of the application will be obtained. Then, by inputting the feature vector into the recognition model, the recognition result of the underage user output by the recognition model can be obtained, so that the underage users can be effectively and accurately identified based on short-term application usage.

[0135] Based on the above introduction, the following Figures 5 to 8 The implementation method of determining the encoding information of the target application in this application is introduced. Figure 5The process of the object recognition method provided in the embodiment of the present application Figure 2 , Figure 6 The application classification diagram provided in the embodiment of the present application is as follows: Figure 7 A schematic diagram of a first coding dictionary provided in an embodiment of the present application, Figure 8 A schematic diagram of a second encoding dictionary provided in an embodiment of the present application.

[0136] like Figure 5 As shown, the method includes:

[0137] S501. Search, according to name information of a target application, first coding information of the target application in a first coding dictionary, where the first coding information includes a first name code of the target application and a category code to which the target application belongs.

[0138] In this embodiment, at least one coding dictionary may include a first coding dictionary and a second coding dictionary, the first coding dictionary includes first name codes corresponding to M applications and at least one classification code, the second coding dictionary includes second name codes corresponding to N applications, and M and N are integers greater than or equal to 1.

[0139] That is to say, the number of applications included in the first coding dictionary is relatively large, among which the applications included in the first coding dictionary can be understood as applications commonly used by all users, and the applications included in the second coding dictionary can be understood as applications commonly used by underage users but not commonly used by all users. Therefore, by combining the first coding dictionary and the second coding dictionary, underage users can be effectively identified through the applications themselves.

[0140] Let's first combine Figure 6 and Figure 7 The first coding dictionary is introduced. When constructing the first coding dictionary, for example, the commonly used applications of all users can be screened out first, and then for each of the applications, the corresponding application name, primary classification, secondary classification and tertiary classification are determined respectively.

[0141] Among them, the first-level classification, second-level classification and third-level classification are progressive classifications in sequence. For example, the first-level classification includes three major categories, namely classification 1, classification 2 and classification 3. Then under the first-level classification of classification 1, it can include 20 second-level classifications, namely classification 1.1, classification 1.2, ..., classification 1.20. Then under the second-level classification of classification 1.1, it can include 10 third-level classifications, namely classification 1.1a, classification 1.1b, and so on.

[0142] For example, refer to Figure 6Let's take an example to understand. For example, the application name of application A is application A (application A here can be understood as the name of the data package). The first-level classification of application A is "application", the second-level classification is "audio and video entertainment", and the third-level classification is "music".

[0143] And, assuming that Figure 6 When the application A in the example generates information in the first coding dictionary, the application name of application A is coded as 1, the first-level category "application" is coded as 1, the second-level category "audio and video entertainment" is coded as 1, and the third-level category "music" is coded as 1, then refer to Figure 7 In the first coding dictionary, the first coding information corresponding to application A is (0,1,1,1), where 0 is the first name code of application A, 1,1,1 is the classification code of application A, and the classification code specifically corresponds to the classification codes of the three levels of classification.

[0144] Continue to refer to Figure 6 For example, the application name of application B is application B (application B here can be understood as the name of the data package), the first-level classification of application B is "application", the second-level classification is "audio and video entertainment", and the third-level classification is "video".

[0145] And, assuming that Figure 6 When the application B in the example generates information in the first coding dictionary, the application name of application B is coded as 2, the first-level category "application" is coded as 1, the second-level category "audio and video entertainment" is coded as 1, and the third-level category "video" is coded as 2, then refer to Figure 7 In the first coding dictionary, the first coding information corresponding to application B is (0,1,1,2), where 0 is the first name code of application A, 1,1,2 are the classification codes of application A, and the classification codes are specifically the classification codes corresponding to the three levels of classification.

[0146] And reference Figure 6 and Figure 7 It should also be noted that, assuming that the secondary classification or primary classification of a certain application is the lowest level classification, that is, there is no further tertiary classification or secondary classification, then when generating information in the first coding dictionary, the vacant level classification will be coded as 0. For example Figure 6 The second-level classification of application C is "online games". There is no further third-level classification under this second-level classification. Figure 7 , the third-level classification corresponding to application C will be encoded as 0.

[0147] exist Figure 7In the example, the first digit in the first coding information represents the first name code of the application, and the second to fourth digits in the first coding information represent the classification codes corresponding to the three levels of the application. In the actual implementation process, the specific arrangement order of these codes can be selected and set according to actual needs, as long as the first name code of the application and the classification code to which the target application belongs are included in the first coding information.

[0148] Based on the first coding dictionary introduced above, in this embodiment, the first coding information of the target application can be searched in the first coding dictionary according to the name information of the target application.

[0149] For example, refer to Figure 7 In the example introduced, assuming that the current target applications include application B, application C, and application D, it can be determined that the first coding information of application B is (1,1,1,2), the first coding information of application C is (2,2,1,0), and the first coding information of application D is (3,1,2,1).

[0150] S502: Search for second coding information of the target application in a second coding dictionary according to the name information of the target application, where the second coding information includes a second name code of the target application.

[0151] The second coding dictionary in this embodiment includes applications that are frequently used by underage users but not frequently used by all users. The second coding dictionary serves as additional information and exists to provide applications that can effectively identify minors. Therefore, the second coding dictionary may only include the second coding name corresponding to each application without repeating the classification coding of the application.

[0152] The following is an explanation of possible implementation methods for constructing the second encoding dictionary:

[0153] In order to effectively construct the second coding dictionary, at least one differentiated application may be obtained in this embodiment, wherein the usage frequency of the differentiated application corresponding to the underage user group is greater than the usage frequency of the differentiated application corresponding to the adult user group.

[0154] When determining differentiated applications, for example, data analysis can be performed based on an application usage data set, which can include at least one application usage data, including the user's age and the application identifier of the used application, and par1 and par2 can be analyzed to determine, where par1 is the number of times all applications are used by the underage user group, and par2 is the number of times all applications are used by the full user group. One application usage data corresponds to one usage count.

[0155] And, based on par1 and par2, the following parameters are calculated for each application (the calculated application is represented by a specific application):

[0156] tf_score: the number of times a specific application is used by underage users / par1;

[0157] idf_score: log(par2 / number of times the entire user group uses a specific application).

[0158] It can be understood that the larger the tf_score is, the more frequently the specific application is used among underage groups, and the smaller the idf_score is, the less frequently the specific application is used among the entire group.

[0159] Afterwards, the following formula is used for calculation: D = tf_score × idf_score, where D is the differentiation score of the application.

[0160] It is understandable that for each application included in the data set, a differentiation score D is calculated. The larger the differentiation score D is, the greater the difference in usage frequency between the application and the adult user group. The greater the difference in usage frequency between the two, the better the effect of distinguishing between underage users and adult users.

[0161] Therefore, multiple application programs with higher differentiation scores may be determined as differentiated applications, or multiple application programs with differentiation scores greater than a preset threshold may be determined as differentiated applications.

[0162] After determining at least one differentiated application, the application names of the differentiated applications may be encoded respectively, and then the second name codes corresponding to the differentiated applications may be obtained, and then the second encoding dictionary may be obtained.

[0163] For example, you can refer to Figure 8 Understand the second encoding dictionary, such as Figure 8 As shown, for example, currently, application D, application G, and application K are selected as differentiated applications, wherein the second name code for application D is determined to be 1, the second name code for application G is determined to be 2, and the second name code for application K is determined to be 3, so that Figure 8 The second encoding dictionary is shown.

[0164] It should also be noted that, in this embodiment, the name codes in the first coding dictionary and the second coding dictionary are independent of each other.

[0165] Based on the second coding dictionary introduced above, in this embodiment, the second coding information of the target application can be searched in the second coding dictionary according to the name information of the target application.

[0166] For example, refer to Figure 8 In the example introduced, assuming that the current target applications include application B, application C, and application D, it can be determined that the second encoding information of application D is 1.

[0167] Furthermore, for an application that does not exist in the first coding dictionary or the second coding dictionary, the corresponding first coding information or second coding information can be directly represented as 0. For example, if there is an application X, assuming that the application X does not exist in the first coding dictionary, the first coding information of the application X can be determined to be (0, 0, 0, 0), and assuming that the application X does not exist in the second coding dictionary, the second coding information of the application X can be determined to be 0.

[0168] Then, the coding information of the target application also includes the first coding information and the second coding information introduced above.

[0169] In this embodiment, by determining the first coding information and the second coding information of the target application through a first coding dictionary that includes commonly used applications by all users and a second coding dictionary that includes commonly used applications by underage users but not commonly used by all users, the coding information of the target application can be effectively determined. The first coding information and the second coding information can effectively reflect the application characteristics and classification characteristics of the target application on the one hand, and can also combine the two coding information to effectively determine the application program that can distinguish between minors and adults on the other hand.

[0170] Here, the reasons why the first encoding dictionary and the second encoding dictionary are used together are further described in detail:

[0171] The first coding dictionary contains commonly used applications of all users. If only the first coding dictionary is used for encoding and subsequent analysis, because the number of minors accounts for a small proportion of all users, the applications commonly used by minors may not be counted in the first coding dictionary, resulting in the neglect of effective information for the identification of minors. The second coding dictionary contains applications that are used more frequently by minors but less frequently by all users. It contains significant applications for extracting and distinguishing minors, and is a list generated specifically for the identification task of minors. However, the number of applications contained in the second coding dictionary is less than that in the first coding dictionary, and the list in the second coding dictionary cannot fully represent the full amount of applications used by minors. It only plays an additional role in the input features. If only the second coding dictionary is used, the application usage habits of minors and adults will be blurred, which is not conducive to the identification task of minors. That is to say, in this embodiment, the first coding dictionary and the second coding dictionary are combined. Based on the first coding dictionary, it can be guaranteed that the application is covered as much as possible, so that the target application is effectively encoded as much as possible. Based on the second coding dictionary, the applications commonly used by minors but not commonly used by all users can be effectively encoded, so that the model can learn effective distinguishing features.

[0172] Based on the contents introduced in the above embodiments, in this embodiment, when determining at least one target application that entered the foreground and ran within a historical period based on the application usage record of the terminal device within the historical period, in a possible implementation method, a preset number of target applications that entered the foreground and ran can be determined based on the application usage record.

[0173] If the number of applications that entered the foreground during the historical period is greater than or equal to the preset number, the most recent preset number of target applications that entered the foreground are directly obtained, so as to ensure the real-time use of the target application as much as possible, so as to improve the subsequent accuracy of identifying minors.

[0174] However, if the number of applications that entered the foreground and ran during the historical period is less than a preset number, in order to ensure the data standardization of the feature vector, in this embodiment, the feature vector may be padded with 0s.

[0175] Exemplarily, when determining the feature vector according to the encoding information of each target application and the opening time of each target application, the following method may be used:

[0176] Characterize the opening time of each target application to obtain the time characteristics of the target application;

[0177] Setting the usage flag corresponding to each target application to the first flag bit, where the first flag bit is used to indicate that the target application is an actually opened application;

[0178] A feature vector is determined according to the coding information of each target application, the time characteristics of each target application and the usage flag corresponding to each application.

[0179] The opening time of the target application can be in the form of a timestamp. When encoding features based on the opening time, for example, the four time features of the opening time, namely, day of the week, hour, minute, and second, can be extracted based on the timestamp, for example, expressed as: [weekday, hour, minute, second], thereby obtaining the four-dimensional time features of the target application. In the actual implementation process, the specific number of dimensions of the time features can be selected and set according to actual needs.

[0180] Furthermore, because the target application itself is the application that is actually opened, the usage flag corresponding to each target application can be set to the first flag bit. The first flag can be, for example, 1, which is used to indicate that the target application itself is actually running in the foreground.

[0181] Afterwards, the feature vector can be determined according to the coding information of each target application, the time characteristics of each target application and the usage flag corresponding to each application.

[0182] Then, according to the coding information of each target application, the time characteristics of each target application and the usage flags corresponding to each application, when determining the feature vector, it can be divided into the following two cases:

[0183] If the number of target applications is less than a preset number, a vector consisting of the coding information of each target application, the time characteristics of each target application, and the usage flag corresponding to each application can be directly determined as a feature vector.

[0184] In this case, because the number of target applications themselves is sufficient, the dimension of the generated feature vector is the preset dimension.

[0185] For example, if the preset number is 10, the dimension of the feature vector can be 10×10, for example, where the first 10 represents the sub-feature vectors of the 10 target applications respectively, and the second 10 represents the 10-dimensional features of the sub-feature vector of a target application, and these 10 dimensions are respectively as introduced above: first coding information (4 dimensions), second coding information (1 dimension), time feature (4 dimensions), and usage flag (1 dimension).

[0186] Alternatively, if the number of target applications is less than a preset number, the initial vector is determined based on the encoding information of each target application, the time characteristics of each target application, and the usage flag corresponding to each application; a zero-padding operation is performed on the initial vector to obtain a feature vector so that the dimension of the feature vector is the preset dimension.

[0187] The purpose of performing the zero-padding operation on the basis of the initial vector is to make the dimension of the final feature vector meet the preset dimension. The preset dimension can be p×q, where p is the preset number introduced above, and q is the dimension of a single sub-feature vector.

[0188] For example, the preset number is 10, assuming that the number of target applications is 3, and still assuming that a sub-feature vector contains 10 dimensions of features, these 10 dimensions are respectively introduced above: first coding information (4 dimensions), second coding information (1 dimension), time features (4 dimensions), usage flag (1 dimension). Then the dimension of the initial vector determined according to the coding information of each target application, the time features of each target application, and the usage flag corresponding to each application is 3×10. In order to make the final feature vector meet the preset dimension of 10×10, a 0-filling operation of 7 rows and 10 columns can be performed.

[0189] Based on the above embodiments, Fig. 9 The overall process of identifying minors is further introduced in detail. Fig. 9 A flowchart of an object recognition method provided in an embodiment of the present application.

[0190] like Fig. 9 As shown, the application usage records within the historical period can be obtained, and the most recent preset number of target applications can be filtered according to the application usage records.

[0191] Then, for each target application, the corresponding first coding information, second coding information, time characteristics and usage flag are generated. The specific implementation method can refer to the introduction of the above embodiment.

[0192] For example, the first coding information, the second coding information, the time feature and the usage flag of each application may be directly concatenated to obtain a feature vector. Fig. 9 Before splicing, the first coding information, the second coding information, the time feature and the usage flag of each application can be input into the embedding layer for processing by the embedding layer, and then spliced ​​to obtain the feature vector.

[0193] After obtaining the feature vector, the feature vector can be input into the recognition network. The recognition network processes the feature vector and outputs the age prediction result and the underage recognition result. The age prediction result is used to indicate the predicted age of the user using the terminal device. For example, the age prediction result can be a value between 0 and 85 years old. And the underage recognition result is used to indicate whether the user using the terminal device is an underage user. For example, the underage recognition result can be a score between [0,1]. The closer the score is to 1, the greater the probability that the user is a minor.

[0194] It should also be noted that the recognition model in the present application is a trained model, wherein the training process of the recognition model is relatively similar to the model usage process introduced above, with the difference that the sample data used in the training process of the recognition model, in addition to the sample application opening records, also includes the user age label corresponding to the sample application opening record, and the user age label is used to indicate the age of the operating user corresponding to the sample application opening record.

[0195] Then, the sample feature data (similar to the feature data described above) and the user age label are input into the recognition model. After the recognition model outputs the recognition result, the loss can be determined based on the recognition result and the user age label, and then the model parameters of the recognition model are updated based on the loss. By performing multiple rounds of the training process described above, the recognition model can be effectively trained so that the recognition model can effectively achieve the corresponding recognition results based on the feature information input and ensure the accuracy of the recognition results.

[0196] Based on the contents introduced in the above embodiments, the recognition model in the present application may be, for example, a bidirectional gated recurrent unit network (BiGRU, Bidirectional Gated Recurrent Unit).

[0197] Because users of different ages have different habit characteristics in the order of using applications, the time features in the feature vector can be used to analyze the sequence change information of application use, so as to extract the application use habit characteristics of different ages. The use of a bidirectional gated recurrent unit is conducive to extracting both the forward and reverse use sequence habits of applications, thereby obtaining richer sequence information of application use and effectively improving the accuracy of the final output recognition result.

[0198] Among them, the BiGRU network can be understood as a combination of a bidirectional recurrent network and a GRU network. Fig.10 and Fig.11 Understand the network structure of BiGRU. Fig.10A schematic diagram of the structure of a bidirectional cyclic network provided in an embodiment of the present application, Fig.11 A schematic diagram of the structure of the GRU network provided in an embodiment of the present application.

[0199] like Fig.10 As shown, where X represents the input layer, represents the front hidden layer, represents the back hidden layer, O represents the output layer, and r is the dimension of the feature vector (specifically, the dimension of the number of applications).

[0200] In a bidirectional recurrent network, the input feature vector is extracted in the order of one row or one column. For example, the first row extracted is Fig.10 The second row extracted from X1 is Fig.10 X2 in , and so on. And, X1 represents the sub-feature vector of the first target application, X2 represents the sub-feature vector of the second target application, and so on. For example, in the example introduced above, if 10 target applications need to be extracted, then Xr is X10, which corresponds to the sub-feature vector of the 10th target application. Or if the number of target applications is less than 10, X10 is a sub-feature vector of all zeros.

[0201] In this embodiment, what is actually needed is the data of the hidden layer, and reference may be made to 11 in the following figure for further detailed introduction to the hidden layer data.

[0202] And reference Fig.11 Understand the GRU network. Fig.11 In the example, Xt is the input information at the current moment; Ht-1 is the hidden state at the previous moment, which acts as the neural network memory and contains information about the data that the node has seen before; is a candidate hidden state; Rt is a reset gate; Zt is an update gate, which can also represent the hidden state passed to the next moment; σ is a sigmoid function, which is used to convert data into a value in the range of 0 to 1; tanh is also a function, which is used to convert data into a value in the range of [-1,1]; and, Fig.11 The ⊙ in the matrix represents the multiplication of corresponding elements, and the ⊕ represents the addition of corresponding elements in the matrix; t is the hidden state at the current moment.

[0203] It is understandable that the final direct output of the model is actually Ht, which is the hidden state at the current moment, which is what we need. The hidden state can essentially be understood as the movement of the feature vector. After that, the hidden state can be input into the fully connected layer, and then after some dimensionality reduction processing, we can get the age prediction combination and minors recognition results introduced above.

[0204] Therefore, in this embodiment, the BiGRU network is used to implement the recognition model, which can effectively realize the feature extraction of the application usage sequence habits, and based on the BiGRU network, the forward usage sequence habits and reverse usage sequence habits of the application can be extracted at the same time, thereby obtaining richer sequence information of application usage, and effectively improving the accuracy of the final output recognition results.

[0205] Based on the above-mentioned embodiments, possible application scenarios of the present application are exemplarily described below.

[0206] It is understandable that, usually, the terminal device will trigger the specific process of executing the object recognition method introduced in this application only when it determines that certain trigger conditions are met.

[0207] The trigger condition may be actively detected by the terminal device, for example, the terminal device detects a payment behavior initiated in the target application, or the terminal device detects a game behavior initiated in the target application, etc.

[0208] Alternatively, the trigger condition may also be detected by an application, for example, the target application detects the initiation of a payment behavior, or the target application detects the initiation of a game behavior, etc. In this case, the target application may send trigger information to the recognition unit in the application layer introduced above, so that the recognition unit starts executing the object recognition method in the present application.

[0209] That is to say, the trigger conditions in this embodiment are conditions set for scenarios where underage detection is required, and the specific implementation method of the trigger conditions can be selected and set according to actual needs.

[0210] After determining the recognition results introduced above, different processing methods can be used according to the application scenarios corresponding to different trigger conditions. Fig.12 and Fig.13 Several possible application scenarios are described. Fig.12 This is a schematic diagram of the identity authentication interface provided in the embodiment of the present application. Fig.13 A schematic diagram of the payment cancellation interface provided in an embodiment of the present application.

[0211] For example, a payment behavior is initiated in the target application and the corresponding triggering conditions are met, so that the identification unit executes the subsequent minor identification process, and then the terminal device can send the identification result of whether the person is a minor to the target application.

[0212] If the recognition result indicates that the user currently using the terminal device is an adult, the payment behavior can be performed normally; however, if the recognition result indicates that the user currently using the terminal device is a minor, the target application can intercept the payment behavior and pop up a reminder box on the payment interface, refer to Fig.12 , you can ask the user to complete further identity authentication, such as face recognition or fingerprint recognition and other payment authentication behaviors. If the user clicks Fig.12 , the identity authentication process is triggered. If the user clicks Fig.12 If you cancel the payment, the payment will be terminated.

[0213] After that, if the payment authentication behavior such as face recognition or fingerprint recognition is passed, you can continue to pay; and refer to Fig.13 If the authentication fails, the target application can cancel the payment and inform the user that the payment has been canceled, and can also send a reminder message to the mobile phone number corresponding to the login account in the current target application.

[0214] For another example, a gaming behavior is initiated in the target application and the corresponding triggering conditions are met, so that the identification unit performs subsequent identification of minors. The terminal device can then send the identification result of whether the person is a minor to the target application.

[0215] If the recognition result indicates that the user currently using the terminal device is an adult, the game behavior can be performed normally; however, if the recognition result indicates that the user currently using the terminal device is a minor, the target application can intercept the game behavior and pop up a reminder box on the game interface, requiring the user to complete payment authentication behaviors such as face recognition or fingerprint recognition. Afterwards, if the payment authentication behaviors such as face recognition or fingerprint recognition are authenticated, the game behavior can continue; if the authentication fails, the target application can cancel the game behavior and send a reminder message to the mobile phone number corresponding to the login account in the current target application.

[0216] It should also be noted that the various embodiments in this application will only be executed if the user has turned on the underage identification function or underage identification permission, so as to effectively protect the user's data security.

[0217] The object recognition method provided in the embodiment of the present application can be applied to electronic devices with communication functions. The electronic devices include terminal devices, and the specific device form of the terminal devices can refer to the above related descriptions, which will not be repeated here.

[0218] An embodiment of the present application provides a terminal device, which includes: a processor and a memory; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory, so that the terminal device executes the above method.

[0219] The embodiment of the present application provides a chip. The chip includes a processor, and the processor is used to call a computer program in a memory to execute the technical solution in the above embodiment. Its implementation principle and technical effect are similar to those of the above related embodiments, and will not be repeated here.

[0220] The embodiments of the present application also provide a computer-readable storage medium. The computer-readable storage medium stores a computer program. The above method is implemented when the computer program is executed by the processor. The method described in the above embodiment can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. If implemented in software, the function can be stored as one or more instructions or codes on a computer-readable medium or transmitted on a computer-readable medium. Computer-readable media can include computer storage media and communication media, and can also include any medium that can transfer a computer program from one place to another. The storage medium can be any target medium that can be accessed by a computer.

[0221] In one possible implementation, a computer-readable medium may include RAM, ROM, compact disc read-only memory (CD-ROM) or other optical disk storage, disk storage or other magnetic storage devices, or any other medium that is intended to carry or store the required program code in the form of instructions or data structures and can be accessed by a computer. Moreover, any connection is appropriately referred to as a computer-readable medium. For example, if a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL) or wireless technology (such as infrared, radio and microwave) is used to transmit software from a website, server or other remote source, the coaxial cable, fiber optic cable, twisted pair, DSL or wireless technology such as infrared, radio and microwave are included in the definition of medium. Disks and optical disks as used herein include optical disks, laser disks, optical disks, digital versatile disks (DVD), floppy disks and Blu-ray disks, where disks usually reproduce data magnetically, while optical disks reproduce data optically using lasers. Combinations of the above should also be included in the scope of computer-readable media.

[0222] An embodiment of the present application provides a computer program product, which includes a computer program. When the computer program is executed, the computer executes the above method.

[0223] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable device to generate a machine, so that the instructions executed by the processing unit of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0224] The above specific implementation methods further illustrate the purpose, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above are only specific implementation methods of the present invention and are not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made on the basis of the technical solutions of the present invention should be included in the scope of protection of the present invention.

Claims

1. An object recognition method, characterized in that: include: Determine, based on the application usage record of the terminal device in the historical period, at least one target application that entered the foreground and ran in the historical period; For any of the target applications, determine the coding information of the target application according to the application name of the target application and at least one coding dictionary, the coding information including the name code of the target application and / or the category code to which the target application belongs; Determining a feature vector according to the encoding information of each target application and the opening time of each target application; The feature vector is input into a recognition model to obtain a recognition result output by the recognition model, wherein the recognition result is used to indicate whether the user using the terminal device is a minor user and / or the predicted age of the user using the terminal device.

2. The method according to claim 1, characterized in that The at least one coding dictionary includes a first coding dictionary and a second coding dictionary, wherein the first coding dictionary includes first name codes corresponding to M applications and at least one classification code, and the second coding dictionary includes second name codes corresponding to N applications, wherein M and N are integers greater than or equal to 1, and M is greater than N; The determining the encoding information of the target application according to the name information of the target application and the encoding dictionary includes: According to the name information of the target application, searching the first coding information of the target application in the first coding dictionary, the first coding information including the first name code of the target application and the category code to which the target application belongs; According to the name information of the target application, second encoding information of the target application is searched in the second encoding dictionary, where the second encoding information includes a second name code of the target application.

3. The method according to claim 2, characterized in that The method further comprises: Acquire at least one differentiated application, wherein a usage frequency of the differentiated application corresponding to a minor user group is greater than a usage frequency of the differentiated application corresponding to an adult user group; Encoding the application names of the differentiated applications respectively to obtain second name codes corresponding to the differentiated applications; The second coding dictionary is determined according to the second name codes corresponding to the differentiated applications.

4. The method according to any one of claims 1 to 3, characterized in that: There are multiple application usage records, and any one of the application usage records includes a foreground flag, which is used to indicate that the application enters the foreground or exits the foreground; The step of determining, based on the application usage record of the terminal device in the historical period, at least one target application that entered the foreground and ran in the historical period includes: According to the foreground flags in the application usage records within the historical period, an application whose foreground flag indicates that the application has entered the foreground is determined as the target application.

5. The method according to claim 4, characterized in that The application usage record also includes at least one of the following information: application name, application identifier, and opening time; Before determining the encoding information of any of the target applications according to the application name of the target application and at least one encoding dictionary, the method further includes: For any of the target applications, the application name and opening time of the target application are obtained according to the application usage record of the target application.

6. The method according to any one of claims 1 to 5, characterized in that: Determining the feature vector according to the coding information of each target application and the opening time of each target application includes: Characteristic encoding is performed on the opening time of each of the target applications to obtain the time characteristics of the target application; Setting the usage flag corresponding to each of the target applications to a first flag bit, where the first flag bit is used to indicate that the target application is an actually opened application; A feature vector is determined according to the coding information of each target application, the time characteristics of each target application, and the usage flag corresponding to each application.

7. The method according to claim 5, characterized in that The determining of the feature vector according to the coding information of each target application, the time feature of each target application and the usage flag corresponding to each application includes: If the number of the target applications is less than the preset number, a vector consisting of the coding information of each target application, the time characteristics of each target application and the usage flags corresponding to each application is determined as the feature vector; or, If the number of the target applications is less than a preset number, an initial vector is determined based on the encoding information of each target application, the time characteristics of each target application, and the usage flag corresponding to each application; and a zero-filling operation is performed on the basis of the initial vector to obtain the feature vector so that the dimension of the feature vector is the preset dimension.

8. The method according to any one of claims 1 to 7, characterized in that: The recognition model is a bidirectional gated recurrent unit network.

9. A terminal device, characterized in that: include: Processor and memory; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the terminal device executes the method according to any one of claims 1 to 8.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.