Image processing method, apparatus, device, and storage medium
By performing particle image velocimetry analysis through parallel scheduling of target nodes on a cloud platform, the problems of large computational load and high storage space in existing technologies are solved, achieving efficient fluid velocity distribution analysis and improving computational efficiency and resource utilization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-30
- Publication Date
- 2026-03-20
AI Technical Summary
In existing particle image velocimetry technologies, the computational load and storage space requirements for two-dimensional and/or three-dimensional fluid velocity distribution analysis are large, resulting in high computational costs and long processing times.
By scheduling target nodes in the node pool in parallel on the cloud platform, performing velocity vector distribution analysis based on the first and second image sets, and using the size information of the particle images to determine the appropriate number of target nodes and configuration parameters, parallel computing is achieved.
It improves computing efficiency, saves time and costs, and balances the utilization of processing nodes in the cloud platform, meeting users' flexible resource allocation needs.
Smart Images

Figure CN115861385B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to, but is not limited to, the technical field of particle image velocimetry, and particularly relates to an image processing method and device, equipment and a storage medium. BACKGROUND
[0002] Particle image velocimetry (PIV) is a kind of instantaneous, multi-point and non-contact fluid mechanics velocity measurement method. In the particle image velocimetry, the two-dimensional and / or three-dimensional fluid velocity distribution analysis can be realized by processing the particle images. However, in the related art, the calculation amount required by the two-dimensional velocity vector calculation, the three-dimensional particle field reconstruction and the three-dimensional velocity vector calculation involved in the two-dimensional and / or three-dimensional fluid velocity distribution analysis process is large, and a large amount of storage space is required, thereby resulting in high calculation cost and long calculation time. SUMMARY
[0003] Therefore, the present disclosure provides an image processing method and device, equipment and a storage medium.
[0004] The technical scheme of the present disclosure is implemented as follows:
[0005] In one aspect, the present disclosure provides an image processing method, which is applied to a cloud platform, and includes the following steps:
[0006] obtaining a first image set and a second image set to be processed; wherein the first image set includes at least one first image obtained by collecting a first scene in which tracer particles are distributed from at least one view at a first time point, and the second image set includes at least one second image obtained by collecting the first scene from the at least one view after a set time interval from the first time point; each of the first image and the second image has first size information;
[0007] determining at least one target node from a processing node pool of the cloud platform based on the first size information;
[0008] parallel scheduling the at least one target node to determine velocity vector distribution information of each tracer particle in the first scene at the first time point based on the first image set and the second image set.
[0009] In another aspect, the present disclosure provides an image processing device, which includes the following steps:
[0010] The first acquisition module is configured to acquire a first image set and a second image set to be processed; wherein the first image set comprises at least one first image obtained by collecting a first scene in which tracer particles are distributed from at least one view at a first time point, and the second image set comprises at least one second image obtained by collecting the first scene from the at least one view after a set time interval from the first time point; each of the first image and the second image has first size information;
[0011] The first determination module is configured to determine at least one target node from a processing node pool of the cloud platform based on the first size information.
[0012] The second determination module is configured to determine, by the at least one target node in parallel, velocity vector distribution information of each tracer particle in the first scene at the first time point based on the first image set and the second image set.
[0013] In another aspect, the embodiments of the present disclosure provide a computer device, which comprises a memory and a processor, the memory stores a computer program capable of running on the processor, and the processor implements part or all of the steps of the above method when executing the program.
[0014] In another aspect, the embodiments of the present disclosure provide a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement part or all of the steps of the above method.
[0015] In another aspect, the embodiments of the present disclosure provide a computer program, which comprises computer readable code, and when the computer readable code runs in a computer device, a processor in the computer device executes the computer readable code to implement part or all of the steps of the above method.
[0016] In another aspect, the embodiments of the present disclosure provide a computer program product, which comprises a non-transitory computer readable storage medium storing a computer program, and when the computer program is read and executed by a computer, part or all of the steps of the above method are implemented.
[0017] In this embodiment of the disclosure, on the one hand, by scheduling at least one target node in the processing node pool of the cloud platform in parallel, based on the first image set and the second image set, the velocity vector distribution information corresponding to each tracer particle in the first scene at the first moment can be determined, which can effectively improve the computational efficiency and save time costs. On the other hand, since the size information of the particle image affects the amount of computation required to determine the velocity vector distribution information, based on the first size information of each first image and each second image, a suitable target node and the number of target nodes can be determined, thereby better balancing computational efficiency and the utilization rate of processing nodes in the cloud platform. Furthermore, since the cloud platform has flexible resource expansion capabilities, the processing node pool (i.e., computing resources) in the cloud platform can be flexibly configured according to the actual needs of users, thereby better meeting the needs of users. Attached Figure Description
[0018] Figure 1 A schematic diagram illustrating the implementation flow of an image processing method provided in an embodiment of this disclosure;
[0019] Figure 2 A schematic diagram illustrating the implementation flow of an image processing method provided in an embodiment of this disclosure;
[0020] Figure 3 A schematic diagram illustrating the implementation flow of an image processing method provided in an embodiment of this disclosure;
[0021] Figure 4 A schematic diagram illustrating the implementation flow of an image processing method provided in an embodiment of this disclosure;
[0022] Figure 5 A schematic diagram illustrating the implementation flow of an image processing method provided in an embodiment of this disclosure;
[0023] Figure 6 A schematic diagram illustrating the implementation flow of an image processing method provided in an embodiment of this disclosure;
[0024] Figure 7A A schematic diagram illustrating the implementation architecture of an image processing method provided in this embodiment of the disclosure;
[0025] Figure 7B A schematic diagram illustrating the implementation architecture of an image processing method provided in this embodiment of the disclosure;
[0026] Figure 8 This is a schematic diagram of the composition structure of an image processing apparatus provided in an embodiment of the present disclosure;
[0027] Figure 9 This is a schematic diagram of the hardware entity of a computer device provided in an embodiment of this disclosure. Detailed Implementation
[0028] In order to make the purposes, technical solutions and advantages of the present disclosure clearer, the technical solutions of the present disclosure are further described in detail below in combination with the drawings and embodiments. The described embodiments should not be regarded as limitations of the present disclosure. All other embodiments obtained by those of ordinary skill in the art without creative labor fall within the scope of protection of the present disclosure. In the following description, the term "some embodiments" describes a subset of all possible embodiments, but it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict.
[0029] In the following description, the terms "first / second / third" are only to distinguish similar objects and do not represent a specific order of the objects. It can be understood that "first / second / third" can interchange specific order or sequence as allowed, so that the embodiments of the present disclosure described herein can be implemented in an order other than that illustrated or described herein. Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which the present disclosure belongs. The terms used herein are only for the purpose of describing the present disclosure and are not intended to limit the present disclosure.
[0030] The embodiments of the present disclosure provide an image processing method, which can be executed by a cloud platform (i.e. a cloud computing platform). Figure 1 The implementation flowchart of the image processing method provided by the embodiments of the present disclosure is shown in FIG. 1, which includes the following steps S101-S103: Figure 1
[0031] In step S101, a first image set and a second image set to be processed are obtained. The first image set includes at least one first image obtained by collecting a first scene in which tracer particles are distributed from at least one view angle at a first time point. The second image set includes at least one second image obtained by collecting the first scene from the at least one view angle after a set time interval from the first time point. Each of the first image and the second image has first size information.
[0032] Here, the first image set and the second image set can be directly sent to the cloud platform after being collected by an image collection device, or can be sent to the cloud platform by other services, or can be uploaded to the cloud platform by a user after being obtained from a storage or the Internet. The embodiments of the present disclosure are not limited in this regard.
[0033] The first scene can be any suitable scene with tracer particles, and the embodiments of the present disclosure are not limited thereto. For example, the first scene can be a flow field to be measured for velocity, a certain number of tracer particles can be scattered in the flow field in advance, the tracer particles scattered in the flow field are illuminated by a light source, and at least one image acquisition device is used to acquire images of the flow field from different angles at the same time to obtain at least one image containing tracer particles. In implementation, each first image in the first image set can be acquired from at least one angle at the first time, and each second image in the second image set can be acquired from the at least one angle at the time interval of a set time length after the first time, where the set time length can be set in advance according to actual conditions.
[0034] In some embodiments, at least one single-exposure camera corresponding to different angles can be used to simultaneously capture each first image in the first image set at the first time, and at least one single-exposure camera corresponding to different angles can be used to simultaneously capture each second image in the second image set at the time interval of a set time length after the first time.
[0035] In other embodiments, at least one double-exposure camera corresponding to different angles can be used to simultaneously capture the first scene, each double-exposure camera can obtain a first image acquired at the first time and a second image acquired at the time interval of a set time length after the first time through two continuous exposures, so that the first image set and the second image set can be obtained.
[0036] In step S102, at least one target node is determined from the processing node pool of the cloud platform based on the first size information.
[0037] Here, the cloud platform can be any suitable cloud computing platform, which can include a pre-configured processing node pool, and the processing node pool can include at least one processing node (i.e., a computing node) for cloud computing processing, and each computing node can correspond to a virtual machine in the cloud platform. In implementation, the cloud platform can be deployed in a public cloud, or in a private cloud or a local virtual machine, and the embodiments of the present disclosure are not limited thereto.
[0038] The first size information can include, but is not limited to, at least one of an image size of the first image and / or the second image, a size of a target region in the first image and / or the second image to be analyzed for fluid velocity distribution, a size of a three-dimensional particle field region corresponding to each first image in the first image set and / or each second image in the second image set, and the like. The region in the first image and / or the second image to be analyzed for fluid velocity distribution can be pre-set or selected by a user in the first image and / or the second image. The size of the three-dimensional particle field region corresponding to each first image in the first image set and / or each second image in the second image set can be pre-set or determined according to the size of the target region selected by the user in the first image and / or the second image or the image size of the first image and / or the second image, which is not limited herein. The image size of the first image and / or the second image can be the image resolution of the first image and / or the second image. The first size information can reflect the amount of calculation required for fluid velocity distribution analysis based on the first image set and the second image set. For example, in the case of a large image size of the first image and / or the second image, the amount of calculation required for velocity distribution analysis based on the first image set and the second image set is large, and in the case of a small image size of the first image and / or the second image, the amount of calculation required for velocity distribution analysis based on the first image set and the second image set is small. For another example, in the case of a large size of the target region in the first image and / or the second image, the amount of calculation required for velocity distribution analysis based on the first image set and the second image set is large, and in the case of a small size of the target region in the first image and / or the second image, the amount of calculation required for velocity distribution analysis based on the first image set and the second image set is small. Thus, based on the first size information possessed by the first image and the second image, appropriate computing resources can be allocated to the subsequent velocity distribution analysis process, i.e., at least one target node is determined from the pool of processing nodes of the cloud platform. It can be understood that the at least one target node can include one, two or more target nodes.
[0039] In some embodiments, the number of target nodes to be allocated can be determined based on the first size information, and at least one target node matching the number can be allocated from the pool of processing nodes of the cloud platform. Here, those skilled in the art can determine the number of target nodes to be allocated based on the first size information in a suitable manner according to actual conditions, and the embodiments of the present disclosure are not limited thereto. For example, a correspondence between at least one first size information and the number of target nodes can be pre-set, and the number of target nodes matching the first size information can be determined by querying the correspondence by using the first size information possessed by the first image and the second image. For another example, reference size information matched by a single target node can be pre-determined, which can represent an image region size matching the computing power of a single target node; the number of target nodes to be allocated can be determined based on the first size information and the reference size information.
[0040] In some embodiments, the configuration parameters of the target nodes to be allocated can be determined based on the first size information, and at least one target node matching the configuration parameters can be allocated from the pool of processing nodes of the cloud platform. Here, the configuration parameters can include any suitable parameters capable of reflecting the computing power of the computing nodes, such as but not limited to the running memory, the number of processors and / or the number of cores of each processor, etc. In implementation, those skilled in the art can determine the configuration parameters of the target nodes to be allocated based on the first size information in a suitable manner according to actual conditions, and the embodiments of the present disclosure are not limited thereto. For example, the configuration parameters of the target nodes to be allocated can be determined as first configuration parameters in the case that the first size information is greater than a set size threshold; and the configuration parameters of the target nodes to be allocated can be determined as second configuration parameters in the case that the first size information is less than or equal to the size threshold.
[0041] In some embodiments, the number and the configuration parameters of the target nodes to be allocated can be determined based on the first size information, and at least one target node matching the number and the configuration parameters can be allocated from the pool of processing nodes of the cloud platform.
[0042] In some embodiments, at least one target node can be determined from the pool of processing nodes of the cloud platform based on the number of images in the first image set and the second image set and the first size information. For example, the number of target nodes to be allocated can be determined to be the same as the total number of the first image and the second image, and the configuration parameters of the target nodes to be allocated can be determined based on the first size information, so that at least one target node matching the number and the configuration parameters can be allocated from the pool of processing nodes of the cloud platform.
[0043] Step S103: Parallel scheduling of at least one target node to determine the velocity vector distribution information of each tracer particle in the first scene at the first moment based on the first image set and the second image set.
[0044] Here, at least one target node can be scheduled in parallel to perform velocity distribution analysis on the first and second image sets through parallel computation, thereby obtaining the velocity vector distribution information of each tracer particle in the first scene at the first moment. In implementation, any suitable particle image-based velocity distribution analysis algorithm can be used to analyze and process the first and second image sets to obtain the velocity vector distribution information of each tracer particle in the first scene at the first moment; this embodiment is not limited in this respect. The velocity vector distribution information of each tracer particle in the first scene at the first moment may include the velocity vector of each tracer particle in the first scene at the first moment. During the analysis and processing of the first and second image sets, a specific task decomposition method can be used to divide the analysis and processing task into multiple subtasks that can be computed in parallel. By scheduling at least one target node in parallel to perform parallel computation on each subtask, the efficiency of velocity distribution analysis can be effectively improved, and the velocity vector distribution information of each tracer particle in the first scene at the first moment can be obtained quickly.
[0045] In some implementations, where the first image set includes a first image and the second image set includes a second image, the velocity vector distribution information of each tracer particle in the first scene at the first moment can include the two-dimensional velocity vector of each tracer particle at the first moment. By parallel scheduling of at least one target node to perform velocity vector calculation on the first and second images, the velocity vector distribution information of each tracer particle at the first moment can be obtained. Here, through velocity vector calculation, each tracer particle in the first image can be matched with each tracer particle in the second image. Then, based on the matching results, the first position information of each tracer particle in the first scene in the first image and the second position information in the second image can be determined, that is, the first position information of each tracer particle at the first moment and the second position information at a time interval after the first moment. Based on the first and second position information of each tracer particle and the set time interval, the two-dimensional velocity vector of each tracer particle at the first moment can be determined. In implementation, any suitable method can be used to perform velocity vector calculation on the first and second images, such as, but not limited to, cross-correlation algorithms, optical flow methods, and / or prediction based on artificial intelligence neural network models.
[0046] In some embodiments, in the case that the first image set includes two first images respectively captured at the first view angle and the second view angle, and the second image set includes two second images respectively captured at the first view angle and the second view angle, the velocity vector distribution information of each tracer particle in the first scene at the first time point can include a planar three-dimensional (2-Dimensional 3-Component, 2D3C) velocity vector of each tracer particle at the first time point. At least one target node can be scheduled in parallel. First, velocity vector calculation is performed on the first image and the second image captured at the first view angle to obtain a first set of two-dimensional velocity vectors of each tracer particle in the first scene at the first time point. Then, velocity vector calculation is performed on the first image and the second image captured at the second view angle to obtain a second set of two-dimensional velocity vectors of each tracer particle in the first scene at the first time point. Finally, the first set of two-dimensional velocity vectors and the second set of two-dimensional velocity vectors are merged to obtain the planar three-dimensional velocity vector of each tracer particle at the first time point. In implementation, any suitable method can be used to perform velocity vector calculation on the first image and the second image captured at the same view angle, such as but not limited to cross-correlation algorithm, optical flow method, and / or neural network model prediction based on artificial intelligence, etc.
[0047] In some embodiments, in the case that the first image set includes N first images respectively captured at N view angles, and the second image set includes N second images respectively captured at the N view angles, where N is an integer greater than 2, the velocity vector distribution information of each tracer particle in the first scene at the first time point can include a three-dimensional velocity vector of each tracer particle at the first time point. Here, at least one target node can be scheduled in parallel. First, three-dimensional particle field reconstruction is performed on the N first images in the first image set to obtain a first three-dimensional particle field, and three-dimensional particle field reconstruction is performed on the N second images in the second image set to obtain a second three-dimensional particle field. Then, velocity vector calculation is performed on the first three-dimensional particle field and the second three-dimensional particle field to obtain the three-dimensional velocity vector of each tracer particle in the first scene at the first time point. In the process of velocity vector calculation, first, each tracer particle in the first three-dimensional particle field and each tracer particle in the second three-dimensional particle field can be matched. Then, according to the matching result, the third position information of each tracer particle in the first three-dimensional particle field and the fourth position information of each tracer particle in the second three-dimensional particle field at the first time point can be determined, i.e., the third position information of each tracer particle at the first time point and the fourth position information of each tracer particle at a time point after the first time point by a set time interval. Finally, according to the third position information and the fourth position information of each tracer particle and the set time interval, the three-dimensional velocity vector of each tracer particle at the first time point can be determined. In implementation, any suitable method can be used to perform velocity vector calculation on the first three-dimensional particle field and the second three-dimensional particle field, such as but not limited to cross-correlation algorithm, optical flow method, and / or neural network model prediction based on artificial intelligence, etc.
[0048] In the embodiments of the present disclosure, on the one hand, by parallel scheduling at least one target node in the processing node pool of the cloud platform to determine the velocity vector distribution information corresponding to each tracking particle in the first scene at the first time based on the first image set and the second image set, the calculation efficiency can be effectively improved, and the time cost can be saved; on the other hand, since the size information of the particle image will affect the calculation amount required for determining the velocity vector distribution information, based on the first size information possessed by each first image and each second image, the appropriate target node and the number of target nodes can be determined, and then the calculation efficiency and the utilization rate of the processing nodes in the cloud platform can be better balanced; on the other hand, since the cloud platform has flexible resource expansion capability, the processing node pool (i.e., the computing resource) in the cloud platform can be flexibly configured according to the actual needs of the user, so that the needs of the user can be better met.
[0049] In some embodiments, before the step S103, the method can further include the following steps S111 to S112:
[0050] In step S111, each image in the first image set and the second image set is preprocessed to obtain the preprocessed first image set and the preprocessed second image set, and the preprocessed first image set and the preprocessed second image set are stored in the set storage space in the cloud platform.
[0051] Here, the preprocessing refers to the enhancement processing of each image in the first image set and the second image set before the velocity distribution analysis processing of the first image set and the second image set. In implementation, those skilled in the art can perform appropriate preprocessing on each image in the first image set and the second image set according to the actual situation, and the embodiments of the present disclosure are not limited thereto. For example, the preprocessing can include but is not limited to at least one of the following: gray processing, stretching processing, blurring processing, contrast adjustment, image flipping, image gray flipping, image rotation, binarization processing, image dilation processing, image erosion processing, denoising processing, particle number adjustment processing, background elimination, etc.
[0052] After the preprocessing of each image in the first image set and the second image set, at least one target node can be parallelly scheduled to perform the velocity distribution analysis processing on the preprocessed first image set and the second image set to obtain the velocity vector distribution information corresponding to each tracking particle in the first scene at the first time.
[0053] In step S112, in response to receiving a request for querying the preprocessed first image set and / or the preprocessed second image set, the preprocessed first image set and / or the preprocessed second image set are read from the storage space and returned.
[0054] Here, the request for querying the pre-processed first image set and / or the pre-processed second image set can be sent by a client or other service, and after the cloud platform reads the pre-processed first image set and / or the pre-processed second image set from the storage space, the pre-processed first image set and / or the pre-processed second image set can be returned to the client or other service.
[0055] In implementation, the pre-processed first image set can be read and returned from the storage space in response to receiving the request for querying the pre-processed first image set; the pre-processed second image set can be read and returned from the storage space in response to receiving the request for querying the pre-processed second image set; and the pre-processed first image set and the pre-processed second image set can be read and returned from the storage space in response to receiving the request for querying the pre-processed first image set and the pre-processed second image set.
[0056] In the above embodiments, each image in the first image set and the second image set is pre-processed to obtain the pre-processed first image set and the pre-processed second image set, and the pre-processed first image set and the pre-processed second image set are stored in the storage space set in the cloud platform; and the pre-processed first image set and / or the pre-processed second image set is read and returned from the storage space in response to receiving the request for querying the pre-processed first image set and / or the pre-processed second image set. In this way, the client or other service can request the cloud platform to obtain the pre-processed first image set and / or the pre-processed second image set according to needs, so that the pre-processed first image set and / or the pre-processed second image set does not need to be stored persistently in the client or other service, and thus the storage cost of the client or other service can be reduced.
[0057] The embodiments of the present disclosure provide an image processing method, which can be executed by a cloud platform. Figure 2 As shown in the implementation flowchart of the image processing method provided by the embodiments of the present disclosure, Figure 2 The method comprises the following steps S201 to S203:
[0058] In step S201, a first image set and a second image set to be processed are obtained; wherein the first image set comprises at least one first image obtained by collecting a first scene in which tracer particles are distributed from at least one view angle at a first time point, and the second image set comprises at least one second image obtained by collecting the first scene from the at least one view angle after a set time interval from the first time point; each first image and each second image has first size information.
[0059] Here, step S201 corresponds to the aforementioned step S101, and in implementation, the implementation manners of the aforementioned step S101 can be referred to.
[0060] In step S202, in a case where the number of images in the first image set and the number of images in the second image set are both 1, at least one first target node is determined from the processing node pool based on the first size information.
[0061] Here, the number and / or configuration parameters of the target nodes to be allocated can be determined based on the first size information, and at least one target node matching the number and / or configuration parameters is allocated from the processing node pool of the cloud platform.
[0062] In step S203, the at least one first target node is scheduled in parallel to perform velocity vector calculation on the first image in the first image set and the second image in the second image set, to obtain the velocity vector distribution information of each tracking particle in the first scene corresponding to the first time.
[0063] Here, the first image set includes one first image, and the second image set includes one second image. The velocity vector distribution information of each tracking particle in the first scene corresponding to the first time can include a two-dimensional velocity vector of each tracking particle corresponding to the first time. By scheduling the at least one target node in parallel to perform velocity vector calculation on the first image and the second image, the velocity vector distribution information of each tracking particle corresponding to the first time can be obtained.
[0064] In implementation, the tracking particles in the first image and the tracking particles in the second image can be matched first, and then the first position information of each tracking particle in the first image and the second position information of each tracking particle in the second image in the first scene can be determined according to the matching result, i.e., the first position information of each tracking particle at the first time and the second position information of each tracking particle at a time interval of a set time length after the first time, and the two-dimensional velocity vector of each tracking particle corresponding to the first time can be determined according to the first position information and the second position information of each tracking particle corresponding to the first time and the set time length. Any suitable method can be used to perform velocity vector calculation on the first image and the second image, such as but not limited to cross-correlation algorithm, optical flow method, and / or neural network model prediction based on artificial intelligence.
[0065] In the embodiments of the present disclosure, in the case that the number of images in the first image set and the second image set is 1, at least one first target node is determined from the processing node pool based on the first size information; and the at least one first target node is scheduled in parallel to perform velocity vector calculation on the first image in the first image set and the second image in the second image set, to obtain the velocity vector distribution information of each tracking particle in the first scene corresponding to the first time. In this way, since the size information of the particle image will affect the calculation amount required for velocity vector calculation, based on the first size information possessed by each first image and each second image, the appropriate target node and the number of target nodes can be determined, and the calculation efficiency and the utilization rate of the processing nodes in the cloud platform can be better balanced.
[0066] In some embodiments, the step of determining at least one first target node from the processing node pool based on the first size information in the step S202 can include the following steps S211 and S212:
[0067] In the step S211, the first number of nodes to be scheduled is determined based on the first size information and first block configuration information.
[0068] Here, the at least one target node can be scheduled in parallel to perform velocity vector calculation on the first image and the second image after being divided into blocks. The first block configuration information can be configuration information for dividing the first image and the second image into blocks, which can include but is not limited to at least one of the size information of the block window, the overlap degree of the block window, the size information of the iteration window for performing velocity vector calculation, etc.
[0069] In implementation, the number of image blocks obtained after dividing the first image into blocks and the number of image blocks obtained after dividing the second image into blocks can be determined based on the first size information and the first block configuration information, and then the first number of nodes to be scheduled can be determined based on the number of image blocks. Those skilled in the art can determine the first number of nodes to be scheduled based on the number of image blocks in a suitable manner according to actual conditions, and the embodiments of the present disclosure do not limit this. For example, the number of image blocks obtained after dividing the first image into blocks or the number of image blocks obtained after dividing the second image into blocks can be directly determined as the first number, that is, one computing node is allocated to each image block in the first image or the second image. For another example, the number of image blocks obtained after dividing the first image into blocks can be divided by M to obtain the first number, or the number of image blocks obtained after dividing the second image into blocks can be divided by M to obtain the first number, where M can be a positive integer greater than 1 and less than the number of image blocks in the first image or the second image, that is, one computing node is allocated to every M image blocks in the first image or the second image.
[0070] It should be noted that, in the process of parallel scheduling each target node to perform speed vector calculation on the first image and the second image blocks, the number of image blocks processed by each target node can be the same or different, and the embodiments of the present disclosure do not limit this.
[0071] Step S212, determining the first number of first target nodes from the pool of processing nodes.
[0072] Here, the first number of first target nodes can be determined from the pool of processing nodes in any suitable manner, and the embodiments of the present disclosure do not limit this. In some embodiments, the first number of first target nodes can be randomly determined from the pool of processing nodes. In some embodiments, the first number of first target nodes with the least memory occupancy can be determined from the pool of processing nodes.
[0073] In the above embodiments, based on the first size information and the first block configuration information, the first number of to-be-scheduled nodes is determined, and the first number of first target nodes is determined from the pool of processing nodes. In this way, a number of target nodes can be allocated to the speed vector calculation process of the first image and the second image, so that the efficiency of the speed vector calculation process and the utilization rate of the processing nodes in the cloud platform can be better balanced.
[0074] In some embodiments, the above step S203 can include the following steps S221 to S223:
[0075] Step S221, based on the first block configuration information, performing block processing on the first image and the second image respectively to obtain at least one image block pair; each image block pair includes a first image block and a second image block corresponding to a spatial region in the first scene in the first image and the second image, respectively.
[0076] Step S222, scheduling each first target node, and performing speed vector calculation on the first image block and the second image block in each image block pair in parallel to obtain the speed vector distribution information of each tracer particle in the spatial region corresponding to each image block pair at the first time.
[0077] Here, the first number of first target nodes can be simultaneously scheduled, and each image block pair can be processed in parallel to obtain the speed vector distribution information of each tracer particle in the spatial region corresponding to each image block pair at the first time. For each image block pair, speed vector calculation can be performed on the first image block and the second image block in the image block pair to obtain the speed vector distribution information of each tracer particle in the spatial region corresponding to the image block pair (i.e., the spatial region in the first scene corresponding to the first image block and the second image block in the image block pair) at the first time.
[0078] In some implementations, the number of image block pairs can be the same as the number of first target nodes. In this way, each first target node can perform velocity vector calculation on the first image block and the second image block in an image block pair, thereby improving the parallelism of velocity vector calculation on the first image block and the second image block in each image block pair, and further improving the efficiency of the velocity vector calculation process.
[0079] In some implementations, the number of image block pairs can be greater than the number of first target nodes. In this way, each first target node can perform velocity vector calculation on the first and second image blocks in at least one image block pair, thereby better balancing the efficiency of the velocity vector calculation process and the utilization rate of processing nodes in the cloud platform.
[0080] Step S223: Merge the velocity vector distribution information of each tracer particle in each of the spatial regions at the first time to obtain the velocity vector distribution information of each tracer particle in the first scene at the first time.
[0081] Here, the velocity vector distribution information of each tracer particle in each spatial region at the first moment can be merged in any suitable way according to the actual situation to obtain the velocity vector distribution information of each tracer particle in the first scene at the first moment. This embodiment of the present disclosure is not limited in this respect.
[0082] In some implementations, when there is no overlap between spatial regions, the union of the velocity vector distribution information of each tracer particle in each spatial region at the first moment can be determined as the velocity vector distribution information of each tracer particle in the first scene at the first moment; alternatively, the velocity vector distribution information of each tracer particle in the first scene at the first moment can be obtained by removing erroneous velocity vectors from the union of the velocity vector distribution information of each tracer particle in each spatial region at the first moment.
[0083] In some implementations, when there is overlap between spatial regions, the velocity vector distribution information of each tracer particle in each spatial region at the first moment can be deduplicated and then merged to obtain the velocity vector distribution information of each tracer particle in the first scene at the first moment.
[0084] This disclosure provides an image processing method that can be executed by a cloud platform. Figure 3 This is a schematic diagram illustrating the implementation flow of an image processing method provided in an embodiment of the present disclosure, such as... Figure 3 As shown, the method includes the following steps S301 to S305:
[0085] In step S301, a first image set and a second image set to be processed are acquired; the first image set includes at least one first image of a first scene in which tracer particles are distributed, which is captured from at least one view at a first time point; the second image set includes at least one second image of the first scene, which is captured from the at least one view after a set time interval from the first time point; each of the first image and the second image has first size information.
[0086] Here, step S301 corresponds to the aforementioned step S101, and in implementation, the implementation manner of the aforementioned step S101 can be referred to.
[0087] In step S302, when the number of images in the first image set and the second image set is N, at least one second target node and at least one third target node are determined from the processing node pool based on the first size information; N is a positive integer greater than 2.
[0088] In step S303, the at least one second target node is scheduled in parallel to perform three-dimensional particle field reconstruction based on each first image in the first image set, to obtain a first three-dimensional particle field.
[0089] In step S304, the at least one third target node is scheduled in parallel to perform three-dimensional particle field reconstruction based on each second image in the second image set, to obtain a second three-dimensional particle field.
[0090] In step S305, at least one fourth target node is determined and scheduled from the processing node pool to perform velocity vector calculation on the first three-dimensional particle field and the second three-dimensional particle field, to obtain velocity vector distribution information of each tracer particle in the first scene at the first time point.
[0091] Here, when the number of images in the first image set and the second image set is a positive integer N greater than 2, three-dimensional velocity vector calculation can be performed on the first image set and the second image set, so that three-dimensional particle field reconstruction is performed on each first image in the first image set to obtain a first three-dimensional particle field, and three-dimensional particle field reconstruction is performed on each second image in the second image set to obtain a second three-dimensional particle field, and then velocity vector calculation is performed on the first three-dimensional particle field and the second three-dimensional particle field to obtain three-dimensional velocity vector of each tracer particle in the first scene at the first time point, i.e., velocity vector distribution information of each tracer particle in the first scene at the first time point.
[0092] The at least one second target node is a computing node to be scheduled to reconstruct a first three-dimensional particle field based on each first image in the first image set. The at least one second target node can be scheduled in parallel to perform three-dimensional particle field reconstruction on each first image in the first image set in a parallel computing manner to obtain the first three-dimensional particle field. In implementation, any suitable three-dimensional particle field reconstruction algorithm can be used to perform three-dimensional particle field reconstruction on each first image in the first image set to obtain the first three-dimensional particle field, for example, the three-dimensional particle field reconstruction algorithm can include, but is not limited to, at least one of a geometric reconstruction method, a Multiplicative Algebraic Reconstruction Technique (MART), a MART algorithm with gray scale enhancement, a MART algorithm with spatial smoothing, and the like, and the embodiments of the present disclosure are not limited thereto. In the process of reconstructing the first three-dimensional particle field, a specific task splitting manner can be used to split the three-dimensional particle field reconstruction task into a plurality of subtasks that can be calculated in parallel. By scheduling the at least one second target node in parallel to perform parallel calculation on each subtask, the efficiency of reconstructing the first three-dimensional particle field can be effectively improved.
[0093] In some embodiments, the number and / or configuration parameters of the second target nodes to be allocated can be determined based on the first size information, and at least one second target node matching the number and / or configuration parameters can be allocated from a processing node pool of the cloud platform.
[0094] The at least one third target node is a computing node to be scheduled to reconstruct a second three-dimensional particle field based on each second image in the second image set. The at least one third target node can be scheduled in parallel to perform three-dimensional particle field reconstruction on each second image in the second image set in a parallel computing manner to obtain the second three-dimensional particle field. In implementation, any suitable three-dimensional particle field reconstruction algorithm can be used to perform three-dimensional particle field reconstruction on each second image in the second image set to obtain the second three-dimensional particle field, for example, the three-dimensional particle field reconstruction algorithm can include, but is not limited to, at least one of a geometric reconstruction method, a MART algorithm, a MART algorithm with gray scale enhancement, a MART algorithm with spatial smoothing, and the like, and the embodiments of the present disclosure are not limited thereto. In the process of reconstructing the second three-dimensional particle field, a specific task splitting manner can be used to split the three-dimensional particle field reconstruction task into a plurality of subtasks that can be calculated in parallel. By scheduling the at least one third target node in parallel to perform parallel calculation on each subtask, the efficiency of reconstructing the second three-dimensional particle field can be effectively improved.
[0095] In some embodiments, the number and / or configuration parameters of the third target nodes to be allocated can be determined based on the first size information, and at least one third target node matching the number and / or configuration parameters can be allocated from a processing node pool of the cloud platform.
[0096] In some embodiments, the specific manner of determining the number of second target nodes to be allocated and / or the configuration parameters based on the first size information, and the specific manner of determining the number of third target nodes to be allocated and / or the configuration parameters based on the first size information, can refer to the implementation manners of step S102 in the foregoing embodiments.
[0097] The at least one fourth target node is a computing node to be scheduled to perform velocity vector calculation on the first three-dimensional particle field and the second three-dimensional particle field. The at least one fourth target node can be scheduled in parallel to perform velocity vector calculation on the first three-dimensional particle field and the second three-dimensional particle field in a parallel computing manner, to obtain the three-dimensional velocity vector distribution information of each tracer particle in the first scene at the first time. In the process of performing velocity vector calculation, a specific task splitting manner can be used to split the velocity vector calculation task into a plurality of subtasks that can be calculated in parallel. By scheduling the at least one fourth target node in parallel to perform parallel calculation on each subtask, the efficiency of velocity vector calculation can be effectively improved. In implementation, the manner of performing velocity vector calculation on the first three-dimensional particle field and the second three-dimensional particle field can include but is not limited to cross-correlation algorithm, optical flow method, and / or neural network model prediction based on artificial intelligence.
[0098] In the embodiments of the present disclosure, in the case that the number of images in the first image set and the second image set is N, the at least one second target node and the at least one third target node are determined from the pool of processing nodes based on the first size information; the at least one second target node is scheduled in parallel to perform three-dimensional particle field reconstruction based on each first image in the first image set, to obtain the first three-dimensional particle field; the at least one third target node is scheduled in parallel to perform three-dimensional particle field reconstruction based on each second image in the second image set, to obtain the second three-dimensional particle field; the at least one fourth target node is determined and scheduled from the pool of processing nodes to perform velocity vector calculation on the first three-dimensional particle field and the second three-dimensional particle field, to obtain the three-dimensional velocity vector distribution information of each tracer particle in the first scene at the first time. In this way, on the one hand, by performing parallel calculation in the cloud platform, the calculation efficiency of three-dimensional particle field reconstruction and velocity vector calculation can be effectively improved, so that the overall calculation efficiency of determining the three-dimensional velocity vector distribution information based on the first image set and the second image set can be improved; on the other hand, since the size information of the particle image will affect the calculation amount required for three-dimensional particle field reconstruction, based on the first size information of each first image and each second image, the number of first target nodes and the number of second target nodes can be determined, and thus the calculation efficiency and the utilization rate of processing nodes in the cloud platform can be better balanced.
[0099] In some embodiments, the determining, based on the first size information, at least one second target node and at least one third target node from the pool of processing nodes in the step S302 can include the following steps S311-S312:
[0100] In the step S311, a second number of nodes to be scheduled is determined based on the first size information and layering configuration information.
[0101] In the step S312, the second number of second target nodes and the second number of third target nodes are determined from the pool of processing nodes.
[0102] Here, in the process of scheduling the at least one second target node in parallel to perform three-dimensional particle field reconstruction on each first image in the first image set, each second target node can be scheduled in parallel to perform layering reconstruction on a first three-dimensional particle field to be reconstructed. In the process of scheduling the at least one third target node in parallel to perform three-dimensional particle field reconstruction on each second image in the second image set, each third target node can be scheduled in parallel to perform layering reconstruction on a second three-dimensional particle field to be reconstructed. The layering configuration information can be configuration information for layering processing of the first three-dimensional particle field and the second three-dimensional particle field, and can include but is not limited to at least one of size information of each voxel, size information of each voxel layer, etc. It can be understood that each voxel layer can include one or more than two voxels, and the size information of the voxel layer can include the number of layers of voxels included in each voxel layer. In some embodiments, the layering configuration information can further include calibration information obtained by calibrating the mapping relationship between the images acquired by at least one view and the three-dimensional particle field, and based on the calibration information, the size information of each voxel in the first three-dimensional particle field or the second three-dimensional particle field to be reconstructed can be determined.
[0103] In some embodiments, the size of the three-dimensional particle field region corresponding to each first image in the first image set or each second image in the second image set can be determined based on the first size information, i.e., the size of the region in the three-dimensional space where the first three-dimensional particle field or the second three-dimensional particle field is located; and the number of voxel layers obtained by layering the first three-dimensional particle field and the second three-dimensional particle field can be determined based on the size of the region in the three-dimensional space where the first three-dimensional particle field or the second three-dimensional particle field is located and the layering configuration information. In actual implementation, when the size of the three-dimensional particle field region corresponding to each first image in the first image set or each second image in the second image set is included in the first size information, the size of the three-dimensional particle field region corresponding to each first image in the first image set or each second image in the second image set can be directly obtained from the first size information. When the image size of the first image and / or the second image or the size of the target region in the first image and / or the second image to be analyzed for fluid velocity distribution is included in the first size information, the size of the three-dimensional particle field region corresponding to each first image in the first image set or each second image in the second image set can be determined according to the size of the target region selected by the user in the first image and / or the second image or the image size of the first image and / or the second image.
[0104] The number of voxel layers obtained by layering the first three-dimensional particle field and the number of voxel layers obtained by layering the second three-dimensional particle field can be determined based on the first size information and the layering configuration information, and then the second number of to-be-scheduled nodes can be determined based on the number of voxel layers. Those skilled in the art can determine the second number of to-be-scheduled nodes based on the number of voxel layers in a suitable manner according to actual conditions, and the embodiments of the present disclosure are not limited thereto. For example, the number of voxel layers obtained by layering the first three-dimensional particle field and the number of voxel layers obtained by layering the second three-dimensional particle field can be directly determined as the second number, i.e., one computing node is allocated to each voxel layer in the first three-dimensional particle field or the second three-dimensional particle field. For another example, the number of voxel layers obtained by layering the first three-dimensional particle field can be divided by P to obtain the second number, or the number of voxel layers obtained by layering the second three-dimensional particle field can be divided by P to obtain the second number, where P can be a positive integer greater than 1 and less than the number of voxel layers in the first three-dimensional particle field or the second three-dimensional particle field, i.e., one computing node is allocated to every P voxel layers in the first three-dimensional particle field or the second three-dimensional particle field.
[0105] It should be noted that, in the process of parallel scheduling each second target node to perform layered reconstruction on the first three-dimensional particle field to be reconstructed, the number of voxel layers processed by each second target node can be the same or different; in the process of parallel scheduling each third target node to perform layered reconstruction on the second three-dimensional particle field to be reconstructed, the number of voxel layers processed by each third target node can be the same or different, and the embodiments of the present disclosure are not limited thereto.
[0106] After determining the second quantity, the second quantity of second target nodes and the second quantity of third target nodes can be determined from the pool of processing nodes in any suitable manner, and the embodiments of the present disclosure are not limited thereto. In some embodiments, the second quantity of second target nodes and the second quantity of third target nodes can be randomly determined from the pool of processing nodes. In some embodiments, the second quantity of second target nodes and the second quantity of third target nodes with the least memory occupancy can be determined from the pool of processing nodes.
[0107] In the above embodiments, the second quantity of nodes to be scheduled is determined based on the first size information and the layered configuration information, and the second quantity of second target nodes and the second quantity of third target nodes are determined from the pool of processing nodes. In this way, a suitable number of target nodes can be allocated for the layered reconstruction process of the first three-dimensional particle field and the layered reconstruction process of the second three-dimensional particle field, respectively, so that the efficiency of the three-dimensional particle field reconstruction process and the utilization rate of the processing nodes in the cloud platform can be better balanced.
[0108] In some embodiments, the above step S303 can include the following steps S321 to S323:
[0109] Step S321, based on the layered configuration information, performing layered processing on the initial particle field corresponding to each first image in the first image set to obtain at least one first voxel layer.
[0110] Here, the initial particle field corresponding to each first image can be pre-set, or can be initialized in any suitable manner according to the size of the set three-dimensional particle field region, and the initialization manner can be, for example but not limited to, at least one of multi-view product method, consistency initialization, etc., and the embodiments of the present disclosure are not limited thereto.
[0111] In some embodiments, in the case where the size of the voxel in the three-dimensional particle field is included in the layered configuration information, the region occupied by the initial particle field can be layered according to the size of the voxel to obtain at least one first voxel layer.
[0112] In some embodiments, in the case that the size of the voxel layer in the three-dimensional particle field is included in the hierarchical configuration information, the region occupied by the initial particle field can be layered according to the size of the voxel layer, to obtain at least one first voxel layer.
[0113] In step S322, each of the second target nodes is scheduled to correct each of the first voxel layers in parallel using the first images, to obtain each of the corrected first voxel layers.
[0114] Here, a second number of second target nodes can be scheduled simultaneously to correct each of the first voxel layers in parallel using the first images, to obtain each of the corrected first voxel layers. For each of the first voxel layers, the values of the voxels in the first voxel layer can be updated using the first images, to obtain an updated first voxel layer. In implementation, the first voxel layers can be corrected in a suitable manner according to the three-dimensional particle reconstruction algorithm actually used, and the embodiments of the present disclosure are not limited in this regard.
[0115] In some embodiments, the number of first voxel layers can be the same as the number of second target nodes, so that each of the second target nodes can correct one first voxel layer respectively, so that the parallelism of the correction of the first voxel layers can be improved, and the efficiency of the reconstruction of the first three-dimensional particle field can be further improved.
[0116] In some embodiments, the number of first voxel layers can be greater than the number of second target nodes, so that each of the second target nodes can correct at least one first voxel layer respectively, so that the efficiency of the reconstruction of the first three-dimensional particle field and the utilization rate of the processing nodes in the cloud platform can be better balanced.
[0117] In step S323, each of the corrected first voxel layers is merged to obtain the first three-dimensional particle field.
[0118] Here, any suitable manner can be used to merge each of the corrected first voxel layers according to actual conditions, to obtain the first three-dimensional particle field, and the embodiments of the present disclosure are not limited in this regard.
[0119] In some implementations, an iterative approach can be adopted, scheduling each second target node and using each first image to correct each first voxel layer at least once in parallel, resulting in corrected first voxel layers. In each iteration, each second target node is first scheduled, and each first voxel layer is corrected in parallel using each first image, resulting in corrected first voxel layers. Then, the corrected first voxel layers are merged to obtain a candidate first 3D particle field, which is then projected onto the plane containing at least one first image corresponding to at least one viewpoint, resulting in at least one first projected image. The error of the candidate first 3D particle field is obtained by calculating the error between each first projected image and the corresponding first image. In the next iteration, each second target node is again scheduled, and the errors of each first image and the current candidate first 3D particle field are used in parallel to correct each first voxel layer again, resulting in corrected first voxel layers. In this way, through at least one iteration, the error of the candidate first 3D particle field can be continuously reduced, and the final candidate first 3D particle field is used as the final first 3D particle field. In implementation, the number of iterations for correcting each first voxel layer can be preset. When the number of iterations is reached, the candidate first three-dimensional particle field obtained is taken as the final first three-dimensional particle field. Alternatively, an error threshold for stopping the iteration can be preset. When the error of the current candidate first three-dimensional particle field is less than the error threshold, the candidate first three-dimensional particle field obtained is taken as the final first three-dimensional particle field.
[0120] Step S304 above may include the following steps S324 to S326:
[0121] Step S324: Based on the layered configuration information, perform layered processing on the initial particle field corresponding to each second image in the second image set to obtain at least one second voxel layer.
[0122] Here, the initial particle field corresponding to each second image can be preset, or it can be initialized in any suitable way according to the size of the set three-dimensional particle field region. The initialization method can be, for example, but not limited to, at least one of the following: multi-view product method, consistent initialization, etc., and this embodiment of the present disclosure is not limited in this regard. The initial particle field corresponding to each second image can be the same as or different from the initial particle field corresponding to each first image.
[0123] In some implementations, if the layer configuration information includes the size of voxels in a three-dimensional particle field, the initial particle field area can be layered according to the size of the voxels to obtain at least one second voxel layer.
[0124] In some embodiments, in the case that the size of the voxel layer in the three-dimensional particle field is included in the hierarchical configuration information, the region occupied by the initial particle field can be layered according to the size of the voxel layer to obtain at least one second voxel layer.
[0125] In step S325, each of the third target nodes is scheduled to correct each of the second voxel layers in parallel using the second images to obtain a corrected second voxel layer.
[0126] Here, a second number of third target nodes can be scheduled simultaneously to correct each of the second voxel layers in parallel using the second images to obtain a corrected second voxel layer. For each of the second voxel layers, the values of the voxels in the second voxel layer can be updated using the second images to obtain an updated second voxel layer. In implementation, the second voxel layers can be corrected in a suitable manner according to the three-dimensional particle reconstruction algorithm actually used, and the embodiments of the present disclosure are not limited thereto.
[0127] In some embodiments, the number of second voxel layers can be the same as the number of third target nodes, so that each of the third target nodes can correct one second voxel layer respectively, thereby improving the parallelism of the correction of the second voxel layers, and further improving the efficiency of reconstructing the second three-dimensional particle field.
[0128] In some embodiments, the number of second voxel layers can be greater than the number of third target nodes, so that each of the third target nodes can correct at least one second voxel layer respectively, thereby better balancing the efficiency of reconstructing the second three-dimensional particle field and the utilization rate of the processing nodes in the cloud platform.
[0129] In step S326, the corrected second voxel layers are merged to obtain a second three-dimensional particle field.
[0130] Here, the corrected second voxel layers can be merged in any suitable manner according to actual conditions to obtain a second three-dimensional particle field, and the embodiments of the present disclosure are not limited thereto.
[0131] In some embodiments, each third target node can be scheduled in an iterative manner, and each second voxel layer can be corrected at least once in parallel using each second image to obtain a corrected each second voxel layer. In each iteration, each third target node can be scheduled first, and each second voxel layer can be corrected in parallel using each second image to obtain a corrected each second voxel layer. Then, the corrected each second voxel layer can be merged to obtain a candidate second three-dimensional particle field, and the second three-dimensional particle field can be projected onto a plane corresponding to at least one second image to obtain at least one second projection image. The error of the candidate second three-dimensional particle field can be obtained by calculating the error between each second projection image and the corresponding second image. In the next iteration, each third target node can be scheduled again, and each second voxel layer can be corrected again in parallel using each second image and the error of the current candidate second three-dimensional particle field to obtain a corrected each second voxel layer. In this way, through at least one iteration, the error of the candidate second three-dimensional particle field can be continuously reduced, and the final candidate second three-dimensional particle field can be taken as the final second three-dimensional particle field. In implementation, the number of iterations for correcting each second voxel layer can be preset, and the final candidate second three-dimensional particle field can be taken as the final second three-dimensional particle field when the number of iterations is reached. Alternatively, an error threshold for stopping iteration can be preset, and the final candidate second three-dimensional particle field can be taken as the final second three-dimensional particle field when the error of the current candidate second three-dimensional particle field is less than the error threshold.
[0132] In some embodiments, the first three-dimensional particle field and the second three-dimensional particle field have second size information, and the step S305 can include the following steps S331 to S333:
[0133] In the step S331, a third number of nodes to be scheduled is determined based on the second size information and second block configuration information.
[0134] Here, at least one target node can be scheduled in parallel to perform velocity vector calculation on the first three-dimensional particle field and the second three-dimensional particle field. The second block configuration information can be preset configuration information for block processing of the first three-dimensional particle field and the second three-dimensional particle field, and can include at least one of size information of a block window, overlap degree of the block window, size information of an iteration window for velocity vector calculation, etc. It should be noted that in the process of block processing of the first three-dimensional particle field and the second three-dimensional particle field, the voxel is the smallest unit of the block.
[0135] In implementation, the number of the voxel blocks obtained after the first three-dimensional particle field is processed in blocks and the number of the voxel blocks obtained after the second three-dimensional particle field is processed in blocks can be determined based on the second size information and the second block configuration information, and then the third number of the nodes to be scheduled can be determined based on the number of the voxel blocks. Those skilled in the art can determine the third number of the nodes to be scheduled based on the number of the voxel blocks in a suitable manner according to actual conditions, which is not limited in the embodiments of the present disclosure. For example, the number of the voxel blocks obtained after the first three-dimensional particle field is processed in blocks or the number of the voxel blocks obtained after the second three-dimensional particle field is processed in blocks can be directly determined as the second number, that is, one computing node is allocated to each voxel block in the first three-dimensional particle field or the second three-dimensional particle field, which can improve the parallelism of the velocity vector calculation of the first three-dimensional particle field and the second three-dimensional particle field processed in blocks, and further improve the efficiency of the velocity vector calculation process. For another example, the number of the voxel blocks obtained after the first three-dimensional particle field is processed in blocks can be divided by Q to obtain a first number, or the number of the voxel blocks obtained after the second three-dimensional particle field is processed in blocks can be divided by Q to obtain a first number, where Q can be a positive integer greater than 1 and less than the number of the voxel blocks in the first three-dimensional particle field or the second three-dimensional particle field, that is, one computing node is allocated to every Q voxel blocks in the first three-dimensional particle field or the second three-dimensional particle field.
[0136] It should be noted that the number of the voxel blocks processed by each target node can be the same or different in the process of parallel scheduling each target node to perform velocity vector calculation on the first three-dimensional particle field and the second three-dimensional particle field processed in blocks, which is not limited in the embodiments of the present disclosure.
[0137] It can be understood that each voxel block in the first three-dimensional particle field and the second three-dimensional particle field can include at least one voxel, and the voxel block can be referred to as a query body in the velocity vector calculation process.
[0138] In some embodiments, in the case that the manner of performing velocity vector calculation on the first three-dimensional particle field and the second three-dimensional particle field is a cross-correlation algorithm, each voxel block can include a plurality of voxels, for example, each voxel block can be a cubic block including A*A*A voxels, where A can be 16, 32 or 64, etc.
[0139] In some embodiments, in the case that the manner of performing velocity vector calculation on the first three-dimensional particle field and the second three-dimensional particle field is an optical flow method and / or an artificial intelligence-based neural network model prediction manner, each voxel block can include at least one voxel, for example, each voxel block can include 1 voxel, or each voxel block can include 4 voxels.
[0140] Step S332, determining the third quantity of fourth target nodes from the processing node pool.
[0141] Here, any suitable manner can be adopted to determine the third quantity of fourth target nodes from the processing node pool, and the embodiments of the present disclosure are not limited thereto. In some embodiments, the third quantity of fourth target nodes can be randomly determined from the processing node pool. In some embodiments, the third quantity of fourth target nodes with the least memory occupancy can be determined from the processing node pool.
[0142] Step S333, scheduling each of the fourth target nodes in parallel to perform velocity vector calculation on the first three-dimensional particle field and the second three-dimensional particle field to obtain the velocity vector distribution information of each tracer particle in the first scene corresponding to the first time.
[0143] Here, any suitable manner can be adopted to perform velocity vector calculation on the first three-dimensional particle field and the second three-dimensional particle field, such as but not limited to cross-correlation algorithm, optical flow method, and / or artificial intelligence-based neural network model prediction, etc. In some embodiments, the cross-correlation algorithm and the artificial intelligence-based neural network model prediction can be combined to perform velocity vector calculation on the first three-dimensional particle field and the second three-dimensional particle field, for example, the cross-correlation algorithm can be used in advance to guide the velocity vector result, and then the artificial intelligence-based neural network model prediction is used to perform velocity vector calculation.
[0144] The velocity vector distribution information of each tracer particle in the first scene corresponding to the first time can include the three-dimensional velocity vector of each tracer particle corresponding to the first time. In implementation, the first three-dimensional particle field and the second three-dimensional particle field can be matched first, and then the first spatial position information of each tracer particle in the first three-dimensional particle field and the second spatial position information of each tracer particle in the second three-dimensional particle field can be determined according to the matching result, that is, the first spatial position information of each tracer particle at the first time and the second spatial position information of each tracer particle at the time interval of a set time length after the first time, and the three-dimensional velocity vector of each tracer particle corresponding to the first time can be determined according to the first spatial position information and the second spatial position information of each tracer particle corresponding to the first time and the set time length.
[0145] It can be understood that since the second dimension information of the first three-dimensional particle field and / or the second three-dimensional particle field will affect the calculation amount required for velocity vector calculation, a proper quantity of nodes to be scheduled can be determined based on the second dimension information and the second block configuration information, and thus the calculation efficiency and the utilization rate of the processing nodes in the cloud platform can be better balanced.
[0146] In some embodiments, the above step S333 can include the following steps S341 to S343:
[0147] In step S341, the first three-dimensional particle field and the second three-dimensional particle field are respectively subjected to block processing based on the second block configuration information, to obtain at least one voxel block pair; each voxel block pair includes a first voxel block and a second voxel block corresponding to a same spatial region in the first scene in the first three-dimensional particle field and the second three-dimensional particle field, respectively.
[0148] Here, the first voxel block and the second voxel block in each voxel block pair can correspond to the same spatial region in the first scene.
[0149] In step S342, each fourth target node is scheduled, and the first voxel block and the second voxel block in each voxel block pair are subjected to velocity vector calculation in parallel, to obtain the velocity vector distribution information of each tracer particle in the spatial region corresponding to each voxel block pair at the first time.
[0150] Here, a third number of fourth target nodes can be scheduled simultaneously to process each voxel block pair in parallel, to obtain the velocity vector distribution information of each tracer particle in the spatial region corresponding to each voxel block pair at the first time. For each voxel block pair, the first voxel block and the second voxel block in the voxel block pair can be subjected to velocity vector calculation, to obtain the velocity vector distribution information of each tracer particle in the spatial region corresponding to the voxel block pair (i.e., the spatial region in the first scene corresponding to the first voxel block and the second voxel block in the voxel block pair) at the first time.
[0151] In step S343, the velocity vector distribution information of each tracer particle in each spatial region at the first time is merged to obtain the velocity vector distribution information of each tracer particle in the first scene at the first time.
[0152] Here, the velocity vector distribution information of each tracer particle in each spatial region at the first time can be merged in any suitable manner according to actual conditions to obtain the velocity vector distribution information of each tracer particle in the first scene at the first time, which is not limited in the embodiments of the present disclosure.
[0153] In some embodiments, in the case of no overlap between the spatial regions, the union of the velocity vector distribution information of each tracer particle in each spatial region at the first time can be determined as the velocity vector distribution information of each tracer particle in the first scene at the first time; or the union of the velocity vector distribution information of each tracer particle in each spatial region at the first time can be subjected to error velocity vector elimination to obtain the velocity vector distribution information of each tracer particle in the first scene at the first time.
[0154] In some embodiments, in the case that there is an overlap between the spatial regions, the velocity vector distribution information corresponding to each tracer particle in each spatial region at the first time can be de-duplicated and combined to obtain the velocity vector distribution information corresponding to each tracer particle in the first scene at the first time.
[0155] In some embodiments, the method described above can further include the following steps S351 to S352:
[0156] Step S351, store the first three-dimensional particle field and the second three-dimensional particle field into a storage space set in the cloud platform.
[0157] Step S352, in response to receiving a request for querying the first three-dimensional particle field and / or the second three-dimensional particle field, read and return the first three-dimensional particle field and / or the second three-dimensional particle field from the storage space.
[0158] Here, the request for querying the first three-dimensional particle field and / or the second three-dimensional particle field can be sent by a client or other service, and after the cloud platform reads the first three-dimensional particle field and / or the second three-dimensional particle field from the storage space, the cloud platform can return the read first three-dimensional particle field and / or the second three-dimensional particle field to the client or other service.
[0159] In implementation, the first three-dimensional particle field can be read and returned from the storage space in response to receiving a request for querying the first three-dimensional particle field; the second three-dimensional particle field can be read and returned from the storage space in response to receiving a request for querying the second three-dimensional particle field; and the first three-dimensional particle field and the second three-dimensional particle field can be read and returned from the storage space in response to receiving a request for querying the first three-dimensional particle field and the second three-dimensional particle field.
[0160] In the above embodiments, the first three-dimensional particle field and the second three-dimensional particle field are stored into a storage space set in the cloud platform; and in response to receiving a request for querying the first three-dimensional particle field and / or the second three-dimensional particle field, the first three-dimensional particle field and / or the second three-dimensional particle field are read and returned from the storage space. In this way, the client or other service can request the cloud platform to obtain the first three-dimensional particle field and / or the second three-dimensional particle field according to needs, so that the first three-dimensional particle field and / or the second three-dimensional particle field do not need to be stored persistently in the client or other service, and thus the storage cost of the client or other service can be reduced.
[0161] The embodiments of the present disclosure provide an image processing method, which can be executed by a cloud platform. Figure 4 An implementation flow diagram of an image processing method provided by the embodiments of the present disclosure is shown in FIG. 1. Figure 4 As shown in FIG. 1, the method includes the following steps S401 to S406:
[0162] Step S401, obtaining a first image set and a second image set to be processed; wherein the first image set comprises at least one first image obtained by capturing a first scene having tracer particles from at least one view at a first time, and the second image set comprises at least one second image obtained by capturing the first scene from the at least one view after a set time interval from the first time; each of the first image and the second image has first size information.
[0163] Step S402, determining at least one target node from a processing node pool of the cloud platform based on the first size information.
[0164] Step S403, parallel scheduling the at least one target node to determine velocity vector distribution information of each tracer particle in the first scene at the first time based on the first image set and the second image set.
[0165] Here, the above steps S401 to S403 correspond to steps S101 to S103 in the foregoing embodiments, and in implementation, the implementation manners of the foregoing steps S101 to S103 can be referred to.
[0166] Step S404, obtaining a third three-dimensional particle field and a fourth three-dimensional particle field to be processed; wherein the third three-dimensional particle field and the fourth three-dimensional particle field respectively represent distribution states of tracer particles in a second scene at a second time and at a third time after a set time interval from the second time; the third three-dimensional particle field and the fourth three-dimensional particle field have third size information.
[0167] Step S405, determining at least one fifth target node from the processing node pool based on the third size information and second block configuration information.
[0168] Step S406, parallel scheduling the at least one fifth target node to perform velocity vector calculation on the third three-dimensional particle field and the fourth three-dimensional particle field, to obtain velocity vector distribution information of each tracer particle in the second scene at the second time.
[0169] Here, the third three-dimensional particle field and the fourth three-dimensional particle field can be sent to the cloud platform by other services, or can be obtained from a storage or the Internet and uploaded to the cloud platform by a user, and the embodiments of the present disclosure are not limited thereto.
[0170] It should be noted that the above step S405 can correspond to steps S331 to S332 in the foregoing embodiments, and the above step S406 can correspond to step S333 in the foregoing embodiments, and in implementation, the implementation manners of steps S331 to S303 can be referred to.
[0171] In this embodiment, a third and fourth three-dimensional particle field to be processed are obtained. The third and fourth three-dimensional particle fields respectively represent the distribution state of tracer particles in the second scene at a second time point and at a third time point after a predetermined interval. The third and fourth three-dimensional particle fields have third size information. Based on the third size information and second block configuration information, at least one fifth target node is determined from the processing node pool. At least one fifth target node is scheduled in parallel to perform velocity vector calculations on the third and fourth three-dimensional particle fields, obtaining the velocity vector distribution information of each tracer particle in the second scene at the second time point. This allows for rapid velocity vector calculations based on the third and fourth three-dimensional particle fields in a cloud platform, obtaining the corresponding velocity vector distribution information, thus better meeting user needs.
[0172] This disclosure provides an image processing method that can be executed by a cloud platform. Figure 5 This is a schematic diagram illustrating the implementation flow of an image processing method provided in an embodiment of the present disclosure, such as... Figure 5 As shown, the method includes the following steps S501 to S506:
[0173] Step S501: Obtain a first image set and a second image set to be processed; wherein, the first image set includes at least one first image acquired from at least one viewpoint at a first moment, and the second image set includes at least one second image acquired from the at least one viewpoint at a set time interval after the first moment, and each first image and each second image has first size information.
[0174] Step S502: Based on the first size information, determine at least one target node from the processing node pool of the cloud platform.
[0175] Step S503: Parallel scheduling of at least one target node to determine the velocity vector distribution information of each tracer particle in the first scene at the first moment based on the first image set and the second image set.
[0176] Here, steps S501 to S503 correspond to steps S101 to S103 in the foregoing embodiments, and can be implemented with reference to the implementation of steps S101 to S103.
[0177] In step S504, a third image set to be processed is acquired, wherein the third image set includes at least three third images of a third scene in which tracer particles are distributed, which are respectively captured from at least three perspectives at a fourth time; and each third image has fourth size information.
[0178] In step S505, at least one sixth target node is determined from a processing node pool of the cloud platform based on the fourth size information.
[0179] In step S506, the at least one sixth target node is scheduled in parallel to perform three-dimensional particle field reconstruction based on each third image in the third image set, to obtain a fifth three-dimensional particle field.
[0180] Here, the third image set can be directly sent to the cloud platform after being captured by an image capturing device, can be sent to the cloud platform by other services, or can be uploaded to the cloud platform by a user after being acquired from a storage or the Internet, and the embodiments of the present disclosure do not limit this.
[0181] The fourth size information can include, but is not limited to, at least one of an image size of the third image, a size of a target region in the third image to be subjected to three-dimensional particle field reconstruction, a size of a three-dimensional particle field region corresponding to each third image in the third image set, and the like; wherein the size of the target region in the third image to be subjected to three-dimensional particle field reconstruction can be pre-set or selected by a user in the third image; and the size of the three-dimensional particle field region corresponding to each third image in the third image set can be pre-set or determined according to the size of the target region selected by the user in the third image or the image size of the third image, which is not limited here.
[0182] It should be noted that the above steps S505 to S506 correspond to steps S302 to S303 in the foregoing embodiments respectively, and in implementation, the implementation manners of steps S302 to S303 can be referred to.
[0183] In the embodiments of the present disclosure, a third image set to be processed is acquired, wherein the third image set includes at least three third images of a third scene in which tracer particles are distributed, which are respectively captured from at least three perspectives at a fourth time, and each third image has fourth size information; at least one sixth target node is determined from a processing node pool of the cloud platform based on the fourth size information; and the at least one sixth target node is scheduled in parallel to perform three-dimensional particle field reconstruction based on each third image in the third image set, to obtain a fifth three-dimensional particle field. In this way, the three-dimensional particle field can be quickly reconstructed based on a specific image set in the cloud platform, so that the needs of users can be better met.
[0184] The embodiments of the present disclosure provide an image processing method, which can be executed by a cloud platform.Figure 6 An implementation flowchart of an image processing method provided by an embodiment of the present disclosure is shown in FIG. 6. As shown in FIG. 6, the method comprises the following steps S601 to S604: Figure 6
[0185] In step S601, an image stream to be processed is acquired, and each image in the image stream is parsed to obtain at least one image group. Each image group comprises a first image set and a second image set collected at an interval of a set time length. The first image set comprises at least one first image of a first scene in which tracer particles are distributed collected from at least one view at a first time. The second image set comprises at least one second image of the first scene collected from the at least one view at an interval of the set time length after the first time. Each first image and each second image has first size information.
[0186] Here, the image stream can be directly sent to the cloud platform by an image collection device, sent to the cloud platform by other services, or uploaded to the cloud platform by a user from a storage or the Internet, and the present disclosure is not limited thereto.
[0187] It can be understood that the first time corresponding to each image group can be different.
[0188] In implementation, any suitable parsing manner can be used to parse each image in the image stream to obtain at least one image group, which is not limited herein. In some embodiments, the group identifier and / or collection time of each image can be carried in the image stream, and at least one image group can be obtained by identifying the group identifier and collection time of each image. In some embodiments, the group identifier and / or collection time of each image can be included in the name of the image, and at least one image group can be obtained by identifying the group identifier and collection time in the name of each image.
[0189] In step S602, for each image group, at least one target node corresponding to the image group is determined from the processing node pool based on the first size information.
[0190] Here, the target nodes corresponding to two image groups can be completely different or have an intersection, which is not limited herein.
[0191] In implementation, the at least one target node corresponding to each image group can be determined in any suitable manner according to the number and / or configuration information of the computing nodes in the processing node pool of the cloud platform, so as to fully utilize the computing nodes in the processing node pool and improve the efficiency of parallel determination of the velocity vector distribution information based on the first image set and the second image set in each image group. The embodiments of the present disclosure are not limited in this regard.
[0192] In step S603, the at least one target node corresponding to each image group is scheduled in parallel, and the velocity vector distribution information of each tracer particle in the first scene corresponding to the acquisition time of the first image set is determined based on the first image set and the second image set in the image group.
[0193] Here, the at least one target node corresponding to each image group can be scheduled in parallel, and the velocity vector distribution information of each tracer particle in the first scene corresponding to the acquisition time of the first image set is determined based on the first image set and the second image set in the image group.
[0194] In step S604, the velocity vector distribution information corresponding to each image group is merged to obtain the velocity field corresponding to the image stream.
[0195] It should be noted that the above steps S601 to S603 correspond to steps S101 to S103 in the foregoing embodiments, and in implementation, the implementation manners of steps S101 to S103 can be referred to.
[0196] In the embodiments of the present disclosure, each image in the image stream to be processed is parsed to obtain at least one image group; for each image group, at least one target node corresponding to the image group is determined from the processing node pool based on the first size information of the first image and the second image in the image group; the at least one target node corresponding to each image group is scheduled in parallel, and the velocity vector distribution information of each tracer particle in the first scene corresponding to the acquisition time of the first image set is determined based on the first image set and the second image set in the image group; and the velocity vector distribution information corresponding to each image group is merged to obtain the velocity field corresponding to the image stream. In this way, the first image set and the second image set in multiple image groups in the image stream can be batched and calculated in parallel to obtain the velocity vector distribution information corresponding to each image group, and then the velocity field corresponding to the image stream. In this way, the calculation efficiency of the image particle velocity measurement can be improved, the calculation time cost can be reduced, the waiting time can be reduced, and the user's demand can be better met.
[0197] The application of the image processing method provided by the embodiments of the present disclosure in actual scenarios is described below. The method can be applied to any suitable PIV related computing scenario, including but not limited to a Tomographic Particle Image Velocimetry (TOMO PIV) scenario, a three-dimensional cross-correlation calculation scenario, a three-dimensional particle field reconstruction scenario, a two-dimensional PIV scenario, a planar three-dimensional PIV scenario, and / or other PIV measurement experiment scenarios, and the like. The image processing application in the TOMO PIV scenario is taken as an example for description.
[0198] In the PIV technology, some tracking and reflective tracer particles are scattered in the flow field. A laser sheet is used to irradiate the cross-sectional region of the flow field to be measured (corresponding to the first scenario in the foregoing embodiments), and two or more times of exposure particle images are continuously captured by an image acquisition device. Then, the image cross-correlation algorithm is used to analyze the captured particle images to obtain the average displacement of the particles in each small region, thereby determining the two-dimensional fluid velocity distribution of the entire region on the flow field cross section. The TOMO PIV technology illuminates the tracer particles scattered in the flow field by using a spatial light source, and simultaneously captures the tracer particles from different angles by using multiple cameras. The three-dimensional particle field and the three-dimensional velocity vector are obtained through three-dimensional particle field reconstruction and velocity vector calculation (such as a three-dimensional cross-correlation algorithm).
[0199] The inventors have found in the implementation of the present application that in the related art TOMO PIV scheme, the three-dimensional particle field reconstruction and the three-dimensional cross-correlation algorithm are both based on local computers for related calculations. Due to the large amount of calculation, the performance and configuration requirements of the local computers are very high, resulting in high hardware costs, and the computer configuration cannot be flexibly expanded, so that the method of improving the computer configuration to improve the calculation speed is also not flexible. Therefore, the calculation time required by the related art TOMO PIV is still very long. In addition, a group of TOMO PIV experiments will collect a large number of images, and batch images need to be calculated to obtain the three-dimensional velocity transient result and the average result. A large number of images further result in the need to consume a large amount of time for calculation and data processing. Although the related art can improve the calculation speed of a single group of images by algorithm optimization or using a high-configuration computer, the calculation speed is still slow, and it is more difficult to effectively shorten the calculation time required for batch image processing. At the same time, the entire engineering file for TOMO PIV calculation will occupy a large amount of computer storage space. It can be seen that the local computer resources that cannot be flexibly expanded and the slow calculation speed in the related art restrict the efficiency of the TOMO PIV data processing.
[0200] The image processing method provided by the embodiments of the present disclosure can flexibly configure the computing resources (for example, configure the processing node pool) on the cloud platform according to the computing demand, improve the computing speed of the three-dimensional particle field reconstruction and / or the three-dimensional cross-correlation algorithm in a parallel computing manner by scheduling the computing nodes in the cloud platform in parallel, and the like. Meanwhile, for the image stream containing a large number of images, the first image set and the second image set in each image group in the image stream can be batched and calculated in parallel, the velocity vector distribution information corresponding to each image group is obtained, and then the velocity field corresponding to the image stream is obtained. In this way, the efficiency of the image particle velocimetry can be improved, the computing time cost can be reduced, the waiting time can be reduced, and the demand of the user can be better met.
[0201] The image processing method provided by the embodiments of the present disclosure can flexibly configure the computing resources (for example, configure the processing node pool) on the cloud platform according to the computing demand, improve the computing speed of the three-dimensional particle field reconstruction and / or the three-dimensional cross-correlation algorithm in a parallel computing manner by scheduling the computing nodes in the cloud platform in parallel, and the like. Meanwhile, for the image stream containing a large number of images, the first image set and the second image set in each image group in the image stream can be batched and calculated in parallel, the velocity vector distribution information corresponding to each image group is obtained, and then the velocity field corresponding to the image stream is obtained. In this way, the efficiency of the image particle velocimetry can be improved, the computing time cost can be reduced, the waiting time can be reduced, and the demand of the user can be better met.
[0202] In view of the problem that the computer storage space is occupied by the TOMO PIV computing engineering file, the image processing method provided by the embodiments of the present disclosure only returns the final three-dimensional velocity vector distribution information to the client after the calculation is completed. For the intermediate results of the calculation, such as the preprocessed images and the reconstructed three-dimensional particle field, the cloud platform can provide a download service. The user can download the intermediate results according to the own demand, so that the storage cost of the local computer can be reduced in the case that the intermediate results are not needed.
[0203] Figure 7A The implementation flowchart of the image processing method provided by the embodiments of the present disclosure is shown as in Figure 7A The method comprises the following steps S701 to S704:
[0204] In step S701, an image stream to be processed is acquired, and each image in the image stream is parsed to obtain at least one image group. Each image group comprises a first image set and a second image set collected at an interval of a set time length. The first image set comprises at least one first image collected from at least one view angle on a first scene in which tracer particles are distributed at a first time. The second image set comprises at least one second image collected from at least one view angle on the first scene at an interval of a set time length after the first time. Each first image and each second image has first size information.
[0205] Here, the cloud platform can receive image streams sent by clients through a load balancer. The load balancer can include, but is not limited to, Nginx services.
[0206] Step S702: For each image group, based on the first size information, determine at least one second target node and at least one third target node corresponding to the image group from the processing node pool of the cloud platform.
[0207] Step S703: Parallel scheduling of at least one second target node and at least one third target node corresponding to each image group; based on the first image set and the second image set in the image group, determining the velocity vector distribution information of each tracer particle in the first scene at the acquisition time of the first image set.
[0208] Here, for each image group, the following operations can be performed in parallel: at least one second target node corresponding to the image group is scheduled in parallel to perform three-dimensional particle field reconstruction based on each first image in the first image set of the image group to obtain a first three-dimensional particle field; at least one third target node is scheduled in parallel to perform three-dimensional particle field reconstruction based on each second image in the second image set of the image group to obtain a second three-dimensional particle field; at least one fourth target node is determined and scheduled from the processing node pool of the cloud platform to perform velocity vector calculation on the first three-dimensional particle field and the second three-dimensional particle field to obtain the velocity vector distribution information of each tracer particle in the first scene at the first moment.
[0209] Step S704: Merge the velocity vector distribution information corresponding to each image group to obtain the velocity field corresponding to the image stream.
[0210] It should be noted that, as Figure 7B As shown, the cloud platform 710 may include multiple image processing services 711 for implementing the image processing methods provided in the embodiments of this disclosure. The load balancer 720 can forward the image stream sent by the client 730 to one of the multiple image processing services 711. The image processing service processes the received image stream using the image processing method provided in the embodiments of this disclosure to obtain the velocity field corresponding to the image stream, and returns the velocity field to the client 730. In implementation, the image processing service can be implemented as a Remote Procedure Call (RPC) service or as a Web service; the embodiments of this disclosure are not limited in this regard.
[0211] In some implementations, the image processing service may include a task allocation sub-service, at least one 3D reconstruction sub-service, and at least one cross-correlation calculation service; wherein,
[0212] The task distribution sub-service can be configured to: analyze each image in the image stream to obtain at least one image group, and distribute a first image set and a second image set in each image group to a three-dimensional reconstruction sub-service respectively to obtain and store a first three-dimensional particle field and a second three-dimensional particle field corresponding to the first image set and the second image set in each image group respectively; and distribute a group of the first three-dimensional particle field and the second three-dimensional particle field corresponding to each image group to a cross-correlation calculation service respectively to obtain velocity vector distribution information corresponding to each group of the first three-dimensional particle field and the second three-dimensional particle field respectively; and combine the velocity vector distribution information corresponding to each group of the first three-dimensional particle field and the second three-dimensional particle field respectively to obtain a velocity field corresponding to the image stream.
[0213] The three-dimensional reconstruction sub-service can be configured to: based on a set voxel size, perform layered processing on an initial particle field corresponding to each first image in the received first image set to obtain at least one first voxel layer, schedule at least one second target node to perform correction on each first voxel layer in parallel using each first image to obtain each corrected first voxel layer, and combine each corrected first voxel layer to obtain a first three-dimensional particle field; or, based on a set voxel size, perform layered processing on an initial particle field corresponding to each second image in the received second image set to obtain at least one second voxel layer, schedule at least one third target node to perform correction on each second voxel layer in parallel using each second image to obtain each corrected second voxel layer, and combine each corrected second voxel layer to obtain a second three-dimensional particle field.
[0214] The cross-correlation calculation service can be configured to: based on the second block configuration information, perform block processing on the first three-dimensional particle field and the second three-dimensional particle field respectively to obtain at least one voxel block pair; each voxel block pair includes a first voxel block and a second voxel block corresponding to a spatial region in the first scene in the first three-dimensional particle field and the second three-dimensional particle field respectively; schedule each fourth target node to perform velocity vector calculation on the first voxel block and the second voxel block in each voxel block pair in parallel to obtain velocity vector distribution information of each tracer particle in the spatial region corresponding to each voxel block pair; and combine the velocity vector distribution information of each tracer particle in each spatial region to obtain velocity vector distribution information of each tracer particle in the first scene.
[0215] In implementation, the client can be an executable program or a browser running on a local computer, or an application running on a mobile terminal. The user can upload an image stream to be processed to the cloud platform through the client, the cloud platform allocates at least one target node according to the image size and quantity, and completes the three-dimensional reconstruction service and the three-dimensional cross-correlation service (including but not limited to the service of calculating the velocity vector based on the cross-correlation algorithm, the optical flow method and / or the neural network model prediction mode, etc.) in parallel, obtains the velocity field corresponding to the image stream, and returns the velocity field to the client. In addition, the user can view and edit the velocity field locally. The user can also choose whether to download the intermediate results such as the first three-dimensional particle field and the second three-dimensional particle field.
[0216] For users with special needs, the user can only obtain the three-dimensional particle field through the cloud platform for three-dimensional reconstruction service, or can perform three-dimensional velocity vector calculation on the existing three-dimensional particle field to obtain the velocity vector distribution information.
[0217] For users with special network security requirements, customized cloud computing services can be provided, in which case the cloud computing is not limited to commercial cloud service providers, but can also be realized through independent servers and local virtual machines to meet the user's cloud computing needs.
[0218] Figure 8 A schematic diagram of the composition structure of an image processing device provided by the embodiment of the present disclosure is shown in Figure 8 The image processing device 800 includes a first acquisition module 810, a first determination module 820 and a second determination module 830, wherein:
[0219] The first acquisition module 810 is configured to acquire a first image set and a second image set to be processed; wherein the first image set includes at least one first image obtained by collecting a first scene with tracer particles from at least one view at a first time, and the second image set includes at least one second image obtained by collecting the first scene from the at least one view after a set time interval after the first time; each first image and each second image has first size information;
[0220] The first determination module 820 is configured to determine at least one target node from a processing node pool of the cloud platform based on the first size information;
[0221] The second determination module 830 is configured to schedule the at least one target node to determine the velocity vector distribution information of each tracer particle in the first scene at the first time based on the first image set and the second image set in parallel.
[0222] In some embodiments, the first determining module is further configured to: in a case that the number of images in the first image set and the second image set is both 1, determine at least one first target node from the processing node pool based on the first size information; and the second determining module is further configured to: schedule the at least one first target node in parallel to perform velocity vector calculation on a first image in the first image set and a second image in the second image set, to obtain the velocity vector distribution information of each tracer particle in the first scene at the first time.
[0223] In some embodiments, the first determining module is further configured to: determine a first number of nodes to be scheduled based on the first size information and first block configuration information; and determine the first number of first target nodes from the processing node pool.
[0224] In some embodiments, the second determining module is further configured to: perform block processing on the first image and the second image respectively based on the first block configuration information, to obtain at least one image block pair; each image block pair includes a first image block and a second image block corresponding to a spatial region in the first scene in the first image and the second image respectively; schedule each first target node and perform velocity vector calculation on the first image block and the second image block in each image block pair in parallel, to obtain the velocity vector distribution information of each tracer particle in the spatial region corresponding to each image block pair at the first time; and combine the velocity vector distribution information of each tracer particle in each spatial region at the first time, to obtain the velocity vector distribution information of each tracer particle in the first scene at the first time.
[0225] In some embodiments, the first determining module is further configured to: in a case that the number of images in the first image set and the second image set is both N, determine at least one second target node and at least one third target node from the processing node pool based on the first size information; wherein N is an integer greater than 2; the second determining module is further configured to: schedule the at least one second target node in parallel to perform three-dimensional particle field reconstruction based on each first image in the first image set, to obtain a first three-dimensional particle field; schedule the at least one third target node in parallel to perform three-dimensional particle field reconstruction based on each second image in the second image set, to obtain a second three-dimensional particle field; and determine and schedule at least one fourth target node from the processing node pool to perform velocity vector calculation on the first three-dimensional particle field and the second three-dimensional particle field, to obtain the velocity vector distribution information of each tracer particle in the first scene at the first time.
[0226] In some embodiments, the first determining module is further configured to: determine a second number of nodes to be scheduled based on the first size information and the hierarchical configuration information; and determine a second target node and a third target node from the pool of processing nodes, the second number being two.
[0227] In some embodiments, the second determining module is further configured to: perform hierarchical processing on initial particle fields corresponding to each first image in the first image set based on the hierarchical configuration information to obtain at least one first voxel layer; schedule each second target node and perform correction on each first voxel layer using each first image in parallel to obtain a corrected first voxel layer; and combine the corrected first voxel layers to obtain a first three-dimensional particle field; and perform hierarchical processing on initial particle fields corresponding to each second image in the second image set based on the hierarchical configuration information to obtain at least one second voxel layer; schedule each third target node and perform correction on each second voxel layer using each second image in parallel to obtain a corrected second voxel layer; and combine the corrected second voxel layers to obtain a second three-dimensional particle field.
[0228] In some embodiments, the first three-dimensional particle field and the second three-dimensional particle field have second size information; the second determining module is further configured to: determine a third number of nodes to be scheduled based on the second size information and second block configuration information; determine a fourth target node from the pool of processing nodes, the third number being one; and schedule each fourth target node in parallel to perform velocity vector calculation on the first three-dimensional particle field and the second three-dimensional particle field to obtain velocity vector distribution information of each tracer particle in the first scene at the first time.
[0229] In some embodiments, the second determining module is further configured to: perform block processing on the first three-dimensional particle field and the second three-dimensional particle field based on the second block configuration information to obtain at least one voxel block pair; each voxel block pair includes a first voxel block and a second voxel block corresponding to a spatial region in the first scene in the first three-dimensional particle field and the second three-dimensional particle field, respectively; schedule each fourth target node in parallel to perform velocity vector calculation on the first voxel block and the second voxel block in each voxel block pair to obtain velocity vector distribution information of each tracer particle in a spatial region corresponding to each voxel block pair at the first time; and combine the velocity vector distribution information of each tracer particle in each spatial region at the first time to obtain the velocity vector distribution information of each tracer particle in the first scene at the first time.
[0230] In some embodiments, the device further comprises: a first storage module configured to store the first three-dimensional particle field and the second three-dimensional particle field into a storage space set in the cloud platform; and a first reading module configured to read and return the first three-dimensional particle field and / or the second three-dimensional particle field from the storage space in response to receiving a request for querying the first three-dimensional particle field and / or the second three-dimensional particle field.
[0231] In some embodiments, the device further comprises: a second acquisition module configured to acquire a third three-dimensional particle field and a fourth three-dimensional particle field to be processed; wherein the third three-dimensional particle field and the fourth three-dimensional particle field respectively represent distribution states of the tracer particles in a second scene at a second time and at a third time which is a set time interval after the second time; the third three-dimensional particle field and the fourth three-dimensional particle field have third size information; a third determination module configured to determine at least one fifth target node from the pool of processing nodes based on the third size information and second block configuration information; and a speed calculation module configured to parallelly schedule the at least one fifth target node to perform speed vector calculation on the third three-dimensional particle field and the fourth three-dimensional particle field to obtain corresponding speed vector distribution information of each tracer particle in the second scene at the second time.
[0232] In some embodiments, the device further comprises: a third acquisition module configured to acquire a third image set to be processed; wherein the third image set comprises at least three third images of a third scene in which tracer particles are distributed, which are respectively captured from at least three perspectives at a fourth time; each third image has fourth size information; a fourth determination module configured to determine at least one sixth target node from a pool of processing nodes of the cloud platform based on the fourth size information; and a reconstruction module configured to parallelly schedule the at least one sixth target node to perform three-dimensional particle field reconstruction based on each third image in the third image set to obtain a fifth three-dimensional particle field.
[0233] In some embodiments, the device further comprises: a preprocessing module configured to, before the parallel scheduling of the at least one target node to determine corresponding speed vector distribution information of each tracer particle in the first scene at the first time based on the first image set and the second image set, pre-process each image in the first image set and the second image set to obtain pre-processed first image set and second image set, and store the pre-processed first image set and the second image set into a storage space set in the cloud platform; and a second reading module configured to read and return the pre-processed first image set and / or the second image set from the storage space in response to receiving a request for querying the pre-processed first image set and / or the second image set.
[0234] In some embodiments, the first obtaining module is further configured to: obtain an image stream to be processed, and perform parsing processing on each image in the image stream to obtain at least one image group; each image group includes a first image set and a second image set collected at a set interval; the first determining module is further configured to: for each image group, determine at least one target node corresponding to the image group from the pool of processing nodes based on the first size information; the first determining module is further configured to: schedule the at least one target node corresponding to each image group in parallel, determine, based on the first image set and the second image set in the image group, velocity vector distribution information of each tracking particle in the first scene at a collection time of the first image set, and perform merging processing on the velocity vector distribution information corresponding to each image group to obtain a velocity field corresponding to the image stream.
[0235] The above description of the device embodiments is similar to the description of the method embodiments, and has similar beneficial effects to the method embodiments. For technical details not disclosed in the device embodiments of the present disclosure, please refer to the description of the method embodiments of the present disclosure.
[0236] It should be noted that, in the embodiments of the present disclosure, if the image processing method described above is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of the present disclosure can be embodied in the form of a software product, which is stored in a storage medium and includes a number of instructions for causing a computer device (for example, a personal computer, a server, or a network device deployed to provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content distribution services, and big data and artificial intelligence platforms, etc. basic cloud computing services) to execute all or part of the methods described in the embodiments of the present disclosure. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ReadOnly Memory, ROM), a magnetic disk or an optical disk, and various storage medium that can store program codes. Thus, the embodiments of the present disclosure are not limited to any specific hardware and software combination.
[0237] The embodiments of the present disclosure provide a computer device, including a memory and a processor, the memory stores a computer program capable of running on the processor, and the processor implements the steps in the above method when executing the program.
[0238] The embodiment of the present disclosure provides a computer readable storage medium, which stores a computer program. The computer program is executed by a processor to implement the steps in the above method. The computer readable storage medium can be transitory or non-transitory.
[0239] The embodiment of the present disclosure provides a computer program product, which comprises a non-transitory computer readable storage medium storing a computer program. When the computer program is read and executed by a computer, part or all steps of the above method are implemented. The computer program product can be implemented by hardware, software or a combination thereof. In an optional embodiment, the computer program product is embodied as a computer storage medium. In another optional embodiment, the computer program product is embodied as a software product, such as a software development kit (SDK) and the like.
[0240] It should be noted that the above description of the storage medium, the computer program product and the device embodiments is similar to the description of the above method embodiments, and has similar beneficial effects as the method embodiments. For technical details not disclosed in the storage medium, the computer program product and the device embodiments of the present disclosure, please refer to the description of the method embodiments of the present disclosure.
[0241] It should be noted that, Figure 9 A hardware entity of a computer device in the embodiment of the present disclosure is shown in FIG. 9. Figure 9 As shown in FIG. 9, the hardware entity of the computer device 900 includes a processor 901, a communication interface 902 and a memory 903, wherein:
[0242] The processor 901 generally controls the overall operation of the computer device 900.
[0243] The communication interface 902 can enable the computer device to communicate with other terminals or servers through a network.
[0244] The memory 903 is configured to store instructions and applications executable by the processor 901, and can also cache data to be processed by the processor 901 and modules in the computer device 900 (for example, image data, audio data, voice communication data and video communication data) that have been processed or have been processed. It can be realized by FLASH or RAM. The processor 901, the communication interface 902 and the memory 903 can transmit data through the bus 904.
[0245] It should be understood that every feature, structure, or characteristic described herein is within a scope of at least one embodiment of the present disclosure. Therefore, it is conceivable that "in one embodiment" or "in an embodiment" appearing anywhere in the specification does not necessarily refer to the same embodiment, but can refer to different embodiments. Furthermore, these particular features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that the magnitude of the sequence of processes described above in various embodiments of the present disclosure does not mean the order of execution, and the execution order of the processes should be determined according to their functions and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present disclosure. The sequence number of the above-mentioned embodiments of the present disclosure is only for description, and does not represent the advantages and disadvantages of the embodiments.
[0246] It should be noted that the terms "comprising", "including", or any other variant thereof, are intended to cover a non-exclusive inclusion, so that a process, method, article, or apparatus that comprises a list of elements does not only include those elements, but also includes other elements not expressly listed or inherent to such process, method, article, or apparatus. Without more limitations, the element defined by the statement "comprising a" does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes the element.
[0247] In several embodiments provided by the present disclosure, it should be understood that the disclosed devices and methods can be implemented in other ways. The above-described device embodiments are only illustrative, for example, the division of the units is only a logical function division, and actual implementation can have another division manner, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the displayed or discussed components can be through some interface, indirect coupling or communication connection between devices or units, which can be electrical, mechanical or other forms.
[0248] The units described above as separate components can or can not be physically separate, and the components shown as units can or can not be physical units; they can be located in one place or distributed on multiple network units; part or all of the units can be selected according to actual needs to achieve the purpose of the embodiment scheme.
[0249] In addition, each functional unit in each embodiment of the present disclosure can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the integrated unit can be realized in the form of hardware or hardware plus software functional unit.
[0250] Those skilled in the art can understand that all or part of the steps of the above-mentioned method embodiments can be completed by program instruction related hardware, the foregoing program can be stored in a computer readable storage medium, and the program executes the steps of the method embodiments when executed; and the foregoing storage medium includes a mobile storage device, a read only memory (ROM), a magnetic disc or an optical disc, and various storage medium capable of storing program codes.
[0251] Alternatively, the integrated units of the present disclosure can be stored in a computer readable storage medium if they are implemented in the form of software function modules and sold or used as independent products. Based on such understanding, the technical solutions of the present disclosure can be embodied in the form of a software product, and the computer software product is stored in a storage medium, includes several instructions to make a computer device execute all or part of the methods described in the embodiments of the present disclosure. The foregoing storage medium includes a mobile storage device, a ROM, a magnetic disc or an optical disc, and various storage medium capable of storing program codes.
[0252] The above is only an embodiment of the present disclosure, but the protection scope of the present disclosure is not limited thereto, and any person skilled in the art can easily think of changes or replacements within the technical range disclosed in the present disclosure, which should be covered in the protection scope of the present disclosure.
Claims
1. An image processing method, characterized in that, When applied to a cloud platform, the method includes: A first image set and a second image set to be processed are obtained; wherein, the first image set includes at least one first image acquired from at least one viewpoint at a first moment, and the second image set includes at least one second image acquired from the at least one viewpoint at a set time interval after the first moment, and the first scene is acquired from the at least one viewpoint at a set time interval; each first image and each second image has first size information. Based on the first size information, at least one target node is determined from the processing node pool of the cloud platform; The at least one target node is scheduled in parallel to determine the velocity vector distribution information of each tracer particle in the first scene at the first moment based on the first image set and the second image set. The step of determining at least one target node from the processing node pool of the cloud platform based on the first size information includes at least one of the following: When the number of images in both the first image set and the second image set is 1, a first number of nodes to be scheduled is determined based on the first size information and the first block configuration information, and the first number of first target nodes is determined from the processing node pool; the first number of first target nodes are scheduled in parallel to perform velocity vector calculation on the first image and the second image blocks, and during the process of performing velocity vector calculation on the blocks, the first image and the second image are processed in blocks based on the first block configuration information. When the number of images in both the first image set and the second image set is N, a second number of nodes to be scheduled is determined based on the first size information and the hierarchical configuration information, and the second number of second target nodes and the second number of third target nodes are determined from the processing node pool; wherein, N is an integer greater than 2, each second target node is scheduled in parallel to perform hierarchical reconstruction of the first three-dimensional particle field to be reconstructed corresponding to each first image, and each third target node is scheduled in parallel to perform hierarchical reconstruction of the second three-dimensional particle field to be reconstructed corresponding to each second image, the hierarchical configuration information is used to perform hierarchical processing of the first three-dimensional particle field and the second three-dimensional particle field during the hierarchical reconstruction process, and the first three-dimensional particle field and the second three-dimensional particle field are used for velocity vector calculation.
2. The method according to claim 1, characterized in that, The parallel scheduling of the at least one target node, based on the first image set and the second image set, determines the velocity vector distribution information of each tracer particle in the first scene at the first time moment, including: The at least one first target node is scheduled in parallel to perform velocity vector calculations on the first image in the first image set and the second image in the second image set to obtain the velocity vector distribution information of each tracer particle in the first scene at the first moment.
3. The method according to claim 2, characterized in that, The parallel scheduling of the at least one first target node performs velocity vector calculations on the first image in the first image set and the second image in the second image set to obtain the velocity vector distribution information of each tracer particle in the first scene at the first time moment, including: Based on the first block configuration information, the first image and the second image are respectively divided into blocks to obtain at least one image block pair; each image block pair includes a first image block and a second image block corresponding to a spatial region of the first scene in the first image and the second image, respectively. Each first target node is scheduled, and velocity vector calculations are performed on the first and second image blocks in each image block pair in parallel to obtain the velocity vector distribution information of each tracer particle in the spatial region corresponding to each image block pair at the first time. The velocity vector distribution information of each tracer particle in each spatial region at the first time is merged to obtain the velocity vector distribution information of each tracer particle in the first scene at the first time.
4. The method according to claim 1, characterized in that, The parallel scheduling of the at least one target node, based on the first image set and the second image set, determines the velocity vector distribution information of each tracer particle in the first scene at the first time moment, including: The at least one second target node is scheduled in parallel to reconstruct a three-dimensional particle field based on each first image in the first image set, thereby obtaining a first three-dimensional particle field; The at least one third target node is scheduled in parallel to reconstruct a three-dimensional particle field based on each second image in the second image set, thereby obtaining a second three-dimensional particle field; At least one fourth target node is determined and scheduled from the processing node pool to perform velocity vector calculations on the first three-dimensional particle field and the second three-dimensional particle field, thereby obtaining the velocity vector distribution information of each tracer particle in the first scene at the first moment.
5. The method according to claim 4, characterized in that, The parallel scheduling of at least one second target node to perform three-dimensional particle field reconstruction based on each first image in the first image set to obtain a first three-dimensional particle field includes: Based on the layered configuration information, the initial particle field corresponding to each first image in the first image set is subjected to layered processing to obtain at least one first voxel layer. Schedule each second target node and use each first image in parallel to correct each first voxel layer to obtain each corrected first voxel layer. Each of the corrected first voxel layers is merged to obtain the first three-dimensional particle field; The parallel scheduling of at least one third target node to perform three-dimensional particle field reconstruction based on each second image in the second image set to obtain a second three-dimensional particle field includes: Based on the layered configuration information, the initial particle field corresponding to each second image in the second image set is subjected to layered processing to obtain at least one second voxel layer. Each of the third target nodes is scheduled, and each of the second images is used in parallel to correct each of the second voxel layers to obtain each corrected second voxel layer. Each of the modified second voxel layers is merged to obtain the second three-dimensional particle field.
6. The method according to claim 4, characterized in that, The first three-dimensional particle field and the second three-dimensional particle field have second size information; The step of determining and scheduling at least one fourth target node from the processing node pool, performing velocity vector calculations on the first three-dimensional particle field and the second three-dimensional particle field, and obtaining the velocity vector distribution information of each tracer particle in the first scene at the first time moment includes: Based on the second size information and the second block configuration information, a third number of nodes to be scheduled is determined; The third number of fourth target nodes are determined from the processing node pool; Each of the fourth target nodes is scheduled in parallel to perform velocity vector calculations on the first three-dimensional particle field and the second three-dimensional particle field to obtain the velocity vector distribution information of each tracer particle in the first scene at the first moment.
7. The method according to claim 6, characterized in that, The parallel scheduling of each of the fourth target nodes performs velocity vector calculations on the first three-dimensional particle field and the second three-dimensional particle field to obtain the velocity vector distribution information of each tracer particle in the first scene at the first time moment, including: Based on the second block configuration information, the first three-dimensional particle field and the second three-dimensional particle field are respectively divided into blocks to obtain at least one voxel block pair; each voxel block pair includes a first voxel block and a second voxel block corresponding to a spatial region in the first scene in the first three-dimensional particle field and the second three-dimensional particle field, respectively. Each fourth target node is scheduled, and the velocity vector of the first and second voxel blocks in each voxel block pair is calculated in parallel to obtain the velocity vector distribution information of each tracer particle in the spatial region corresponding to each voxel block pair at the first moment. The velocity vector distribution information of each tracer particle in each spatial region at the first time is merged to obtain the velocity vector distribution information of each tracer particle in the first scene at the first time.
8. The method according to claim 4, characterized in that, The method further includes: The first three-dimensional particle field and the second three-dimensional particle field are stored in the storage space set in the cloud platform; In response to receiving a request to query the first three-dimensional particle field and / or the second three-dimensional particle field, the first three-dimensional particle field and / or the second three-dimensional particle field are read from the storage space and returned.
9. The method according to any one of claims 1 to 8, characterized in that, The method further includes: Acquire the third and fourth three-dimensional particle fields to be processed; wherein the third and fourth three-dimensional particle fields respectively characterize the distribution state of the tracer particles in the second scene at the second time and at the third time after the second time at a set time interval; the third and fourth three-dimensional particle fields have third size information; Based on the third size information and the second block configuration information, at least one fifth target node is determined from the processing node pool; The at least one fifth target node is scheduled in parallel to perform velocity vector calculations on the third and fourth three-dimensional particle fields to obtain the velocity vector distribution information of each tracer particle in the second scene at the second time moment.
10. The method according to any one of claims 1 to 8, characterized in that, The method further includes: A third image set to be processed is obtained; wherein, the third image set includes at least three third images obtained by acquiring a third scene with tracer particles distributed from at least three perspectives at a fourth time; each of the third images has fourth size information; Based on the fourth size information, at least one sixth target node is determined from the processing node pool of the cloud platform; The at least one sixth target node is scheduled in parallel to reconstruct a three-dimensional particle field based on each third image in the third image set, thereby obtaining a fifth three-dimensional particle field.
11. The method according to any one of claims 1 to 8, characterized in that, Before the parallel scheduling of the at least one target node determines the velocity vector distribution information of each tracer particle in the first scene at the first time moment based on the first image set and the second image set, the method further includes: Each image in the first image set and the second image set is preprocessed to obtain the preprocessed first image set and the second image set, and the preprocessed first image set and the second image set are stored in the storage space set in the cloud platform; In response to receiving a request to query the preprocessed first image set and / or the second image set, the preprocessed first image set and / or the second image set are read from the storage space and returned.
12. The method according to any one of claims 1 to 8, characterized in that, The step of acquiring the first image set and the second image set to be processed includes: acquiring the image stream to be processed; parsing each image in the image stream to obtain at least one image group; wherein each image group includes the first image set and the second image set acquired at intervals of a set time. The step of determining at least one target node from the processing node pool of the cloud platform based on the first size information includes: for each image group, determining at least one target node corresponding to the image group from the processing node pool based on the first size information; The parallel scheduling of at least one target node, based on the first image set and the second image set, to determine the velocity vector distribution information of each tracer particle in the first scene at the first moment, includes: parallel scheduling of at least one target node corresponding to each image group; determining the velocity vector distribution information of each tracer particle in the first scene at the acquisition time of the first image set based on the first image set and the second image set in the image group; and merging the velocity vector distribution information corresponding to each image group to obtain the velocity field corresponding to the image stream.
13. An image processing apparatus, characterized in that, include: The first acquisition module is used to acquire a first image set and a second image set to be processed; wherein, the first image set includes at least one first image acquired from at least one viewpoint at a first moment, respectively, of a first scene in which tracer particles are distributed; the second image set includes at least one second image acquired from the at least one viewpoint at a set time interval after the first moment, respectively, of the first scene; each first image and each second image has first size information. The first determining module is used to determine at least one target node from the processing node pool of the cloud platform based on the first size information. The second determining module is used to schedule the at least one target node in parallel to determine the velocity vector distribution information of each tracer particle in the first scene at the first moment based on the first image set and the second image set. The first determining module is also used for at least one of the following: When the number of images in both the first image set and the second image set is 1, a first number of nodes to be scheduled is determined based on the first size information and the first block configuration information, and the first number of first target nodes is determined from the processing node pool; the first number of first target nodes are scheduled in parallel to perform velocity vector calculation on the first image and the second image blocks, and during the process of performing velocity vector calculation on the blocks, the first image and the second image are processed in blocks based on the first block configuration information. When the number of images in both the first image set and the second image set is N, a second number of nodes to be scheduled is determined based on the first size information and the hierarchical configuration information, and the second number of second target nodes and the second number of third target nodes are determined from the processing node pool; wherein, N is an integer greater than 2, each second target node is scheduled in parallel to perform hierarchical reconstruction of the first three-dimensional particle field to be reconstructed corresponding to each first image, and each third target node is scheduled in parallel to perform hierarchical reconstruction of the second three-dimensional particle field to be reconstructed corresponding to each second image, the hierarchical configuration information is used to perform hierarchical processing of the first three-dimensional particle field and the second three-dimensional particle field during the hierarchical reconstruction process, and the first three-dimensional particle field and the second three-dimensional particle field are used for velocity vector calculation.
14. A computer device comprising a memory and a processor, the memory storing a computer program executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the method according to any one of claims 1 to 12.
15. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the steps of the method according to any one of claims 1 to 12.
Citation Information
Patent Citations
Flow field real-time precise measuring system and method
CN103698554A
Three-dimensional particle field and velocity field reconstruction method based on GPU acceleration
CN113744358A