I think the primary problem you're having here is that a "fact" is, essentially, an undeniable, objective, observable truth.
In this example, however, you are using the model to determine whether or not a given edge is a gutter; that is, you're using the model to decide whether or not it is a fact.
While the statement is technically not wrong, one might reasonably assume that you mean that it is a fact that any given edge is a gutter, and the derived model proves this, rather than that if a given edge factually is a gutter, the model can accurately predict this.
In this particular case, I would avoid using "the fact that" at all. It would be more accurate and precise to say:
"Whether or not a given edge is a gutter can be firmly and accurately recognized from the derived model."
However, personally, given the vague and figurative meaning of the word "firmly", and given the nature of "recognized" as a verb that needs, generally speaking, a human agent capable of making subjective observations (as well as a few other nitpicks: there's a split infinitive, and I have a personal preference towards verbs other than "is" in formal writing), if I were to write it, I would phrase it as:
"Whether or not a given edge qualifies as a gutter can be determined accurately with the derived model."
I hope that helps!