Bird species identification method, device and storage medium based on bird calls

By filtering and extracting features from bird calls, constructing a nonlinear classification model and optimizing the kernel function, the problems of high complexity and low accuracy in existing bird call recognition technologies are solved, achieving efficient and accurate bird species identification, which is suitable for embedded systems.

CN116259321BActive Publication Date: 2026-05-26NANJING UNIV OF INFORMATION SCI & TECH

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
NANJING UNIV OF INFORMATION SCI & TECH
Filing Date
2022-09-09
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

Existing bird call recognition methods are complex and cumbersome, making them unsuitable for convenient application in resource-constrained embedded systems. Furthermore, their recognition performance is significantly affected by the external environment, and their accuracy needs improvement.

Method used

Two different filter banks were used to filter the power spectrum of bird calls, and the filtered signal coefficients, short-time energy and short-time zero-crossing rate were extracted to construct a nonlinear classification model. The optimal kernel function was then found through a prey optimization method to identify bird species.

Benefits of technology

It improves the accuracy of bird call classification and recognition, shortens the calculation time, is suitable for low-cost embedded systems, and has good real-time performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116259321B_ABST
    Figure CN116259321B_ABST
Patent Text Reader

Abstract

This invention discloses a method, device, and storage medium for bird species identification based on bird calls. The method includes: (1) acquiring several segments of bird calls and preprocessing them; (2) filtering the power spectrum of the bird calls using two different filter banks, extracting the coefficients of the filtered signals, and then combining the two sets of coefficients, the short-time energy of the bird calls, and the short-time zero-crossing rate of the bird calls to form the feature vector of the current bird calls; (3) constructing a nonlinear classification model and using a prey optimization method to find the optimal kernel function in the nonlinear classification model; (4) inputting the extracted bird call feature vector into the nonlinear classification model for learning; and (5) extracting the feature vector of the bird call to be identified and inputting the feature vector into the learned nonlinear classification model to identify the bird species. This invention has low complexity and high accuracy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the fields of ecological monitoring and sound signal recognition, and in particular to a method, device and storage medium for bird species identification based on bird calls. Background Technology

[0002] Birds are highly sensitive to climate change, and the distribution, migration, and activity patterns of different bird species are closely related to the local ecological environment. Therefore, monitoring and identifying birds helps in understanding the local ecological environment. Current bird monitoring and identification require significant human and material resources for continuous observation and primarily rely on manual methods based on physical differences. Birdsong is one of the important indicators of bird species information and is easy to collect, making research on bird song recognition particularly important. Unlike music and speech, bird songs are highly regular, and different bird species have distinct song patterns. Current methods for identifying birds based on bird songs are overly complex and cumbersome, typically requiring PCs, resulting in low practicality. They cannot be applied to resource-constrained embedded systems, are not easily applied to actual bird monitoring work in the field, and their recognition accuracy is greatly affected by the external environment, requiring further improvement. Summary of the Invention

[0003] Purpose of the invention: This invention addresses the problems existing in the prior art by providing a low-complexity, high-accuracy method, device, and storage medium for bird species identification based on bird calls.

[0004] Technical solution: The bird species identification method based on bird calls described in this invention includes:

[0005] (1) Acquire several segments of bird calls and preprocess the bird calls;

[0006] (2) For each pre-processed bird song, two different filter banks are used to filter the power spectrum of the bird song, and the coefficients of the filtered signal are extracted. The two sets of coefficients, the short-time energy of the bird song and the short-time zero-crossing rate of the bird song are then combined to form the feature vector of the current bird song.

[0007] (3) Construct a nonlinear classification model and use the prey optimization method to find the optimal kernel function in the nonlinear classification model. In the search process, the fitness of the position is the number of bird species identification results that are the same as the actual results when the kernel function with the current position as the kernel parameter is used for bird species identification.

[0008] (4) Input the extracted bird song feature vectors into a nonlinear classification model for learning;

[0009] (5) Extract the feature vector of the bird call to be identified according to steps (1) and (2), and input the feature vector into the learned nonlinear classification model to identify the bird species.

[0010] Furthermore, the preprocessing described in step (1) includes weighting and windowing.

[0011] Furthermore, step (2) specifically includes:

[0012] (2-1) Perform a Fourier transform on the processed bird calls and calculate the power spectrum P(k) of the bird calls based on the transformed signal, 0≤k≤N-1, where k represents the data sequence number of the bird calls and N represents the number of bird call data.

[0013] (2-2) The power spectrum of the bird song is filtered using the first set of filter banks to obtain the filtered signal S1(m):

[0014]

[0015]

[0016] MH=(1-α)(f1(m)-f1(m-1)+1)0≤α≤1

[0017] MR=α(f1(m+1)-f1(m)+1)0≤α≤1

[0018]

[0019] In the formula, m represents the filter index, M represents the number of filters used, and H1 m (k) represents the m-th filter in the first filter bank, f1(m), f1(m-1), and f1(m+1) represent the center frequencies of the m-th, m-1-th, and m+1-th filters in the first filter bank, respectively, and α represents the weight coefficients of the filters, 0 ≤ α ≤ 1. s f represents the sampling frequency. h f represents the highest frequency in the range of bird songs. l Representing the lowest frequency within the range of bird calls, F(*) = 1127*ln(1+* / 700), F -1 (*)=700(e * / 1125 -1);

[0020] (2-3) Extract the coefficients C1(n) of the filtered signal S1(m) according to the following formula:

[0021]

[0022] In the formula, L represents the order;

[0023] (2-4) The power spectrum of the bird song is filtered using the second set of filter banks to obtain the filtered signal S2(m):

[0024]

[0025]

[0026] NH=(1-α)(f2(m)-f2(m-1)+1)0≤α≤1

[0027] NR=α(f2(m+1)-f2(m)+1)0≤α≤1

[0028]

[0029] In the formula, H2 m (k) represents the m-th filter in the second filter bank, f2(m), f2(m-1), and f2(m+1) represent the center frequencies of the m-th, m-1-th, and m+1-th filters in the second filter bank, respectively, and FF(*) = 2195 - 2595 * log(1 + (4031 - *) / 700), FF -1 (*)=700(10 * / 2595 -1);

[0030] (2-5) Extract the coefficients C2(n) of the filtered signal S2(m) according to the following formula:

[0031]

[0032] (2-6) Calculate the short-time energy E of the bird song according to the following formula:

[0033]

[0034] In the formula, d(p) represents the p-th data of the preprocessed bird song;

[0035] (2-7) Calculate the short-time zero-crossing rate Z of the bird song according to the following formula:

[0036]

[0037] In the formula, sgn[] is the sign function, and d(p) and d(p-1) represent the p-th and p-1-th data points of the preprocessed bird song;

[0038] (2-8) Combine C1(n), C2(n), E, ​​and Z to form the eigenvector x:

[0039] x = [C1(n),C2(n),E,Z].

[0040] Furthermore, step (3) specifically includes:

[0041] (3-1) Construct a nonlinear classification model f(x)

[0042]

[0043] In the formula, x is the feature vector of any segment of bird song, Q is the total number of bird song segments used to train the classification model, and x q Let y be the feature vector of the q-th segment of bird calls used to train the classification model. q The classification label for the q-th segment of bird calls is either -1 or 1, where -1 indicates that the bird is not of this type, and 1 indicates that the bird is of this type. q Here, b is the weighting coefficient, and a is the preset bias parameter. q b are the parameters to be learned. Here, d1 is the kernel function, and d1 is the kernel parameter.

[0044] (3-2) The optimal kernel parameter of the kernel function is found by using the prey optimization method, thereby obtaining the optimal kernel function. In the search process, the fitness of the position is the number of bird species identification results that are the same as the actual results when the kernel function with the current position as the kernel parameter is used for bird species identification.

[0045] Furthermore, step (3-2) specifically includes:

[0046] (3-2-1) Using the kernel parameters as the prey, initialize the population size P1, the maximum number of iterations maxi, the upper and lower bounds of the target space, and set the initial positions of the hunter and the prey according to the following formula;

[0047] γ0=rand(1,g)*(ub-lb)+lb

[0048] Where γ0 is the initial position of the hunter and the prey, lb is the minimum value of the target space, ub is the maximum value of the target space, g is the number of variables, and rand(1,g) generates a matrix of random numbers between 0 and 1 in one row and g columns.

[0049] (3-2-2) Update the position as follows:

[0050] γ i+1,j =γ i,j +0.5[(2CZwz i,j -γ i,j )+(2(1-C)Zu(j)-γ i,j )]

[0051] In the formula, γ i+1,j γ represents the positions of the j-th hunter and prey during the (i+1)-th iteration. i,j wz represents the positions of the j-th hunter and prey during the i-th iteration. i,j Let Z be the position of the j-th prey in the i-th iteration, and Z be the adaptive parameter. R2 is a random number in the range [0,1]. It is a random vector in the range [0,1], and IDX is a vector that satisfies the condition (P2==0). The index value, P2 is index value, It is a random vector in [0,1], and C is the balance parameter. u(j) is the average value of the positions, and

[0052] (3-2-3) Calculate the fitness of the position using the following formula:

[0053] shf(γ i,j ) = cur i,j

[0054] shf(γ i+1,j ) = cur i+1,j

[0055] In the formula, shf(γ) i,j ), shf(γ i+1,j ) represent positions γ respectively i,j and γ i+1,j fitness, cur i,j and cur i+1,j They are respectively γ i,j and γ i+1,j The number of bird species identification results obtained by using a kernel function with kernel parameters is the same as the actual number of results;

[0056] (3-2-4) Update prey position based on fitness wz i+1,j :

[0057]

[0058] (3-2-5) Determine if the iteration number i is less than maxi. If yes, return to step (3-2-2). If no, then set the current γ. i+1,j Output as the optimal kernel parameters.

[0059] Furthermore, step (4) specifically includes:

[0060] (4-1) The bird song feature vectors are randomly divided into training and test sets in an 8:2 ratio;

[0061] (4-2) Input the training set into the nonlinear classification model f(x) and find the optimal a. q And b, where, solve for a q At that time, a q Should meet:

[0062]

[0063] and

[0064] When solving for b, arbitrarily choose a bird song feature vector x. * and its corresponding label y * Calculate b using the following formula.

[0065]

[0066] (4-3) The trained nonlinear classification model is evaluated using a test set. If the model reaches the preset evaluation criteria, the training is considered complete.

[0067] The bird species identification device based on bird calls of the present invention includes:

[0068] Memory, used to store one or more programs;

[0069] When the one or more programs are executed by the one or more processors, the one or more processors implement the above method.

[0070] The present invention describes a storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to perform the methods described above.

[0071] Beneficial effects: Compared with the prior art, the significant advantages of this invention are: the invention constructs weighted feature parameters, optimizes the kernel parameters of the classification method, improves the accuracy of bird sound classification and recognition, and shortens the calculation time, improving the timeliness of detection, with good real-time performance, and can be applied to low-cost embedded systems. Attached Figure Description

[0072] Figure 1 This is a flowchart illustrating the bird species identification method based on bird calls provided by the present invention. Detailed Implementation

[0073] This embodiment provides a method for bird species identification based on bird calls, such as... Figure 1 As shown, it includes:

[0074] (1) Acquire several segments of bird calls and preprocess the bird calls.

[0075] Birdsong can be collected using publicly available birdsong databases or by collecting it independently. The collected raw birdsong is segmented into 2-second (or other preset) segments, with the first quarter of each segment overlapping the last quarter of the previous segment. The segmented birdsong is then regularized to ensure each segment has the same format, including duration, sampling rate, mono, and storage format. The segmented birdsong forms a birdsong dataset. This dataset contains segments of specific bird species' calls and segments that do not contain calls of that species. Each birdsong segment in the dataset is labeled as belonging to or not belonging to that bird species. If a segment contains a call from a specific bird species, it is labeled as belonging to that bird species; otherwise, it is labeled as not belonging to that bird species. The dataset is randomly divided into training and testing sets in an 8:2 ratio.

[0076] The preprocessing includes emphasis and windowing. Assuming each bird song signal contains N data points, the function for emphasizing each bird song signal is as follows:

[0077] d2(n)=s1(n)-0.97d1(n-1)1≤n≤N-1

[0078] In the formula, d1(n) represents the nth data of the bird song in this segment (n=0,1,2,…,N-1), d2(n) is the nth data of the bird song after emphasis, and n is the data number.

[0079] Apply windowing to each data segment. For example, add a Hamming window; the expression for a Hamming window is as follows:

[0080] w(n)=0.54-0.46cos(2πn / N)0≤n≤N-1

[0081] Multiply each data segment by the data corresponding to the Hamming window function to obtain the windowed bird song signal d.

[0082] d(n)=d2(n)w(n)0≤n≤N-1

[0083] d(n) represents the nth data point of the bird song signal d after windowing.

[0084] (2) For each preprocessed bird song, two different filter banks are used to filter the power spectrum of the bird song, and the coefficients of the filtered signal are extracted respectively. The two sets of coefficients, the short-time energy of the bird song and the short-time zero-crossing rate of the bird song are combined to form the feature vector of the current bird song.

[0085] This step specifically includes:

[0086] (2-1) Perform a Fourier transform on the processed bird calls and calculate the power spectrum P(k) of the bird calls based on the transformed signal, 0≤k≤N-1, where k represents the data sequence number of the bird calls and N represents the number of bird call data.

[0087] The Fourier transform is as follows:

[0088]

[0089] Where i is the imaginary unit, d(n) is the nth data of the bird song signal after preprocessing in step 1, and D(k) represents the kth data in the spectrum of the bird song signal, 0≤k≤N-1.

[0090] The power spectrum P(k) is calculated using the following formula.

[0091] P(k)=|D(k)| 2

[0092] P(k) represents the k-th data in the power spectrum of the bird sound signal, where 0 ≤ k ≤ N-1.

[0093] (2-2) The power spectrum of the bird song is filtered using the first set of filter banks to obtain the filtered signal S1(m):

[0094]

[0095]

[0096] MH=(1-α)(f1(m)-f1(m-1)+1)0≤α≤1

[0097] MR=α(f1(m+1)-f1(m)+1)0≤α≤1

[0098]

[0099] In the formula, m represents the filter index, M represents the number of filters used, and H1 m (k) represents the m-th filter in the first filter bank, f1(m), f1(m-1), and f1(m+1) represent the center frequencies of the m-th, m-1-th, and m+1-th filters in the first filter bank, respectively, and α represents the weight coefficients of the filters, 0 ≤ α ≤ 1. s f represents the sampling frequency. h f represents the highest frequency in the range of bird songs. l Representing the lowest frequency within the range of bird calls, F(*) = 1127*ln(1+* / 700), F -1 (*)=700(e * / 1125 -1);

[0100] (2-3) Extract the coefficients C1(n) of the filtered signal S1(m) according to the following formula:

[0101]

[0102] In the formula, L represents the order;

[0103] (2-4) The power spectrum of the bird song is filtered using the second set of filter banks to obtain the filtered signal S2(m):

[0104]

[0105]

[0106] NH=(1-α)(f2(m)-f2(m-1)+1)0≤α≤1

[0107] NR=α(f2(m+1)-f2(m)+1)0≤α≤1

[0108]

[0109] In the formula, H2 m (k) represents the m-th filter in the second filter bank, f2(m), f2(m-1), and f2(m+1) represent the center frequencies of the m-th, m-1-th, and m+1-th filters in the second filter bank, respectively, and FF(*) = 2195 - 2595 * log(1 + (4031 - *) / 700), FF -1 (*)=700(10 * / 2595 -1);

[0110] (2-5) Extract the coefficients C2(n) of the filtered signal S2(m) according to the following formula:

[0111]

[0112] (2-6) Calculate the short-time energy E of the bird song according to the following formula:

[0113]

[0114] In the formula, d(p) represents the p-th data of the preprocessed bird song;

[0115] (2-7) Calculate the short-time zero-crossing rate Z of the bird song according to the following formula:

[0116]

[0117] In the formula, sgn[] is the sign function, and d(p-1) represents the (p-1)th data of the preprocessed bird song;

[0118] (2-8) Combine C1(n), C2(n), E, ​​and Z to form the eigenvector x:

[0119] x = [C1(n),C2(n),E,Z].

[0120] (3) Construct a nonlinear classification model and use the prey optimization method to find the optimal kernel function in the nonlinear classification model. The fitness of the position during the search process is the number of bird species identification results that are the same as the actual results when the kernel function with the current position as the kernel parameter is used for bird species identification.

[0121] This step specifically includes:

[0122] (3-1) Construct a nonlinear classification model f(x)

[0123]

[0124] In the formula, x is the feature vector of any bird song segment, Q is the total number of bird song segments used to train the classification model (i.e., the training set), and x q Let y be the feature vector of the q-th segment of bird calls used to train the classification model. q The classification label for the q-th segment of bird calls is either -1 or 1, where -1 indicates that the bird is not of this type, and 1 indicates that the bird is of this type. q Here, b is the weighting coefficient, and a is the preset bias parameter. q b are the parameters to be learned. Here, d1 is the kernel function, and d1 is the kernel parameter.

[0125] (3-2) The optimal kernel parameters of the kernel function are found using the prey optimization method, thus obtaining the optimal kernel function. The optimization process is as follows:

[0126] (3-2-1) Using the kernel parameters as the prey, initialize the population size P1, the maximum number of iterations maxi, the upper and lower bounds of the target space, and set the initial positions of the hunter and the prey according to the following formula;

[0127] γ0=rand(1,g)*(ub-lb)+lb

[0128] Where γ0 is the initial position of the hunter and the prey, lb is the minimum value of the target space, ub is the maximum value of the target space, g is the number of variables, and rand(1,g) generates a matrix of random numbers between 0 and 1 in one row and g columns.

[0129] (3-2-2) Update the position as follows:

[0130] γ i+1,j =γ i,j +0.5[(2CZwz i,j -γ i,j)+(2(1-C)Zu(j)-γ i,j )]

[0131] In the formula, γ i+1,j γ represents the positions of the j-th hunter and prey during the (i+1)-th iteration. i,j wz represents the positions of the j-th hunter and prey during the i-th iteration. i,j Let Z be the position of the j-th prey in the i-th iteration, and Z be the adaptive parameter. R2 is a random number in the range [0,1]. It is a random vector in the range [0,1], and IDX is a vector that satisfies the condition (P2==0). The index value, P2 is index value, It is a random vector in [0,1], and C is the balance parameter. u(j) is the average value of the positions, and

[0132] (3-2-3) Calculate the fitness of the position using the following formula:

[0133] shf(γ i,j ) = cur i,j

[0134] shf(γ i+1,j ) = cur i+1,j

[0135] In the formula, shf(γ) i,j ), shf(γ i+1,j ) represent positions γ respectively i,j and γ i+1,j fitness, cur i,j and cur i+1,j They are respectively γ i,j and γ i+1,j The number of bird species identification results obtained by using a kernel function with kernel parameters is the same as the actual number of results;

[0136] (3-2-4) Update prey position based on fitness wz i+1,j :

[0137]

[0138] (3-2-5) Determine if the iteration number i is less than maxi. If yes, return to step (3-2-2). If no, then set the current γ. i+1,j Output as the optimal kernel parameters.

[0139] (4) Input the extracted bird call feature vectors into the nonlinear classification model for learning.

[0140] This step specifically includes:

[0141] (4-1) The bird song feature vectors are randomly divided into training and test sets in an 8:2 ratio;

[0142] (4-2) Input the training set into the nonlinear classification model f(x) and find the optimal a. q And b, where, solve for a q At that time, a q Should meet:

[0143]

[0144] and

[0145] When solving for b, arbitrarily choose a bird song feature vector x. * and its corresponding label y * Calculate b using the following formula.

[0146]

[0147] (4-3) The trained nonlinear classification model is evaluated using a test set. If the model reaches the preset evaluation criteria, the training is considered complete.

[0148] (5) Extract the feature vector of the bird call to be identified according to steps (1) and (2), and input the feature vector into the learned nonlinear classification model to identify the bird species.

[0149] Accuracy (ACC), sensitivity (SE), and specificity (SP) are important evaluation metrics for bird call recognition models. These metrics can be calculated from the prediction results of TP (number of real bird call samples predicted as bird calls), FP (number of real normal samples predicted as bird calls), TN (number of real bird call samples predicted as normal), and FN (number of real normal samples predicted as normal). ACC, SE, and SP values ​​directly reflect the effectiveness of bird call recognition. The F1-score is a comprehensive evaluation metric for bird call recognition models. The F1-score can be calculated from sensitivity and specificity.

[0150]

[0151] The F1-score, a comprehensive metric, can simultaneously assess the sensitivity and specificity of an evaluation model. The bird sound recognition model provided in this embodiment was evaluated using the F1-score, and the results show that it exhibits excellent performance.

[0152] This embodiment also provides a bird species identification device based on bird calls, including: a memory for storing one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors implement the above method.

[0153] This invention also provides a storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to perform the above-described method.

[0154] The computer storage medium of this invention can be any combination of one or more computer-readable media. A computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0155] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, capable of sending, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device.

[0156] Program code contained on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.

[0157] Computer program code for performing the operations of this invention can be written in one or more programming languages ​​or a combination thereof. Programming languages ​​include object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as C or similar languages. The program code can be executed 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 remote computers, the remote computer can 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 it can be connected to an external computer (e.g., via the Internet using an Internet service provider).

Claims

1. A method for bird species identification based on bird calls, characterized in that... The method includes: (1) Acquire several segments of bird calls and preprocess the bird calls; (2) For each pre-processed bird song, two different filter banks are used to filter the power spectrum of the bird song, and the coefficients of the filtered signal are extracted respectively. The two sets of coefficients, the short-time energy of the bird song and the short-time zero-crossing rate of the bird song are combined to form the feature vector of the current bird song. (3) Construct a nonlinear classification model and use the prey optimization method to find the optimal kernel function in the nonlinear classification model. In the search process, the fitness of the position is the number of bird species identification results that are the same as the actual results when the kernel function with the current position as the kernel parameter is used for bird species identification. (4) Input the extracted bird call feature vectors into a nonlinear classification model for learning; (5) Extract the feature vector of the bird call to be identified according to steps (1) and (2), and input the feature vector into the learned nonlinear classification model to identify the bird species; Step (3) specifically includes: (3-1) Construct a nonlinear classification model f(x) , In the formula, x is the feature vector of any segment of bird song, and Q is the total number of bird song segments used to train the classification model. Let q be the feature vector of the q-th segment of the bird calls used to train the classification model. This is the classification label for the q-th segment of bird calls, specifically -1 or 1, where -1 indicates that it is not this type of bird, and 1 indicates that it is this type of bird. Here, b is the weighting coefficient, and b is the preset bias parameter. b are the parameters to be learned. For kernel function, These are kernel parameters; (3-2) The optimal kernel parameter of the kernel function is found by using the prey optimization method, thereby obtaining the optimal kernel function. In the search process, the fitness of the position is the number of bird species identification results that are the same as the actual results when the kernel function with the current position as the kernel parameter is used for bird species identification.

2. The bird species identification method based on bird calls according to claim 1, characterized in that: The preprocessing described in step (1) includes weighting and windowing.

3. The bird species identification method based on bird calls according to claim 1, characterized in that: Step (2) specifically includes: (2-1) Perform a Fourier transform on the processed bird song and calculate the power spectrum of the bird song based on the transformed signal. , k represents the data sequence number of the bird song, and N represents the number of bird song data. (2-2) The power spectrum of the bird song is filtered using the first set of filter banks to obtain the filtered signal S1(m): , , , , , In the formula, m represents the filter index, and M represents the number of filters used. f1(m), f1(m-1), and f1(m+1) represent the center frequencies of the m-th, m-1-th, and m+1-th filters in the first filter bank, respectively. These represent the weight coefficients of the filter. , f s Represents the sampling frequency. f h Represents the highest frequency within the range of bird calls. f l Represents the lowest frequency within the range of bird calls. , ; (2-3) Extract the coefficients C1(n) of the filtered signal S1(m) according to the following formula: , In the formula, L represents the order; (2-4) The power spectrum of the bird song is filtered using the second set of filter banks to obtain the filtered signal S2(m): , , , , , In the formula, Let f1 represent the m-th filter in the second filter bank, and f2(m), f2(m-1), and f2(m+1) represent the center frequencies of the m-th, m-1-th, and m+1-th filters in the second filter bank, respectively. , ; (2-5) Extract the coefficients C2(n) of the filtered signal S2(m) according to the following formula: , (2-6) Calculate the short-time energy E of the bird song according to the following formula: , In the formula, This represents the p-th data point of the preprocessed bird song; (2-7) Calculate the short-time zero-crossing rate Z of the bird song according to the following formula: , In the formula, sgn[] is the sign function. This represents the (p-1)th data point of the preprocessed bird song; (2-8) Combine C1(n), C2(n), E, ​​and Z to form the eigenvector x: x=[C1(n),C2(n),E,Z].

4. The bird species identification method based on bird calls according to claim 1, characterized in that: Step (3-2) specifically includes: (3-2-1) Initialize the population size by taking the nuclear parameters as the target. Maximum number of iterations 1. Define the upper and lower boundaries of the target space, and set the initial positions of the hunter and prey according to the following formula; , in, Here, lb is the initial position of the hunter and prey, ub is the minimum value in the target space, g is the maximum value in the target space, and rand is the number of variables. Generate a matrix of g random numbers between 0 and 1; (3-2-2) Update the position as follows: , In the formula, It represents the positions of the j-th hunter and prey during the (i+1)-th iteration. It represents the positions of the j-th hunter and prey during the i-th iteration. It is the position of the j-th prey in the i-th iteration. It is an adaptive parameter, and , It is a random number within the range [0,1]. It is a random vector in [0,1], and IDX is a vector that satisfies the condition P2==0. The index value, P2 is <Index value of C, It is a random vector in [0,1], and C is the balance parameter. , It is the average of the positions, and ; (3-2-3) Calculate the fitness of the position using the following formula: , , In the formula, Representing positions respectively and Adaptability, and They are respectively based on and The number of bird species identification results obtained by using a kernel function with kernel parameters is the same as the actual number of results; (3-2-4) Update prey location based on fitness : , (3-2-5) Determine if the iteration number i is less than maxi. If yes, return to step (3-2-2). If no, then set the current iteration number to maxi. Output as the optimal kernel parameters.

5. The bird species identification method based on bird calls according to claim 1, characterized in that: Step (4) specifically includes: (4-1) The bird song feature vectors are randomly divided into training and test sets in an 8:2 ratio; (4-2) Input the training set into the nonlinear classification model f(x) and find the optimal value. and b, where, Solve hour, It should meet the following requirements: , , When solving for b, arbitrarily choose a bird song feature vector. and their corresponding tags Calculate b using the following formula. , (4-3) The trained nonlinear classification model is evaluated using a test set. If the model reaches the preset evaluation criteria, the training is considered complete.

6. A bird species identification device based on bird calls, characterized in that, include: Memory, used to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-5.

7. A storage medium containing computer-executable instructions, characterized in that, The computer-executable instructions, when executed by a computer processor, are used to perform the method as described in any one of claims 1-5.