Arrow
June 26, 2025
This ongoing computer vision research project aims to develop a system that can automatically detect arrows and accurately determine their point of impact on a target. The focus is on leveraging techniques such as motion analysis, contour filtering, and region isolation to build a robust pipeline that performs reliably in real-world conditions. By refining each stage—from target detection to arrow tracking the project lays the groundwork for intelligent scoring systems in archery and similar applications.
A future blog post will provide more details on how the various filters and image processing techniques contribute to the overall recognition pipeline.
Target Recognition Strategy
After careful consideration, I concluded that since the camera is expected to be stable and mounted, the target's position should remain consistent throughout the video. Therefore, it is unnecessary to scan for the target in every frame. Instead, I selected a frame at the 5-second mark to identify and map out the target's boundaries. This approach proved successful, as I was able to isolate the full shape of the paper target, as shown in the images below.
At this stage, the system only detects the overall area of the paper target—not the specific scoring zones. This method serves as the foundation for the initial MVP, which simply determines whether an arrow hit the target or not.
Line Detection & filtering
Endpoint in Target Check
Since I had already isolated the target and I know that the camera and target are both stationary, I understood that I could easily isolate the target and make sure that I only keep the lines that either start or end inside the area of the target. With this method, I reduced the noise and capturing window by 80%, depending on the positioning and size of the target. This method does have the downside of definitely not detecting the arrows that are outside of the target, and arrows that have been missed — which, for the first version of the algorithm, is okay.
Average Length Filtering
In order to reduce noise from the videos and filter the lines that were falsely detected as potential arrows, I decided to filter the lines that were detected and calculate the average, and only keep the lines that were longer than the average of the lines. This simple math greatly reduced the number of lines that were being considered as noise.
Blackhat
This filter emphasizes the target very well. The paper appears as solid black, which is excellent for recognition. However, the arrows do not stand out as clearly, making this filter less suitable for arrow detection. That said, it shows strong potential for future use in target zoning and scoring, as it clearly highlights the concentric rings and even the small quadrant circles. Additionally, the visibility of holes from previous arrows suggests it could be useful for advanced analysis later on.
Clahe
In this filter, the arrows appear noticeably darker than the background, which is also fairly dark. This contrast enhances edge detection, making CLAHE a potentially good candidate for identifying arrow outlines.
Grayscale
This filter performs similarly to CLAHE. Aside from the arrow embedded in the target at the top left, it maintains decent contrast across the frame and does a reasonable job of preserving the arrow shapes.
Highpass
This filter shows strong edge detection capability, but the target and arrow stop behind it dominate the frame, creating clutter. Some arrows—such as the one just left of the target—stand out clearly as straight lines, while others nearby are barely visible.
Tophat
This filter did not perform well. It failed to isolate or enhance the visibility of arrows and showed little potential for reliable edge detection.
Description: A computer vision project that detects arrows in flight and pinpoints their exact impact location on the target with precision.