2013-05-28 14 views
8

Sto provando a utilizzare lo AVMetadataFaceObject per ottenere l'imbardata e il rotolo di una faccia in un video. Da quello che posso dire, la precisione della imbardata è in incrementi di 45 gradi e il rotolo è in incrementi di 30 gradi.AVMetadataFaceObject Precision

C'è un modo per aumentare questa precisione?

(Codice come visto in Proper usage of CIDetectorTracking).

+0

Cosa ti ha fatto pensare che fosse impreciso? I documenti fanno sembrare che si ottenga un valore di precisione a virgola mobile da 0 a 90 in incrementi decimali. – CodaFi

+0

Questo è quello che mi aspetterei, ma quando registro i valori di output, salta con incrementi di 45 gradi. Quindi se la mia testa è verticale, dice 0. Quando inizio a inclinare la testa, rimane a 0, e dopo aver raggiunto una certa inclinazione, salta. – Liron

risposta

1

È possibile ottenere i rettangoli degli occhi e calcolare l'angolo da soli. Dovresti studiare le modifiche apportate qui in iOS 7, poiché ci sono molti miglioramenti in quest'area.

+0

Controllerò sicuramente cosa ha da offrire ios7. – Liron

+4

Come si ottengono le posizioni dell'occhio? Da ciò che vedo nei documenti, AVMetadataFaceObject ha solo i limiti di imbardata/beccheggio e faccia. È possibile utilizzare CIDetector o qualcosa del genere per eseguire un rilevamento del viso più accurato, ma che utilizza più CPU e rende la mia app troppo lenta. – Liron

+0

Questo è vecchio e vecchio thread: ma si ottiene la posizione dell'occhio dal rilevamento del viso di Core Graphics. È più lento di AVF, ma fornisce più dettagli (occhi e bocca) e precisione. –