← all repositories
rmsalinas/fbow

Bag of Words at 80× speed: hand-tuned SIMD over academic C++

A drop-in replacement for DBOW2/3 that trades generality for raw vectorized throughput.

621 stars C++ Computer Vision
fbow
Not currently ranked — collecting fresh signals.
star history

What it does FBOW rebuilds the DBOW2/DBOW3 visual bag-of-words pipeline with one goal: speed. It generates and loads vocabularies, converts images to BoW vectors, and supports both binary and floating-point descriptors. The API surface is deliberately narrow — OpenCV is the only dependency.

The interesting bit The author didn’t just optimize hot loops; they wrote separate SIMD paths for AVX, SSE, and MMX, plus distinct code paths for binary vs. real-valued descriptors. Vocabulary loading hits ~80× over DBOW2, and AVX-equipped machines see ~6.4× faster image-to-BoW conversion. That’s not algorithmic cleverness — it’s aggressive, tedious instruction-level tuning that most academic code skips.

Key highlights

  • Single dependency: OpenCV only
  • SIMD specialization for binary and float descriptors across AVX/SSE/MMX
  • Pre-built ORB vocabulary included in repo
  • Corrects bugs found in DBOW2/3’s dictionary creation
  • MIT licensed

Caveats

  • Image indexing (a core DBOW2/3 feature) is not yet implemented
  • Speedups are self-reported from the tests directory; no independent benchmarks cited
  • “Extremmely” appears twice in the README, which may or may not correlate with optimization thoroughness

Verdict Worth a look if you’re already using DBOW2/3 and bottlenecked on vocabulary I/O or BoW encoding — especially with AVX hardware. Skip it if you need the missing image indexing, or if your descriptors and pipeline aren’t already OpenCV-native.

Frequently asked

What is rmsalinas/fbow?
A drop-in replacement for DBOW2/3 that trades generality for raw vectorized throughput.
Is fbow open source?
Yes — rmsalinas/fbow is an open-source project tracked on heatdrop.
What language is fbow written in?
rmsalinas/fbow is primarily written in C++.
How popular is fbow?
rmsalinas/fbow has 621 stars on GitHub.
Where can I find fbow?
rmsalinas/fbow is on GitHub at https://github.com/rmsalinas/fbow.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.