Skip to content

[RESEARCH] Image Filter for Repeating Grid Removal #9

@jorgenfj

Description

@jorgenfj

Motivation

Standard ArUco marker detection fails when markers are partially obscured by a repeating grid pattern. This is a common problem in robotic vision, especially when the camera's line of sight is obstructed by structural elements. We need a robust method to preprocess the image to "remove" the grid, making the ArUco markers fully detectable.

The approach:

  • Use Fourier image processing to identify and remove the periodic grid pattern from the image.
  • Apply perspective warp to the image to magnify the grid's repeating nature, making it easier to filter in the frequency domain.
  • After filtering, the markers may appear as fragmented or disconnected regions. We need to implement a routine to merge these regions into a single, coherent marker.
  • Finally, apply standard OpenCV ArUco detection to the processed image to locate and identify the markers.

Requirements:

  • The final output must be an image where the standard ArUco detection algorithm successfully detects the marker with correct id.

Task

  1. Implement Smart Filtering:
    • Perspective Warp: Create a function to apply a perspective warp to the image. This will normalize the grid pattern's appearance and enhance its periodicity.
    • Fourier Image Processing: Implement a routine that takes a warped image and applies a notch or band-stop filter in the frequency domain to remove the grid pattern. The output should be a processed image where the grid is suppressed.
  2. Aruco Marker Reconstruction:
    • Region Merging: Develop a function that identifies fragmented ArUco marker regions in the filtered image and merges them to form a single, complete marker. This may involve using morphological operations like dilation or connectivity analysis.
  3. Integrate with ArUco Detection:
    • Detection Pipeline: Create a pipeline that takes the raw camera feed, passes it through the smart filter and reconstruction steps, and then feeds the final output to a standard ArUco detection algorithm in https://github.com/vortexntnu/vortex-aruco-detection.

Suggested Workflow

  1. Understand the proposed solution.
  2. Research:

Deliverables

  • The whole filter can be implemented as a filter in https://github.com/vortexntnu/vortex-image-filtering or as a separate python node if python is the chosen language.
  • A module for Fourier-based filtering (specifically, a notch filter) to remove the periodic noise.
  • A function to merge fragmented marker regions in the processed image.
  • An end-to-end demo/test script that showcases the complete process, from a gridded image to successful ArUco marker detection.

References

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions