Hur Apples ansiktsdetektering på enheten fungerar

Apple sköt idag ett nytt inlägg till sin Machine Learning Journal-blogg som lanserades under sommaren.

Det senaste blogginlägget, med titeln "Ett djup neuralt nätverk för ansiktsigenkänning", gör mycket för att detaljera resurskrävande processer för att känna igen ansikten i dina fotografier genom att utnyttja kraften från Apples specialbyggda processorer och GPU: er.

Apple erkänner att dess starka engagemang för användarnas integritet förhindrar att den använder molnens kraft för datorsynberäkningar. Dessutom krypteras varje foto och video som skickas till iCloud Photo Library på din enhet innan de skickas till iCloud och kan bara dekrypteras av enheter som är registrerade med iCloud-kontot.

Några av de utmaningar de mött när det gäller att få djupa inlärningsalgoritmer att köras på iPhone:

De djupinlärningsmodellerna måste levereras som en del av operativsystemet och ta upp värdefullt NAND-lagringsutrymme. De måste också laddas i RAM och kräver betydande beräkningstid på GPU och / eller CPU. Till skillnad från molnbaserade tjänster, vars resurser enbart kan ägnas åt ett synproblem, måste beräkning på enheten ske medan de delar dessa systemresurser med andra körande applikationer.

Det viktigaste är att beräkningen måste vara tillräckligt effektiv för att bearbeta ett stort fotobibliotek på rimligt kort tid, men utan betydande strömförbrukning eller termisk ökning.

DRICKS: Lär din iPhone eller iPad att känna igen människors ansikten

För att övervinna dessa utmaningar använder Apple BNNS och Metal för att låsa upp och fullt utnyttja kraften i sina inbyggda GPU: er och CPU: er som är inbyggda i iOS-enheter. Du kan faktiskt känna denna ansiktsdetektering på enheten på jobbet efter att du har uppgraderat till en ny iOS-version.

Detta uppmanar vanligtvis iOS att genomsöka hela fotobiblioteket och köra ansiktsdetekteringsalgoritmen på alla foton från början, vilket kan göra att enheten överhettas eller blir långsam tills Photos har slutat skanna ditt bibliotek.

Apple började använda djup inlärning för ansiktsdetektering i iOS 10.

Med lanseringen av det nya Vision-ramverket i iOS 11 kan utvecklare nu använda den här tekniken och många andra datorvisionsalgoritmer i sina appar.

Apple noterar att det står inför "betydande utmaningar" när det gäller att utveckla ramverket Vision för att bevara användarnas integritet och låta ramverket fungera effektivt på enheten.