And what is the difference between "not guilty" and "innocent"?
There is none. It is only by "standard convention" [of terminology] that the court says "guilty" or "not guilty." -- It is much like in programming, where to say 'execute' or 'run' a program; both mean the same thing, though the former is the "standard convention" of the field.
There is no difference, no subtlety-of-meaning, as in mathematics between "non-negative" and "positive" where the difference is the inclusion/exclusion of zero.
And again, the definition of innocent: to be free from legal guilt, means "not guilty": yes or no?
Not guilty is a million miles from innocent.