Hi,
The problem with the features you used is that they respond mostly
to corners and textured regions in general, and the instrument you
are aiming to detect contains neither interesting textures nor a
lot of gradients.
Despite this, you could try the following approaches; I order them
by simplicity:
1) Extract color features locally, e.g. in a grid, such as color
histograms; as the instrument has more of a grayish tone and flesh
is red, this might work. I see however difficulties with this
approach as the instrument seems to reflect the red light, making
it appear in a similar color.
2) Extract local textural features (one instance of these is
Haralick). The resulting feature vectors should differ between
flesh and object, as the objects barly contain any textures but
the meat does. Given training patches of background and instrument
you could try to train a classifier (SVM, random forest) based on
this training data, and classify each grid cell of the test images
based on this classifier.
3) There exist also features based on oriented gradients similar
to SIFT, but without interest point detection, that can be used
for object detection (e.g. Histogram of Oriented Gradients, HOG).
These do however mostly work when objects are always in a similar
pose, such as pedestrians (they are usually standing). This means,
these features are not generally rotation invariant.
4) A recent advancement in detection is based on Convolutional
Neural Networks, which are however not included in JFeatureLib.
While they often work nicely, they require a large amount of
training images for building a sufficient object model. This would
allow to detect the model in different poses, but requires
specialized hardware (fast GPUs).
Cheers
Johannes