iOS: Как да намерите степента на лицето в разпознаването на лица?

Мога да правя разпознаване на лица с помощта на приложението на Apple squareCam. Всичко работи добре, но сега искам да разпозная лице с наклонена позиция, което означава, че когато лицето е наклонено, да речем, от 30 до 35 градуса, искам да ги разпозная и според степента, на която искам да наклоня изображението за наслагване, за да задам лицето правилно.

Моля, помогнете ми, всяко предложение или идея се приемат или са поканени.

Благодаря предварително

Приятно кодиране :)


person The iOSDev    schedule 19.07.2012    source източник
comment
Аз съм изправен пред същия проблем. Също така загубих повече от седмица за това. Имате ли някакво решение?   -  person Maniganda saravanan    schedule 28.01.2017


Отговори (2)


Не съм сигурен, че е това, което търсите, но можете да използвате позициите на очите, за да определите ъгъла на наклон по този начин: (ако използвате услугата за разпознаване на лице на iOS)

CIFaceFeature *_selectedFace = // the face feature
float _rotationAngle = 0.f;
if (_selectedFace.leftEyePosition.x != _selectedFace.rightEyePosition.x) {
        _rotationAngle = atan((_selectedFace.leftEyePosition.y - _selectedFace.rightEyePosition.y) / (_selectedFace.leftEyePosition.x - _selectedFace.rightEyePosition.x));
}

АКТУАЛИЗИРАНЕ

след iOS7.0, CIFaceFeature има свойство само за четене, наречено faceAngle, което също може да помогне за определяне на ъгъла на лицето.

CIFaceFeature *_selectedFace = // the face feature
float _rotationAngle = _selectedFace.faceAngle;

можете да прочетете повече за собствеността в официалния CIFaceFeature Class Reference.

person holex    schedule 19.07.2012
comment
Благодаря за вашия отговор. Ще опитам това решение. - person The iOSDev; 20.07.2012
comment
съжалявам, но не осигурява необходимите ефекти. Осигурява някакъв ъгъл, но не е идеалният за завъртане на насложеното ми изображение - person The iOSDev; 20.07.2012
comment
това не е просто някакъв ъгъл. Направих проект, който състарява лицата на хората и за да позиционирам ефектите на стареене върху лицето, използвам този ъгъл, той работи перфектно. обаче не знам как изглежда вашето насложено изображение и какво точно представлява. - person holex; 20.07.2012
comment
да, добре е. И аз използвам примера на apples squrecam, за да направя изображение, същият код с известна модификация се използва за показване на изображения с наслагване - person The iOSDev; 20.07.2012
comment
доколкото знам, примерният проект SquareCam също използва CoreImage.framework за разпознаване на лица, така че работите CIFaceFeature. това е същото, което използвах. ако обаче услугата CoreImage не е достатъчно добра за вас, можете да създадете собствен алгоритъм за разпознаване на лица и тогава можете да получите повече подробности за изображението в този случай. - person holex; 20.07.2012
comment
Но нямам достатъчно познания за това как да създам алгоритъм за разпознаване на лица. - person The iOSDev; 20.07.2012
comment
каква е целта ви с разпознаването на лица? какво искате да направите с разпознатите лица на изображението? - person holex; 20.07.2012
comment
нека да продължим тази дискусия в чата - person The iOSDev; 20.07.2012
comment
@holex търся точно същото. Дори аз използвам faceangle, той не предоставя точните координати. Моля, проверете въпроса тук stackoverflow. com/questions/41829807/ - person Maniganda saravanan; 29.01.2017
comment
ARFaceAnchor би бил идеален. За съжаление обаче, ARFaceAnchor е съвместим само с iPhone X+ (има нужда от камера TrueDepth), но AVMetadataFaceObject има ъгли на ролка и отклонение. - person Chewie The Chorkie; 29.01.2020

CIFaceFeature вече има свойство faceAngle

https://developer.apple.com/library/prerelease/ios/documentation/CoreImage/Reference/CIFaceFeature/index.html#//apple_ref/occ/instp/CIFaceFeature/faceAngle

person benjaminhallock    schedule 02.03.2016
comment
Отговорът ми не беше отметнат и гласуван против, а коментарите бяха изчистени. Благодаря, че ми открадна отговора. - person benjaminhallock; 31.03.2016