What is a visual bag of words and how is it implemented? I'm currently working on implementing a bag of visual words in Python. I get the general gist of how it works but I can't seem to find any sources that explain it in more detail to a level where I can implement it. I'm guessing scikit learn and scikit image would come in but I can't seem to point myself in the right direction. Any help?
This is the original paper:

Gabriella Csurka, Christopher R. Dance, Lixin Fan, Jutta Willamowski, and  Cédric Bray. Visual Categorization with Bag of Keypoints. Workshop on Statistical Learning in Computer Vision, ECCV, 2004.