2013-05-28 5 views
8

Ich versuche die AVMetadataFaceObject zu verwenden, um das Gieren und Rollen eines Gesichts in einem Video zu erhalten. Von dem, was ich sagen kann, ist die Präzision des Gierens in Schritten von 45 Grad und die Rolle ist in Schritten von 30 Grad.AVMetadataFaceObject Precision

Gibt es eine Möglichkeit, diese Präzision zu erhöhen?

(Code wie in Proper usage of CIDetectorTracking gesehen).

+0

Was hat Sie jemals glauben gemacht, dass es so ungenau war? Die Dokumente lassen es so erscheinen, als ob Sie einen Fließkomma-Genauigkeitswert von 0 bis 90 in Dezimalschritten erhalten. – CodaFi

+0

Das ist, was ich erwarten würde, aber wenn ich die Ausgabewerte protokolliere, springt es in 45-Grad-Schritten. Also, wenn mein Kopf vertikal ist, heißt es 0. Wenn ich anfange, meinen Kopf zu neigen, bleibt er bei 0, und nachdem er eine bestimmte Neigung erreicht hat, springt er. – Liron

Antwort

1

Sie können die Rechtecke der Augen erhalten und den Winkel selbst berechnen. Sie sollten die hier in iOS 7 vorgenommenen Änderungen untersuchen, da es in diesem Bereich viele Verbesserungen gibt.

+0

Ich werde auf jeden Fall prüfen, was IOS7 zu bieten hat. – Liron

+4

Wie bekommen Sie die Augenpositionen? Von dem, was ich in den Dokumenten sehe, hat das AVMetadataFaceObject nur die Gier-/Tonhöhen- und Gesichtsgrenzen. Sie können den CIDetector oder etwas Ähnliches verwenden, um eine genauere Gesichtserkennung durchzuführen, aber das verbraucht mehr CPU und macht meine App lückenhaft. – Liron

+0

Das ist alt und ein alter Thread: aber Sie erhalten Augenposition von Core Graphics Gesichtserkennung. Es ist langsamer als AVF, aber gibt mehr Details (Augen und Mund) und Präzision. –