What does the sensitivity parameter do in imfindcircles?

15 vues (au cours des 30 derniers jours)
Matthew Eicholtz
Matthew Eicholtz le 17 Sep 2015
Modifié(e) : Jay le 22 Mar 2017
One of the parameter name-value pairs for the IMFINDCIRCLES function is 'Sensitivity'. I want to know what it does. I understand that increasing the sensitivity results in more (potentially false) detections, but I am looking for more details than that.
After looking through the code, it appears that sensitivity is used in two ways:
  1. (line 180) As an input to the CHCENTERS function, which I think has to do with peak-finding in the accumulator array.
  2. (line 187) As a threshold (1-sensitivity) on the scoring metric of detected circles.
I understand the second one, but I don't know what is happening in the first one and I am hoping someone in this community does.
  2 commentaires
Matthew Eicholtz
Matthew Eicholtz le 7 Oct 2016
Still curious about this one...any thoughts, Mathworkers?
Jay
Jay le 22 Mar 2017
I am also interested in the functional form of 'sensitivity'. It might have something to do with the magnitude plot I guess.

Connectez-vous pour commenter.

Réponses (2)

KSSV
KSSV le 8 Oct 2016
Circles in the image might be weak, bright and few circles may not be clear. To detect such circles you need to play around with sensitivity parameter.
  3 commentaires
KSSV
KSSV le 8 Oct 2016
It might get multiplied with the color information to detect the circles
Matthew Eicholtz
Matthew Eicholtz le 8 Oct 2016
Yes, that could be. Although that would feel redundant to me considering it is already used as a threshold after the CHCENTERS function.

Connectez-vous pour commenter.


Jay
Jay le 22 Mar 2017
Modifié(e) : Jay le 22 Mar 2017
Blog states that:
"In simple terms it means that the detector's confidence in a certain (circle) detection has to be greater than a certain level before it is considered a valid detection. imfindcircles has a parameter 'Sensitivity' which can be used to control this internal threshold, and consequently, the sensitivity of the algorithm. A higher 'Sensitivity' value sets the detection threshold lower and leads to detecting more circles. This is similar to the sensitivity control on the motion detectors used in home security systems."
To my best guess, it is the threshold of magnitude plot.
For example, let's say you are using the phase coding method. In that method you will come up with the magnitude image and phase image. Magnitude image is similar to the accumulator array.
If its sensitivity is 0.95, it should cancel lower (100-97)% values in magnitude image. Then regional maxima are obtained to locate the centers.
This is my guess. I might be wrong.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by