A multi-camera curling detection and tracking system and method based on distributed computing
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- NORTHEASTERN UNIV CHINA
- Filing Date
- 2026-04-27
- Publication Date
- 2026-08-07
AI Technical Summary
一方面,该架构导致建设成本高昂,因为中央服务器必须配备服务器级CPU(Central Processing Unit,中央处理器)、昂贵的多GPU(GraphicsProcessing Unit,图形处理器)并行计算卡以及高带宽I/O设备(Input/Output Device,输入/输出设备)才能维持运行
Smart Images

Figure CN122530892A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of smart sports and computer vision technology, specifically relating to a multi-camera curling detection and tracking system and method based on distributed computing. Background Technology
[0002] In existing technologies, observation schemes based on monocular cameras are a relatively basic visual capture method. This scheme typically adopts a "single-point deployment" strategy, that is, setting up a single camera at a specific high position on the curling rink, such as a top view directly above the rink or a high view to the side. The system relies solely on this single-view camera to continuously record and collect video data of the game, attempting to capture and analyze the motion state of the curling stones.
[0003] Monocular observation schemes have inherent flaws in the complex environment of a curling rink. Because curling involves the frequent movement of multiple athletes (especially sweepers) and equipment, the relative positions of people, stones, and equipment are extremely complex and constantly changing, leading to frequent "target occlusion." Once occlusion occurs, the single-view camera immediately loses target feature information, making it difficult for the system to maintain continuous target detection, and consequently causing errors or loss of identity (ID) recognition. Ultimately, this prevents the system from generating complete and coherent spatiotemporal trajectory data for curling, failing to meet the practical needs of tactical review and accurate judgment.
[0004] Using multiple cameras would require servers to both aggregate and process high-definition video in real time, resulting in a massive computational burden that struggles to meet the real-time requirements of curling detection. Upgrading hardware would significantly increase the cost of curling detection. Specifically, a centralized multi-camera collaborative solution aims to acquire richer information about the rink. This solution deploys multiple cameras at different locations around the rink, forming a multi-view observation network, combined with a traditional centralized processing model. Specifically, multiple cameras distributed at the front end collect high-definition video streams, which are then aggregated via a network to a high-performance central server at the back end. The central server handles all computational tasks, performing centralized computation and fusion processing on the aggregated video streams to analyze the specific position and trajectory of the curlers on the rink.
[0005] While multi-camera solutions mitigate occlusion issues through complementary viewpoints, their centralized architecture of "full convergence and centralized computing" introduces more severe system-level problems. On one hand, this architecture results in high construction costs, as the central server must be equipped with server-grade CPUs (Central Processing Units), expensive multi-GPU (Graphics Processing Units) parallel computing cards, and high-bandwidth I / O devices to operate. On the other hand, real-time performance bottlenecks are significant. As the system's performance "single point," the central server bears immense computational pressure when processing multiple concurrent high-definition video streams, easily leading to processing delays and data loss—fatal for sports analytics requiring millisecond-level response times. Furthermore, system scalability is severely limited. Adding observation points to cover a larger area exponentially increases the load on the central server, often forcing operators to replace the entire backend hardware, making system upgrades and maintenance extremely difficult and costly. Summary of the Invention
[0006] To address the shortcomings of existing technologies, this application proposes a multi-camera curling detection and tracking system and method based on distributed computing.
[0007] In a first aspect, the present invention provides a multi-camera curling detection and tracking system based on distributed computing, comprising:
[0008] Multiple cameras, a management host, at least two client computing nodes, and terminals;
[0009] The multiple cameras are connected to the management host, which in turn is connected to the client computing nodes and terminals.
[0010] The multiple cameras are used to record video of the curling rink and send the recorded video stream to the management host.
[0011] The management host is used to receive video streams recorded by multiple cameras and distribute the video streams recorded by each camera to a designated client computing node; at the same time, it receives the curling detection data processed by each client node, analyzes the curling detection data at the same time, generates detection results, and sends the detection results to the terminal.
[0012] The client computing node is used to perform real-time target detection on the video stream sent by the management host, identify the color of all curling stones in the video stream and the key point coordinates of the curling stones in the two-dimensional image, and use a homography transformation matrix to convert the key point coordinates of the curling stones in the two-dimensional image into unified global physical coordinates of the ice lane; and send the ice lane global physical coordinates with timestamps and the color of the corresponding curling stones as curling stone detection data back to the management host.
[0013] The terminal is used to display the test results in real time.
[0014] Secondly, this application also provides a multi-camera curling detection and tracking method based on distributed computing, including:
[0015] Define a unified global physical coordinate system for the ice track and map any pixel in the images from all cameras to the global coordinate system for the ice track.
[0016] The management host receives video streams recorded by multiple cameras and distributes the video stream recorded by each camera to a designated client computing node;
[0017] Each client computing node performs real-time target detection on the video stream sent by the management host, identifies the color of all curling stones in the video stream and the key point coordinates of the curling stones in the 2D image, and uses a homography transformation matrix to convert the key point coordinates of the curling stones in the 2D image into unified global physical coordinates of the ice lane; and sends the ice lane global physical coordinates with timestamps and the color of the corresponding curling stone as curling stone detection data back to the management host.
[0018] The management host receives the curling detection data processed by each client node, analyzes the curling detection data at the same time, generates detection results, and sends the detection results to the terminal.
[0019] The terminal displays the test results in real time.
[0020] The defined unified global physical coordinates for the ice track map any pixel in the images from all cameras to the global coordinate system for the ice track, including:
[0021] Define a unified global coordinate system for the ice track, using millimeters as the unit;
[0022] Each camera is calibrated once, and several fixed feature points on the ice track are selected. Based on the fixed feature points, the correspondence between the pixel coordinates in the two-dimensional image coordinate system of the camera and the physical coordinates in the global coordinate system of the ice track is established.
[0023] Based on the aforementioned correspondence, a homography transformation matrix is calculated for each camera using RANSAC combined with the least squares method. The homography transformation matrix is then used to map any pixel in the image of the corresponding camera to the global coordinate system of the ice track.
[0024] The identification process identifies the colors of all curling stones in the video stream and the key point coordinates of the stones in the 2D image. A homography transformation matrix is used to convert the key point coordinates of the stones in the 2D image into unified global physical coordinates of the ice lane. The timestamped global physical coordinates of the ice lane and the corresponding stone colors are then sent back to the management host as curling stone detection data, including:
[0025] For each frame of the video stream, a target key point detection model based on deep learning is used to identify the key points of each curling stone in the two-dimensional image and the color of the curling stone.
[0026] Using a homography transformation matrix, perspective transformation is performed on the key point coordinates of each detected curling stone in the two-dimensional image to obtain the physical coordinates of the corresponding curling stone in the global coordinate system of the ice lane;
[0027] The timestamp, the corresponding physical coordinates of the curling stone in the global coordinate system of the ice lane, and the color of the curling stone are used as curling stone detection data and sent back to the management host.
[0028] The management host receives the curling detection data processed by each client node, analyzes the curling detection data at the same time, and generates detection results, including:
[0029] For each timestamp, the nearest neighbor interpolation method is used to find the image corresponding to the closest time from the video streams recorded by multiple cameras, so as to obtain the global timestamp and all the corresponding images.
[0030] Assign a global ID to each curling stone;
[0031] For curling stones that are observed simultaneously by multiple cameras under the same global timestamp and have the same global ID, the weighted average of the global physical coordinates of the multiple ice lanes of the curling stone is taken to obtain the final position.
[0032] Curling data with global IDs and final positions are drawn in real time onto a virtual 2D ice rink canvas. The positions of all curling stones are reconstructed from a view directly above the 2D ice rink canvas, serving as a new virtual broadcast view. The curling effects and global IDs are then overlaid onto the live broadcast footage using the inverse homography transformation matrix of the corresponding camera.
[0033] Assigning a global ID to each curling stone includes:
[0034] Step S4.2.1: In the video stream recorded by a camera, the curling stone without a global ID detected in the current frame is matched with the curling stone with a global ID in the previous frame based on physical distance. If the distance is less than the distance threshold and the curling stones are the same color, the global ID of the previous frame is passed to the curling stone in the current frame.
[0035] Step S4.2.2: For curling stones that still do not have a global ID after step S4.2.1, match them with curling stones with a global ID in other cameras under the same global timestamp;
[0036] Step S4.2.3: Record the curling stones that appeared in previous frames but disappeared in the current frame using the lost curling stone list, including the last position, color, and corresponding global ID of the curling stone. For curling stones that still do not have a global ID after steps S4.2.1 and S4.2.2, use the Hungarian Algorithm to calculate the matching cost function between the curling stone without a global ID and the curling stone in the lost curling stone list. If the matching cost function is greater than a preset matching threshold, assign the global ID of the corresponding curling stone in the lost curling stone list to the curling stone without a global ID to achieve occlusion re-identification. The matching cost function includes color consistency, physical distance, and displacement that conforms to kinematic laws.
[0037] Step S4.2.3: If the curling stone without a global ID detected in the current frame cannot obtain a global ID through any of the steps S4.2.1 to S4.2.2, then the curling stone without a global ID is determined to be a newly entered curling stone, and a brand new, incrementally increasing global ID is assigned to the curling stone without a global ID.
[0038] Thirdly, this application proposes an electronic device, including: one or more processors, and a memory for storing instructions, which, when executed by the one or more processors, cause the one or more processors to perform the aforementioned multi-camera curling detection and tracking method based on distributed computing.
[0039] Fourthly, this application proposes a computer-readable storage medium storing executable instructions that, when executed, cause a processor to perform the aforementioned multi-camera curling detection and tracking method based on distributed computing.
[0040] Fifthly, this application proposes a computer program product, including a computer program or instructions that, when executed by a processor, implement the aforementioned multi-camera curling detection and tracking method based on distributed computing.
[0041] Beneficial effects:
[0042] This application proposes a multi-camera curling detection and tracking system and method based on distributed computing. Through a distributed computing and edge-side computation architecture, it achieves low-cost, highly scalable real-time monitoring using consumer-grade hardware, effectively solving bandwidth bottlenecks and processing latency. Regarding tracking performance, the system, with its multi-stage identity management and global coordinate fusion mechanism, accurately solves the cross-viewpoint occlusion problem, ensuring the continuity and integrity of the curling trajectory and the uniqueness of the ID. The final high-precision spatiotemporal data can be transformed into 3D animation and augmented reality broadcast effects. Attached Figure Description
[0043] Figure 1 A block diagram illustrating the principle of a multi-camera curling detection and tracking system based on distributed computing according to an embodiment of the present invention;
[0044] Figure 2 A schematic diagram of the task distribution relationship in an embodiment of the present invention;
[0045] Figure 3 Flowchart of a multi-camera curling detection and tracking method based on distributed computing according to an embodiment of the present invention;
[0046] Figure 4 Workflow diagram of the client computing node in this embodiment of the invention;
[0047] Figure 5 A flowchart illustrating the workflow of the management host in an embodiment of the present invention. Detailed Implementation
[0048] The specific implementation methods of this application will be further described in detail below with reference to the accompanying drawings and embodiments.
[0049] This application proposes a multi-camera curling detection and tracking system and method based on distributed computing. This technology is primarily used for the precise and uninterrupted recording and analysis of the real-time positions, trajectories, and final distribution of all curling stones on the rink during curling competitions and training. Its application value lies in providing referees with objective evidence for fair judgments, offering coaches and athletes data support for tactical review, and providing visualization technology support for broadcasting events, thereby enhancing the viewing experience.
[0050] This application employs a local area network-based distributed computing architecture, replacing expensive centralized servers with a "management host + client node" model. High-performance parallel computing can be achieved using consumer-grade graphics cards, significantly reducing hardware costs and solving system scalability challenges. Each node directly performs target detection and physical coordinate transformation at the client side, sending only a minimal amount of coordinate data back to the management host, completely overcoming the bandwidth bottleneck and latency issues caused by high-definition video aggregation. The system uses a unified millimeter-level global coordinate system to weightedly fuse multi-view data, effectively eliminating single-point observation errors. Combined with a multi-stage global identity management strategy incorporating kinematic constraints, it accurately achieves cross-view association and ID re-identification after occlusion, ensuring the continuity and high accuracy of curling trajectories in complex scenarios.
[0051] This application's method reconstructs traditional single-view pixel-level tracking into distributed asynchronous fusion tracking based on physical space mapping and kinematic constraints. Specifically, the algorithm no longer relies on image features susceptible to occlusion and lighting interference, but instead constructs a multi-view distributed architecture tracking method that unifies the tracking reference to a global physical coordinate system. On the management host, in conjunction with a multi-stage global identity management strategy incorporating kinematic constraints, it effectively solves the problems of ID jumps and positioning jitter in high-speed collisions and severe occlusion scenarios in curling tracking by performing timestamp resampling and confidence-weighted fusion on discrete data from multiple asynchronous camera nodes. This achieves global trajectory continuity and millimeter-level observation accuracy far exceeding that of a single-camera viewpoint.
[0052] Example 1:
[0053] This embodiment provides a multi-camera curling detection and tracking system based on distributed computing, such as... Figure 1 As shown, it includes:
[0054] Multiple cameras, a management host, at least two client computing nodes, and terminals;
[0055] The multiple cameras are connected to the management host, which in turn is connected to the client computing nodes and terminals.
[0056] The multiple cameras are used to record video of the curling rink and send the recorded video stream to the management host.
[0057] The management host is used to receive video streams recorded by multiple cameras and distribute the video streams recorded by each camera to a designated client computing node; at the same time, it receives the curling detection data processed by each client node, analyzes the curling detection data at the same time, generates detection results, and sends the detection results to the terminal.
[0058] The client computing node is used to perform real-time target detection on the video stream sent by the management host, identify the color of all curling stones in the video stream and the key point coordinates of the curling stones in the two-dimensional image, and use a homography transformation matrix to convert the key point coordinates of the curling stones in the two-dimensional image into unified global physical coordinates of the ice lane; and send the ice lane global physical coordinates with timestamps and the color of the corresponding curling stones as curling stone detection data back to the management host.
[0059] The terminal is used to display the test results in real time.
[0060] In this embodiment, the multi-camera curling detection and tracking system based on distributed computing is built on a local area network and includes: multiple cameras (N cameras), a management host, at least two client computing nodes, and a terminal (a visual terminal is used in this embodiment).
[0061] The management host is responsible for receiving video streams from multiple cameras deployed around the curling rink and distributing each video stream to a designated client computing node; receiving curling detection data containing global physical coordinates returned by each client node after processing; performing temporal alignment of global data, global ID management, multi-view data fusion, and visualization of the final results. A diagram illustrating the distributed relationship between the management host and multiple distributed client node tasks is shown below. Figure 2 As shown, the management host is responsible for lightweight tasks, including video stream distribution, temporal alignment and data aggregation, global ID management and fusion, and visualization of detection results. The client computing nodes are responsible for computationally intensive tasks, including video decoding, YOLO (You Only Look Once) model inference (i.e., key point detection), and perspective transformation (i.e., coordinate transformation).
[0062] Each client computing node is a personal computer equipped with a basic graphics processing unit (GPU, such as a consumer-grade graphics card). This node is responsible for receiving one video stream distributed by the management host; performing real-time target detection on the video frames to identify all curling instances, color classifications, and their key point coordinates in the 2D image (in this embodiment, the key point is the center point of the bottom of the curling stone); using a pre-calibrated homography matrix, converting the image coordinates of the identified curling stone key points into unified global physical coordinates of the ice lane; and sending the timestamped "physical coordinate-color" data pairs back to the management host.
[0063] Example 2:
[0064] This embodiment also provides a multi-camera curling detection and tracking method based on distributed computing, such as... Figure 3 As shown, it includes:
[0065] Step S1: Define a unified global physical coordinate system for the ice track, mapping any pixel in the images from all cameras to the global coordinate system of the ice track, including:
[0066] Step S1.1: Define a unified global coordinate system for the ice track in millimeters;
[0067] Step S1.2: Perform a one-time calibration for each camera, select several fixed feature points on the ice track, and establish the correspondence between the pixel coordinates in the two-dimensional image coordinate system of the camera and the physical coordinates in the global coordinate system of the ice track based on the fixed feature points.
[0068] Step S1.3: Based on the correspondence, calculate a homography transformation matrix for each camera using the least squares method, and use the homography transformation matrix to map any pixel in the image of the corresponding camera to the global coordinate system of the ice track.
[0069] In this embodiment, firstly, a unified global coordinate system for the ice track, expressed in millimeters, is defined. Each camera is calibrated once. Several fixed feature points on the ice track are manually selected (e.g., the center of the base camp, the intersection of the T-line and the edge line), and the correspondence between their pixel coordinates (src_points) in the camera's two-dimensional image coordinate system and their physical coordinates (dst_points) in the ice track's global coordinate system is established. Based on these point pairs, a homography transformation matrix H is calculated for each camera using the least squares method. This matrix maps any pixel in the camera's image to the ice track's global coordinate system. Specifically, obvious landmarks, wireframe intersections, or manually placed markers are found on the ice surface. The pixel coordinates of the corresponding points are manually extracted from the camera image. To address gross errors introduced during manual annotation due to visual biases or operational mistakes, the system first introduces RANSAC (Random Sample Consensus). This algorithm identifies and removes outlier observations from the observation data through an iterative sampling mechanism, thereby establishing a reliable set of interior points. Using all observation point pairs that have passed consistency verification, the system employs the least squares method to globally optimize and solve the statically indeterminate equations, ultimately obtaining the homography transformation matrix that statistically minimizes the reprojection error. This process is prior art and will not be elaborated upon in this application.
[0070] Step S2: The management host receives video streams recorded by multiple cameras and distributes the video stream recorded by each camera to a designated client computing node;
[0071] Step S3: Each client computing node performs real-time target detection on the video stream sent by the management host, identifying the colors of all curling stones and the key point coordinates of the stones in the 2D image. Using a homography transformation matrix, the key point coordinates of the stones in the 2D image are converted into unified global physical coordinates of the ice lane. The timestamped global physical coordinates of the ice lane and the corresponding stone colors are then sent back to the management host as curling stone detection data. Figure 4 As shown, it includes:
[0072] Step S3.1: For each frame of the video stream, a target key point detection model based on deep learning is used to identify the key points of each curling stone in the two-dimensional image and the color of the curling stone.
[0073] In this embodiment, for each frame of the video stream, the YOLO v11 target key point detection model based on deep learning is used to directly regress the pixel coordinates of the bottom center point of each curling stone in the image and its color category.
[0074] Step S3.2: Using a homography transformation matrix, perform perspective transformation on the key point coordinates of each detected curling stone in the two-dimensional image to obtain the physical coordinates of the corresponding curling stone in the global coordinate system of the ice lane;
[0075] In this embodiment, the homography matrix H calibrated for the camera position in step S1 is used to perform perspective transformation on the coordinates of each detected curling key point to obtain its physical coordinates in the global coordinate system of the ice track.
[0076] Step S3.3: Use the timestamp, the physical coordinates of the corresponding curling stone in the global coordinate system of the ice lane, and the color of the curling stone as curling stone detection data, and send them back to the management host.
[0077] In this embodiment, the processed result, i.e. a set of data consisting of (timestamp, global physical coordinates, color category), is sent to the management host.
[0078] Step S4: The management host receives the processed curling detection data from each client node, analyzes the curling detection data at the same time, generates detection results, and sends the detection results to the terminal, such as... Figure 5 As shown, it includes:
[0079] Step S4.1: Analyze each timestamp and use the nearest neighbor interpolation method to find the image corresponding to the closest time from the video streams recorded by multiple cameras, so as to obtain the global timestamp and all the corresponding images;
[0080] In this embodiment, the management host collects detection data sent from all client nodes. Due to differences in processing speed and network latency among nodes, the data arrival timestamps are discrete and misaligned. The system generates a unified, equally spaced global analysis timestamp sequence (e.g., one every 20 milliseconds). For each analysis timestamp, the nearest neighbor interpolation method is used to find the detection result with the closest time from the raw data streams of each camera, thereby obtaining a "snapshot" of all camera views at that instant.
[0081] Step S4.2: Assign a global ID to each curling stone;
[0082] In this embodiment, a multi-stage Global Curling Identifier (GCID) management and data association is employed: this is the core of the invention, aiming to assign a globally unique ID to each physical curling stone that remains unchanged throughout the entire competition. This process involves multiple steps, including:
[0083] Step S4.2.1: In the video stream recorded by a camera, the curling stone without a global ID detected in the current frame is matched with the curling stone with a global ID in the previous frame based on physical distance. If the distance is less than the distance threshold and the curling stones are the same color, the global ID of the previous frame is passed to the curling stone in the current frame.
[0084] In this embodiment, the first stage is short-term intra-temporal matching: data within a single camera viewpoint is processed. The curling stone without an ID detected in the current frame is matched with the curling stone with an ID in the previous frame of the same camera based on physical distance. If the distance is less than a threshold and the colors are the same, the ID from the previous frame is passed to the curling stone in the current frame. This step ensures trajectory continuity in unobstructed conditions.
[0085] Step S4.2.2: For curling stones that still do not have a global ID after step S4.2.1, match them with curling stones with a global ID in other cameras under the same global timestamp;
[0086] In this embodiment, the second stage is global history matching: for curling stones that still have no ID after the first stage, they are matched with the final fusion result of the previous global timestamp in the entire system. This allows the ID of a curling stone to be transmitted across different camera perspectives.
[0087] Step S4.2.3: Record the curling stones that appeared in previous frames but disappeared in the current frame using the lost curling stone list, including the last position, color, and corresponding global ID of the curling stone. For curling stones that still do not have a global ID after steps S4.2.1 and S4.2.2, use the Hungarian Algorithm to calculate the matching cost function between the curling stone without a global ID and the curling stone in the lost curling stone list. If the matching cost function is greater than a preset matching threshold, assign the global ID of the corresponding curling stone in the lost curling stone list to the curling stone without a global ID to achieve occlusion re-identification. The matching cost function includes color consistency, physical distance, and displacement that conforms to kinematic laws.
[0088] In this embodiment, the third stage is long-term occlusion re-identification: The system maintains a "lost curling stone list," recording curling stones that appeared in previous frames but disappeared in the current frame, along with their last position, color, and global ID. When a new curling stone without a global ID is detected, the Hungarian algorithm or a similar allocation algorithm is used to calculate the matching cost between the curling stone without a global ID and the curling stones in the "lost curling stone list." The cost function comprehensively considers color consistency, physical distance, and kinematically appropriate displacement (instantaneous velocity cannot exceed physical limits). If a match is successful, the ID of the lost curling stone is assigned to the newly appearing curling stone, achieving occlusion re-identification.
[0089] Step S4.2.3: If the curling stone without a global ID detected in the current frame cannot obtain a global ID through any of the steps S4.2.1 to S4.2.2, then the curling stone without a global ID is determined to be a newly entered curling stone, and a brand new, incrementally increasing global ID is assigned to the curling stone without a global ID.
[0090] In this embodiment, the fourth stage of new ID allocation is as follows: if a curling stone cannot obtain an ID through any of the above stages, it is determined to be a newly entered curling stone and is assigned a brand new, incremental global ID.
[0091] Step S4.3: For curling stones that are observed simultaneously by multiple cameras under the same global timestamp and have the same global ID, the global physical coordinates of the multiple ice lanes of the curling stone are weighted and averaged to obtain the final position;
[0092] In this embodiment, for curling stones that are simultaneously observed by multiple cameras under the same global timestamp and have the same global ID, the weighted average of the multiple global physical coordinates obtained from different perspectives is calculated to obtain a more accurate and robust final position.
[0093] Step S4.4: The curling data with global ID and final position is drawn in real time onto a virtual two-dimensional ice lane canvas, and the result is projected back into the live broadcast screen through the inverse homography transformation matrix of the corresponding camera.
[0094] In this embodiment, the curling data, which ultimately includes a global ID and precise location, is rendered in real-time onto a virtual two-dimensional ice rink canvas. The positions of all curlers are reconstructed from a view directly above the 2D ice rink canvas, serving as a new virtual broadcast perspective. Then, using the inverse homography transformation matrix of the corresponding camera position, the curling effects and global IDs are overlaid onto the real-time broadcast footage to create an augmented reality display effect.
[0095] Step S5: The terminal displays the detection results in real time.
[0096] In this embodiment, on the one hand, the positions of all curling stones are reconstructed on a virtual two-dimensional canvas through global coordinate mapping, adding a virtual broadcast perspective from above and providing high-precision tactical reference for professional analysis. On the other hand, the inverse homography matrix is used to achieve spatial consistency superposition of virtual curling information in the real broadcast image, enhancing the information density of the broadcast image in real time and meeting the immersive viewing requirements of television broadcasts.
[0097] Example 3:
[0098] This embodiment proposes an electronic device, including: one or more processors, and a memory, wherein the memory is used to store instructions, and when the instructions are executed by the one or more processors, the one or more processors execute the aforementioned multi-camera curling detection and tracking method based on distributed computing.
[0099] The electronic device may be a mobile phone, computer, or tablet computer, etc., and includes a memory and a processor. The memory stores a computer program, which, when executed by the processor, implements a multi-camera curling detection and tracking method based on distributed computing as described in the embodiments. It is understood that the electronic device may also include input / output (I / O) interfaces and communication components.
[0100] The processor is used to execute all or part of the steps in the multi-camera curling detection and tracking method based on distributed computing as described in the above embodiments. The memory is used to store various types of data, which may include, for example, instructions for any application or method in the electronic device, as well as application-related data.
[0101] The processor can be implemented as an Application Specific Integrated Circuit (ASIC), Digital Signal Processor (DSP), Programmable Logic Device (PLD), Field Programmable Gate Array (FPGA), controller, microcontroller, microprocessor, or other electronic components, and is used to execute the multi-camera curling detection and tracking method based on distributed computing described in the above embodiments.
[0102] Example 4:
[0103] This embodiment proposes a computer-readable storage medium that stores executable instructions. When these instructions are executed, if they are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium.
[0104] The computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the multi-camera curling detection and tracking method based on distributed computing described in various embodiments of this application.
[0105] The aforementioned storage media include: flash memory, hard disks, multimedia cards, card-type memory (e.g., SD (Secure Digital Memory Card) or DX (Memory Data Register, MDR) memory), random access memory (RAM), static random-access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic storage, disks, optical discs, servers, APP (Application) application stores, and other media capable of storing program verification codes. These media store computer programs, which, when executed by a processor, can implement the various steps of the aforementioned multi-camera curling detection and tracking method based on distributed computing.
[0106] Example 5:
[0107] This embodiment proposes a computer program product, including a computer program or instructions, which, when executed by a processor, implements the aforementioned multi-camera curling detection and tracking method based on distributed computing.
[0108] Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or part of the technical solution, can be embodied in the form of a computer program product.
[0109] The various embodiments in this application are described in a progressive manner. The same or similar parts between the various embodiments can be referred to each other. Each embodiment focuses on describing the differences from other embodiments.
[0110] The scope of protection of this application is not limited to the embodiments described above. Obviously, those skilled in the art can make various modifications and variations to this disclosure without departing from the scope and spirit of this disclosure. If such modifications and variations fall within the scope of equivalent technology of this disclosure, then the intent of this disclosure also includes such modifications and variations.
Claims
1. A multi-camera curling detection and tracking system based on distributed computing, characterized in that, include: Multiple cameras, a management host, at least two client computing nodes, and terminals; The multiple cameras are connected to the management host, which in turn is connected to the client computing nodes and terminals. The multiple cameras are used to record video of the curling rink and send the recorded video stream to the management host. The management host is used to receive video streams recorded by multiple cameras and distribute the video stream recorded by each camera to a designated client computing node. Simultaneously, it receives curling detection data processed by each client node, analyzes the curling detection data at the same time, generates detection results, and sends the detection results to the terminal. The client computing node is used to perform real-time target detection on the video stream sent by the management host, identify the color of all curling stones in the video stream and the key point coordinates of the curling stones in the two-dimensional image, and use a homography transformation matrix to convert the key point coordinates of the curling stones in the two-dimensional image into unified global physical coordinates of the ice lane; and send the ice lane global physical coordinates with timestamps and the color of the corresponding curling stones as curling stone detection data back to the management host. The terminal is used to display the test results in real time.
2. A multi-camera curling detection and tracking method based on distributed computing, implemented using the multi-camera curling detection and tracking system based on distributed computing as described in claim 1, characterized in that... include: Define a unified global physical coordinate system for the ice track and map any pixel in the images from all cameras to the global coordinate system for the ice track. The management host receives video streams recorded by multiple cameras and distributes the video stream recorded by each camera to a designated client computing node; Each client computing node performs real-time target detection on the video stream sent by the management host, identifies the color of all curling stones in the video stream and the key point coordinates of the curling stones in the 2D image, and uses a homography transformation matrix to convert the key point coordinates of the curling stones in the 2D image into unified global physical coordinates of the ice lane; and sends the ice lane global physical coordinates with timestamps and the color of the corresponding curling stone as curling stone detection data back to the management host. The management host receives the curling detection data processed by each client node, analyzes the curling detection data at the same time, generates detection results, and sends the detection results to the terminal. The terminal displays the test results in real time.
3. The multi-camera curling detection and tracking method based on distributed computing according to claim 2, characterized in that, The defined unified global physical coordinates for the ice track map any pixel in the images from all cameras to the global coordinate system for the ice track, including: Define a unified global coordinate system for the ice track, using millimeters as the unit; Each camera is calibrated once, and several fixed feature points on the ice track are selected. Based on the fixed feature points, the correspondence between the pixel coordinates in the two-dimensional image coordinate system of the camera and the physical coordinates in the global coordinate system of the ice track is established. Based on the aforementioned correspondence, a homography transformation matrix is calculated for each camera using RANSAC combined with the least squares method. The homography transformation matrix is then used to map any pixel in the image of the corresponding camera to the global coordinate system of the ice track.
4. The multi-camera curling detection and tracking method based on distributed computing according to claim 2, characterized in that, The method for identifying the colors of all curling stones in the video stream and the key point coordinates of the curling stones in the two-dimensional image uses a homography transformation matrix to convert the key point coordinates of the curling stones in the two-dimensional image into unified global physical coordinates of the ice track. The global physical coordinates of the ice lane with a timestamp and the corresponding curling stone color are sent back to the management host as curling detection data, including: For each frame of the video stream, a target key point detection model based on deep learning is used to identify the key points of each curling stone in the two-dimensional image and the color of the curling stone. Using a homography transformation matrix, perspective transformation is performed on the key point coordinates of each detected curling stone in the two-dimensional image to obtain the physical coordinates of the corresponding curling stone in the global coordinate system of the ice lane; The timestamp, the corresponding physical coordinates of the curling stone in the global coordinate system of the ice lane, and the color of the curling stone are used as curling stone detection data and sent back to the management host.
5. The multi-camera curling detection and tracking method based on distributed computing according to claim 2, characterized in that, The management host receives the curling detection data processed by each client node, analyzes the curling detection data at the same time, and generates detection results, including: For each timestamp, the nearest neighbor interpolation method is used to find the image corresponding to the closest time from the video streams recorded by multiple cameras, so as to obtain the global timestamp and all the corresponding images. Assign a global ID to each curling stone; For curling stones that are observed simultaneously by multiple cameras under the same global timestamp and have the same global ID, the weighted average of the global physical coordinates of the multiple ice lanes of the curling stone is taken to obtain the final position. Curling data with global IDs and final positions are drawn in real time onto a virtual 2D ice rink canvas. The positions of all curling stones are reconstructed from a view directly above the 2D ice rink canvas, serving as a new virtual broadcast view. The curling effects and global IDs are then overlaid onto the live broadcast footage using the inverse homography transformation matrix of the corresponding camera.
6. The multi-camera curling detection and tracking method based on distributed computing according to claim 2, characterized in that, Assigning a global ID to each curling stone includes: Step S4.2.1: In the video stream recorded by a camera, the curling stone without a global ID detected in the current frame is matched with the curling stone with a global ID in the previous frame based on physical distance. If the distance is less than the distance threshold and the curling stones are the same color, the global ID of the previous frame is passed to the curling stone in the current frame. Step S4.2.2: For curling stones that still do not have a global ID after step S4.2.1, match them with curling stones with a global ID in other cameras under the same global timestamp; Step S4.2.3: Record the curling stones that appeared in previous frames but disappeared in the current frame using the lost curling stone list, including: the last position of the curling stone, its color, and its corresponding global ID. For curling stones that still do not have a global ID after steps S4.2.1 and S4.2.2, use the Hungarian allocation algorithm to calculate the matching cost function between the curling stone without a global ID and the curling stone in the lost curling stone list. If the matching cost function is greater than a preset matching threshold, assign the global ID of the corresponding curling stone in the lost curling stone list to the curling stone without a global ID to achieve occlusion re-identification. The matching cost function includes: color consistency, physical distance, and displacement that conforms to kinematic laws. Step S4.2.3: If the curling stone without a global ID detected in the current frame cannot obtain a global ID through any of the steps S4.2.1 to S4.2.2, then the curling stone without a global ID is determined to be a newly entered curling stone, and a brand new, incrementally increasing global ID is assigned to the curling stone without a global ID.
7. An electronic device, characterized in that, include: One or more processors, and a memory for storing instructions that, when executed by the one or more processors, cause the one or more processors to perform the multi-camera curling detection and tracking method based on distributed computing as described in any one of claims 2 to 6.
8. A computer-readable storage medium, characterized in that, It stores executable instructions that, when executed, cause the processor to perform the multi-camera curling detection and tracking method based on distributed computing as described in any one of claims 2 to 6.
9. A computer program product, comprising a computer program or instructions, characterized in that, When the computer program or instructions are executed by the processor, they implement the multi-camera curling detection and tracking method based on distributed computing as described in any one of claims 2 to 6.