Skip to content

Releases: AL-255/fastmatch

Release list

FastMatch v0.3.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 02:52
8d8743c

FastMatch 0.3.0 adds two ways to find patterns beyond close pixel matches, Apple
GPU acceleration, and downloadable desktop applications for Windows, Linux and
Apple Silicon.

Find altered copies or visually related objects

  • Fuzzy instance search uses RootSIFT descriptors and geometric verification
    to find repeated copies despite blur, compression, recoloring, partial
    occlusion, rotation, scale changes and perspective distortion. Choose it when
    an object keeps recognizable local details but no longer passes strict pixel
    correlation.
  • Semantic similarity uses pretrained DINOv2 features to find visually
    related regions with different appearances. The model is included in desktop
    downloads and runs offline. Source users can install it explicitly with
    python -m fastmatch --download-semantic-model.
  • Strict feature matching, NCC, SSD and CCORR remain available. Each method
    serves a different kind of similarity; the threshold slider filters results
    without repeating the search.

These modes search within the image you opened. Fuzzy matching still needs
distinctive features, and semantic scores describe visual similarity rather
than guaranteeing an identical object or category.

More control over what to match

  • Add positive examples with Shift+drag and negative examples with
    Ctrl+drag. Numbered example boxes and the Examples panel make it easier
    to inspect or remove individual examples.
  • Use the rectilinear selection tool to describe an orthogonal polygon instead
    of a simple rectangle; correlation methods honor the selection mask.
  • Newer selections supersede pending work so an old query does not hold up the
    next search.

Acceleration and responsiveness

  • Apple Silicon now supports MPS in addition to NVIDIA CUDA, AMD ROCm and
    CPU. Select a backend in Engine or use --device cuda, rocm, mps or
    cpu; Auto checks accelerators with real kernels before selecting one.
  • Fixes for Apple GPU score handling and tiled convolution allow the same
    matching workflows to run on MPS.
  • ROCm search avoids expensive per-shape tuning stalls. Faster candidate
    suppression and match construction improve searches that produce many hits.

Desktop downloads

Platform Package choices
Windows x64 CPU; CUDA 12.8 system runtime
Linux x64 CPU; CUDA 12.8 system runtime; ROCm 7.2 system runtime
macOS Apple Silicon MPS with CPU fallback

No Python installation is required to launch these applications. Extract the
whole archive and keep its files together. CUDA/ROCm downloads end in -system:
install the matching GPU runtime first, including cuDNN/NCCL or the complete
ROCm libraries and kernel data. A driver alone is insufficient. See the
installation instructions.

Packages omit GPU SDK runtimes, PyTorch development/test files and unrelated
Transformers model source files. PyTorch's own native libraries, required framework dependencies such as
MAGMA/AOTriton, and the offline semantic model remain included. Each build provides SHA256 checksums, a smoke
test report, an external runtime inventory and a packaging size report. If an
archive is split, download all parts and its manifest, then use the supplied
assembly helper before extracting it.

Windows applications are unsigned; macOS applications use ad-hoc signing and
are not notarized. macOS builds target Apple Silicon. NVIDIA/AMD GPU execution
depends on your GPU and installed drivers/libraries; hosted CI checks their
runtime loading and CPU execution, while accelerator smoke tests require real
hardware.

Documentation and contributors

An English/Simplified Chinese language selector and readme_cn.md make setup and
matching guidance available in both languages. Thanks to @KurnalSalt for
contributions to ROCm startup performance, large-result handling and
multi-example search.

Full changelog: v0.2.0…v0.3.0