Method, device, medium and recognition apparatus for constructing an all-optical diffractive neural network
By determining the type and Fresnel number threshold range of the all-optical diffraction neural network, and adjusting the parameters to construct the all-optical diffraction neural network, the problem of high space complexity in traditional methods is solved, and a low-complexity, easy-to-implement neural network is realized, which is suitable for tasks such as image recognition.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- FUDAN UNIVERSITY
- Filing Date
- 2023-01-03
- Publication Date
- 2026-07-03
Smart Images

Figure CN116151307B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of this disclosure generally relate to the field of optical diffraction neural networks, and more specifically, to a method, electronic device and storage medium for constructing an all-optical diffraction neural network, and a recognition device based on an all-optical diffraction neural network. Background Technology
[0002] All-optical diffraction neural networks consist of an input layer, one or more hidden layers, and an output layer. Each hidden layer is, for example, a grating comprising multiple grids. As light passes through each grid in the current grating, its phase is modulated by grids of different thicknesses or refractive indices, and then received by all the grids in the next layer. This relationship is similar to a neural network model, where each grid in the grating is equivalent to a neuron. 。 Traditional methods for constructing all-optical diffraction neural networks (ANNs) optimize performance by increasing the number of hidden layers and neurons within each hidden layer. However, the complex spatial structure of ANNs makes implementation difficult and limits the development of neural networks.
[0003] In summary, the traditional methods for constructing all-optical diffraction neural networks have the drawbacks of resulting in high spatial complexity and difficulty in implementation. Summary of the Invention
[0004] This disclosure provides a method for constructing an all-optical diffraction neural network, which results in a low spatial complexity, ease of implementation, and excellent performance.
[0005] According to a first aspect of this disclosure, a method for constructing an all-optical diffraction neural network is provided, the method comprising: determining task attributes of an input image of a test object to determine a type of all-optical diffraction neural network based on the determined task attributes; determining values of a plurality of parameters associated with the all-optical diffraction neural network based on the determined type of the all-optical diffraction neural network, the plurality of parameters including pixel size, diffraction distance, and input light wavelength; determining a Fresnel number of the all-optical diffraction neural network based on the values of the plurality of parameters; and constructing the all-optical diffraction neural network for modulating the input image based on the values of the plurality of parameters in response to the determined Fresnel number being within a threshold range.
[0006] In some embodiments, the method for constructing an all-optical diffraction neural network further includes: determining a threshold range for the Fresnel number based on the type of the all-optical diffraction neural network. Specifically, in response to the all-optical diffraction neural network being a real-space all-optical diffraction neural network, a first threshold range for the Fresnel number is determined; and in response to the all-optical diffraction neural network being a Fourier-space all-optical diffraction neural network, a second threshold range for the Fresnel number is determined. The first threshold range is different from the second threshold range, and the second threshold range is an open interval with 0 as its lower bound.
[0007] In some embodiments, the method for constructing an all-optical diffraction neural network further includes: adjusting the value of at least one of a plurality of parameters in response to a determined Fresnel number being outside a threshold range, such that the Fresnel number determined based on the adjusted parameter value is within the threshold range. In some embodiments, adjusting the value of at least one of the plurality of parameters includes: adjusting the value of the diffraction distance.
[0008] In some embodiments, determining task attributes of an optical image of a test object to determine the type of a phantom optical diffraction neural network based on the determined task attributes includes: determining task attributes of an input image of a test object, wherein the task attributes are one of object recognition, feature extraction, and edge detection; determining the phantom optical diffraction neural network as a real-space phantom optical diffraction neural network in response to the determined task attributes being object recognition; and determining the phantom optical diffraction neural network as a Fourier-space phantom optical diffraction neural network in response to the determined task attributes being feature extraction or edge detection of the test object.
[0009] According to a second aspect of this disclosure, a recognition device based on an all-optical diffraction neural network constructed using the method described in the first aspect of this disclosure is provided. The device includes a digital micromirror device, a spatial light modulator, and a camera. The digital micromirror device is configured to form multiple input images of a test object, which are then input to the spatial light modulator. The spatial light modulator is configured to modulate the multiple input images based on the all-optical diffraction neural network to obtain an output image. The camera is configured to output the output image.
[0010] In some embodiments, the identification device can be used for at least one of object identification, feature extraction, and edge detection.
[0011] According to a third aspect of this disclosure, an electronic device is provided. The electronic device includes at least one processing unit and at least one memory. The at least one memory is coupled to the at least one processing unit and stores instructions for execution by the at least one processing unit. When executed by the at least one processing unit, the instructions cause the electronic device to perform the steps of the method of the first aspect of this disclosure.
[0012] In a fourth aspect of this disclosure, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program that, when executed by a machine, causes the machine to perform the steps of the method described in the first aspect of this disclosure. Attached Figure Description
[0013] The above and other objects, features, and advantages of embodiments of the present disclosure will become more readily understood from the following detailed description with reference to the accompanying drawings. Several embodiments of the present disclosure will be described by way of example and non-limitation in the drawings.
[0014] Figure 1 A schematic diagram of a system for constructing an all-optical diffraction neural network according to an embodiment of the present disclosure is shown.
[0015] Figure 2 A flowchart of a method for constructing an all-optical diffraction neural network according to an embodiment of the present disclosure is shown.
[0016] Figure 3 A flowchart is shown of a method for determining the all-optical diffraction neural network type and Fresnel number threshold range based on determined task attributes, according to an embodiment of the present disclosure.
[0017] Figure 4 A schematic diagram of a recognition device based on an all-optical diffraction neural network according to an embodiment of the present disclosure is shown.
[0018] Figure 5 A block diagram schematically illustrates a computing device suitable for implementing embodiments of the present disclosure. Detailed Implementation
[0019] Preferred embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings. While preferred embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that the present disclosure will be thorough and complete, and will fully convey the scope of the present disclosure to those skilled in the art.
[0020] The term "comprising" and its variations as used herein signify open inclusion, i.e., "including but not limited to". Unless otherwise stated, the term "or" means "and / or". The term "based on" means "at least partially based on". The terms "one example embodiment" and "one embodiment" mean "at least one example embodiment". The term "another embodiment" means "at least one additional embodiment". The terms "first", "second", etc., may refer to different or the same objects.
[0021] As described above, traditional methods for constructing all-optical diffraction neural networks optimize performance by increasing the number of hidden layers and neurons within each hidden layer. However, the complex spatial structure makes all-optical diffraction neural networks difficult to implement and limits their development.
[0022] To at least partially address one or more of the aforementioned problems and other potential issues, exemplary embodiments of this disclosure propose a method for constructing an all-optical diffraction neural network. This method determines the Fresnel number of the all-optical diffraction neural network based on the values of multiple parameters associated with the network, determined according to the type of the network based on the defined task attributes, and ensures the Fresnel number is within a threshold range. This allows the all-optical diffraction neural network constructed based on the current values of the multiple parameters to exhibit excellent performance with a minimum number of hidden layers, avoiding error accumulation due to misalignment between multiple hidden layers. Consequently, the constructed all-optical diffraction neural network has low spatial complexity and is easy to implement.
[0023] Figure 1 A schematic diagram of a system 100 for constructing an all-optical diffraction neural network according to an embodiment of the present disclosure is shown. Figure 1 As shown, system 100 may include computing device 110.
[0024] Regarding computing device 110, it is used, for example, to implement a method for constructing an all-optical diffraction neural network. In some embodiments, computing device 110 may have one or more processing units, including dedicated processing units such as GPUs, FPGAs, and ASICs, and general-purpose processing units such as CPUs. Additionally, one or more virtual machines may also run on each computing device.
[0025] like Figure 1 As shown, the computing device 110 includes, for example, a task attribute determination unit 112, an all-optical diffraction network type determination unit 114, an all-optical diffraction network parameter determination unit 116, a Fresnel number determination unit 118, and an all-optical diffraction network construction unit 120. The aforementioned task attribute determination unit 112, all-optical diffraction network type determination unit 114, all-optical diffraction network parameter determination unit 116, Fresnel number determination unit 118, and all-optical diffraction network construction unit 120 can be configured on one or more computing devices 110.
[0026] Regarding the task attribute determination unit 112, it is used to determine the task attributes of the input image of the object to be tested, so as to determine the type of all-optical diffraction neural network based on the determined task attributes.
[0027] Regarding the all-optical diffraction network type determination unit 114, it is used to determine the type of all-optical diffraction neural network based on the determined task attributes.
[0028] Regarding the all-optical diffraction network parameter determination unit 116, it is used to determine the values of multiple parameters associated with the all-optical diffraction neural network based on the determined type of the all-optical diffraction neural network.
[0029] Regarding the Fresnel number determination unit 118, it is used to determine the Fresnel number of the all-optical diffraction neural network based on the values of multiple parameters, and to determine whether the Fresnel number is within the threshold range.
[0030] Regarding the all-optical diffraction network building unit 120, it is used to construct an all-optical diffraction neural network based on the values of multiple parameters associated with the all-optical diffraction neural network.
[0031] The following combination Figures 2 to 3 A method for constructing an all-optical diffraction neural network is described 200. Figure 2 A flowchart of a method 200 for constructing an all-optical diffraction neural network according to an embodiment of the present disclosure is shown. Method 200 may be derived from, for example... Figure 5 The method is performed at the illustrated electronic device 500. It should be understood that method 200 may also include additional actions not shown and / or the actions shown may be omitted, and the scope of this disclosure is not limited in this respect.
[0032] In step 202, computing device 110 determines the task attributes of the input image of the object to be tested.
[0033] The task attributes of the input image of the object to be tested can be one of the following: object recognition, feature extraction, and edge detection.
[0034] In step 204, the computing device 110 determines the type of all-optical diffraction neural network based on the determined task attributes.
[0035] Regarding the types of all-optical diffraction neural networks, they can be real-space all-optical diffraction neural networks or Fourier-space all-optical diffraction neural networks.
[0036] In some embodiments, determining the type of the all-optical diffraction neural network based on the determined task attributes further includes: determining, based on the determined task attributes, whether the all-optical diffraction neural network to be constructed is a real-space all-optical diffraction neural network or a Fourier-space all-optical diffraction neural network. The method for determining the type of the all-optical diffraction neural network based on the determined task attributes will be discussed in the following section. Figure 3 Further explanation is not required here.
[0037] In step 206, computing device 110 determines the values of multiple parameters associated with the all-optical diffraction neural network based on the determined type of the all-optical diffraction neural network.
[0038] The parameters associated with the all-optical diffraction neural network can be pixel size, diffraction distance, and input light wavelength.
[0039] In step 208, the computing device 110 determines the Fresnel number for the all-optical diffraction neural network based on the values of multiple parameters.
[0040] In step 210, computing device 110 determines whether the Fresnel number is within the threshold range.
[0041] The Fresnel number can be used to describe the diffraction process. In some embodiments, the Fresnel number can be determined based on several parameters associated with the all-optical diffraction neural network. Specifically, the Fresnel number F of the all-optical diffraction neural network can be determined based on the pixel size, diffraction distance, and input light wavelength according to the following formula (1).
[0042]
[0043] In the above formula (1), a represents the pixel size, d represents the diffraction distance, and λ represents the input light wavelength. By controlling the Fresnel number F, the all-optical diffraction neural network can achieve its expressive power requirements with the lowest possible spatial complexity, thereby completing the task of processing the input image of the object under test.
[0044] Regarding the threshold range, it is determined, for example, based on the type of all-optical diffraction neural network. When the Fresnel number of the all-optical diffraction neural network is within the threshold range, the all-optical diffraction neural network can achieve maximum expressive power with the fewest hidden layers, i.e., it has excellent performance. The following will combine... Figure 3 Further explanation of how to determine the threshold range based on the type of all-optical diffraction neural network will not be repeated here.
[0045] In some embodiments, in response to the determined Fresnel number for the all-optical diffraction neural network being within a threshold range, in step 212, the computing device 110 constructs the all-optical diffraction neural network based on the values of multiple parameters. That is, when the Fresnel number determined by the above formula (1) based on the values of pixel size, diffraction distance, and input light wavelength is within a threshold range, the computing device 110 constructs an all-optical diffraction neural network based on the current pixel size, diffraction distance, and input light wavelength for modulating the input image of the object under test.
[0046] In some other embodiments, in response to the determined Fresnel number for the all-optical diffraction neural network being outside a threshold range, in step 214, computing device 110 adjusts the value of at least one of a plurality of parameters such that the Fresnel number determined based on the adjusted parameter value is within the threshold range.
[0047] Regarding adjusting the value of at least one of a plurality of parameters, such as adjusting the value of at least one of pixel size, diffraction distance, and input light wavelength. In some embodiments, the value of diffraction distance is preferably adjusted, for example by adjusting the spacing between the hidden layer and the input layer. Specifically, according to the above formula (1), the Fresnel number can be decreased by increasing the spacing between the hidden layer and the input layer; conversely, the Fresnel number can be increased by decreasing the spacing between the hidden layer and the input layer. In some embodiments, the Fresnel number can be adjusted by adjusting the pixel size. For example, with the diffraction distance and input light wavelength remaining unchanged, increasing the pixel size will increase the Fresnel number accordingly; decreasing the pixel size will decrease the Fresnel number accordingly. In some embodiments, the value of the input light wavelength can also be adjusted, for example by changing the filter or the laser.
[0048] Based on the values of the parameters adjusted in step 214, the Fresnel number of the all-optical diffraction neural network is re-determined in step 208, and it is determined whether the Fresnel number is within a threshold range. If the Fresnel number is still outside the threshold range, step 214 is returned to adjust the value of at least one of the parameters until the Fresnel number is within the threshold range. In some embodiments, if the Fresnel number remains outside the threshold range after multiple adjustments, the desired performance of the all-optical diffraction neural network is achieved alternatively by increasing the number of hidden layers.
[0049] In the above scheme, the Fresnel number of the all-optical diffraction neural network is determined by the values of multiple parameters associated with the all-optical diffraction neural network based on the type of the all-optical diffraction neural network determined according to the determined task attributes, and the Fresnel number is determined to be within a threshold range. This allows the all-optical diffraction neural network constructed based on the current values of multiple parameters to have excellent performance with the fewest hidden layers, avoiding error accumulation caused by misalignment between multiple hidden layers. As a result, the constructed all-optical diffraction neural network has low spatial complexity and is easy to implement.
[0050] Figure 3 A flowchart of a method 300 for determining the all-optical diffraction neural network type and Fresnel number threshold range based on determined task attributes, according to an embodiment of the present disclosure, is shown. Method 300 can be derived from, for example... Figure 5The method is performed at the illustrated electronic device 500. It should be understood that method 300 may also include additional actions not shown and / or the actions shown may be omitted, and the scope of this disclosure is not limited in this respect.
[0051] In step 302, computing device 110 determines the task attributes of the input image of the object to be tested.
[0052] As described above, the task attribute of the input image of the object to be tested can be one of object recognition, feature extraction, and edge detection. That is, in step 302, it is determined that the task attribute of the input image of the object to be tested is object recognition, feature extraction, or edge detection.
[0053] In step 304, if the task attribute determined by the computing device 110 is the identification of the object to be tested, the all-optical diffraction neural network is determined to be a real-space all-optical diffraction neural network. Further, if the computing device 110 determines that the all-optical diffraction neural network is a real-space all-optical diffraction neural network, in step 306, the threshold range of the Fresnel number is determined to be the first threshold range.
[0054] Regarding the first threshold interval of the Fresnel number, it is, for example, 5 × 10 -5 ~5×10 -2 .
[0055] In step 308, if the task attribute determined by the computing device 110 is feature extraction or edge detection of the object to be tested, the all-optical diffraction neural network is determined to be a Fourier space all-optical diffraction neural network. Further, if the computing device 110 determines that the all-optical diffraction neural network is a Fourier space all-optical diffraction neural network, in step 310, the threshold range of the Fresnel number is determined to be the second threshold range.
[0056] The second threshold interval differs from the first threshold interval. According to embodiments of this disclosure, the second threshold interval can be an open interval with 0 as its lower bound, for example, less than 5 × 10⁻⁶. -2 And an open interval with 0 as the lower bound. In some embodiments, the second threshold interval may also be an open interval without an infimum.
[0057] The all-optical diffraction neural network constructed based on the above method 300 achieves excellent performance with the fewest hidden layers by adjusting the Fresnel number, thus making the constructed all-optical diffraction neural network have low spatial complexity and is easy to implement.
[0058] Figure 4 A schematic diagram of a recognition device 400 based on an embodiment of the present disclosure is shown. Figure 4As shown, the device 400 may include a digital micro-mirror device (DMD) 412, a spatial light modulator (SLM) 414, and a camera 416.
[0059] Regarding device 400, it can be used for at least one of object identification, feature extraction, and edge detection. In some embodiments, device 400 can be, for example, a drone for terrain feature capture, an image recognition device for autonomous driving, etc.
[0060] Regarding the digital micromirror device 412, it is configured, for example, to form multiple input images of the object under test for input into the spatial light modulator 414.
[0061] Regarding the spatial light modulator 414, it is configured, for example, to modulate multiple input images based on an all-optical diffraction neural network to obtain an output image.
[0062] Regarding all-optical diffraction neural networks, they can be constructed through the methods described above. Figure 2 and Figure 3 The all-optical diffraction neural network constructed by methods 200 and 300 shown.
[0063] Modulation of multiple input images can be performed on multiple input images for purposes such as object recognition, feature extraction, or edge detection.
[0064] Regarding camera 416, it is configured, for example, to output an output image obtained via spatial light modulator 414.
[0065] Since the above-mentioned device 400 employs an all-optical diffraction neural network according to an embodiment of the present disclosure in the spatial light modulator 414, and since the Fresnel number of the all-optical diffraction neural network is within the optimal threshold range, the device 400 can perform tasks such as image recognition in the visible light band while reducing power consumption.
[0066] Figure 5 A block diagram schematically illustrates a computing device 700 suitable for implementing embodiments of the present disclosure. Device 700 may be used to implement execution... Figure 2 The device or means for implementing the method 200 shown is shown. Figure 3 The device shown in method 300. (As...) Figure 5As shown, device 500 includes a central processing unit (CPU) 501, which can perform various appropriate actions and processes according to computer program instructions stored in read-only memory (ROM) 502 or loaded from storage unit 508 into random access memory (RAM) 503. RAM 503 may also store various programs and data required for the operation of device 500. CPU 501, ROM 502, and RAM 503 are interconnected via bus 504. Input / output (I / O) interface 505 is also connected to bus 504.
[0067] Multiple components in device 500 are connected to I / O interface 505, including: input unit 506, output unit 507, and storage unit 508. Processing unit 501 executes the various methods and processes described above, such as executing method 200 or method 300. For example, in some embodiments, method 300 may be implemented as a computer software program stored on a machine-readable medium, such as storage unit 508. In some embodiments, part or all of the computer program may be loaded and / or installed onto device 500 via ROM 502 and / or communication unit 509. When the computer program is loaded into RAM 503 and executed by CPU 501, one or more operations of method 200 or method 300 described above may be performed. Alternatively, in other embodiments, CPU 501 may be configured to execute one or more actions of method 200 or method 300 by any other suitable means (e.g., by means of firmware).
[0068] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.
[0069] Computer program instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing the status information of the computer-readable program instructions to implement various aspects of this disclosure.
[0070] These computer-readable program instructions can be provided to a processor, general-purpose computer, special-purpose computer, or other programmable data processing unit in a voice interaction device to produce a machine such that, when executed by the processing unit of the computer or other programmable data processing device, these instructions create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, causing a computer, programmable data processing device, and / or other device to operate in a particular manner.
[0071] The various embodiments of this disclosure have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or technical improvements to the embodiments in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
[0072] The above are merely optional embodiments of this disclosure and are not intended to limit this disclosure. Various modifications and variations can be made to this disclosure by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A method for constructing an all-optical diffraction neural network, comprising: Determine the task attributes of the input image of the object under test in order to determine the type of all-optical diffraction neural network based on the determined task attributes; Based on the determined type of all-optical diffraction neural network, the values of multiple parameters associated with the all-optical diffraction neural network are determined, including pixel size, diffraction distance, and input light wavelength; Based on the values of the multiple parameters, the Fresnel number of the all-optical diffraction neural network is determined; In response to the determined Fresnel number being within a threshold range, the all-optical diffraction neural network is constructed based on the values of the plurality of parameters, the all-optical diffraction neural network being used to modulate the input image; as well as Based on the type of the all-optical diffraction neural network, the threshold range of the Fresnel number is determined, wherein determining the threshold range of the Fresnel number includes: In response to the fact that the all-optical diffraction neural network is a real-space all-optical diffraction neural network, the threshold range of the Fresnel number is determined as a first threshold range; and In response to the fact that the all-optical diffraction neural network is a Fourier space all-optical diffraction neural network, the threshold interval of the Fresnel number is determined as a second threshold interval, wherein the first threshold interval is different from the second threshold interval, and the second threshold interval is an open interval with 0 as the lower limit.
2. The method according to claim 1, further comprising: In response to the determined Fresnel number being outside the threshold range, the value of at least one of the plurality of parameters is adjusted such that the Fresnel number determined based on the adjusted parameter value is within the threshold range.
3. The method of claim 2, wherein, Adjusting the value of at least one of the plurality of parameters includes: adjusting the value of the diffraction distance.
4. The method according to claim 1, wherein, Determining the task attributes of the optical image of the object under test, in order to determine the type of all-optical diffraction neural network based on the determined task attributes, includes: Determine the task attributes of the input image of the object to be tested, wherein the task attributes are one of the object recognition, feature extraction, and edge detection; In response to the identification of the task attribute as the object to be tested, the all-optical diffraction neural network is determined to be a real-space all-optical diffraction neural network; In response to the determined task attribute being feature extraction or edge detection of the object to be tested, the all-optical diffraction neural network is determined to be a Fourier space all-optical diffraction neural network.
5. A recognition device based on an all-optical diffraction neural network, wherein the all-optical diffraction neural network is constructed according to any one of claims 1-4, and the device comprises: Digital micromirror devices, spatial light modulators, and cameras, among which, The digital micromirror device is configured to form multiple input images of the object under test, which are then input into the spatial light modulator. The spatial light modulator is configured to modulate the plurality of input images based on the all-optical diffraction neural network to obtain an output image; and The camera is configured to output the output image.
6. The identification device according to claim 5, wherein, The identification device can be used for at least one of the following: identification of the object to be tested, feature extraction, and edge detection.
7. An electronic device, comprising: At least one processing unit; At least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the electronic device to perform the steps of the method according to any one of claims 1-4.
8. A non-transient computer-readable storage medium having stored thereon machine-executable instructions, which, when executed, cause a machine to perform the steps of the method according to any one of claims 1-4.