Engine turn counting method, related device, equipment and storage medium

By frame-by-frame detection and target tracking of engine video data, the vector of the blade rotation direction is analyzed, and the rotation number of rotations is counted using vertical reference lines, the problem of insufficient applicability and robustness of multi-layer blades in the prior art is solved, and effective counting in multi-layer blades is achieved.

CN120355646AActive Publication Date: 2025-07-22ZHEJIANG TIDAL POWER TECH CO LTD
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202510219810.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2025-02-08
Filing Date
2025-02-26
Publication Date
2025-07-22
Estimated Expiration
2045-02-26

AI Technical Summary

Technical Problem

The existing loop counting method cannot be adapted to background blades in the multi-layer blades, and lacks robustness, and the application scenarios are limited.

Method used

By detecting the video data during the target engine operation frame by frame, obtaining the blade position and tracking the target, analyzing the vector of the blade rotation direction, using the reference line perpendicular to the vector for real-time video analysis, and counting the number of engine rotation turns.

Benefits of technology

It broadens the application scenarios of engine rotation counting, improves robustness, and can be applied in single-layer and multi-layer blades, reducing interference caused by factors such as shooting jitter.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120355646A_ABST
    Figure CN120355646A_ABST
Patent Text Reader

Abstract

The invention discloses an engine rotation counting method, a related device, equipment and a storage medium, and the method comprises the steps: carrying out the frame-by-frame detection based on video data photographed when a target engine works, and obtaining a first position of an engine blade on a first video frame in the video data; performing target tracking based on the first position of the engine blade on each first video frame to obtain a first tracking trajectory of the engine blade; performing analysis based on each first tracking trajectory to obtain a first vector representing the blade rotation direction when the target engine works; analyzing a real-time video when the target engine works based on the first vector and the reference line to obtain a real-time count of the number of rotation turns of the target engine; wherein the reference line is vertically and equally divided into the first vector. According to the scheme, the application scene of engine turning counting can be widened, and the robustness of engine turning counting is improved.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims the priority of a Chinese patent application with the application number 2025101418376 and the application title "Engine Rotation Counting Method and Related Devices, Equipment, and Storage Media" filed with the National Intellectual Property Administration on February 8, 2025. The entire content of which is incorporated herein by reference. Technical Field

[0002] This application relates to the field of image processing technology, and in particular, to an engine rotation counting method and related devices, equipment, and storage media. Background Art

[0003] In fields such as aerospace, to ensure the normal operation and safety of engines, the quality inspection of engine blades is particularly crucial. During the quality inspection process, simultaneously counting the rotations of the engine is also one of the important links.

[0004] Currently, the existing rotation counting methods mainly solve the application scenarios of single-layer blades and cannot adapt to the background blades in a static state in multi-layer blades, resulting in a great limitation in the application scenarios. In addition, the existing rotation counting methods require users to take pictures according to the set rotation direction, lacking a certain degree of robustness. In view of this, how to broaden the application scenarios of engine rotation counting and improve the robustness of engine rotation counting has become an urgent problem to be solved. Summary of the Invention

[0005] The main technical problem to be solved by this application is to provide an engine rotation counting method and related devices, equipment, and storage media, which can broaden the application scenarios of engine rotation counting and improve the robustness of engine rotation counting.

[0006] To solve the above technical problem, in the first aspect of this application, an engine rotation counting method is provided, including: performing frame-by-frame detection on the video data captured when the target engine is operating to obtain the first position of the engine blades on the first video frame in the video data; performing target tracking based on the first positions of the engine blades on each first video frame to obtain the first tracking trajectory of the engine blades; analyzing based on each first tracking trajectory to obtain a first vector representing the rotation direction of the blades when the target engine is operating; analyzing the real-time video of the target engine during operation based on the first vector and a reference line to obtain the real-time count of the number of rotations of the target engine; where the reference line is perpendicular bisector of the first vector.

[0007] To solve the above technical problems, the second aspect of the present application provides an engine rotation counting device, including: a video detection module, a target tracking module, a trajectory analysis module, and a rotation counting module. The video detection module is configured to perform frame-by-frame detection on the video data captured during the operation of the target engine to obtain the first position of the engine blades on the first video frame in the video data. The target tracking module is configured to perform target tracking based on the first positions of the engine blades on each first video frame to obtain the first tracking trajectory of the engine blades. The trajectory analysis module is configured to analyze based on each first tracking trajectory to obtain a first vector representing the rotation direction of the blades during the operation of the target engine. The rotation counting module is configured to analyze the real-time video of the target engine during operation based on the first vector and a reference line to obtain the real-time count of the number of rotations of the target engine; wherein the reference line is perpendicular to and bisects the first vector.

[0008] To solve the above technical problems, the third aspect of the present application provides an electronic device, at least including a memory and a processor coupled to each other. The memory stores at least program instructions, and the processor is configured to execute the program instructions to implement the engine rotation counting method in the first aspect above.

[0009] To solve the above technical problems, the fourth aspect of the present application provides a computer-readable storage medium storing program instructions that can be run by a processor. The program instructions are configured to implement the engine rotation counting method in the first aspect above.

[0010] In the above solution, by performing frame-by-frame detection on the video data captured during the operation of the target engine, the first position of the engine blades on the first video frame in the video data is obtained, and based on the first positions of the engine blades on each first video frame, the target is tracked to obtain the first tracking trajectory of the engine blades. Then, based on each first tracking trajectory, an analysis is performed to obtain a first vector representing the rotation direction of the blades during the operation of the target engine. Furthermore, based on the first vector and the reference line, the real-time video of the target engine during operation is analyzed to obtain the real-time count of the number of rotations of the target engine, and the reference line is perpendicular to and bisects the first vector. Therefore, on the one hand, through a series of prior detections such as frame-by-frame detection, target tracking, and trajectory analysis of the video data, the first vector of the blade rotation during the operation of the target engine is anchored, and based on this, the real-time video of the target engine is analyzed, enabling the user to not need to capture the real-time video according to the set rotation direction. On the other hand, since the real-time video of the target engine is analyzed through the reference line perpendicular to and bisecting the first vector, and there are significant differences in the motion states of the background blades and the foreground blades among multiple layers of blades, it helps to filter out the minute interferences caused by the background blades due to factors such as shooting jitter, and it can be applicable in both single-layer blade and multi-layer blade application scenarios. Therefore, it can broaden the application scenarios of engine rotation counting and improve the robustness of engine rotation counting. Description of the Drawings

[0011] Figure 1 It is a schematic flowchart of an embodiment of the engine rotation counting method of the present application;

[0012] Figure 2a It is a schematic diagram of the process of an embodiment of the engine rotation counting method of the present application;

[0013] Figure 2b It is a schematic diagram of the process of another embodiment of the engine rotation counting method of the present application;

[0014] Figure 3 It is a schematic framework diagram of an embodiment of the engine rotation counting device of the present application;

[0015] Figure 4 It is a schematic framework diagram of an embodiment of the electronic device of the present application;

[0016] Figure 5 It is a schematic framework diagram of an embodiment of the computer-readable storage medium of the present application. Detailed implementation manners

[0017] The solutions of the embodiments of the present application will be described in detail below with reference to the accompanying drawings of the specification.

[0018] In the following description, specific details such as specific system architectures, interfaces, and technologies are presented for the purpose of illustration rather than limitation, so as to thoroughly understand the present application.

[0019] The terms "system" and "network" are often used interchangeably in this article. The term "and / or" in this article is merely a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the fragment " / " in this article generally represents an "or" relationship between the associated objects before and after. In addition, "plurality" in this article means two or more than two.

[0020] Please refer to Figure 1 , Figure 1 It is a schematic flowchart of an embodiment of the engine rotation counting method of the present application. Specifically, it may include the following steps:

[0021] Step S11: Based on frame-by-frame detection of the video data captured when the target engine is working, obtain the first position of the engine blade on the first video frame in the video data.

[0022] In an implementation scenario, the target engine may include, but is not limited to, a space engine, etc., and the specific type of the target engine is not limited here. For example, the target engine may also be any engine provided with blades, and no further examples will be given here.

[0023] In an implementation scenario, the video data can be captured from any shooting perspective (e.g., frontal shooting, left-side shooting, right-side shooting, top-down shooting, bottom-up shooting, etc.), and the shooting perspective of the video data is not limited herein. Of course, in order to improve the accuracy of a series of operations such as subsequent detection and analysis of the video data, the shooting perspective of the video data can specifically be such that the engine blades in the target engine can be clearly captured.

[0024] In an implementation scenario, after obtaining the video data, the video data can be frame-sliced first to separate a number of first video frames from the video data, and then target detection can be performed on each of the first video frames in sequence to obtain the first position of the engine blades on the first video frame. Exemplarily, the target detection of the first video frame can be performed by a target detection model such as YOLO. In addition, the first position can specifically be the detection frame of the engine blades, for example, it can be expressed as: {x min, y min , x max , y max}, where x min represents the minimum coordinate value of the detection frame on the X coordinate axis, y min represents the minimum coordinate value of the detection frame on the Y coordinate axis, x max represents the maximum coordinate value on the X coordinate axis, and y max represents the maximum coordinate value on the Y coordinate axis.

[0025] In a specific implementation scenario, as a possible implementation example, along with the first position, the confidence level of the first position can also be detected, and then the first positions with a confidence level higher than a confidence threshold (e.g., 0.45, etc.) can be screened. That is to say, the first positions with a confidence level not higher than the confidence threshold can be filtered out. It should be noted that the confidence level of the first position represents the credibility of the existence of the engine blades at the first position in the first video frame. For example, the higher the confidence level of the first position, the higher the credibility of the existence of the engine blades at the first position in the first video frame, and vice versa, the lower the confidence level of the first position, the lower the credibility of the existence of the engine blades at the first position in the first video frame.

[0026] In a specific implementation scenario, as a possible implementation example, as described above, the first position can be expressed as a detection frame, and then the area ratio of the detection frame in the first video frame can be obtained, and the detection frames (i.e., the first positions) with an area ratio lower than a ratio threshold (e.g., 5%, etc.) can be filtered out.

[0027] Step S12: Perform target tracking based on the first positions of the engine blades on each of the first video frames to obtain the first tracking trajectory of the engine blades.

[0028] Specifically, target tracking techniques such as ByteTrack can be used to perform target tracking on the first positions of the engine blades in each first video frame to obtain the first tracking trajectory of the engine blades. For the specific process of target tracking, refer to the technical details of target tracking techniques such as ByteTrack, which will not be elaborated here. In addition, target tracking and the aforementioned frame-by-frame detection can be executed synchronously. For example, when performing target tracking on the first positions of the engine blades in the 1st to the i-th first video frames in the video data to obtain the first tracking trajectory, the (i + 1)-th first video frame in the video data can be detected simultaneously, so as to further add the first position of the engine blade in the (i + 1)-th first video frame to one of the first tracking trajectories or list it as a new first tracking trajectory through the target tracking technique. It should be noted that during this process, the detection boxes of the first tracking trajectory can also be filtered. For example, the detection boxes that exceed the image interface can be filtered out, etc., which is not limited here. For the sake of convenience of description, the first tracking trajectory can be denoted as track index , where the subscript index is used to distinguish different first tracking trajectories.

[0029] Step S13: Analyze based on each first tracking trajectory to obtain a first vector characterizing the rotation direction of the blades when the target engine is working.

[0030] In an implementation scenario, as a possible implementation method, the direction vector of the first tracking trajectory can be obtained based on the starting point and the ending point of the first tracking trajectory, and the direction vector can characterize the trajectory direction of the first tracking trajectory. Then, based on the direction vectors of each first tracking trajectory, a first vector characterizing the rotation direction of the blades when the target engine is working is obtained by fusion. In the above method, by calculating the direction vectors of different first tracking trajectories and then fusing the direction vectors of each first tracking trajectory to obtain a first vector characterizing the rotation direction of the blades when the target engine is working, it is possible to anchor as much as possible the rotation direction of the blades as a whole when the target engine is working.

[0031] In a specific implementation scenario, taking the first tracking trajectory denoted as track index as an example, its starting point can be denoted as track index_A , and its ending point can be denoted as track index_B , then the direction vector of the first tracking trajectory can be expressed as:

[0032]

[0033] In the above formula (1), track index_B represents the coordinate of the ending point of the first tracking trajectory, and track index_A represents the coordinate of the starting point of the first tracking trajectory.

[0034] In a specific implementation scenario, after obtaining the direction vectors of each first tracking trajectory, the direction vectors of each first tracking trajectory can be averaged to obtain a first vector representing the rotation direction of the blades when the target engine is operating.

[0035] In another implementation scenario, different from the foregoing implementation manner, as another possible implementation manner, after obtaining the direction vector of the first tracking trajectory, the trajectory length of the first tracking trajectory can also be obtained first. For the sake of description, the trajectory length of the first tracking trajectory track index can be expressed as:

[0036]

[0037] In the above formula (2), ‖·‖ represents the modulus of a vector. After obtaining the trajectory lengths of each first tracking trajectory, they can be sorted in descending order of the trajectory lengths of the first tracking trajectories, and the first tracking trajectories located before a preset order position (such as the first 10, the first 15, etc.) can be selected as candidate tracking trajectories. On this basis, a first vector can be obtained by fusing the direction vectors of each candidate tracking trajectory. For example, the direction vectors of each candidate tracking trajectory can be averaged to obtain a first vector representing the rotation direction of the blades when the target engine is operating. In the above manner, by selecting the first tracking trajectories with relatively long trajectory lengths and fusing their direction vectors to obtain a first vector representing the rotation direction of the blades when the target engine is operating, the error interference of short trajectories can be minimized as much as possible.

[0038] Step S14: Analyze the real-time video of the target engine during operation based on the first vector and the reference line to obtain a real-time count of the number of rotation cycles of the target engine.

[0039] In the embodiments of the present disclosure, the reference line is perpendicular to and bisects the first vector. That is to say, after obtaining the first vector, the perpendicular bisector of the first vector can be taken as the reference line. For the sake of description, the reference line can be denoted as line cross . In addition, the shooting angle of the real-time video can be the same as or different from the foregoing video data, which is not limited herein.

[0040] In an implementation scenario, as a possible implementation method, frame-by-frame detection can be performed based on the real-time video to obtain the second position of the engine blade on the second video frame in the real-time video. Then, target tracking can be performed based on the second position of the engine blade on the second video frame to obtain the second tracking trajectory of the engine blade. Next, analysis can be performed based on the second tracking trajectory to obtain an analysis result indicating whether the trajectory direction of the second tracking trajectory is the same as or opposite to the first direction. Additionally, based on the positional relationship between the second tracking trajectory and the reference line, a detection result indicating whether the second tracking trajectory is a disturbance interference can be obtained. Thus, based on the analysis result and the detection result, the blade count can be incremented or decremented. Furthermore, based on the current value of the blade count and the total number of blades of the target engine, the real-time count of the number of rotations of the target engine can be obtained. It should be noted that as continuous target detection and target tracking are performed on the real-time video, the existing second tracking trajectory will also be updated. And if the newly detected second position during the target tracking process cannot be matched with the existing second tracking trajectory, a new second tracking trajectory will be generated accordingly. Whether it is the updated second tracking trajectory or the newly generated second tracking trajectory, the aforementioned steps of obtaining the analysis result and the detection result will be executed to continuously update the blade count. Through the above method, by performing a series of operations such as frame-by-frame detection and target tracking on the real-time video to obtain the second tracking trajectory of the engine blade, and then obtaining the analysis result and the detection result of the second tracking trajectory to increment or decrement the blade count accordingly, the blade count can be updated in real-time and continuously during the shooting of the real-time video.

[0041] In a specific implementation scenario, for the specific process of frame-by-frame detection of the real-time video, reference can be made to the relevant description of frame-by-frame detection of video data mentioned above, which will not be elaborated here. For the specific process of target tracking of the second position, reference can be made to the relevant description of target tracking of the first position mentioned above, which will not be elaborated here either. In addition, still taking the implementation of target tracking of the second position through, for example, ByteTrack as an example, since the ByteTrack algorithm processes the prediction result of Kalman filtering and the increment interval of its ID count is often not 1, in order to facilitate subsequent real-time update of the blade count, when implementing target tracking through the ByteTrack algorithm, the increment interval of the ID count of the ByteTrack algorithm can be set to 1.

[0042] In a specific implementation scenario, similar to the processing method of the first tracking trajectory mentioned above, after obtaining the second tracking trajectory, the trajectory length of each second tracking trajectory can also be calculated, and the second tracking trajectories with a trajectory length less than the length threshold can be filtered out, and only the second tracking trajectories with a trajectory length not less than the length threshold will be subjected to the subsequent relevant processing of obtaining their analysis results and detection results.

[0043] In a specific implementation scenario, after obtaining the second tracking trajectory, in order to determine whether the trajectory direction of the second tracking trajectory is the same as or opposite to the first vector, several second vectors representing the trajectory directions of the second tracking trajectory at different time points can be obtained first. Exemplarily, as described above, as continuous object detection and object tracking are performed on the real-time video, the existing second tracking trajectory will also be updated. And when the newly detected second position cannot be matched with the existing second tracking trajectory during the object tracking process, a new second tracking trajectory will also be generated accordingly. Therefore, the trajectory points included in the second tracking trajectory are different at different time points, resulting in different trajectory directions at different time points. However, under normal circumstances, it should be roughly the same as the first vector. In addition, for the method of obtaining the second vector, reference can be made to the relevant description of the direction vector mentioned above, which will not be elaborated here. On this basis, the comparison results between each second vector and the first vector can be continuously obtained, and the comparison results represent that the second vector is the same as or opposite to the first vector. It should be noted that for each group of the first vector and the second vector, the included angle between the first vector and the second vector can be calculated through trigonometric functions such as cosine similarity. And when the included angle is less than the angle threshold, it can be determined that the second vector is the same as the first vector. Conversely, when the included angle is not less than the angle threshold, it can be determined that the second vector is opposite to the first vector. After obtaining the comparison results, the analysis result can be obtained based on the dominant comparison result. Taking the example of obtaining N second vectors, if more than N / 2 of the second vectors are the same as the first vector, it can be determined that the trajectory direction of the second tracking trajectory is the same as the first vector. Conversely, it can be determined that the trajectory direction of the second tracking trajectory is opposite to the first vector. Through the above method, several second vectors representing the trajectory directions of the second tracking trajectory at different time points are obtained, and the comparison results between each second vector and the first vector are obtained, and the comparison results represent that the second vector is the same as or opposite to the first vector. Then, based on the dominant comparison result, the analysis result is obtained. It can determine whether the trajectory direction is the same as or opposite to the first vector through a voting mechanism, which helps to improve the accuracy of the analysis result.

[0044] In a specific implementation scenario, after obtaining the second tracking trajectory, the intersection point between the reference line and the second tracking trajectory can be obtained to acquire the first distance from the starting point to the intersection point of the second tracking trajectory, and the second distance from the ending point to the intersection point of the second tracking trajectory. Then, based on the magnitude relationships between the first distance and the second distance respectively and the distance threshold, the detection result can be obtained. Exemplarily, if both the first distance and the second distance are greater than the distance threshold, it can be determined that the detection result indicates that the second tracking trajectory is not a disturbance interference (i.e., the second tracking trajectory is the trajectory formed by the actual rotation of the engine blade). On the contrary, if at least one of the first distance and the second distance is not greater than the distance threshold, it can be determined that the detection result indicates that the second tracking trajectory is a disturbance interference (i.e., the second tracking trajectory is the trajectory formed by the misidentification of the background blade in the stationary state as being in the moving state due to interference factors such as shooting jitter). By the above method, the intersection point between the reference line and the second tracking trajectory is obtained to acquire the first distance from the starting point to the intersection point of the second tracking trajectory, and the second distance from the ending point to the intersection point of the second tracking trajectory. Then, based on the magnitude relationships between the first distance and the second distance respectively and the distance threshold, the detection result can be obtained, which can eliminate interference factors such as shooting jitter as much as possible.

[0045] In a specific implementation scenario, after obtaining the analysis result and the detection result of the second tracking trajectory, the blade count can be updated accordingly. Specifically, in response to the detection result indicating no disturbance interference and the analysis result indicating the same direction, the blade count can be incremented (e.g., increased by 1). On the contrary, in response to the detection result indicating no disturbance interference and the analysis result indicating the opposite direction, the blade count can be decremented (e.g., decreased by 1). Of course, in the case where the detection result indicates a disturbance interference, the blade count can remain unchanged. By the above method, in response to the detection result indicating no disturbance interference and the analysis result indicating the same direction, the blade count is incremented, and in response to the detection result indicating no disturbance interference and the analysis result indicating the opposite direction, the blade count is decremented, which can update the blade count by combining both the detection result and the analysis result.

[0046] In a specific implementation scenario, through the above operations, relevant analysis and detection can be performed on the second tracking trajectory continuously updated by the real-time video and the newly generated second tracking trajectory, so as to continuously and real-time update the blade count. Therefore, the blade count can be further detected in real time. For example, it can be detected in real time whether the current value of the blade count is not less than the total number of blades of the target engine. And in response to the current value being not less than the total number of blades, it can be determined that the real-time count represents the completion of one circle of counting. It should be noted that in the case where the target engine has multiple layers of blades, the total number of blades can specifically be the total number of foreground blades in the target engine. In addition, in the case where it is determined that the real-time count represents the completion of one circle of counting, a prompt message (such as, "The engine has completed one circle of counting", etc.) can be sent to give a timely reminder during the quality inspection process of the target engine. Further, after it is determined that the real-time count represents the completion of one circle of counting, it can be further detected in real time whether the current value of the blade count is not less than M times the total number of blades. And in response to the current value being not less than the total number of blades, it is determined that the real-time count represents the completion of M circles of counting. Among them, M can be fixedly set as an integer greater than 1; or M can be set to adaptively adjust with different representations of the real-time count. For example, in the case where the real-time count represents the completion of one circle of counting, M can be adaptively set to 2, and in the case where the real-time count represents the completion of two circles of counting, M can be adaptively set to 3, that is, M can be set to the number of completed circles represented by the real-time count plus 1, so as to continuously count the number of rotation circles of the target engine. By the above method, detecting in real time whether the current value is not less than the total number of blades and, in response to the current value being not less than the total number of blades, determining that the real-time count represents the completion of one circle of counting, the number of rotation circles of the target engine can be counted in real time through the blade count.

[0047] In another implementation scenario, as another possible implementation method, different from the foregoing implementation method, after obtaining the second tracking trajectory, based on the positional relationship between the second tracking trajectory and the reference line, a detection result indicating whether the second tracking trajectory is a disturbance interference can be obtained. In response to the detection result indicating that it is not a disturbance interference, the second tracking trajectory can be continued to be analyzed to obtain an analysis result indicating that the trajectory direction of the second tracking trajectory is the same as or opposite to the first vector. And based on the analysis result of the second tracking trajectory, the blade count can be incremented or decremented. While in response to the detection result indicating that it is a disturbance interference, the analysis result of the second tracking trajectory can be temporarily not obtained until the detection result of the second tracking trajectory indicates that it is not a disturbance interference after the second tracking trajectory is updated as the target detection and target tracking of the real-time video continue, and then the analysis result of the second tracking trajectory is obtained. It should be noted that this implementation method only describes the differences from the foregoing implementation method. For the same or similar parts, the specific description of the foregoing implementation method can be referred to and will not be elaborated here.

[0048] Exemplarily, please refer to Figure 2a and Figure 2b , Figure 2a which is a schematic process diagram of an embodiment of the engine rotation counting method of the present application, Figure 2b and Figure 2a is a schematic process diagram of another embodiment of the engine rotation counting method of the present application. As shown in Figure 2b , the engine rotation counting method of the present application includes two implementation stages, where Figure 2a shows the first implementation stage, while Figure 2b shows the second implementation stage. As shown in Figure 2a of the first implementation stage, after obtaining the video data, the blade target detection can be performed frame by frame on the video data, and post-processing can be performed on the blade detection to obtain the first position of the engine blade, and then target tracking can be performed to obtain the first tracking trajectory. At the same time, the detection box exceeding the image boundary can be modified (fixed), the trajectory length of the first tracking trajectory can be calculated, and trajectory filtering can be performed accordingly to collect the trajectory directions of each first tracking trajectory after filtering. Then, according to each trajectory direction, a first vector representing the rotation direction of the target engine blade can be obtained by fusion (e.g., averaging), and the perpendicular bisector of the first vector can be taken as the reference line. As shown in Figure 2b of the second implementation stage, after obtaining the real-time video, a series of operations such as blade target detection, blade detection post-processing, and target tracking can be performed with reference to the processing flow of the foregoing video data to obtain the second tracking trajectory. At the same time, the detection box exceeding the image boundary can be modified (fixed), and the trajectory tracking ID repair can be completed (e.g., modifying the increment interval to 1). On this basis, it can be analyzed whether the trajectory direction is the same as or opposite to the first vector, and combined with the foregoing reference line to detect whether the second tracking trajectory is a disturbance. In the case where the second tracking trajectory is not a disturbance, the blade count can be incremented or decremented by 1 according to the analyzed same or opposite direction, and thus the real-time count of the number of rotations of the target engine can be determined according to the current value of the blade count. It should be noted that Figure 2a , Figure 2b and the above textual description are merely exemplary brief descriptions of the engine rotation counting of the present application. For specific details, please refer to the foregoing relevant descriptions and will not be elaborated herein.

[0049] Based on the frame-by-frame detection of the video data captured during the operation of the target engine, the first position of the engine blades on the first video frame in the video data is obtained. Then, based on the first positions of the engine blades on each first video frame, target tracking is performed to obtain the first tracking trajectory of the engine blades. Subsequently, analysis is carried out based on each first tracking trajectory to obtain the first vector representing the rotation direction of the blades during the operation of the target engine. Furthermore, based on the first vector and the reference line, the real-time video during the operation of the target engine is analyzed to obtain the real-time count of the number of rotations of the target engine. The reference line is perpendicular to and bisects the first vector. Therefore, on the one hand, through a series of preliminary detections such as frame-by-frame detection, target tracking, and trajectory analysis of the video data, the first vector of the blade rotation during the operation of the target engine is anchored, and based on this, the real-time video of the target engine is analyzed, enabling the user not to need to capture the real-time video according to the set rotation direction. On the other hand, since the real-time video of the target engine is analyzed through the reference line perpendicular to and bisecting the first vector, and there are significant differences in the motion states of the background blades and the foreground blades in the multi-layer blades, it helps to filter out the tiny interference caused by the background blades due to factors such as shooting jitter, and it can be applied in both single-layer blade and multi-layer blade application scenarios. Therefore, it can broaden the application scenarios of engine rotation counting and improve the robustness of engine rotation counting.

[0050] Please refer to Figure 3 , Figure 3 is a schematic framework diagram of an embodiment of the engine rotation counting device of the present application. The engine rotation counting device 30 includes: a video detection module 31, a target tracking module 32, a trajectory analysis module 33, and a rotation counting module 34. The video detection module 31 is configured to obtain the first position of the engine blades on the first video frame in the video data based on the frame-by-frame detection of the video data captured during the operation of the target engine. The target tracking module 32 is configured to perform target tracking based on the first positions of the engine blades on each first video frame to obtain the first tracking trajectory of the engine blades. The trajectory analysis module 33 is configured to analyze based on each first tracking trajectory to obtain the first vector representing the rotation direction of the blades during the operation of the target engine. The rotation counting module 34 is configured to analyze the real-time video during the operation of the target engine based on the first vector and the reference line to obtain the real-time count of the number of rotations of the target engine. Among them, the reference line is perpendicular to and bisects the first vector.

[0051] In the above solution, the engine rotation counting device 30 performs frame-by-frame detection on the video data captured during the operation of the target engine to obtain the first position of the engine blade on the first video frame in the video data. Based on the first positions of the engine blade on each first video frame, a target is set to obtain the first tracking trajectory of the engine blade. Then, based on the analysis of each first tracking trajectory, a first vector representing the rotation direction of the blade during the operation of the target engine is obtained. Furthermore, based on the first vector and the reference line, the real-time video during the operation of the target engine is analyzed to obtain the real-time count of the number of rotations of the target engine. The reference line is perpendicular bisector of the first vector. Therefore, on the one hand, through a series of prior detections such as frame-by-frame detection, target tracking, and trajectory analysis of the video data, the first vector of the blade rotation during the operation of the target engine is anchored, and the real-time video of the target engine is analyzed accordingly. It is possible to avoid the user from shooting the real-time video according to the set rotation direction. On the other hand, since the real-time video of the target engine is analyzed through the reference line perpendicular bisector of the first vector, and there are significant differences in the motion states of the background blades and the foreground blades in the multi-layer blades, it helps to filter out the small interferences caused by the background blades due to factors such as shooting jitter. It can be applied in both single-layer blade and multi-layer blade application scenarios. Therefore, it can broaden the application scenarios of engine rotation counting and improve the robustness of engine rotation counting.

[0052] In some disclosed embodiments, the trajectory analysis module 33 includes a vector calculation sub-module for obtaining the direction vector of the first tracking trajectory based on the starting point and the ending point of the first tracking trajectory; wherein, the direction vector represents the trajectory direction of the first tracking trajectory; the trajectory analysis module 33 includes a vector fusion sub-module for fusing the direction vectors of each first tracking trajectory to obtain the first vector.

[0053] In some disclosed embodiments, the trajectory analysis module 33 includes a trajectory sorting sub-module for sorting in descending order according to the trajectory length of the first tracking trajectory; the trajectory analysis module 33 includes a trajectory selection sub-module for selecting the first tracking trajectories located before the preset sequence as candidate tracking trajectories; the vector fusion sub-module is specifically configured to fuse the direction vectors of each candidate tracking trajectory to obtain the first vector.

[0054] In some disclosed embodiments, the rotation counting module 34 includes a frame-by-frame detection sub-module for performing frame-by-frame detection based on a real-time video to obtain the second position of the engine blade on the second video frame in the real-time video; the rotation counting module 34 includes a trajectory tracking sub-module for performing target tracking based on the second position of the engine blade on the second video frame to obtain the second tracking trajectory of the engine blade; the rotation counting module 34 includes a trajectory analysis sub-module for analyzing based on the second tracking trajectory to obtain an analysis result indicating that the trajectory direction of the second tracking trajectory is the same as or opposite to the first vector; the rotation counting module 34 includes a trajectory detection sub-module for obtaining a detection result indicating whether the second tracking trajectory is a disturbance interference based on the positional relationship between the second tracking trajectory and a reference line; the rotation counting module 34 includes a counting update sub-module for incrementing or decrementing the blade count based on the analysis result and the detection result; the rotation counting module 34 includes a real-time counting sub-module for obtaining a real-time count based on the current value of the blade count and the total number of blades of the target engine.

[0055] In some disclosed embodiments, the trajectory analysis sub-module includes a vector acquisition unit for acquiring a plurality of second vectors characterizing the trajectory directions of the second tracking trajectory at different time points; the trajectory analysis sub-module includes a vector comparison unit for obtaining the comparison results between each of the second vectors and the first vector respectively; wherein, the comparison result indicates that the second vector is the same as or opposite to the first vector; the trajectory analysis sub-module includes a direction determination unit for obtaining an analysis result based on one of the comparison results that occupies the majority.

[0056] In some disclosed embodiments, the trajectory detection sub-module includes an intersection determination unit for obtaining the intersection point of the reference line and the second tracking trajectory; the trajectory detection sub-module includes a distance acquisition unit for acquiring a first distance from the starting point of the second tracking trajectory to the intersection point and acquiring a second distance from the ending point of the second tracking trajectory to the intersection point; the trajectory detection sub-module includes a distance comparison unit for obtaining a detection result based on the magnitude relationships between the first distance, the second distance and a distance threshold respectively.

[0057] In some disclosed embodiments, the distance comparison unit is specifically configured to determine that the detection result indicates that the second tracking trajectory is not a disturbance interference in response to both the first distance and the second distance being greater than the distance threshold; and determine that the detection result indicates that the second tracking trajectory is a disturbance interference in response to at least one of the first distance and the second distance not being greater than the distance threshold.

[0058] In some disclosed embodiments, the counting update sub-module includes a count increment unit for incrementing the blade count in response to the detection result indicating that it is not a disturbance interference and the analysis result indicating the same direction; the counting update sub-module includes a count decrement unit for decrementing the blade count in response to the detection result indicating that it is not a disturbance interference and the analysis result indicating the opposite direction.

[0059] In some disclosed embodiments, the real-time counting sub-module includes a numerical value detection unit for detecting in real time whether the current numerical value is not less than the total number of blades; the real-time counting sub-module includes a counting determination unit for determining that the real-time counting represents the completion of one revolution of counting in response to the current numerical value being not less than the total number of blades.

[0060] Please refer to Figure 4 , Figure 4 , which is a schematic framework diagram of an embodiment of the electronic device of the present application. The electronic device 40 at least includes a memory 41 and a processor 42 that are coupled to each other. At least program instructions are stored in the memory 41, and the processor 42 is configured to execute the program instructions to implement the steps in any of the above-described embodiments of the engine revolution counting method. Specifically, reference may be made to the foregoing disclosed embodiments, which will not be elaborated herein. As a possible example, the electronic device 40 may include, but is not limited to, a smart phone, a tablet computer, a server, etc. The specific type of the electronic device 40 is not limited herein.

[0061] Specifically, the processor 42 is configured to control itself and the memory 41 to implement the steps in any of the above-described embodiments of the engine revolution counting method. The processor 42 may also be referred to as a CPU (Central Processing Unit). The processor 42 may be an integrated circuit chip having the ability to process signals. The processor 42 may also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. Additionally, the processor 42 may be implemented jointly by integrated circuit chips.

[0062] In the above solution, the electronic device 40 performs frame-by-frame detection on the video data captured when the target engine is operating, obtains the first position of the engine blade on the first video frame in the video data, and targets based on the first positions of the engine blade on each first video frame to obtain the first tracking trajectory of the engine blade. Then, based on each first tracking trajectory, an analysis is performed to obtain the first vector representing the rotation direction of the blade when the target engine is operating. Furthermore, based on the first vector and the reference line, the real-time video when the target engine is operating is analyzed to obtain the real-time count of the number of rotations of the target engine. The reference line is perpendicular to and bisects the first vector. Therefore, on the one hand, through a series of prior detections such as frame-by-frame detection, target tracking, and trajectory analysis of the video data, the first vector of the blade rotation when the target engine is operating is anchored, and the real-time video of the target engine is analyzed based on this, so that it is not necessary for the user to capture the real-time video according to the set rotation direction. On the other hand, since the real-time video of the target engine is analyzed through the reference line perpendicular to and bisecting the first vector, and there are significant differences in the motion states of the background blades and the foreground blades among the multi-layer blades, it helps to filter out the tiny interference caused by the background blades due to factors such as shooting jitter, and it can be applied in both single-layer blade and multi-layer blade application scenarios. Therefore, it can broaden the application scenarios of engine rotation counting and improve the robustness of engine rotation counting.

[0063] Please refer to Figure 5 , Figure 5 which is a schematic framework diagram of an embodiment of the computer-readable storage medium 50 of the present application. The computer-readable storage medium 50 stores program instructions 51 that can be run by a processor, and the program instructions 51 are used to implement the steps in any of the above embodiments of the engine rotation counting method.

[0064] In the above solution, the computer-readable storage medium 50 performs frame-by-frame detection on the video data captured when the target engine is operating, obtains the first position of the engine blade on the first video frame in the video data, and targets based on the first positions of the engine blade on each first video frame to obtain the first tracking trajectory of the engine blade. Then, based on the analysis of each first tracking trajectory, a first vector representing the rotation direction of the blade when the target engine is operating is obtained. Furthermore, based on the first vector and the reference line, the real-time video when the target engine is operating is analyzed to obtain the real-time count of the number of rotations of the target engine. The reference line is perpendicular to and bisects the first vector. Therefore, on the one hand, through a series of preliminary detections such as frame-by-frame detection, target tracking, and trajectory analysis of the video data, the first vector of the blade rotation when the target engine is operating is anchored, and based on this, the real-time video of the target engine is analyzed, enabling the user not to need to capture the real-time video according to the set rotation direction. On the other hand, since the real-time video of the target engine is analyzed through the reference line perpendicular to and bisecting the first vector, and there are significant differences in the motion states of the background blades and the foreground blades among the multi-layer blades, it helps to filter out the tiny interferences caused by the background blades due to factors such as shooting jitter, and it can be applied in both single-layer blade and multi-layer blade application scenarios. Therefore, it can broaden the application scenarios of engine rotation counting and improve the robustness of engine rotation counting.

[0065] In some embodiments, the functions or modules included in the device provided by the embodiments of the present disclosure can be used to execute the methods described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments. For the sake of brevity, it will not be repeated here.

[0066] The descriptions of the above embodiments tend to emphasize the differences between the embodiments. The similarities or similarities between them can be referred to each other. For the sake of brevity, they will not be repeated in this article.

[0067] In several embodiments provided in the present application, it should be understood that the disclosed methods and devices can be implemented in other ways. For example, the device implementation manners described above are only illustrative. For example, the division of modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of the devices or units can be in electrical, mechanical or other forms.

[0068] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0069] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0070] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) or a processor (processor) to perform all or part of the steps of each implementation method of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program code.

[0071] If the technical solution of this application involves personal information, the product using the technical solution of this application has clearly informed the personal information processing rules and obtained the individual's voluntary consent before processing the personal information. If the technical solution of this application involves sensitive personal information, the product using the technical solution of this application has obtained the individual's separate consent before processing the sensitive personal information, and at the same time meets the "explicit consent" requirement. For example, on personal information collection devices such as cameras, clear and prominent signs are set to inform that the personal information collection scope has been entered and personal information will be collected. If the individual voluntarily enters the collection scope, it is deemed that he or she agrees to the collection of his or her personal information; or on the device that processes personal information, the personal information processing rules are notified by obvious signs / information, and the individual's authorization is obtained through pop-up information or by asking the individual to upload his or her personal information; among them, the personal information processing rules may include information such as the personal information processor, the purpose of personal information processing, the processing method, and the type of personal information processed.

Claims

1. An engine rotation counting method, characterized in that, Including: Performing frame-by-frame detection on the video data captured when the target engine is operating to obtain the first position of the engine blade on the first video frame in the video data; Performing target tracking based on the first positions of the engine blade on each of the first video frames to obtain the first tracking trajectory of the engine blade; Performing analysis based on each of the first tracking trajectories to obtain a first vector characterizing the rotation direction of the blade when the target engine is operating; Performing analysis on the real-time video of the target engine when operating based on the first vector and a reference line to obtain a real-time count of the number of rotations of the target engine; wherein, the reference line is perpendicular bisector of the first vector.

2. The method according to claim 1, wherein The performing analysis based on each of the first tracking trajectories to obtain a first vector characterizing the rotation direction of the blade when the target engine is operating includes: Based on the starting point and the ending point of the first tracking trajectory, obtaining a direction vector of the first tracking trajectory; wherein, the direction vector characterizes the trajectory direction of the first tracking trajectory; Fusing the direction vectors of each of the first tracking trajectories to obtain the first vector.

3. The method according to claim 2, wherein Before fusing the direction vectors of each of the first tracking trajectories to obtain the first vector, the method further includes: Sorting in descending order according to the trajectory length of the first tracking trajectory, and selecting the first tracking trajectories located before a preset order as candidate tracking trajectories; The fusing the direction vectors of each of the first tracking trajectories to obtain the first vector includes: Fusing the direction vectors of each of the candidate tracking trajectories to obtain the first vector.

4. The method according to claim 1, wherein The performing analysis on the real-time video of the target engine when operating based on the first vector and a reference line to obtain a real-time count of the number of rotations of the target engine includes: Performing frame-by-frame detection on the real-time video to obtain the second position of the engine blade on the second video frame in the real-time video; Performing target tracking based on the second position of the engine blade on the second video frame to obtain the second tracking trajectory of the engine blade; Performing analysis based on the second tracking trajectory to obtain an analysis result indicating whether the trajectory direction of the second tracking trajectory is the same as or opposite to the first vector, and based on the positional relationship between the second tracking trajectory and the reference line, obtaining a detection result indicating whether the second tracking trajectory is a disturbance interference; Incrementing or decrementing the blade count based on the analysis result and the detection result; Obtaining the real-time count based on the current value of the blade count and the total number of blades of the target engine.

5. The method according to claim 4, characterized in that The performing analysis based on the second tracking trajectory to obtain an analysis result indicating whether the trajectory direction of the second tracking trajectory is the same as or opposite to the first vector includes: Obtaining a plurality of second vectors characterizing the trajectory direction of the second tracking trajectory at different time points; Obtaining the comparison result between each of the second vectors and the first vector respectively; wherein, the comparison result indicates whether the second vector is the same as or opposite to the first vector; Obtaining the analysis result based on the majority one of the comparison results.

6. The method according to claim 4, wherein Based on the positional relationship between the second tracking trajectory and the reference line, obtaining a detection result indicating whether the second tracking trajectory is a disturbance interference, includes: Obtaining the intersection point of the reference line and the second tracking trajectory; Obtaining a first distance from the starting point of the second tracking trajectory to the intersection point, and obtaining a second distance from the ending point of the second tracking trajectory to the intersection point; Based on the magnitude relationships between the first distance, the second distance, and the distance threshold respectively, obtaining the detection result.

7. The method according to claim 6, characterized in that The obtaining the detection result based on the magnitude relationships between the first distance, the second distance, and the distance threshold respectively, includes: In response to both the first distance and the second distance being greater than the distance threshold, determining that the detection result indicates that the second tracking trajectory is not a disturbance interference; In response to at least one of the first distance and the second distance not being greater than the distance threshold, determining that the detection result indicates that the second tracking trajectory is a disturbance interference.

8. The method according to claim 4, characterized in that, Based on the analysis result and the detection result, incrementing or decrementing the blade count, includes: In response to the detection result indicating that it is not a disturbance interference and the analysis result indicating the same direction, incrementing the blade count; In response to the detection result indicating that it is not a disturbance interference and the analysis result indicating the opposite direction, decrementing the blade count.

9. The method according to claim 4, wherein Based on the current value of the blade count and the total number of blades of the target engine, obtaining the real-time count, includes: Real-time detecting whether the current value is not less than the total number of blades; In response to the current value being not less than the total number of blades, determining that the real-time count indicates the completion of one revolution count.

10. An engine rotation counting device, characterized in that, Includes: A video detection module, configured to obtain the first position of the engine blades on the first video frame in the video data by performing frame-by-frame detection on the video data captured during the operation of the target engine; A target tracking module, configured to perform target tracking based on the first positions of the engine blades on each of the first video frames to obtain the first tracking trajectory of the engine blades; A trajectory analysis module, configured to analyze based on each of the first tracking trajectories to obtain a first vector indicating the rotation direction of the blades during the operation of the target engine; A revolution counting module, configured to analyze the real-time video of the target engine during operation based on the first vector and the reference line to obtain a real-time count of the number of revolutions of the target engine; wherein, the reference line is perpendicular bisector of the first vector.

11. An electronic device, characterized in that, At least includes a memory and a processor coupled to each other, and at least program instructions are stored in the memory, and the processor is configured to execute the program instructions to implement the engine revolution counting method according to any one of claims 1 to 9.

12. A computer-readable storage medium, characterized in that, Stores program instructions that can be run by the processor, and the program instructions are used to implement the engine revolution counting method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • All-weather urban vehicle tracking and counting method based on video monitoring

    CN102385803A

  • Video turn-back identification method and device based on multi-target tracking, equipment and medium

    CN116309721A

  • Data processing method, device and equipment and computer readable storage medium

    CN116958845A

  • Aircraft engine blade real-time counting system based on borescope image recognition

    CN117636224A

  • Counting method and device, electronic equipment, storage medium and computer program product

    CN117669640A