Intelligent photographing method, system and related apparatus
By extracting user tags from smart terminal devices and using a neural network model to adjust image quality, the problem of smart terminal devices being unable to meet personalized photo requirements is solved, thus improving the user experience.
Patent Information
- Application Number
- CN201880098623.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2018-10-15
- Publication Date
- 2026-02-13
- Estimated Expiration
- 2038-10-15
AI Technical Summary
Smart terminal devices cannot meet the personalized photo effect needs of different users when processing image data after shooting, resulting in a poor user experience.
By extracting tags from users' general data and shooting-related data, and using neural network models and deep learning algorithms, a set of personalized image quality effect parameters for users is determined, and the image quality captured by the terminal is adjusted to meet the user's preferences.
It implements an intelligent shooting method that provides users with personalized shooting effects, thereby improving the user experience.
Smart Images

Figure CN112840635B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of electronics, and in particular to an intelligent photographing method, system and related device. BACKGROUND
[0002] With the development of the field of artificial intelligence technology, intelligent terminal devices have also been continuously developed. Using intelligent terminal devices to take pictures and record the details of life has become a way of life for people. Therefore, people pay more and more attention to the picture effects of photos taken by intelligent terminal devices.
[0003] Currently, after photographing is completed, the intelligent terminal device first analyzes the image data for the photographing object and the environment before forming a picture format. Then, corresponding beautification processing is performed according to the analysis result, and then the image data after beautification is further formed into a picture format. However, the processing of the image data by the intelligent terminal device is for all users, and cannot meet the individual preferences and demands of different users for the photographing effect. SUMMARY
[0004] The present application provides an intelligent photographing method, system and related device, which realizes providing a photographing effect meeting the individual preferences of a user and improves the experience of the user.
[0005] In a first aspect, the present application provides an intelligent photographing method, which includes: first, a terminal extracts one or more first labels in the general data of a user; the general data is used to represent the identity characteristics of the user. Then, the terminal extracts one or more second labels in the photographing related data of the user. Next, the photographing related data is used to represent the photographing preferences of the user. Next, the terminal determines a third label according to the one or more first labels and the one or more second labels. Finally, the terminal adjusts the image quality of the image photographed by the terminal according to the image quality effect parameter set corresponding to the third label.
[0006] Through the embodiments of the present application, the terminal can collect the data of the user, extract the first label representing the identity characteristics of the user, extract the second label representing the photographing preferences of the user, and fuse the third label of the user according to the first label and the second label, that is, the third label fuses the identity characteristics of the user and the photographing preferences of the user. Next, the terminal uses the image quality effect parameter set corresponding to the third label to assist the user to take a photographing effect meeting the characteristics of the user, realizes providing a photographing effect meeting the individual characteristics of the user, and improves the experience of the user.
[0007] In a possible case, the terminal extracting one or more first labels in the general data can specifically include: the terminal extracting one or more first labels corresponding to the general data according to a first mapping relationship; wherein the first mapping relationship includes a mapping of multiple groups of general data and multiple first labels. In this way, the terminal can match the general data with the first mapping relationship to obtain the general feature label of the user, that is, the first label, so that the terminal can quickly extract the general feature label of the user.
[0008] In a possible case, the terminal extracting one or more first labels in the shooting-related data can specifically include: first, the terminal extracts one or more first shooting-related parameter sets from the shooting-related data. Then, the terminal inputs the one or more first shooting-related parameter sets into a first neural network model to obtain one or more first score vector sets; wherein the first score vector set includes a first score of each fourth label, and the first score is used to represent the matching degree between the first shooting-related parameter set and the fourth label. Next, the terminal determines one or more second labels from the multiple fourth labels according to the first score vector set corresponding to each of the one or more first shooting-related parameter sets. That is, the terminal can use a neural network model to extract feature labels in the shooting-related data, so that the terminal can use the self-learning ability of the neural network model to improve the accuracy of the terminal extracting feature labels in the shooting-related data.
[0009] In a possible case, the one or more second labels include one or more fourth labels in the first score vector set corresponding to each of the one or more first shooting-related parameter sets, and the first score of the one or more fourth labels is greater than a first threshold. That is, the terminal can determine one or more fourth labels with a fourth score greater than a first threshold as the one or more second labels. Since the size of the first score is used to represent the matching degree between the user and the fourth label, the larger the first score is, the higher the matching degree between the shooting-related data of the user and the fourth label is, so that the terminal can extract one or more second labels that meet the characteristics of the shooting-related data of the user.
[0010] In a possible case, the one or more second labels include one or more fourth labels with the highest first score in the first score vector set corresponding to each of the first shooting-related parameter sets. That is, the terminal extracts one or more fourth labels with the highest first score in each first score vector set of the user to determine the one or more second labels, so that the terminal can improve the accuracy of extracting one or more second labels of the user.
[0011] In a possible case, before the terminal inputs the one or more first sets of shooting-related parameters into the first neural network model, the terminal can obtain sample data; the sample data includes a plurality of first training sets, and each first training set includes a second set of shooting-related parameters and a second set of score vectors. The terminal trains the first neural network model by using a deep learning algorithm according to the sample data. That is, the terminal can continuously train the neural network model according to the sample data, so that the terminal can improve the accuracy of extracting one or more second labels of the user.
[0012] In a possible case, the terminal displays a first interface including a plurality of sample pictures. Each sample picture corresponds to a second set of shooting-related parameters and a second set of score vectors; the second set of shooting-related parameters is used to represent the image quality of the sample picture, and the second set of score vectors includes first scores of the plurality of fourth labels corresponding to the sample picture. The terminal receives a first input operation of the user selecting one or more training pictures from the plurality of sample pictures. In response to the first input operation, the terminal can determine the second set of shooting-related parameters and the second set of score vectors corresponding to the one or more training pictures as the sample data. That is, the terminal can train the first neural network model by using the sample data corresponding to the sample pictures preselected by the user, so that the terminal can extract one or more second feature labels meeting the personalized shooting preferences of the user.
[0013] In a possible case, the terminal can determine whether the number of sample pictures is less than a training number, and if so, the terminal obtains one or more sets of second sets of shooting-related parameters and second sets of score vectors from a pre-stored training set database as the sample data. That is, the terminal can train the first neural network by using the pre-stored training set when the number of sample pictures selected by the user is insufficient, thereby reducing the input operation of the user and improving the user experience.
[0014] In a possible case, each first label and each second label correspond to an associated score. The size of the associated score is used to represent the degree of association between the first label and the second label. The method specifically includes: first, the terminal can determine the total association score of each second label according to the one or more first labels and the one or more second labels Wherein, the T i is the total association score of the i-th second label in the one or more second labels, the L1 is the weight of the one or more first labels, the L2 is the weight of the one or more second labels, and the W kThe R is the number of the one or more first tags. Then, the terminal determines the third tag according to the total association score of each second tag, where the third tag is the one with the highest total association score in the one or more second tags. That is, the terminal can set a weight for the first tag and the second tag of the user, and set a corresponding association degree value for each first tag and each second tag. In this way, the terminal can make the image quality adjustment parameter recommended by the terminal to the user more in line with the personalized preferences of the user, and improve the user experience.
[0015] In a second aspect, the present application provides a terminal, comprising one or more processors and one or more memories. The one or more memories are coupled with the one or more processors, and the one or more memories are configured to store computer program codes, the computer program codes comprising computer instructions, which, when executed by the one or more processors, cause the communication device to perform the intelligent photographing method in any possible implementation manner of any one of the above aspects.
[0016] In a third aspect, the present application provides a computer storage medium, comprising computer instructions, which, when executed on an electronic device, cause the communication device to perform the intelligent photographing method in any possible implementation manner of any one of the above aspects.
[0017] In a fourth aspect, the present application provides a computer program product, which, when executed on a computer, causes the computer to perform the intelligent photographing method in any possible implementation manner of any one of the above aspects. BRIEF DESCRIPTION OF DRAWINGS
[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed to be used in the embodiments or prior art description will be briefly introduced as follows.
[0019] Figure 1 A structural schematic diagram of a terminal provided by the embodiments of the present application;
[0020] Figure 2 A software architecture schematic diagram provided by the embodiments of the present application;
[0021] Figure 3 A group of interface schematic diagrams provided by the embodiments of the present application;
[0022] Figure 4 Another group of interface schematic diagrams provided by the embodiments of the present application;
[0023] Figure 5 Another group of interface schematic diagrams provided by the embodiments of the present application;
[0024] Figure 6 Another set of interface schematic diagrams provided for the embodiments of the present application;
[0025] Figure 7 An architecture schematic diagram of an intelligent photographing system provided for the embodiments of the present application;
[0026] Figure 8 A flowchart of user data preprocessing provided for the embodiments of the present application;
[0027] Figure 9 A flowchart of extracting user's general data features provided for the embodiments of the present application;
[0028] Figure 10 A flowchart of extracting user's photographing related data features provided for the embodiments of the present application;
[0029] Figure 11 A flowchart of feature label fusion provided for the embodiments of the present application;
[0030] Figure 12 A flowchart of setting parameters when a terminal photographs provided for the embodiments of the present application;
[0031] Figure 13 A structure schematic diagram of a user database provided for the embodiments of the present application;
[0032] Figure 14 A flowchart of an intelligent photographing method provided for the embodiments of the present application. DETAILED DESCRIPTION
[0033] The technical solutions in the embodiments of the present application will be described clearly and thoroughly below with reference to the drawings. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in the text only means a description of the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B, which means that there are three cases of A alone, A and B together, and B alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.
[0034] Hereinafter, the terms "first" and "second" are only used for descriptive purposes, and cannot be understood as implying or suggesting relative importance or implicitly indicating the number of indicated technical features. Therefore, the features defined with "first" and "second" can explicitly or implicitly include one or more of the features. In the description of the embodiments of the present application, unless otherwise specified, the meaning of "multiple" is two or more than two.
[0035] Figure 1A structural diagram of the terminal 100 is shown.
[0036] As shown in Figure 1 The terminal 100 can 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 loudspeaker 170A, a receiver 170B, a microphone 170C, a headset interface 170D, a sensor module 180, a key 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 can include a pressure sensor 180A, a gyroscope sensor 180B, a barometric 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.
[0037] It can be understood that the structure shown in the embodiments of the present application does not constitute a specific limitation on the terminal 100. In other embodiments of the present application, the terminal 100 can include more or fewer components than shown, or combine certain components, or split certain components, or different component arrangements. The components shown can be implemented in hardware, software, or a combination of software and hardware.
[0038] The processor 110 can include one or more processing units, for example: the processor 110 can include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units can be independent devices, or can be integrated in one or more processors.
[0039] The controller can be the nerve center and command center of the terminal 100. The controller can generate operation control signals according to instruction operation codes and timing signals, and complete the control of fetching and executing instructions.
[0040] The processor 110 can 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 can store instructions or data that have just been used or recycled by the processor 110. If the processor 110 needs to use the instructions or data again, it can be directly called from the memory. This avoids repeated access and reduces the waiting time of the processor 110, thereby improving the efficiency of the system.
[0041] In some embodiments, the processor 110 can include one or more interfaces. The interfaces can include an inter-integrated circuit (I2C) interface, an inter-integrated circuit 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.
[0042] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 can include multiple sets of I2C buses. The processor 110 can be coupled to the touch sensor 180K, the charger, the flash, the camera 193, etc. through different I2C bus interfaces, respectively. For example, the processor 110 can be coupled to the touch sensor 180K through an I2C interface, so that the processor 110 and the touch sensor 180K communicate through the I2C bus interface, realizing the touch function of the terminal 100.
[0043] The I2S interface can be used for audio communication. In some embodiments, the processor 110 can include multiple sets of I2S buses. The processor 110 can be coupled with the audio module 170 through the I2S buses to enable communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can deliver audio signals to the wireless communication module 160 through the I2S interface to enable the function of answering a phone call through a Bluetooth earphone.
[0044] The PCM interface can also be used for audio communication to sample, quantize, and encode analog signals. In some embodiments, the audio module 170 can be coupled with the wireless communication module 160 through a PCM bus interface. In some embodiments, the audio module 170 can also deliver audio signals to the wireless communication module 160 through the PCM interface to enable the function of playing music through a Bluetooth earphone. Both the I2S interface and the PCM interface can be used for audio communication.
[0045] The UART interface is a universal serial bus for asynchronous communication. The bus can be a bidirectional communication bus. It converts data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is usually used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 through the UART interface to enable Bluetooth functionality. In some embodiments, the audio module 170 can deliver audio signals to the wireless communication module 160 through the UART interface to enable the function of playing music through a Bluetooth earphone.
[0046] The MIPI interface can be used to connect the processor 110 and peripheral devices such as the display screen 194 and the camera 193. The MIPI interface includes a camera serial interface (CSI), a display serial interface (DSI), and the like. In some embodiments, the processor 110 and the camera 193 communicate through the CSI interface to enable the camera function of the terminal 100. The processor 110 and the display screen 194 communicate through the DSI interface to enable the display function of the terminal 100.
[0047] The GPIO interface can be configured through software. The GPIO interface can be configured as a control signal or as a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 and the camera 193, the display screen 194, the wireless communication module 160, the audio module 170, the sensor module 180, and the like. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, and the like.
[0048] The USB interface 130 is an interface conforming to the USB standard specification, and can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface 130 can be used to connect a charger to charge the terminal 100, and can also be used to transmit data between the terminal 100 and a peripheral device. It can also be used to connect a headset to play audio through the headset. The interface can also be used to connect other electronic devices, such as AR devices, etc.
[0049] It can be understood that the interface connection relationship between the modules shown in the embodiments of the present application is only illustrative and does not constitute a structural limitation of the terminal 100. In other embodiments of the present application, the terminal 100 can also use different interface connection methods or combinations of multiple interface connection methods in the above embodiments.
[0050] The charging management module 140 is used to receive charging input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 can receive charging input from a wired charger through the USB interface 130. In some wireless charging embodiments, the charging management module 140 can receive wireless charging input through the wireless charging coil of the terminal 100. The charging management module 140 can also supply power to electronic devices while charging the battery 142 through the power management module 141.
[0051] The power management module 141 is used to connect the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140 to supply power to the processor 110, the internal memory 121, the external memory, the display screen 194, the camera 193, and the wireless communication module 160, etc. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle count, battery health status (leakage, impedance), etc. In other embodiments, the power management module 141 can also be provided in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 can also be provided in the same device.
[0052] The wireless communication function of the terminal 100 can be realized through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor, and the baseband processor, etc.
[0053] The antenna 1 and the antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the terminal 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization rate of the antennas. For example, the antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In other embodiments, the antenna can be used in combination with a tuning switch.
[0054] The mobile communication module 150 can provide a solution including 2G / 3G / 4G / 5G, etc. wireless communication applied to the terminal 100. The mobile communication module 150 can include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves by the antenna 1, and perform filtering, amplification, etc. on the received electromagnetic waves, and transfer to the modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor, and radiate as electromagnetic waves through the antenna 1. In some embodiments, at least part of the function modules of the mobile communication module 150 can be disposed in the processor 110. In some embodiments, at least part of the function modules of the mobile communication module 150 can be disposed in the same device as at least part of the modules of the processor 110.
[0055] The modem processor can include a modulator and a demodulator. The modulator is configured to modulate a low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is configured to demodulate a received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. The low-frequency baseband signal processed by the baseband processor is transmitted to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 170A, the microphone 170B, etc.), or displays an image or a video through the display screen 194. In some embodiments, the modem processor can be a separate device. In other embodiments, the modem processor can be independent of the processor 110, and disposed in the same device as the mobile communication module 150 or other function modules.
[0056] The wireless communication module 160 can provide a solution for wireless communication including wireless local area networks (WLAN) (e.g., wireless fidelity (Wi-Fi) network), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR) technology, etc. applied to the terminal 100. The wireless communication module 160 can be one or more devices that integrate at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, frequency-modulates and filters the electromagnetic wave signals, and transmits the processed signals to the processor 110. The wireless communication module 160 can also receive signals to be transmitted from the processor 110, frequency-modulate them, amplify them, and radiate them as electromagnetic waves via the antenna 2.
[0057] In some embodiments, antenna 1 and mobile communication module 150 of terminal 100 are coupled, and antenna 2 and wireless communication module 160 are coupled, so that terminal 100 can communicate with a network and other devices through wireless communication technology. The wireless communication technology can include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology, etc. The GNSS can include global positioning system (GPS), global navigation satellite system (GLONASS), beidou navigation satellite system (BDS), quasi-zenith satellite system (QZSS), and / or satellite based augmentation systems (SBAS).
[0058] Terminal 100 implements a display function through a GPU, display screen 194, and an application processor, etc. The GPU is a microprocessor for image processing, connected to display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 110 can include one or more GPUs that execute program instructions to generate or change display information.
[0059] The display screen 194 is configured to display images, videos, and the like. 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 (AMOLED), a flex light-emitting diode (FLED), a Miniled, a MicroLed, a Micro-oLed, a quantum dot light emitting diodes (QLED), or the like. In some embodiments, the terminal 100 can include one or N display screens 194, where N is a positive integer greater than 1.
[0060] The terminal 100 can implement the photographing function through the ISP, the camera 193, the video codec, the GPU, the display screen 194, and the application processor.
[0061] The ISP is configured to process the data fed back by the camera 193. For example, when taking a photo, the shutter is opened, 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 the ISP for processing to convert it into an image visible to the naked eye. The ISP can also perform algorithm optimization on the noise, brightness, and skin color of the image. The ISP can also optimize the exposure, color temperature, and other parameters of the shooting scene. In some embodiments, the ISP can be disposed in the camera 193.
[0062] The camera 193 is configured to capture still images or videos. An object generates an optical image through a lens and projects it onto a 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 light signal into an electrical signal, and then transmits the electrical signal to the ISP to convert it 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 the like format. In some embodiments, the terminal 100 can include one or N cameras 193, where N is a positive integer greater than 1.
[0063] The digital signal processor is used to process digital signals, in addition to being able to process digital image signals, it can also process other digital signals. For example, when the terminal 100 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy, etc.
[0064] The video codec is used to compress or decompress digital video. The terminal 100 can support one or more video codecs. In this way, the terminal 100 can play or record videos in multiple encoding formats, such as: moving picture experts group (MPEG) 1, MPEG 2, MPEG 3, MPEG 4, etc.
[0065] The NPU is a neural-network (NN) calculation processor, which can quickly process input information by drawing on the structure of a biological neural network, such as drawing on the transmission mode between human brain neurons, and can also continuously self-learn. Through the NPU, intelligent cognitive applications of the terminal 100 can be realized, such as: image recognition, face recognition, voice recognition, text understanding, etc.
[0066] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the terminal 100. The external memory card communicates with the processor 110 through the external memory interface 120 to realize data storage functions. For example, music, video, etc. Files are saved in the external memory card.
[0067] The internal memory 121 can be used to store computer executable program codes, which include instructions. The processor 110 executes various functional applications and data processing of the terminal 100 by running the instructions stored in the internal memory 121. The internal memory 121 can include a program storage area and a data storage area. The program storage area can store an operating system, at least one application program required by a function (such as a sound playing function, an image playing function, etc.), etc. The data storage area can store data created during the use of the terminal 100 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, a universal flash storage (UFS), etc.
[0068] The terminal 100 can realize audio functions through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the earphone interface 170D, and the application processor, etc. For example, music playing, recording, etc.
[0069] The audio module 170 is configured to convert digital audio information into an analog audio signal output, and to convert an analog audio input into a digital audio signal. The audio module 170 can also be configured to encode and decode audio signals. In some embodiments, the audio module 170 can be disposed in the processor 110, or some of the functions of the audio module 170 can be disposed in the processor 110.
[0070] The speaker 170A, also referred to as a "loudspeaker", is configured to convert an audio electrical signal into a sound signal. The terminal 100 can listen to music or listen to a hands-free call through the speaker 170A.
[0071] The receiver 170B, also referred to as a "earpiece", is configured to convert an audio electrical signal into a sound signal. When the terminal 100 answers a call or a voice message, the user can listen to the voice by holding the receiver 170B close to the ear.
[0072] The microphone 170C, also referred to as a "microphone", "sound collector", is configured to convert a sound signal into an electrical signal. When making a call or sending a voice message, the user can make a sound by holding the mouth close to the microphone 170C, and input the sound signal into the microphone 170C. The terminal 100 can be provided with at least one microphone 170C. In other embodiments, the terminal 100 can be provided with two microphones 170C, in addition to collecting sound signals, noise reduction functions can also be achieved. In other embodiments, the terminal 100 can also be provided with three, four or more microphones 170C, to achieve the functions of collecting sound signals, noise reduction, and identifying the source of the sound, and to achieve the functions of directional recording, etc.
[0073] The earphone interface 170D is configured to connect a wired earphone. The earphone interface 170D can be a USB interface 130, or a 3.5mm open mobile terminal platform (OMTP) standard interface, a cellular telecommunications industry association of the USA (CTIA) standard interface.
[0074] The pressure sensor 180A is configured to sense a pressure signal and convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A can be disposed on the display 194. The pressure sensor 180A can be of various types, such as a resistive pressure sensor, an inductive pressure sensor, a capacitive pressure sensor, etc. The capacitive pressure sensor can include at least two parallel plates of conductive material. When a force is applied to the pressure sensor 180A, the capacitance between the electrodes changes. The terminal 100 determines the intensity of the pressure based on the change in capacitance. When a touch operation is applied to the display 194, the terminal 100 detects the intensity of the touch operation based on the pressure sensor 180A. The terminal 100 can also calculate the position of the touch based on the detection signal of the pressure sensor 180A. In some embodiments, touch operations applied to the same touch position but with different touch operation intensities can correspond to different operation instructions. For example, when a touch operation with a touch operation intensity less than a first pressure threshold is applied to a short message application icon, an instruction to view a short message is executed. When a touch operation with a touch operation intensity greater than or equal to the first pressure threshold is applied to the short message application icon, an instruction to create a new short message is executed.
[0075] The gyro sensor 180B can be configured to determine the motion attitude of the terminal 100. In some embodiments, the angular velocity of the terminal 100 around three axes (i.e., x, y, and z axes) can be determined by the gyro sensor 180B. The gyro sensor 180B can be used for anti-shake shooting. For example, when a shutter is pressed, the gyro sensor 180B detects the angle of shaking of the terminal 100, calculates the distance that needs to be compensated for the lens module based on the angle, and lets the lens offset the shaking of the terminal 100 by reverse movement to achieve anti-shake. The gyro sensor 180B can also be used for navigation and motion sensing game scenarios.
[0076] The barometric pressure sensor 180C is configured to measure air pressure. In some embodiments, the terminal 100 calculates the altitude, assists positioning and navigation based on the air pressure value measured by the barometric pressure sensor 180C.
[0077] The magnetic sensor 180D includes a Hall sensor. The terminal 100 can detect the opening and closing of a flip cover or a leather case using the magnetic sensor 180D. In some embodiments, when the terminal 100 is a flip phone, the terminal 100 can detect the opening and closing of the flip cover based on the magnetic sensor 180D. Further, based on the detected opening and closing state of the leather case or the opening and closing state of the flip cover, the terminal 100 can set a feature such as automatic unlocking of the flip cover.
[0078] The acceleration sensor 180E can detect the magnitude of acceleration of the terminal 100 in various directions (generally three axes). When the terminal 100 is stationary, the acceleration sensor 180E can detect the magnitude and direction of gravity. The acceleration sensor 180E can also be used to identify the posture of an electronic device and applied to applications such as landscape / portrait screen switching and pedometers.
[0079] The distance sensor 180F is used to measure distance. The terminal 100 can measure distance by infrared or laser. In some embodiments, the terminal 100 can utilize the distance sensor 180F to measure distance for fast focusing when taking a picture.
[0080] The proximity light sensor 180G can include, for example, a light emitting diode (LED) and a light detector, such as a photodiode. The light emitting diode can be an infrared light emitting diode. The terminal 100 emits infrared light outwardly through the light emitting diode. The terminal 100 detects infrared reflected light from nearby objects using the photodiode. When sufficient reflected light is detected, the terminal 100 can determine that there is an object near the terminal 100. When insufficient reflected light is detected, the terminal 100 can determine that there is no object near the terminal 100. The terminal 100 can utilize the proximity light sensor 180G to detect when a user is holding the terminal 100 close to the ear for a call, so as to automatically turn off the screen for power saving purposes. The proximity light sensor 180G can also be used for automatic unlocking and locking of the screen in a holster mode or a pocket mode.
[0081] The ambient light sensor 180L is used to sense ambient light brightness. The terminal 100 can adaptively adjust the display screen 194 brightness according to the sensed ambient light brightness. The ambient light sensor 180L can also be used to automatically adjust white balance when taking a picture. The ambient light sensor 180L can also cooperate with the proximity light sensor 180G to detect whether the terminal 100 is in a pocket, so as to prevent accidental touch.
[0082] The fingerprint sensor 180H is used to collect a fingerprint. The terminal 100 can utilize the collected fingerprint characteristics to implement fingerprint unlocking, access application lock, fingerprint picture taking, fingerprint call answering, and the like.
[0083] The temperature sensor 180J is used to detect temperature. In some embodiments, the terminal 100 utilizes the temperature detected by the temperature sensor 180J to implement temperature processing strategies. For example, when the temperature reported by the temperature sensor 180J exceeds a threshold, the terminal 100 implements performance reduction of a processor located near the temperature sensor 180J, so as to reduce power consumption and implement thermal protection. In other embodiments, when the temperature is lower than another threshold, the terminal 100 heats the battery 142, so as to avoid abnormal shutdown of the terminal 100 caused by low temperature. In still other embodiments, when the temperature is lower than yet another threshold, the terminal 100 implements voltage boosting of an output voltage of the battery 142, so as to avoid abnormal shutdown caused by low temperature.
[0084] Touch sensor 180K, also referred to as "touch panel". Touch sensor 180K can be disposed on display screen 194, and touch sensor 180K and display screen 194 together form a touch screen, also referred to as "touch panel". Touch sensor 180K is configured to detect touch operations applied to or near the touch sensor 180K. The touch sensor 180K can transmit the detected touch operation to the application processor to determine the touch event type. Visual output related to the touch operation can be provided through display screen 194. In other embodiments, touch sensor 180K can also be disposed on the surface of terminal 100, which is different from the position where display screen 194 is located.
[0085] Bone conduction sensor 180M can obtain vibration signals. In some embodiments, bone conduction sensor 180M can obtain vibration signals of the human body's vocal vibration bone block. Bone conduction sensor 180M can also contact the human body pulse to receive blood pressure pulsation signals. In some embodiments, bone conduction sensor 180M can also be disposed in a headset to form a bone conduction headset. Audio module 170 can analyze voice signals based on the vibration signals of the vocal vibration bone block obtained by the bone conduction sensor 180M to realize voice functions. The application processor can analyze heart rate information based on the blood pressure pulsation signals obtained by the bone conduction sensor 180M to realize heart rate detection functions.
[0086] Keys 190 include power on / off keys, volume keys, and the like. Keys 190 can be mechanical keys. They can also be touch keys. Terminal 100 can receive key input and generate key signal input related to user settings and function control of terminal 100.
[0087] Motor 191 can generate vibration prompts. Motor 191 can be used for incoming call vibration prompts and also for touch vibration feedback. For example, touch operations applied to different applications (such as taking pictures, playing audio, etc.) can correspond to different vibration feedback effects. Touch operations applied to different regions of display screen 194 can also correspond to different vibration feedback effects. Different application scenarios (such as time reminders, received messages, alarms, games, etc.) can also correspond to different vibration feedback effects. Touch vibration feedback effects can also be customizable.
[0088] Indicator 192 can be an indicator light, which can be used to indicate charging status, power changes, and also to indicate messages, missed calls, notifications, and the like.
[0089] The SIM card interface 195 is used to connect a SIM card. The SIM card can be inserted into or removed from the SIM card interface 195 to make contact with and separate from the terminal 100. The terminal 100 can support one or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, etc. Multiple cards can be inserted into the same SIM card interface 195 simultaneously. The multiple cards can be of the same or different types. The SIM card interface 195 is also compatible with different types of SIM cards. The SIM card interface 195 is also compatible with external memory cards. The terminal 100 interacts with the network through the SIM card to realize functions such as calls and data communication. In some embodiments, the terminal 100 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the terminal 100 and cannot be separated from the terminal 100.
[0090] The software system of terminal 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This embodiment of the invention uses the layered architecture Android system as an example to illustrate the software structure of terminal 100.
[0091] Figure 2 This is a software structure block diagram of the terminal 100 according to an embodiment of the present invention.
[0092] A layered architecture divides software into several layers, each with a clear role and function. 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 libraries, 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, WLAN, Bluetooth, music, video, and SMS.
[0095] The application framework layer provides application programming interfaces (APIs) and a programming framework for applications in the application layer. The application framework layer includes some predefined functions.
[0096] like Figure 2 As shown, the application framework layer may include a window manager, content provider, view system, phone manager, resource manager, notification manager, etc.
[0097] The window manager is used to manage windows programs. The window manager can acquire the display screen size, determine whether there is a status bar, lock the screen, and capture the screen, etc.
[0098] The content provider is used to store and acquire data, and make the data accessible to the application program. The data can include video, image, audio, dialed and received phone, browsing history and bookmark, phone book, etc.
[0099] The view system includes visual controls, such as a control for displaying text, a control for displaying pictures, etc. The view system can be used to build an application program. A display interface can be composed of one or more views. For example, a display interface including a short message notification icon can include a view for displaying text and a view for displaying pictures.
[0100] The phone manager is used to provide the communication function of the terminal 100. For example, the management of the call state (including connection, hang-up, etc.).
[0101] The resource manager provides various resources for the application program, such as localized strings, icons, pictures, layout files, video files, etc.
[0102] The notification manager makes the application program display notification information in the status bar, which can be used to convey a type of message that can automatically disappear after a short stay without user interaction. For example, the notification manager is used to inform the completion of downloading, message reminders, etc. The notification manager can also be a notification in the form of a chart or a scroll bar text appearing in the top status bar of the system, such as a notification of an application program running in the background, and can also be a notification in the form of a dialogue window appearing on the screen. For example, prompting text information in the status bar, issuing a prompt sound, vibrating the electronic device, and flashing the indicator light, etc.
[0103] The Android runtime includes the core library and the virtual machine. The Android runtime is responsible for the scheduling and management of the Android system.
[0104] The core library contains two parts: one part is the function function called by the java language, and the other part is the core library of Android.
[0105] The application program layer and the application program framework layer run in the virtual machine. The virtual machine executes the java file of the application program layer and the application program framework layer into a binary file. The virtual machine is used to perform the management of the object life cycle, the management of the stack, the management of the thread, the management of the security and the exception, and the garbage collection, etc.
[0106] The system library can include a plurality of functional modules. For example, a surface manager, media libraries, a three-dimensional graphics processing library (e.g., OpenGL ES), a 2D graphics engine (e.g., SGL), etc.
[0107] The surface manager is used to manage the display subsystem and provides a plurality of applications with a fusion of 2D and 3D layers.
[0108] The media libraries support a plurality of commonly used audio, video format playback and recording, and static image files, etc. The media libraries can support a plurality of audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
[0109] The three-dimensional graphics processing library is used to implement three-dimensional graphics drawing, image rendering, synthesis, and layer processing, etc.
[0110] The 2D graphics engine is a drawing engine for 2D drawing.
[0111] The kernel layer is a layer between hardware and software. The kernel layer at least includes display drivers, camera drivers, audio drivers, and sensor drivers.
[0112] The following describes, by way of example, a working flow of the terminal 100 software and hardware in a capture photographing scenario.
[0113] When the touch sensor 180K receives a touch operation, a corresponding hardware interrupt is sent to the kernel layer. The kernel layer processes the touch operation into a raw input event (including touch coordinates, a timestamp of the touch operation, etc.). The raw input event is stored in the kernel layer. The application framework layer obtains the raw input event from the kernel layer and identifies the control corresponding to the input event. Taking the touch operation as a touch single-click operation and the control corresponding to the single-click operation as the control of the camera application icon as an example, the camera application calls an interface of the application framework layer, starts the camera application, and then starts the camera driver through the kernel layer, and captures a still image or a video through the camera 193.
[0114] The intelligent photographing method provided by the embodiments of the present application will be described in detail below in combination with the accompanying drawings and application scenarios. In the following embodiments of the present application, the terminal can be the terminal 100 shown in the above Figure 1 or Figure 2 .
[0115] The terminal can receive the input of the user and start or stop collecting the user data required by the intelligent photographing function in the embodiments of the present application. Please refer to Figure 3 , Figure 3Figure 3a shows the settings interface 310 displayed on the terminal's touchscreen. The settings interface 310 may include a system settings bar 311 and other settings bars (e.g., sound settings bar, notification center settings bar, application management settings bar, battery settings bar, storage settings bar, security and privacy settings bar, user and account settings bar, etc.). The terminal can receive user input 312 (e.g., a click) on the system settings bar 311, and in response to this input 312 (e.g., a click), the terminal can display, for example... Figure 3 The system settings interface 320 is shown in 3b.
[0116] like Figure 3 As shown in 3b, the system settings interface 320 may include a smart capability enhancement settings bar 321 and other settings bars (such as an about phone settings bar, system update settings bar, system navigation settings bar, language and input method settings bar, date and time settings bar, easy mode settings bar, data migration settings bar, backup and restore settings bar, reset settings bar, user experience improvement plan settings bar, and authentication mark settings bar, etc.). The terminal can receive user input operation 322 (e.g., click) on the smart capability enhancement settings bar 321, and in response to the input operation 322 (e.g., click), the terminal can display, as shown in 3b. Figure 3 The 3c section shows the smart capability enhancement settings interface 330.
[0117] like Figure 3 As shown in 3c, the smart capability enhancement settings interface 330 may include a smart suggestion settings bar 331 and other settings bars (such as a description of the smart capability enhancement features and an "About" section). The smart suggestion settings bar 331 is associated with a smart suggestion settings control 332. Figure 3 In the 3C embodiment, the smart suggestion setting control 332 is in a closed state, and the terminal disables the collection of user data on the terminal. The terminal can receive user input operation 333 (e.g., click) on the smart suggestion setting control 332. In response to the input operation 333, the terminal can switch the smart suggestion setting control 332 from the closed state to the open state and enable smart suggestions. When smart suggestions are enabled, the terminal can collect the user data required for the smart photo-taking function in this embodiment. The user data includes general data and shooting-related data. General data may include the user's basic personal information, behavioral habits, interests, etc. Shooting-related data may include the user's shooting preferences, image browsing habits, etc.
[0118] After the terminal collects user data, it can preprocess the user data. The preprocessed user data can be stored in the user's database, which can be located locally on the terminal or on a remote server.
[0119] The terminal can pop up a user preference survey interface in a camera application, the user preference survey interface including one or more pictures, the terminal can receive a user selection operation (e.g., clicking a picture) on a picture in the user preference survey interface, and in response to the user selection operation (e.g., clicking a picture) on the picture in the user preference survey interface, the terminal can use the user-selected picture to collect a photographing-related parameter corresponding to the user-selected picture and a set of photographing feature label score vectors corresponding to the user-selected picture.
[0120] For example, as shown in 4a of Figure 4 , Figure 4 , the terminal displays a main interface 410 on the touch screen. The main interface 410 can include an icon 411 of a camera application and icons of other applications (e.g., Alipay, Notepad, Music, WeChat, Settings, Dialing, Information, Contacts, etc.). The terminal can receive a user input operation 412 (e.g., a single click) on the icon 411 of the camera application, and in response to the input operation 412, the terminal can open a camera (e.g., a front camera or a rear camera) and display a camera shooting interface 420 as shown in 4b of Figure 4 .
[0121] As shown in 4b of Figure 4 , the camera shooting interface 420 can include a camera capture display area 423, a camera setting button 421, and a photographing button 425. The camera capture display area 423 is used to display a picture captured by the camera (front camera or rear camera). The terminal can receive a user input operation 422 (e.g., a single click) on the camera setting button 421, and in response to the input operation 422, the terminal can display a camera setting interface 430 as shown in 4c of Figure 4 .
[0122] As shown in 4c of Figure 4 , the camera shooting interface 430 can include an intelligent auxiliary photographing setting bar 431 and other setting bars (e.g., a resolution setting bar, a geographic location setting bar, an automatic watermark adding setting bar, a voice control setting bar, a reference line setting bar, a glove mode setting bar, a photographing mute setting bar, a timed photographing setting bar, a sound control photographing setting bar, etc.). The state of the intelligent auxiliary photographing setting bar 431 is off, i.e., the terminal closes the intelligent photographing function provided by the present application when photographing. The terminal can receive a user input operation on the intelligent auxiliary photographing setting bar 431, and in response to the user input operation on the user auxiliary photographing setting bar, the terminal can open the intelligent photographing function provided by the present application. In one possible case, the terminal receives a user input operation 432 (e.g., a single click) on the intelligent auxiliary photographing setting bar 431, and in response to the first user input operation 432 (e.g., a single click), the terminal can display a camera shooting interface 440 as shown in 4d of Figure 4The user preference survey interface 440 shown in 4d.
[0123] As Figure 4 As shown in 4d, the user preference survey interface 440 can include multiple groups (e.g., 10 groups) of pictures, and each group of pictures can include multiple pictures (e.g., 4 pictures). The picture content in each group of pictures is the same, but the different pictures in each group of pictures correspond to different sets of shooting-related parameters P, and each picture corresponds to a set of shooting feature label (e.g., strong beautification, weak beautification, light and fresh, Japanese style, etc.) score vectors S. Among them, the set of shooting-related parameters P includes a set of shooting parameters of the picture and a set of picture quality (PQ) effect parameters. The set of shooting parameters can be {a1, a2, a3, …}. The set of PQ effect parameters can be {b1, b2, b3, …}.
[0124] For example, the set of shooting parameters can be {white balance (a1), ISO (a2), exposure compensation (a3), shutter speed (a4), focus mode (a5), metering mode (a6), brightness (a7), saturation (a8), contrast (a9), sharpness (a10), …}. The set of PQ effect parameters can be used for the terminal to adjust the PQ effect of the picture, such as contrast adjustment, brightness adjustment, color saturation adjustment, tone adjustment, definition adjustment (such as digital noise reduction (DNR) adjustment), chroma TI (CTI) adjustment, etc. Image quality adjustment. This example is only used to explain the present application and should not be construed as limiting.
[0125] For example, the set of shooting feature label score vectors S can be {score of strong beautification, score of weak beautification, score of light and fresh, score of Japanese style}. As Figure 4 As shown in 4d, the user preference interface 440 displays the first group of pictures, which includes pictures a, b, c, and d. The set of shooting-related parameters corresponding to each of the four pictures, and the set of shooting feature label score vectors S corresponding to each of the four pictures can be shown in Table 1 as follows:
[0126] Table 1 Set of shooting-related parameters and set of shooting feature label score vectors S corresponding to effect pictures
[0127]
[0128]
[0129] From the above table 1, it can be seen that the photographing related parameter set corresponding to picture a is P_a, the photographing feature label score vector set S_a corresponding to picture a is {0.6, 0, 0.2, 0.2}, that is, the score of strong beautification in picture a is 0.6, the score of weak beautification is 0, the score of light and fresh is 0.2, the score of Japanese style is 0.2, and the like. The photographing related parameter set corresponding to picture b is P_b, the photographing feature label score vector set S_b corresponding to picture b is {0, 0.2, 0.4, 0.4}, that is, the score of strong beautification in picture b is 0, the score of weak beautification is 0.2, the score of light and fresh is 0.4, and the score of Japanese style is 0.4. The photographing related parameter set corresponding to picture c is P_c, the photographing feature label score vector set S_c corresponding to picture c is {0, 0.2, 0.8, 0}, that is, the score of strong beautification in picture c is 0, the score of weak beautification is 0.2, the score of light and fresh is 0.8, and the score of Japanese style is 0. The photographing related parameter set corresponding to picture d is P_d, the photographing feature label score vector set S_d corresponding to picture d is {0, 0.2, 0.2, 0.6}, that is, the score of strong beautification in picture d is 0, the score of weak beautification is 0.2, the score of light and fresh is 0.2, and the score of Japanese style is 0.6. The example shown in the above table 1 is only used to explain the present application and should not be construed as a limitation.
[0130] The sum of the scores of the effect picture photographing feature labels can be 1. The higher the score of a photographing feature label in the effect picture, the higher the matching degree between the photographing related parameter set corresponding to the effect picture and the photographing related parameter set corresponding to the photographing feature label, that is, the photographing feature label with a higher score is more consistent with the feature represented by the photographing related parameter of the user.
[0131] After the terminal receives the effect picture selected by the user, the terminal can record the set of shooting-related parameters P corresponding to the effect picture selected by the user (for example, the set of shooting-related parameters P_b) and the set of shooting feature label score vectors S corresponding to the effect picture selected by the user (for example, the set of shooting feature label score vectors S_b), and take the set of shooting-related parameters P (for example, the set of shooting-related parameters P_b) and the set of shooting feature label score vectors S (for example, the set of shooting feature label score vectors S_b) as a training set Q {P→S} (for example, {P_b→S_b}) of the neural network model, and train the neural network model by using a deep learning algorithm to obtain a mapping function f(x) of the set of shooting-related parameters P and the set of shooting feature label score vectors S. In the mapping function f(x) of the neural network model, the set of shooting-related parameters P is taken as input, and the set of shooting feature label score vectors S is taken as output. The terminal can input the training parameter set Q composed of the set of shooting-related parameters P corresponding to the multiple effect pictures selected by the user and the set of shooting feature label score vectors S into the neural network model for training, so as to obtain a mapping function f(x) that is more in line with the user's preference. The specific implementation process of training the mapping function f(x) of the neural network model can refer to the neural network training process of the embodiment shown in Figure 10 , which will not be described here again.
[0132] For example, as shown in 4d in Figure 4 , the terminal can receive an input operation 442 of the user on the effect picture (for example, picture b), and in response to the input operation 442, the terminal can take the set of shooting-related parameters P_b corresponding to picture b and the set of shooting feature label score vectors S_b corresponding to picture b as a training set Q_1 {P_b→S_b}, and input the training set Q_1 {P_b→S_b} into the neural network model, train the neural network model by using a deep learning algorithm, and obtain the mapping function f(x).
[0133] In a possible case, the terminal can pop up a user preference survey interface to collect the set of shooting-related parameters P corresponding to the picture selected by the user and the set of shooting feature label score vectors S corresponding to the picture selected by the user when the terminal receives the operation of the user opening the camera application for the first time or when the terminal receives the operation of the user opening the camera application every user preference survey period (for example, the terminal surveys the user's shooting preference every 10 days).
[0134] For example, please refer to Figure 5 , Figure 5Figure 5a shows the main interface 510 displayed on the terminal's touchscreen. The main interface 510 may include an icon 511 for the camera application and icons for other applications (such as Alipay, Notepad, Music, WeChat, Settings, Dialer, Messages, Contacts, etc.). The terminal can receive user input 512 (e.g., a click) on the camera application icon 511. In response to this input 512, the terminal can open the camera (e.g., the front or rear camera) and display the following on the touchscreen: Figure 5 The camera shooting interface 520 shown in 5b is displayed, and a user preference survey interface 530 pops up in the camera shooting interface 520.
[0135] like Figure 5 As shown in 5b, a user preference survey interface 530 can pop up in the camera shooting interface 520. This user preference survey interface 530 includes multiple sets (e.g., 10 sets) of images, each set containing multiple images (e.g., 4 images). The images in each set have the same content, but the shooting-related parameter sets P corresponding to different images in each set are different, and each image corresponds to a shooting feature label (e.g., strong beautification, weak beautification, fresh and natural style, Japanese style, etc.) score vector set S. The terminal can receive user input operation 532 for the effect image 531 (e.g., image b). In response to this input operation 532, the terminal can use the shooting-related parameter set P_b corresponding to the effect image 531 (e.g., image b) and the shooting feature label score set S_b corresponding to the effect image 531 (e.g., image b) as a training set Q_1{P_b→S_b}, and input this training set Q_1{P_b→S_b} into a neural network for training using a deep learning algorithm to obtain the mapping function f(x).
[0136] After the terminal collects user data (including general user data and user shooting-related parameters), and the number of times the mapping function f(x) in the aforementioned neural network is trained using the training set Q{P→S} exceeds a preset training threshold (e.g., 10 times), the terminal can process the user's photos when the user opens the camera app to take a picture, using the PQ effect parameter set corresponding to the smart photo tag (e.g., fresh and natural) matched by the terminal for the user, and display the photos on the terminal's touchscreen. The process of the terminal matching the smart photo tag (e.g., fresh and natural) for the user can be referred to as follows. Figure 11 , Figure 12 The embodiments shown are not described in detail here.
[0137] For example, please see Figure 6 , Figure 6Figure 6a shows the main interface 510 displayed on the terminal's touchscreen. The main interface 510 may include an icon 611 for the camera application and icons for other applications (such as Alipay, Notepad, Music, WeChat, Settings, Dialer, Messages, Contacts, etc.). The terminal can receive user input 612 (e.g., a click) on the camera application icon 611. In response to this input 612, the terminal can open the camera (e.g., the front or rear camera) and display the following on the touchscreen: Figure 6 The camera shooting interface 620 is shown in 6b.
[0138] like Figure 6 As shown in 6b, the camera shooting interface 620 can display an image 621 captured by a camera (e.g., a front-facing camera or a rear-facing camera) and a tag recommendation button 623 for a smart photo tag (e.g., a fresh and natural style) matched by the terminal for the user. The terminal can receive input operations 624 (e.g., clicking) from the user on the tag recommendation button 623. In response to the input operation 624 (e.g., clicking), the tag recommendation button 623 can switch from a closed state to an open state. The terminal can then enable the function of image processing of the image 621 captured by the terminal using the PQ effect parameter set corresponding to the smart photo tag (e.g., fresh and natural style). In one possible case, the terminal can receive another input operation (e.g., clicking) from the user on the tag recommendation button 623 in the open state. The tag recommendation button 623 can then switch from the open state to a closed state. The terminal can then disable the function of image processing of the image 621 captured by the terminal using the PQ effect parameter set corresponding to the smart photo tag (e.g., fresh and natural style).
[0139] like Figure 6 As shown in 6c, the camera shooting interface 630 can display images 631 captured by the camera (e.g., a front camera or a rear camera), a tag recommendation button 633 for smart photo tags (e.g., "fresh and natural") matched to the user by the terminal, a shooting button 635, etc. Figure 6 In 6c, the tag recommendation button 633 is in the on state, meaning the terminal can enable the function of processing the image 631 captured by the terminal using the PQ effect parameter set corresponding to the smart photo tag (e.g., fresh and clean style). The terminal can receive user input operation 636 (e.g., click) on the shooting button 635. In response to the input operation 636 (e.g., click), the terminal can use the PQ effect parameter set corresponding to the smart photo tag (e.g., fresh and clean style) to process the image 631 captured by the terminal, and save the processed image to the gallery. The processed image can be, for example, as shown in the image below. Figure 6 Image 647 is shown in 6d. (As shown in image 647) Figure 6As shown in FIG. 6d, the terminal can label the image-processed picture 647 with a smart shooting mark 649 (for example, a smart shot), and store the image-processed picture 647 in a gallery.
[0140] The following describes a smart shooting system provided by an embodiment of the present application.
[0141] Please refer to Figure 7 , Figure 7 FIG. 7 is a schematic diagram of an architecture of a smart shooting system provided by an embodiment of the present application. As shown in FIG. 7, the smart shooting system 700 can include a system setting module 710, a data acquisition module 720, a data preprocessing module 730, a data storage module 740, a feature extraction module 750, and a parameter setting module 760. Among them, Figure 7
[0142] The system setting module 710 can be used to turn on and off the smart shooting function provided by the embodiment of the present application.
[0143] The data acquisition module 720 can be used to periodically (for example, the acquisition period can be 10 days, 15 days, 1 month, or longer, etc.) acquire the user data on the terminal after the smart shooting function is turned on. Among them, the user data includes user personal basic information (gender, birth year, residence, etc.), behavior habits (most commonly used APP, APP used most frequently, APP used after plugging in earphones, frequently visited places, sleep time, wake-up time), interest and hobby (reading preference, online browsing habits), shooting preferences (shooting parameters, shooting content, shooting content), and browsing picture habits (shared pictures, deleted pictures, collected pictures, edited pictures).
[0144] The data preprocessing module 730 can be used to preprocess the user data acquired by the data acquisition module 720 to extract valid data. The preprocessing process can refer to the data preprocessing process shown in FIG. 6c, which will not be described here. Figure 8
[0145] The data storage module 740 can be used to construct a database to store the user data (general data, shooting-related data) acquired by the data acquisition module 720, the valid data (user data after preprocessing) processed by the data preprocessing module 730, and the feature value data (feature values corresponding to feature labels) after the feature extraction by the feature extraction module 750.
[0146] The feature extraction module 750 can be used to extract user feature tags based on user data information collected by the data acquisition module 720. The user feature tags include general feature tags and image capture feature tags, as well as fused feature tags resulting from a feature tag fusion process between the general feature tags and image capture feature tags. The feature tag fusion process can be referred to as follows: Figure 11 , Figure 12 The feature label fusion process shown will not be described in detail here.
[0147] The parameter setting module 760 can be used to process the image captured by the terminal's camera based on the user's highest-scoring fusion feature tag (i.e., smart photo tag), and set the PQ effect parameters corresponding to the highest-scoring fusion feature tag on the image captured by the camera.
[0148] The process of terminal collecting user data in the embodiments of this application is described in detail below.
[0149] The terminal can collect user data using data tracking, meaning it can monitor events during the software application's operation. When a relevant event occurs, the terminal can identify and capture it, then obtain the relevant information and store it in its local database or on a remote server. The events monitored by the terminal can be provided by the operating system, browser, application (APP) framework, or custom trigger events (such as clicking a specific button) can be added on top of basic events.
[0150] For example, the terminal can listen for events such as users clicking the "favorite," "delete," and "share" buttons in the gallery app. When the terminal receives a user clicking the "favorite" button on wallpaper image_1 in the wallpaper app, the terminal can record the wallpaper image and store it as a favorite image on the terminal's local machine or a remote server. If the terminal receives a user clicking the "delete" button on wallpaper image_2 in the wallpaper app, the terminal can record the wallpaper image and store it as a deleted image on the terminal's local machine or a remote server. If the terminal receives a user clicking the "share" button on wallpaper image_3 in the wallpaper app, the terminal can record the wallpaper image and store it as a deleted image on the terminal's local machine or a remote server. These examples are merely for explaining this application and should not be construed as limiting the scope of the application.
[0151] For example, if the terminal is to count the number of times the user opens the APP and the time the user stays in the APP, the terminal can count the number of times the user opens the APP by listening to the event of opening the APP by the operating system. The terminal counts the number of times the APP is opened once the APP is successfully opened once. The terminal does not count the number of times the APP is opened when the terminal enters the APP again after receiving the user's click on the home key to switch to the background. The terminal calculates the time length of the user accessing the APP by listening to the input operation of the user entering the APP and the input operation of the user exiting the APP. The examples are only used to explain the present application and should not be construed as limiting.
[0152] By using the above data burying method, the user data collected by the terminal can include general data and shooting related data.
[0153] The general data can include the user's personal basic information, behavior habits, interests and hobbies, etc. The specific data subtypes can be as shown in Table 2:
[0154] Table 2 General data
[0155]
[0156] As can be seen from Table 2 above,
[0157] 1. The personal basic information can include gender, birth year, place of residence, etc.
[0158] For example, the terminal can obtain the gender input by the user from the personal information of the terminal system account (such as Huawei account center of Huawei terminal, Apple account center (Apple ID) of Apple terminal, etc.). In one possible case, the terminal can also analyze multiple photos taken by the user's front camera to infer the user's gender. In one possible case, the terminal can also call the data access interface provided by the third-party APP (such as QQ, WeChat, Taobao, Weibo, etc.) to access the user's gender from the server of the third-party APP. The above-mentioned ways of obtaining the user's gender are only used to explain the present application and should not be construed as limiting. In specific implementation, the user's gender can also be obtained by other ways.
[0159] For example, the terminal can obtain the birth year filled in by the user in the personal information in the system account of the terminal from the personal information of the system account center (e.g., Huawei account center of Huawei terminal, Apple account center (Apple ID) of Apple terminal, etc.). In a possible case, the terminal can also call the data access interface provided by the third-party APP (e.g., QQ, WeChat, Taobao, Weibo, etc.) to access the data, and obtain the birth year of the user from the server of the third-party APP. The above method of obtaining the birth year of the user is only used to explain the present application, and should not be construed as a limitation. In a specific implementation, the birth year of the user can also be obtained by other methods.
[0160] For example, the terminal can obtain the residence filled in by the user in the personal information in the system account of the terminal from the personal information of the system account center (e.g., Huawei account center of Huawei terminal, Apple account center (Apple ID) of Apple terminal, etc.). In a possible case, the terminal can also call the data access interface provided by the third-party APP (e.g., QQ, WeChat, Taobao, Weibo, Baidu map, etc.) to access the data, and obtain the residence of the user from the server of the third-party APP. The above method of obtaining the residence of the user is only used to explain the present application, and should not be construed as a limitation. In a specific implementation, the birth year of the user can also be obtained by other methods.
[0161] 2. The behavior habit can include the most commonly used APP of the user, the APP used most frequently, the APP used after plugging in the earphone, the frequently visited place, the sleep time, the wake-up time, etc.
[0162] For example, the terminal can record the usage records of each app. These records include the number of times the app is opened within a given period (e.g., one day, one week, one month), the app's runtime on the terminal within that period, and the apps used by the terminal after plugging in headphones within that period. The terminal can identify the app opened most frequently within a given period as its most frequently used app, the app with the longest runtime within a given period as its most used app, and the app used most frequently after plugging in headphones as its most used app. The methods for obtaining the information on most frequently used apps, apps with the longest runtime, and apps used after plugging in headphones are merely for explaining this application and should not be construed as limiting the scope of the application. In specific implementations, other methods can also be used to obtain the user's most frequently used apps, apps with the longest runtime, and apps used after plugging in headphones.
[0163] For example, when taking a photo, the terminal can simultaneously acquire location information, recording the location and date of the photo taken by the user. Therefore, the terminal can determine the user's frequently visited locations based on the location and time of the photo. A user's frequently visited location can be the number of times the terminal takes photos at the same location on different dates. For example, the terminal records that the user took a photo at the beach on January 10, 2018; at Nanshan on February 1, 2018; at a shopping mall on March 1, 2018; at the beach on April 2, 2018; and at the beach on May 1, 2018. The terminal can determine that the user's frequently visited location is "the beach." In one possible scenario, the terminal can also call the data access interface provided by a third-party app (e.g., Baidu Maps, Gaode Maps, etc.) to obtain the user's frequently visited locations from the third-party app's server. The above methods for obtaining the user's frequently visited locations are merely for explaining this application and should not be construed as limiting the scope. In specific implementations, other methods can also be used to obtain the user's frequently visited locations.
[0164] For example, when the terminal is on the bed of the user's sleep, the terminal can detect the vibration information (including vibration frequency, vibration amplitude, etc.) of the bed surface and the surrounding sound information (amplitude of sound, frequency of sound, etc.) through various sensors (such as motion sensors, microphones, etc.). Since the user's regular sound and the user's breathing or other actions after the user falls asleep will cause regular movement of the bed surface, when the terminal determines that the vibration information of the bed surface meets the vibration rule of the bed after the user falls asleep and the sound information around the terminal meets the sound rule after the user falls asleep, the terminal can determine the user's sleep time. In a possible case, the terminal can also monitor the user's heart rate, respiration, body temperature, blood pressure, motion, etc. through an auxiliary device (such as a smart watch, a smart bracelet, etc.) to obtain the user's sleep time. The above-mentioned method for obtaining the user's sleep time is only used to explain the present application and should not be construed as a limitation. In specific implementation, the user's sleep time can also be obtained by other methods.
[0165] For example, the terminal can obtain the user's alarm time by accessing the records in the alarm application, thereby obtaining the user's getting-up time. In a possible case, the terminal can detect the time when the user picks up the terminal earliest each day through a motion sensor, and determine the time when the user picks up the terminal earliest as the user's getting-up time. In a possible case, the terminal can monitor the time when the user unlocks the terminal earliest each day, and determine the time when the terminal is unlocked as the user's getting-up time. The above-mentioned method for obtaining the user's getting-up time is only used to explain the present application and should not be construed as a limitation. In specific implementation, the user's getting-up time can also be obtained by other methods.
[0166] 3. The interest can include reading preferences, web browsing habits, etc.
[0167] For example, the terminal can obtain the user's reading preferences through a reading application (such as Huawei Reading on Huawei terminal, etc.) on the terminal. In a possible case, the terminal can also call a data access interface provided by a third-party APP (such as WeChat Reading, QQ Reading, etc.) to access the user's frequently-visited places from the server of the third-party APP. The above-mentioned method for obtaining the user's frequently-visited places is only used to explain the present application and should not be construed as a limitation. In specific implementation, the user's frequently-visited places can also be obtained by other methods.
[0168] For example, the terminal can receive a user input operation of opening a browser (e.g., clicking an icon of a browser application on a home interface of the terminal, inputting "open browser" through a voice assistant), and in response to the user input operation of opening the browser, the terminal can display a search page of the browser. The terminal can record search content input by the user on the search page of the browser, and extract a keyword (e.g., "sightseeing spot") of the search content within a period of time (e.g., one day, one week, one month, etc.). The terminal can also record a visited website of the user, and extract a type of the visited website of the user (e.g., video website, travel website, shopping website, etc.). The online browsing habits of the user can include the keyword of the search content, the type of the visited website, and the like. In a specific implementation, the online browsing habits of the user can also include other information. In a possible case, the terminal can also call a data access interface provided by a third-party APP (e.g., Weibo, Baidu search, etc.) having access permission, and obtain the online browsing habits of the user from a server of the third-party APP. The above-described manner of obtaining the online browsing habits of the user is merely used to explain the present application, and should not be construed as a limitation. In a specific implementation, the online browsing habits of the user can also be obtained through other manners.
[0169] The shooting-related data can include a shooting preference of the user, a browsing picture habit, and the like. The specific data types can be as shown in Table 3.
[0170] Table 3: Shooting-related data
[0171]
[0172]
[0173] As can be seen from Table 3, the shooting preference includes a shooting parameter, a shooting mode, a shooting content, and the like. The browsing picture habit includes a shared picture, a deleted picture, a collected picture, an edited picture, and the like. The shooting parameter includes a white balance, an ISO (international standards organization), an exposure compensation, a shutter speed, a focus mode, a light metering mode, brightness, saturation, contrast, sharpness, and the like.
[0174] 1. The shooting parameter can include a white balance, an ISO (international standards organization), an exposure compensation, a shutter speed, a focus mode, a light metering mode, brightness, saturation, contrast, sharpness, and the like.
[0175] For example, the terminal can receive an input operation of a user opening a camera application (e.g., clicking a camera application icon on a home screen of the terminal, inputting "open camera" through a voice assistant), in response to the input operation of opening the camera, the terminal can enable a camera and display a picture captured by the camera on the touch screen. When the terminal receives an input operation of the user setting a shooting parameter, in response to the input operation of the user setting the shooting parameter, the terminal can record and collect the shooting parameter set by the user. For example, the terminal can extract the shooting parameter in the picture by performing picture analysis on a picture shared by the user, a picture deleted by the user, a picture collected by the user, and a picture edited by the user. The above-described method of obtaining the shooting parameter of the user is only used to explain the present application and should not be construed as limiting. In a specific implementation, the shooting parameter of the user can also be obtained through other methods.
[0176] For example, the shooting parameter of the user obtained by the terminal can be as shown in Table 4.
[0177] Table 4: Shooting parameter of the user
[0178] Shooting parameter Data value White balance 2400K ISO 100 Exposure compensation +0.5EV Shutter speed 1 / 125s Focus mode AF Metering mode Central-weighted metering Brightness 10EV Saturation 120 Contrast 100 Sharpness MTF50
[0179] As can be seen from the shooting parameter of the user shown in Table 4, the shooting parameter of the user is as follows: the value of white balance is 2400K, the value of ISO (international standards organization) is 100, the value of exposure compensation is +0.5EV, the shutter speed is 1 / 125s, the focus mode is AF (auto focus), the metering mode is center-weighted metering, the value of brightness is 10 EV (exposure value), the value of saturation is 120, the value of contrast is 100, and the value of sharpness is MTF50. Table 4 is only used to explain the present application and should not be construed as limiting.
[0180] 2. The shooting mode can include normal shooting, large aperture, portrait mode, food mode, black and white camera, professional shooting, 3D dynamic panorama, HDR (high dynamic range imaging) shooting, and the like.
[0181] Each shooting mode can correspond to a set of shooting related parameters, and the set of shooting related parameters can include a set of shooting parameters {a1, a2, a3, …} and a set of picture quality (PQ) effect parameters {b1, b2, b3, …}. The set of PQ effect parameters can be used for the terminal to adjust the PQ effect of a picture, such as contrast adjustment, brightness adjustment, color saturation adjustment, tone adjustment, definition adjustment (such as digital noise reduction (DNR) adjustment), chroma TI (CTI) adjustment, and other image quality adjustments.
[0182] For example, the correspondence between the shooting mode and the set of shooting related parameters can be as shown in Table 5:
[0183] Table 5: Correspondence between shooting mode and set of shooting related parameters
[0184] Shooting mode Shooting-related parameter set Normal P_1 Large aperture P_2 Portrait P_3 Food P_4 Black and white camera P_5 Professional P_6 3D dynamic panorama P_7 HDR P_8 …… ……
[0185] As can be seen from the correspondence between the shooting mode and the set of shooting related parameters shown in Table 5, the set of shooting related parameters corresponding to the normal shooting mode in the shooting mode is P_1, the set of shooting related parameters corresponding to the large aperture shooting mode is P_2, the set of shooting related parameters corresponding to the portrait shooting mode is P_3, the set of shooting related parameters corresponding to the food shooting mode is P_4, the set of shooting related parameters corresponding to the black and white camera shooting is P_5, the set of shooting related parameters corresponding to the professional shooting mode is P_6, the set of shooting related parameters corresponding to the 3D dynamic panorama is P_7, and the set of shooting related parameters corresponding to the HDR shooting mode is P_8. Table 5 is only used to explain the present application and should not be construed as limiting.
[0186] The terminal can record the shooting mode used by the user each time the user takes a picture. Therefore, according to the preset correspondence between the shooting mode and the set of shooting related parameters P, the terminal can determine the shooting mode used by the user more than a preset number of times threshold (for example, the preset number of times threshold can be 1 time, 2 times, 3 times, 4 times, 5 times, 10 times, etc.) as the commonly used shooting mode of the user.
[0187] For example, the commonly used shooting mode of the user and the set of shooting related parameters corresponding to the commonly used shooting mode obtained by the terminal can be as shown in Table 6:
[0188] Table 6: Correspondence between commonly used shooting mode of user and set of shooting related parameters
[0189]
[0190]
[0191] As shown in the table 6, the common shooting modes and corresponding shooting related parameter sets of the user obtained by the terminal are as follows: the normal shooting mode and the corresponding shooting related parameter set P_1, the large aperture mode and the corresponding shooting related parameter set P_2, the portrait mode and the corresponding shooting related parameter set P_3, the food mode and the corresponding shooting related parameter set P_4, and the HDR shooting mode and the corresponding shooting related parameter set P_8. The example shown in the table 6 is only used to explain the present application and should not be construed as a limitation.
[0192] 3. The shooting content can include portrait, green plants, flowers, food, sunrise, sunset, etc.
[0193] Each shooting mode can correspond to a set of shooting related parameters. The shooting related parameters include a set of shooting parameters and a set of PQ effect parameters. The set of PQ effect parameters can be used by the terminal to adjust the PQ effect of the picture, such as contrast adjustment, brightness adjustment, color saturation adjustment, tone adjustment, definition adjustment (such as digital noise reduction (DNR) adjustment), chroma TI (CTI) adjustment, and other image quality adjustments.
[0194] For example, the correspondence between the shooting content and the shooting related parameter set can be as shown in the following table 7:
[0195] Table 7: Correspondence between shooting content and shooting related parameter set
[0196] Shooting content Shooting-related parameter set Portrait P_9 Greenery P_10 Flowers P_11 Food P_12 Sunrise P_13 Sunset P_14 …… ……
[0197] As shown in the table 7, the portrait shooting content corresponds to the shooting related parameter set P_9, the green plant shooting content corresponds to the shooting related parameter set P_10, the flower shooting content corresponds to the shooting related parameter set P_11, the food shooting content corresponds to the shooting related parameter set P_12, the sunrise shooting content corresponds to the shooting related parameter set P_13, and the sunset shooting content corresponds to the shooting related parameter set P_14. The table 7 is only used to explain the present application and should not be construed as a limitation.
[0198] The terminal can record the shooting content recognized by the terminal through the camera each time the user takes a picture. Therefore, according to the preset correspondence between the shooting content and the shooting related parameter set P, the terminal can determine the shooting content recognized by the terminal through the camera more than a second threshold (for example, the second threshold can be 1 time, 2 times, 3 times, 4 times, 5 times, 10 times, etc.) as the common shooting content of the user.
[0199] For example, the terminal can obtain the user's common shooting content and the corresponding shooting related parameter set as shown in Table 8:
[0200] Table 8: User's common shooting content and corresponding shooting related parameter set
[0201]
[0202]
[0203] As can be seen from the user's common shooting content and the corresponding shooting related parameter set shown in Table 8, the terminal obtains the user's common shooting content and the corresponding shooting related parameter set, which are: portrait shooting content and the corresponding shooting related parameter set P_9, food shooting content and the corresponding shooting related parameter set P_12, sunrise shooting content and the corresponding shooting related parameter set P_13, sunset shooting content and the corresponding shooting related parameter set P_14. The example shown in Table 8 is only used to explain the present application and should not be construed as limiting.
[0204] 4. The browsing habit of pictures can include shared pictures, deleted pictures, collected pictures, edited pictures, etc.
[0205] For example, the terminal can receive a user's input operation of opening the album (such as clicking on the album application icon on the home screen of the terminal, inputting "open album" through the voice assistant), and in response to the input operation of opening the album, the terminal can open the album application and display the album application interface on the touch screen, which can include one or more photos. The terminal can receive a user's sharing operation, deletion operation, collection operation or editing operation, etc. on the photos in the album application. When the terminal receives the user's sharing operation on the user's selected photos, the terminal can obtain the corresponding shooting related parameter set of the user's shared photos through image analysis; when the terminal receives the user's deletion operation on the user's selected photos, the terminal can obtain the corresponding shooting related parameter set of the user's deleted photos through image analysis; when the terminal receives the user's collection operation on the user's selected photos, the terminal can obtain the corresponding shooting related parameter set of the user's collected photos through image analysis; when the terminal receives the user's editing operation on the user's selected photos, the terminal can obtain the corresponding shooting related parameter set of the user's edited photos through image analysis.
[0206] For example, the terminal can obtain the user's sharing operation, deletion operation, collection operation or editing operation, etc. on the photos in the album application. When the terminal receives the user's sharing operation on the user's selected photos, the terminal can obtain the corresponding shooting related parameter set of the user's shared photos through image analysis; when the terminal receives the user's deletion operation on the user's selected photos, the terminal can obtain the corresponding shooting related parameter set of the user's deleted photos through image analysis; when the terminal receives the user's collection operation on the user's selected photos, the terminal can obtain the corresponding shooting related parameter set of the user's collected photos through image analysis; when the terminal receives the user's editing operation on the user's selected photos, the terminal can obtain the corresponding shooting related parameter set of the user's edited photos through image analysis.
[0207] Table 9: User's browsing habit of pictures and corresponding shooting related parameter set of pictures
[0208]
[0209] From the user browsing picture habits and picture corresponding PQ effect parameters shown in Table 9, it can be seen that the pictures shared by the user are picture_A and picture_B, wherein picture_A corresponds to the shooting related parameter set P_15, and picture_B corresponds to the shooting related parameter set P_16. The pictures deleted by the user are picture_C and picture_D, wherein picture_C corresponds to the shooting related parameter set P_17, and picture_D corresponds to the shooting related parameter set P_18. The pictures collected by the user are picture_E and picture_F, wherein picture_E corresponds to the shooting related parameter set P_19, and picture_F corresponds to the shooting related parameter set P_20. The pictures edited by the user are picture_G and picture_H, wherein picture_G corresponds to the shooting related parameter set P_21, and picture_H corresponds to the shooting related parameter set P_22. The above Table 9 is only used to explain the present application and should not be construed as limiting.
[0210] The following specifically introduces the flow of the terminal pre-processing the collected user data in the embodiment of the present application.
[0211] After the terminal collects the user data, the terminal can pre-process the collected user data to extract valid source data and store it in the database.
[0212] Please refer to Figure 8 , as shown in Figure 8 , a flowchart of user data preprocessing is shown. As Figure 8 , as shown, Figure 8 The user data preprocessing process includes the following steps:
[0213] 1. The terminal determines whether the collected user data is general data. If yes, the terminal removes redundant data and filters abnormal data from the collected general data, and stores the general data with removed redundant data and abnormal data in the user's database. The user's database can be on the local terminal or on the remote server, which is not limited here.
[0214] Redundant data removal refers to the terminal removing repetitive data in the collected user data to reduce the size of the effective general data stored in the database. For example, when the terminal collects user data, each data collection of the terminal can collect multiple copies of data through different paths. In the data collected by the terminal at a certain time, the terminal obtains the user's default express delivery address as "Shenzhen" from the life service application, and the terminal can determine the default express delivery address as the user's general data of the permanent residence, that is, the terminal obtains one copy of the user's permanent residence data as "permanent residence is 'Shenzhen'". In addition, the terminal obtains the location address of the terminal in more than 20 nights (such as 23:00 to 6:00 the next day) in a month as "Shenzhen" through the positioning service function of the mobile phone, and the terminal can determine the location address "Shenzhen" as the user's permanent residence, that is, the terminal obtains another copy of the user's permanent residence data as "permanent residence is 'Shenzhen'". After the terminal obtains the two copies of the same permanent residence data, the terminal can retain one copy of the permanent residence data to determine the effective permanent residence data and store it in the user's database. For example, when the terminal has stored the user's permanent residence as "Shenzhen" in the user's database, the terminal collects one copy of the user's permanent residence data as "Shenzhen" in the collected user data, which is the same as the user's permanent residence stored in the user's database, and the terminal can remove this copy of the collected "user's permanent residence is 'Shenzhen'". The above examples are only used to explain the present application and should not be construed as limiting.
[0215] Abnormal data filtering refers to the terminal filtering and removing unreasonable data in the collected user data. The reason for the generation of abnormal data can be that the unreasonable data is outside the value range of the data attribute. For example, the terminal can reduce the value of the user's age data attribute: the value range of the age is 0-150 years old, and if the terminal collects one copy of data in which the user's age is 200 years old, which is not within the value range of the age, the terminal determines this copy of data as abnormal data and filters and removes the abnormal data. The examples are only used to explain the present application and should not be construed as limiting.
[0216] 2. In the case that the user data collected by the terminal is not general data, the terminal determines whether the collected user data is a shooting parameter, and if so, the terminal stores the shooting parameter in the user's database.
[0217] The shooting parameter can include white balance, ISO, exposure compensation, shutter speed, focus mode, light metering mode, brightness, saturation, contrast, sharpness, etc.
[0218] 3. When the user data collected by the terminal is neither general data nor shooting parameters, if the terminal judges that the collected user data is a shooting mode or shooting content, the terminal extracts the preset shooting related parameter set in the shooting mode or shooting content, and stores the shooting related parameter set extracted from the shooting mode or shooting content into the database of the user. If not, the terminal judges whether the picture is clear. If the picture is clear, the terminal performs picture analysis on the picture to extract the shooting related parameter set corresponding to the picture, and stores the shooting related parameter set into the database of the user. Exemplarily, the terminal can judge whether the value of the clarity of the picture is greater than a preset clarity threshold. If yes, the picture is clear.
[0219] The process of feature extraction of the user data of the terminal in the embodiment of the present application is described below.
[0220] 1. Feature extraction of general data of the user by the terminal
[0221] Please refer to Figure 9 , Figure 9 the flowchart of feature extraction of the general data of the user by the terminal in the embodiment of the present application. As shown in Figure 5 , after the intelligent shooting function provided by the present application is started, the terminal can collect the data information of the user. The data information of the user collected by the terminal includes the personal basic information, behavior habit, interest and hobby, shooting hobby, and browsing picture habit of the user. Then, the terminal performs the preprocessing process shown in Figure 8 on the collected user data to extract the effective source data. Finally, the terminal matches the preprocessed general data (including the personal basic information, behavior habit, and interest and hobby) with the data in the pre-trained general feature label library, and stores the feature value corresponding to the matched feature label into the database of the user.
[0222] Exemplarily, the preprocessed general data of the terminal can be as shown in Table 10.
[0223] Table 10 Effective general data
[0224]
[0225] From the general valid data shown in Table 10, it can be known that the personal basic information of the user: the gender is female, the birth year is 1994, and the permanent residence is Shenzhen; the behavior habits of the user: the most commonly used application program is Pianianpitu, the APP used most frequently is WeChat, the APP used after plugging in the earphone is NetEase cloud music, the frequently visited place is the seaside, the sleep time is 23:00, and the getting-up time is 8:00; the interest and hobby of the user: the reading preference is love story and fashion magazine, and the online browsing habit is that the frequently searched keyword is "scenic spot". The above table 10 is only used for explaining the present application and should not be constituted as limitation, and in the specific implementation, the general valid data of the user can also include more information.
[0226] For example, the pre-trained general feature label library of the terminal can be shown in Table 11 as follows:
[0227] Table 11 pre-trained general feature label library
[0228]
[0229]
[0230] As shown in the pre-trained feature label library in Table 11 above, the feature ID value of the feature label for male is 0000, and the feature ID value of the feature label for female is 0001. The feature label corresponding to the birth year from 1978 to 2018 is “young people”, and the feature ID value is 0002. The feature label corresponding to the birth year from 1959 to 1977 is “middle-aged people”, and the feature ID value is 0003. The feature label corresponding to the birth year before 1958 is “old people”, and the feature ID value is 0004. The feature label corresponding to the APP type commonly used or used most frequently or used after plugging in the earphone is “music” (the feature ID value is 0005). The feature label corresponding to the APP type commonly used or used most frequently or used after plugging in the earphone is “shopping” (the feature ID value is 0006). The feature label corresponding to the APP type commonly used or used most frequently or used after plugging in the earphone is “tourism” (the feature ID value is 0007). The feature label corresponding to the APP type commonly used or used most frequently or used after plugging in the earphone is “game” (the feature ID value is 0008). The feature label corresponding to the APP type commonly used or used most frequently or used after plugging in the earphone is “social” (the feature ID value is 0009). The feature label corresponding to the APP type commonly used or used most frequently or used after plugging in the earphone is “entertainment” (the feature ID value is 0010). The feature label corresponding to the APP type commonly used or used most frequently or used after plugging in the earphone is “movie” (the feature ID value is 0011). The feature label corresponding to the reading preference type is “sports information” (the feature ID value is 0012). The feature label corresponding to the average e-book reading time greater than 30 minutes is “reading” (the feature ID value is 0013). The feature label corresponding to the average online news browsing time per day greater than 30 minutes is “news information” (the feature ID value is 0014). The feature label corresponding to the frequently searched keywords on the Internet such as “finance” or “investment” is “finance” (the feature ID value is 0015). The feature label corresponding to the frequently searched keywords on the Internet such as “job market” or “work” is “business” (the feature ID value is 0016). The above Table 11 is only used to explain the present application and should not be construed as limiting.
[0231] In combination with Table 10 and Table 11 above, the general data feature label of the user can be shown in Table 12 as follows:
[0232] Table 12 General feature label of user, i.e. feature ID value corresponding to general feature label
[0233] User's general feature label Feature ID value corresponding to the general feature label Female 0001 Young people 0002 Music 0005 Shopping 0006 Travel 0007 Social 0009
[0234] As shown in Table 12 above, the user's general characteristic tags include: female (characteristic ID value 0001), young person (characteristic ID value 0002), music (general characteristic ID value 0004), shopping (characteristic ID value 0006), travel (characteristic ID value 0007), and social interaction (characteristic ID value 0009). The terminal can store these general characteristic tags in the user's database as characteristic ID values. Table 12 above is merely for explaining this application and should not be construed as limiting it.
[0235] 2. The terminal extracts features from the user's shooting data.
[0236] The following section first introduces the process by which the terminal trains a mapping function f(x) between the shooting-related parameter set P and the shooting feature label vector set S using a neural network (such as a convolutional neural network, CNN).
[0237] Please see Figure 10 , Figure 10 10a in the figure is a flowchart of the terminal training neural network in an embodiment of this application. Figure 10 As shown in 10a, firstly, the terminal can pre-store several identical images of different categories with different label information. The label information can refer to the image's corresponding shooting feature label (e.g., strong beautification, weak beautification, fresh and natural style, Japanese style, etc.) score vector set (e.g., {strong beautification score, weak beautification score, fresh and natural style score, Japanese style score}), and the image's corresponding shooting-related parameter set. Within a set of images, different images correspond to different shooting-related parameter sets (including shooting parameter sets {a1, a2, a3, ...} and PQ effect parameters which can be {b1, b2, b3, ...}), and corresponding to different shooting feature label score vector sets S. Then, the terminal can select several sets (e.g., 10 sets) for the user to choose from. Next, the terminal can use the label information corresponding to the user-selected images as the cold-start training parameter set Q{P→S} for the neural network, where P includes the shooting parameter set and the PQ effect parameter set, and S is the score of the shooting feature label (e.g., strong beautification, weak beautification, fresh and natural style, Japanese style, etc.). Finally, the terminal can input the training parameter set Q into a neural network (e.g., a convolutional neural network) and use a deep learning algorithm to obtain the mapping function f(x).
[0238] For example, as described above Figure 4The diagram shows 10 sets of effect images in 4d. The first set of effect images may include images a, b, c, and d. After receiving user input indicating image b (e.g., clicking image b), the terminal can input the shooting-related parameter set P_b and the shooting feature label score vector set S_b corresponding to image b as a cold-start training parameter set Q_b{P_b→S_b} into the neural network, using a deep learning algorithm to obtain the mapping function f(x). The terminal can receive multiple effect images selected by the user. The cold-start training parameter set Q includes not only the shooting-related parameter set P_b and the shooting feature label score vector set S_b corresponding to image b, but also the shooting-related parameter set P_e and the shooting feature label score vector set S_e corresponding to other images selected by the user (e.g., image e). For details not elaborated, please refer to the above. Figure 4 The illustrated embodiment demonstrates how the terminal trains the neural network by acquiring the training set corresponding to the user-selected image. This ensures that the resulting mapping function f(x) outputs a set of shooting feature label score vectors that aligns with the user's preferences, thereby improving the user experience.
[0239] In one possible scenario, the terminal can periodically train the neural network; for example, the training period T can be 10 days, 15 days, 1 month, or longer.
[0240] like Figure 10 As shown in 10b, before training the neural network model, the terminal can determine whether the number N of training sets required for this training is less than a threshold M (e.g., 11). If so, the terminal can train the neural network model using a training set (e.g., Q_b{P_b→S_b}) consisting of the set of shooting-related parameters corresponding to the user-selected images (e.g., P_b for image b) and the set of shooting feature label score vectors (e.g., S_b for image b). If not, the terminal can use the pre-stored training set Q_n{P_n→S_n} to input into the neural network model, where P_n is the pre-stored set of shooting-related parameters used to train the neural network model, and S_n is the pre-stored set of shooting feature label score vectors used to train the neural network model, to obtain the mapping function f(x). The number of pre-stored training sets is greater than the aforementioned threshold M (e.g., 11). In this way, when training the mapping function f(x) using a neural network model, the more training sets there are, the more the shooting feature label score vector set output by the terminal using the trained mapping function f(x) will match the user's preferences. Therefore, when the training set corresponding to the effect image manually selected by the user is small, the terminal can train the neural network model using a pre-stored sample training set, so that the shooting feature label score vector set output by the mapping function f(x) is more in line with the user's preferences, thus improving the user experience.
[0241] The following describes the process by which the terminal extracts shooting feature labels from the user's shooting-related data after the neural network model has been trained on the terminal.
[0242] like Figure 10 As shown in 10c, after the terminal trains the neural network model and obtains the mapping function f(x), the terminal can use the shooting-related parameter set P from the user's shooting-related data collected by the terminal as the input vector to the mapping function f(x) of the neural network model to output the shooting feature label score vector set S corresponding to the user's shooting-related data. The terminal can extract the shooting feature label with the highest score from the output shooting feature label score vector set S and store it as a shooting feature label for the user in the user's database. Since the terminal collects multiple sets of shooting-related parameter sets P from the user's shooting-related data (e.g., P_1, P_2, P_3, P_4, P_8, etc.), the terminal sequentially uses multiple sets of shooting-related parameter sets P as input vectors to the mapping function f(x) to obtain multiple sets of shooting feature label score vector sets S. In one possible case, the terminal can extract multiple shooting feature labels from these multiple sets of shooting feature label score vector sets S.
[0243] For example, combining Tables 6, 8, and 9 above, the set of shooting-related parameters P in the user's shooting-related data collected by the terminal can be shown in Table 13 below:
[0244] Table 13 Set of shooting-related parameters in user shooting-related data
[0245]
[0246]
[0247] As shown in Table 13 above, the set of shooting-related parameters P in the user's shooting-related data collected by the terminal includes: P_1, P_2, P_3, P_4, P_8, P_9, P_12, P_13, P_14, P_15, P_16, P_17, P_18, P_19, P_20, P_21, and P_22. Table 13 is for illustrative purposes only and should not be construed as limiting the application.
[0248] The terminal can sequentially input multiple sets of shooting-related parameters P from Table 13 into the mapping function f(x) to obtain the shooting feature label score vector set S corresponding to each shooting-related parameter set P, and extract the shooting feature label with the highest score from each shooting feature label score vector set S.
[0249] For example, the set of photograph feature label score vectors S can be represented as {c1, c2, c3, c4, c5, c6}, where c1 is the score of the photograph feature label "strong beautification", c2 is the score of the photograph feature label "weak beautification", c3 is the score of the photograph feature label "fresh and clean", c4 is the score of the photograph feature label "Japanese style", c5 is the score of the photograph feature label "European style", and c6 is the score of the photograph feature label "fresh and clean + weak beautification".
[0250] In the above Table 13, the set of photograph-related parameters P corresponds to the set of photograph feature label score vectors S, and the photograph feature label with the highest score in each set of photograph feature label score vectors S can be as shown in Table 14 below.
[0251] Table 14: Set of photograph feature label score vectors corresponding to each set of photograph-related parameters and photograph feature label with the highest score
[0252]
[0253] As shown in the above Table 14, the terminal extracts the photograph features of the user, and the photograph feature labels of the user extracted include weak beautification, fresh and clean, and Japanese style. The feature ID values corresponding to the photograph feature labels can be as shown in Table 15 below.
[0254] Table 15: Photograph feature labels of the user and the corresponding feature ID values
[0255] User's shooting feature label Feature ID value Weak beauty 002 Fresh and clean 003 Japanese 004
[0256] As shown in the photograph feature labels of the user and the corresponding feature ID values in the above Table 15, the feature ID value corresponding to the photograph feature label "weak beautification" of the user is 002, the feature ID value corresponding to the photograph feature label "fresh and clean" of the user is 003, and the feature ID value corresponding to the photograph feature label "Japanese style" of the user is 004. The terminal can store the above general feature labels in the form of feature ID values into the database of the user. The above Table 15 is only used to explain the present application and should not be construed as a limitation.
[0257] In one possible case, the photograph feature labels of the user can be the photograph feature labels with scores greater than a first threshold in each set of photograph feature label score vectors S. For example, the first threshold can be 0.7, and in combination with the above Table 14, it can be seen that the photograph feature labels of the user include "fresh and clean". The example is only used to explain the present application and should not be construed as a limitation.
[0258] The process of fusing the general feature labels of the user and the photograph feature labels of the user by the terminal in the embodiments of the present application will be described in detail below.
[0259] Please refer to Figure 11, Figure 11 A feature label fusion process is provided for an embodiment of the present application. As shown in Figure 11 , the user's general feature labels can include: female, young, music, shopping, travel, social. The user's shooting feature labels can include: light beauty, fresh, Japanese. Each general feature label and each shooting feature label corresponds to a score. For example, the score corresponding to female and light beauty is x1, the score corresponding to female and fresh is y1, and the score corresponding to female and Japanese is z1. The score corresponding to young and light beauty is x2, the score corresponding to young and fresh is y2, and the score corresponding to young and Japanese is z2. The score corresponding to music and light beauty is x3, the score corresponding to music and fresh is y3, and the score corresponding to music and Japanese is z3. The score corresponding to shopping and light beauty is x4, the score corresponding to shopping and fresh is y4, and the score corresponding to shopping and Japanese is z4. The score corresponding to travel and light beauty is x5, the score corresponding to travel and fresh is y5, and the score corresponding to travel and Japanese is z5. The score corresponding to social and light beauty is x6, the score corresponding to social and fresh is y6, and the score corresponding to social and Japanese is z6.
[0260] The fusion weight of the user's general feature labels is L1, and the fusion weight of the user's shooting feature labels is L2. The fusion feature label obtained after the terminal performs feature label fusion is the same as the user's shooting feature label, i.e., the fusion feature label can include light beauty, fresh, and Japanese. The fusion feature label score T1 corresponding to the fusion feature label "light beauty" can be calculated by the following formula (1):
[0261] T1=L1*(x1+x2+x3+x4+x5+x6)+L2*1 formula (1)
[0262] In the above formula (1), L1 is the fusion weight of the user's general feature labels, L2 is the fusion weight of the user's shooting feature labels, x1 is the score corresponding to the general feature label "female" and the shooting feature label "light beauty", x2 is the score corresponding to the general feature label "young" and the shooting feature label "light beauty", x3 is the score corresponding to the general feature label "music" and the shooting feature label "light beauty", x4 is the score corresponding to the general feature label "shopping" and the shooting feature label "light beauty", x5 is the score corresponding to the general feature label "travel" and the shooting feature label "light beauty", and x6 is the score corresponding to the general feature label "social" and the shooting feature label "light beauty".
[0263] The fusion feature label score T2 corresponding to the fusion feature label "light beauty" can be calculated by the following formula (2):
[0264] T2 = L1*(y1 + y2 + y3 + y4 + y5 + y6) + L2*1 Formula (2)
[0265] In the above formula (2), L1 is the fusion weight of the general feature label of the user, L2 is the fusion weight of the shooting feature label of the user, y1 is the score corresponding to the general feature label "female" and the shooting feature label "fresh", y2 is the score corresponding to the general feature label "young people" and the shooting feature label "fresh", y3 is the score corresponding to the general feature label "music" and the shooting feature label "fresh", y4 is the score corresponding to the general feature label "shopping" and the shooting feature label "fresh", y5 is the score corresponding to the general feature label "tourism" and the shooting feature label "fresh", and y6 is the score corresponding to the general feature label "social" and the shooting feature label "fresh".
[0266] The fusion feature label score T3 corresponding to the fusion feature label "weak beauty" can be calculated by the following formula (3):
[0267] T3 = L1*(z1 + z2 + z3 + z4 + z5 + z6) + L2*1 Formula (3)
[0268] In the above formula (3), L1 is the fusion weight of the general feature label of the user, L2 is the fusion weight of the shooting feature label of the user, z1 is the score corresponding to the general feature label "female" and the shooting feature label "Japanese", z2 is the score corresponding to the general feature label "young people" and the shooting feature label "Japanese", z3 is the score corresponding to the general feature label "music" and the shooting feature label "Japanese", z4 is the score corresponding to the general feature label "shopping" and the shooting feature label "Japanese", z5 is the score corresponding to the general feature label "tourism" and the shooting feature label "fresh", and z6 is the score corresponding to the general feature label "social" and the shooting feature label "Japanese".
[0269] For example, the fusion weight L1 of the general feature label of the user can be 0.6, and the fusion weight L2 of the general feature label of the user can be 0.4. The scores corresponding to the general feature label and the shooting feature label can be as shown in Table 16:
[0270] Table 16 Scores corresponding to the general feature label and the shooting feature label
[0271]
[0272] The terminal can calculate the fusion label score T1 corresponding to the fusion feature label "weak beauty" as 1.54, the fusion label score T2 corresponding to the fusion feature label "fresh" as 1.96, and the fusion label score T3 corresponding to the fusion feature label "Japanese" as 1.3 according to the above Table 16 and the above formula (1), formula (2), and formula (3). The fusion feature label with the highest fusion feature label score is "fresh".
[0273] The terminal can determine the fusion feature label with the highest fusion feature label score as the intelligent photographing label of the user, and store the intelligent photographing label into the database of the user, where the intelligent photographing label of the user can be used to set the PQ effect parameter of the photographing picture for the terminal when the user takes a picture.
[0274] The PQ effect parameter set corresponding to each fusion feature label is pre-stored in the terminal, as shown in FIG. 13.
[0275] The PQ effect parameter set corresponding to each fusion feature label is pre-stored in the terminal, as shown in FIG. 13. Figure 12 For example, the PQ effect parameter set corresponding to the fusion feature label "weak beauty" is parameter set 1, the PQ effect parameter set corresponding to the fusion feature label "fresh" is parameter set 2, and the PQ effect parameter set corresponding to the fusion feature label "Japanese" is parameter set 3.
[0276] After calculating the fusion feature label score corresponding to each fusion feature label, the terminal can use the PQ effect parameter set corresponding to the fusion feature label with the highest fusion feature label score (i.e., the intelligent photographing label) to perform image processing on the picture captured by the terminal when taking a picture, so as to obtain the intelligent photographing picture. For example, the fusion feature label with the highest fusion feature label score (i.e., the intelligent photographing label) can be "fresh", and the PQ effect parameter set corresponding to the intelligent photographing label "fresh" is parameter set 3. That is, the terminal can use the parameter set 3 to perform image processing on the picture captured by the terminal when taking a picture, so as to obtain the intelligent photographing picture.
[0277] According to the intelligent photographing method provided in the embodiments of the present application, the terminal can collect the data of the user, extract the feature label of the user, and assist the user to take a picture with a photographing effect conforming to the feature of the user, so as to provide the user with a photographing effect conforming to the individuality of the user and improve the experience of the user.
[0278] Please refer to Figure 13 , Figure 13 The user database 1300 is constructed for the data storage module in the intelligent photographing system in the embodiments of the present application. As shown in FIG. 14, the user database 1300 includes a user ID field 1301, a feature label field 1302, and a PQ effect parameter set field 1303. Figure 13As shown, the user database 1300 can include user data collected by the terminal, valid data after preprocessing of the collected user data, and feature value data corresponding to the feature labels of the user.
[0279] The user data can include general data and photographing-related data.
[0280] The valid data can include photographing parameters (such as photographing parameter set 1, photographing parameter set 2, photographing parameter set 3, etc.), PQ effect parameters (such as PQ effect parameter set 1, PQ effect parameter set 2, PQ effect parameter set 3, etc.), and general valid data (such as data 1, data 2, data 3, etc.).
[0281] The feature value data can include general feature values (such as general feature ID 1, general feature ID 2, general feature ID 3, etc.), photographing-related feature values (such as photographing-related feature ID 1, photographing-related feature ID 2, photographing-related feature ID 3, etc.), and fusion feature values (such as fusion feature ID 1, fusion feature ID 2, fusion feature ID 3, etc.). The general feature values are used to indicate general feature labels of the user, and each general feature value corresponds to a general feature label. The photographing-related feature values are used to indicate photographing feature labels of the user, and each general feature value corresponds to a general feature label. The fusion feature values are used to indicate fusion feature labels of the user, and each fusion feature value corresponds to a fusion feature label.
[0282] In the embodiments of the present application, the user database 1300 is only used to explain the present application and should not be construed as a limitation. In specific implementations, the user database 1300 can include more information, such as a PQ effect parameter set corresponding to a fusion feature label, etc.
[0283] Please refer to Figure 14 , Figure 14 a flowchart of an intelligent photographing method provided by the present application. As shown in Figure 14 the intelligent photographing method includes:
[0284] S1401, the terminal extracts one or more first labels in the general data of the user; the general data is used to represent the identity features of the user.
[0285] The general data of the user can include personal basic information, behavior habits, interests and hobbies of the user, etc. The personal basic information can include gender, birth year, place of residence, etc. The behavior habits can include the most commonly used APP of the user, the APP used most frequently, the APP used after plugging in the earphone, the frequently visited place, the sleep time, the wake-up time, etc. The interests and hobbies can include reading preferences, online browsing habits, etc. The process of collecting user data by the terminal can refer to the foregoing embodiments, which will not be described here.
[0286] For example, the one or more first labels extracted by the terminal can be the general characteristic labels of the user in the above-mentioned embodiments, such as the general characteristic labels of the user in Table 12, which are female, young, music, shopping, travel, and social. The process of extracting the one or more first labels from the general data of the user can refer to the above-mentioned Figure 9 The general data characteristic extraction process in the illustrated embodiments will not be described here again.
[0287] S1402, the terminal extracts one or more second labels from the shooting-related data of the user; the shooting-related data is used to represent the shooting preferences of the user.
[0288] The shooting-related data of the user can include shooting preferences, browsing habits, and the like of the user. The shooting preferences of the user include shooting parameters, shooting modes, shooting contents, and the like. The browsing habits include shared pictures, deleted pictures, collected pictures, and edited pictures.
[0289] For example, the shooting parameters can include white balance, ISO, exposure compensation, shutter speed, focus mode, light metering mode, brightness, saturation, contrast, sharpness, and the like. The shooting modes can include normal shooting, large aperture, portrait mode, food mode, black-and-white camera, professional shooting, 3D dynamic panorama, and HDR shooting. The examples are only used to explain the present application and should not be construed as limiting.
[0290] For example, the one or more second labels extracted by the terminal can be the shooting characteristic labels of the user in the above-mentioned embodiments. For example, the one or more second labels can be the shooting characteristic labels of the user shown in Table 15, which are weak makeup, light and fresh, and Japanese. The examples are only used to explain the present application and should not be construed as limiting.
[0291] The process of extracting the one or more second labels from the shooting-related data of the user can refer to the above-mentioned Figure 10 The shooting-related data characteristic extraction process in the illustrated embodiments will not be described here again.
[0292] S1403, the terminal determines a third label according to the one or more first labels and the one or more second labels.
[0293] The third label can be the intelligent shooting label in the above-mentioned embodiments, for example, the intelligent shooting label in Table 13, which is light and fresh. The process of determining the third label according to the one or more first labels and the one or more second labels can refer to the above-mentioned Figure 12 The third label can be the intelligent shooting label in the above-mentioned embodiments, for example, the intelligent shooting label in Table 13, which is light and fresh. The process of determining the third label according to the one or more first labels and the one or more second labels can refer to the above-mentioned Figure 11 , Figure 12The feature tag fusion process shown will not be described here.
[0294] S1404, the terminal adjusts the image quality of the image photographed by the terminal according to the image quality effect parameter set corresponding to the third tag.
[0295] The image quality (picture quality, PQ) effect parameter set can be used for the terminal to adjust the image quality of the photographed image, for example, contrast adjustment, brightness adjustment, color saturation adjustment, tone adjustment, definition adjustment (such as digital noise reduction (DNR) adjustment), chroma TI (CTI) adjustment, and other image quality adjustments.
[0296] For example, the third tag can be a smart shooting tag as shown in the embodiment: Fresh, and the image quality effect parameter set corresponding to the third tag can be parameter set 3 as described in the embodiment. Figure 12 Figure 12 The specific content can refer to the content in the foregoing Figure 12 embodiments, which will not be described here.
[0297] In one possible case, the terminal extracts one or more first tags in the general data can specifically include: the terminal extracts one or more first tags corresponding to the general data according to the first mapping relationship; wherein the first mapping relationship includes the mapping of multiple groups of general data and multiple first tags.
[0298] For example, the first mapping relationship can be the pre-trained general feature tag library shown in Table 11 in the foregoing embodiments, and through the pre-trained general feature tag library, one or more first tags (for example, female, young, music, shopping, travel, social) in the general data can be extracted. The above examples are only used to explain the present application and should not be construed as limiting. In this way, the terminal can match the general data with the first mapping relationship to obtain the general feature tag of the user, that is, the first tag, so that the terminal can quickly extract the general feature tag of the user.
[0299] In a possible case, the terminal extracting one or more first labels in the shooting-related data can specifically include: first, the terminal extracts one or more first shooting-related parameter sets from the shooting-related data. Then, the terminal inputs the one or more first shooting-related parameter sets into the first neural network model to obtain one or more first score vector sets; wherein the first score vector set includes first scores of the fourth labels respectively, and the first score is used to represent the matching degree between the first shooting-related parameter set and the fourth label. Then, the terminal determines the one or more second labels from the plurality of fourth labels according to the first score vector set corresponding to each of the one or more first shooting-related parameter sets.
[0300] For example, the first neural network model can be a convolutional neural network (CNN). The first shooting-related parameter set includes a shooting parameter set {a1, a2, a3, …} and a PQ effect parameter set {b1, b2, b3, …} of the shooting-related data. Wherein, the plurality of fourth labels can be the shooting feature labels (for example, strong beautification, weak beautification, light fresh, Japanese, European style, light fresh + weak beautification) in the example described in Table 14, and the first score vector set can refer to the shooting feature label score vector set S in the example described in Table 14. For specific content, please refer to the foregoing Figure 10 The examples are not described here. That is, the terminal can use the neural network model to extract the feature labels in the shooting-related data, so that the terminal can use the self-learning ability of the neural network model to improve the accuracy of the terminal extracting the feature labels in the shooting-related data.
[0301] In a possible case, the one or more second labels include one or more fourth labels in the first score vector set corresponding to each of the one or more first shooting-related parameter sets, and the first score is greater than the first threshold.
[0302] For example, the first threshold can be 0.7, and in combination with Table 14, it can be concluded that the shooting feature label of the user can include “light fresh”. For specific content, please refer to the foregoing examples of Table 14 and Table 15, which are not described here.
[0303] In a possible case, the one or more second labels include one or more fourth labels in the first score vector set corresponding to each of the first shooting-related parameter set, and the first score is the highest.
[0304] For example, the one or more second tags can refer to the user's shooting feature tags shown in Table 15 above (e.g., weak beauty filter, fresh and natural style, Japanese style). Specific details can be found in the embodiments shown in Tables 14 and 15 above, and will not be repeated here. That is to say, the terminal can determine one or more fourth tags with a fourth score greater than the first threshold as the aforementioned one or more second tags. Since the first score is used to represent the degree of matching between the user and the fourth tag, the larger the first score, the higher the degree of matching between the user's shooting-related data and the fourth tag. In this way, the terminal can extract one or more second tags that match the user's shooting-related data characteristics.
[0305] In one possible scenario, before inputting the one or more first shooting-related parameter sets into the first neural network model, the terminal may acquire sample data. This sample data includes multiple first training sets, each of which includes a second shooting-related parameter set and a second score vector set. Based on this sample data, the terminal trains the first neural network model using a deep learning algorithm.
[0306] For example, the first training set can be the aforementioned Figure 10 In the illustrated embodiment, the training parameter set Q{P→S}, where P includes a shooting parameter set and a PQ effect parameter set, and S is the score of the shooting feature label (e.g., strong beautification, weak beautification, fresh and natural style, Japanese style, etc.). The second shooting-related parameter set may include the shooting parameters and the PQ effect parameters. The second score vector set may include the scores of the shooting feature label (e.g., strong beautification, weak beautification, fresh and natural style, Japanese style, etc.). For details, please refer to the foregoing. Figure 10 The illustrated embodiment will not be described in detail here. That is to say, the terminal extracts one or more fourth tags with the highest first score from each of the user's first score vector sets, and determines the aforementioned one or two tags. In this way, the terminal can improve the accuracy of extracting one or more second tags of the user.
[0307] In one possible scenario, the terminal displays a first interface comprising multiple sample images. Each sample image corresponds to a set of second shooting-related parameters and a set of second score vectors. The second shooting-related parameter set characterizes the image quality of the sample image, and the second set of vectors includes the first scores of each of the multiple fourth labels corresponding to the sample image. The terminal receives a first input operation from the user selecting one or more training images from the multiple sample images. In response to the first input operation, the terminal can determine the second shooting-related parameter set and the second score vector set corresponding to the one or more training images as the sample data.
[0308] For example, the first interface can be Figure 4The user preference survey interface 440 shown in FIG. 4D or Figure 5 The user preference survey interface 530 shown in FIG. 5B. The sample picture can be the picture a, the picture b, the picture c, the picture d, etc. in the user preference survey interface 440 or the user preference survey interface 530. The first input operation can be Figure 4 The input operation 442 shown in FIG. 4D or Figure 5 The input operation 532 shown in FIG. 5B. The specific content can refer to the foregoing Figure 4 Or Figure 5 Embodiments, which will not be repeated here. That is to say, the terminal can train the first neural network model by the sample data corresponding to the sample picture preselected by the user. In this way, the terminal can extract one or more second feature labels conforming to the personalized shooting preference of the user.
[0309] In a possible case, the terminal can determine whether the number of sample pictures is less than the training number. If yes, the terminal takes one or more groups of sample data from the pre-stored training set database, where the sample data is the second shooting related parameter set and the second score vector set. The specific content can refer to the foregoing Figure 10 Embodiments shown in FIG. 10B, which will not be repeated here. That is to say, the terminal can train the first neural network by using the pre-stored training set when the number of sample pictures selected by the user is insufficient, thereby reducing the input operation of the user and improving the user experience.
[0310] In a possible case, each first label and each second label correspond to an associated score together; the size of the associated score is used to represent the degree of association between the first label and the second label. The terminal can determine the total association score of each second label according to the one or more first labels and the one or more second labels Wherein, the T i is the total association score of the i-th second label in the one or more second labels, the L1 is the weight of the one or more first labels, the L2 is the weight of the one or more second labels, the W k is the associated score corresponding to the k-th first label in the one or more first labels and the i-th second label together, and the R is the number of the one or more first labels. The terminal determines the third label according to the total association score of each second label, where the third label is the one with the highest total association score in the one or more second labels.
[0311] For example, the associated score can be the score corresponding to the general feature label and the shooting feature label in the foregoing Figure 11 Embodiments shown in FIG. 4D or Figure 11x1, x2, x3, x4, x5, x6; y1, y2, y3, y4, y5, y6; z1, z2, z3, z4, z5, z6) in the illustrated embodiment can refer to the embodiment shown in Table 16 above. The third label can be the aforementioned Figure 11 The intelligent photographing label in the illustrated embodiment. The total association score of each second label can refer to the aforementioned Figure 11 The fusion feature label score T1, T2, T3 in the illustrated embodiment. The specific content can refer to the aforementioned Figure 11 The illustrated embodiment, which will not be described here. That is to say, the terminal can set the weight of the first label and the second label for the user, and set the corresponding association degree value for each first label and each second label. In this way, the terminal can make the image quality adjustment parameter recommended by the terminal to the user more in line with the user's personalized preferences, and improve the user experience.
[0312] Through the embodiments of the present application, the terminal can collect the user's data, extract the first label representing the user's identity features, extract the second label representing the user's shooting preferences, and fuse the third label of the user according to the first label and the second label, that is, the third label fuses the user's identity features and the user's shooting preferences. Then, the terminal uses the image quality effect parameter set corresponding to the third label to assist the user to shoot the photographing effect in line with the user's characteristics, realizes providing the photographing effect in line with the user's personality for the user, and improves the user's experience.
[0313] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacements for part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A smart photographing method, characterized in that, The method comprises the following steps: a terminal extracts one or more first labels in user general data; the general data is used to represent the identity characteristics of the user; the first label is a user general feature label, which is extracted by the terminal from the general data and matched with a pre-trained general feature label library; the terminal extracts one or more second labels in the user's shooting related data; the shooting related data is used to represent the user's shooting preferences, which include any one or more of shooting parameters, shooting modes and shooting contents; the second label is a user shooting feature label, which is extracted by the terminal from the shooting related data and obtained by matching through a neural network; the terminal fuses the first label and the second label to determine a third label, which is a user intelligent shooting label; the terminal displays a camera shooting interface according to user operation, which includes a first image captured by a camera and a label recommendation button of the third label; in response to the user's opening operation on the label recommendation button of the third label, the terminal adjusts the image quality of the image captured by the terminal according to the image quality effect parameter set corresponding to the third label.
2. The method of claim 1, wherein, The terminal extracts one or more first labels in the general data, specifically comprising: the terminal extracts one or more first labels corresponding to the general data according to a first mapping relationship; wherein the first mapping relationship includes the mapping of multiple sets of general data and multiple first labels.
3. The method of claim 1, wherein, The terminal extracts one or more second labels in the user's shooting related data, specifically comprising: the terminal extracts one or more first shooting related parameter sets from the shooting related data; the terminal inputs the one or more first shooting related parameter sets into a first neural network model to obtain one or more first score vector sets; wherein the first score vector set includes the first score of each fourth label, which is used to represent the matching degree between the first shooting related parameter set and the fourth label; the terminal determines the one or more second labels from the multiple fourth labels according to the first score vector set corresponding to each of the one or more first shooting related parameter sets.
4. The method of claim 3, wherein, The one or more second labels include one or more fourth labels in the first score vector set corresponding to each of the one or more first shooting related parameter sets, whose first score is greater than a first threshold.
5. The method of claim 3, wherein, The one or more second labels include one or more fourth labels in the first score vector set corresponding to each of the first shooting related parameter sets, whose first score is the highest.
6. The method of claim 3, wherein, Before the terminal inputs the one or more first shooting related parameter sets into the first neural network model, the method further comprises: the terminal acquires sample data; the sample data includes multiple first training sets, wherein each first training set includes a set of second shooting related parameters and a set of second score vectors; The terminal trains the first neural network model through a deep learning algorithm according to the sample data.
7. The method according to claim 6, characterized in that, The terminal acquires sample data, specifically including: The terminal displays a first interface, and the first interface includes multiple sample pictures. Each sample picture corresponds to a set of second shooting-related parameters and a set of second score vectors; the set of second shooting-related parameters is used to represent the image quality of the sample picture, and the set of second score vectors includes the first score of each of the multiple fourth labels corresponding to the sample picture. The terminal receives a first input operation of the user selecting one or more training pictures from the multiple sample pictures. In response to the first input operation, the terminal determines the first shooting-related parameters and the second score vectors corresponding to the one or more training pictures as the sample data.
8. The method of claim 7, wherein, The method further includes: If the number of sample pictures is less than the training number, the terminal takes one or more sets of first training sets from a pre-stored training set database as the sample data.
9. The method of claim 1, wherein, Each first label and each second label correspond to an associated score; the size of the associated score represents the degree of association between the first label and the second label. The terminal determines a third label according to the first label and the second label, specifically including: The terminal determines the total association score of each second label in the one or more second labels according to the weight of the one or more first labels, the weight of the one or more second labels, the associated score of each second label in the one or more second labels corresponding to the one or more first labels, and the number of the one or more first labels. The terminal determines the third label according to the total association score of each second label in the one or more second labels, wherein the third label is the second label with the highest total association score in the one or more second labels.
10. A terminal, characterized by comprising: One or more processors, one or more memories; the one or more memories are coupled with the one or more processors, the one or more memories are used to store computer program codes, the computer program codes include computer instructions, when the one or more processors execute the computer instructions, the terminal executes the intelligent photographing method as claimed in any one of claims 1-9. The computer instructions make the terminal execute the intelligent photographing method as claimed in any one of claims 1-9 when the computer instructions run on the terminal.
11. A computer storage medium, characterized in that The computer instructions make the computer execute the intelligent photographing method as claimed in any one of claims 1-9 when the computer program product runs on the computer.
12. A computer program product, characterised in that,
Citation Information
Patent Citations
Method of arranging image filters, computer-readable storage medium on which method is stored, and electronic apparatus
CN105379246A
Special-effect recommendation method and device for camera
CN108122029A
Information processing system for displaying image at information terminal
CN1517915A