There is a construction that is called Ersatzinfinitiv in use in certain cases of Perfekt clauses.
Usually Perfekt is built by combining the perfect participle of the verb plus haben or sein.
Ich habe Knödel gekocht
In bin nach München gefahren.
However, when there is an infinitve clause depending on the verb
as in
Ich sehe dich kommen (Präsens)
Ich sah dich kommen (Imperfekt)
Then there Partizip Perfekt is sometimes replaced by Infinitiv.
Ich habe dich kommen sehen. (Perfekt with Ersatzinfinitiv)
RATHER NOT: Ich habe dich kommen gesehen (Perfekt the usual way, i.e. with Partizip Perfekt)
Where to use it
This construction is in use with a number of of verbs (and then the Perfekt mit Ersatzinfinitiv would usually be preferable):
lassen
Sie haben sich scheiden lassen.
NOT: Sie haben sich scheiden gelassen.
Ich habe das dann bleiben lassen.
NOT: Ich habe das dann bleiben gelassen.
müssen
Er hat sie nehmen müssen.
NOT: Er hat sie nehmen gemusst.
Das hättest du länger garen müssen.
NOT: Das hättest du länger garen gemusst.
können
Ich habe ihn treffen können.
NOT: Ich habe ihn treffen gekonnt.
Ich habe ihn nicht ausstehen können.
NOT: Ich habe ihn nicht ausstehen gekonnt.
dürfen
Sie hat ihn küssen dürfen.
NOT: Sie hat hin küssen gedurft.
Wir haben sie nicht besuchen dürfen.
NOT: Wir haben sie nicht besuchen gedurft.
wollen
Wir haben Dich sehen wollen.
NOT: Wir haben dich sehen gewollt.
Ich habe mein Zimmer aufräumen wollen.
NOT: Ich habe mein Zimmer aufräumen gewollt.
sollen
Ich hätte ihn ihn sitzenlassen sollen.
NOT: Ich hätte ihn sitzenlassen gesollt
Die FDP hätte weiterverhandeln sollen
NOT: Die FDP hätte weiterverhandeln gesollt.
Note: here we see that this is also used in Konjunktiv clauses.
mögen
Sie hat mich nicht sehen mögen.
NOT: Sie hat mich nicht sehen gemocht.
können
Er hat nicht kommen können.
NOT: Er hat nicht kommen gekonnt.
Ich habe einfach nicht mehr weiterarbeiten können.
NOT: Ich habe einfach nicht mehr weiterarbeiten gekonnt.
sehen
Das habe ich kommen sehen
RATHER NOT: Das habe ich kommen gesehen
Note: that would be the answer to your actual question: With sehen and Perfekt wie usually use the Ersatzinfinitiv construction. It is just so.
hören
Wir haben ihn singen hören.
RATHER NOT: Wir haben ihn singen gehört.
Note: my personal impression is that with hören and sehen the Partizip Perfekit versions are still a viable option, but I am not sure how other native speakers would see this; perhaps I have a southern German bias here. E.g. in Swabian the usual form would be: I han de komma gsäa - Ich habe dich kommen gesehen, as opposed to I han it komma kenna - **Ich habe nicht kommen können".
Attention with longer infitive clauses
However, when the infivitive construction consists itself of more elements, e.g. instead of simple Wir haben hin singen hören rather
Wir haben ihn Geige spielen hören
or even
Wir haben ihn lang und ausgiebig Geige spielen hören
Wir haben ihn täglich lang und ausgiebig Geige spielen hören
it seems, the "regular" form of Perfekt comes back into play:
Wir haben ihn lang und ausgiebig Geige spielen gehört
Wir haben ihn täglich lang und ausgiebig Geige spielen gehört
as the preferable one.
RATHER NOT: Wir haben ihn täglich lang und ausdauernd Geige spielen hören
Let's try it with sehen:
(1) Das habe ich in dieser Eile nicht sich zutragen sehen
(2) Das habe ich in dieser Eile nicht sich zutragen gesehen
(3) Er hat sie gestern mit einem anderen rummachen sehen.
(4) Er hat sie gestern mit einem anderen rummachen gesehen.
In these pairs I find it difficult to decide which (1 or 2; 3 or 4) is the "better" or "more acceptable" or "unmarked" way to say it.
Anyway, both forms of expression are part of oral language, not so much written language - there you would choose other syntactical structures anyway, e.g.
Er hat gesehen, wie sie gestern mit einem anderen Zärtlichkeiten austauschte.
In dieser Eile konnte ich nicht erkennen, dass die Dinge sich in dieser Form entwickeln würden.
Semantical differentiation
As commenter PiedPieper correctly states, in longer infinitive clauses there may be a different meaning attributed to the two constructions:
Ich habe den Tsunami kommen gesehen (Normales Perfekt)
would mean a concrete situation of watching advance a concrete tsunami wave, whereas
Ich habe den Tsunami kommen sehen (Perfekt mit Ersatzinfinitiv)
would mean a general prediction that there would be a tsunami at some time in the future.
Let's try this once more:
Ich habe den Hamster laufen gelassen
seems to be meaning that the person speaking has done something so that the hamster could run (probably in his wheel), in any case some concrete activity, whereas
Ich habe den Hamster laufen lassen
would definitely tend to be meaning "I let him go", i.e. I opened the door of his cage, and possibly also the door of the house, and now he disappeared - probably for ever - in the garden.
However, these differences are really tiny. They will appear only when you juxtapose two sentences. Otherwise, it may well happen that Fritz says "Ich habe den Hamster laufen gelassen" and still means that he (the hamster) disappeared in the garden.
Trying a theory
I think a good hypothesis is: In cases where both normales Perfekt and Perfekt mit Ersatzinfinitv produce acceptable sentences, the proposition with Ersatzinfinitiv would mean something more "infinite", and the proposition with normalem Perfekt would mean some more "finite" action. By
Ich habe die drei Tenöre singen gehört
I focus on the fact that I have heart them (at whatever point in time). The important thing is that I did it. It is so to say one of my achievements in life. Nobody can take it away from me. It is a finite and finalised action. Whereas by
Ich habe die drei Tenöre singen hören
I rather focus on the very process of hearing them. I position myself in the situation of actual, ongoing listening. The action is not finalised, or perhaps more precisely: I present to my interlocutor a situation where I am in the middle of listening to the three singers.
However, it may well be that we are now over-stretching the rule of rules in language here. Probably all this is more a question of tradition ("things are being said just so"), and people use both forms of expression without really sensing a difference.
Note: this answer builds upon the answer by RedDwight to Question 70 in this forum (Why no perfect participle? "Sie hat sich scheiden lassen") and uses many of its examples, although with additional considerations.