Persoonlijke aanbevelingen voor video's gebaseerd op gezichtsherkenning

Ine Coppens
Het onderzoek naar en de ontwikkeling van een aanbevelingssysteemalgoritme voor films gebaseerd op gezichtsdetectie en -herkenning. De ontwikkelde applicatie berekent de filmbelevenis van de kijkers met behulp van emotiedetectie, gedragsanalyse en aandachtmeting. Met de berekende informatie wordt later een persoonlijke groepsaanbeveling gegenereerd voor het aanwezige publiek.

Aanbevolen door jouw emoties

Wanneer was de laatste keer dat je samen met vrienden of familie thuis een film wou bekijken en de keuzestress zorgde voor discussies in de woonkamer? De gewone aanbeveling van Netflix is wel geschikt voor jou alleen, maar niet altijd voor het publiek naast je. Je kleine broertje kijkt namelijk niet zo graag naar enge horrorfilms en je oudere zus heeft de helft van de aanbevolen films reeds gezien. Zou het niet handig zijn dat je een selectie van films krijgt die meteen is afgestemd op iedereen voor de televisie? De app die hier wordt voorgesteld, maakt gebruik van verschillende toepassingen van gezichtsdetectie om dit te realiseren.

 

De app doet (bijna) alles voor jou

De app waarmee films kunnen worden bekeken op jouw smartphone, tablet of smart tv maakt een einde aan manuele aanmelding met logins en wachtwoorden. De camera boven het scherm detecteert automatisch de gezichten van de aanwezige personen. De app identificeert de mensen voor het scherm met behulp van gezichtsherkenning en meldt deze personen aan. Per gebruiker houdt het systeem informatie bij over het gezicht, de leeftijd, het geslacht en filmvoorkeuren. Het grote verschil met bestaande gebruikersprofielen is dat mensen hier nooit zelf manueel deze informatie moeten ingeven: de foto van het gezicht wordt automatisch genomen, leeftijd en geslacht worden geschat met gezichtsdetectiesoftware en filmvoorkeuren kunnen worden afgeleid uit leeftijd, geslacht en de kijkgeschiedenis van de gebruiker. De volledige app draait erom dat gebruikers nooit iets manueel moeten ingeven via het toetsenbord. Het enige wat ze moeten doen, is de app openen en op de startknop van hun gekozen film klikken.

Elk gezicht wordt geïdentificeerd met gezichtsherkenningssoftware. De gebruikers  worden aangemeld en hun leeftijd en geslacht worden geschat.

Elk gezicht wordt geïdentificeerd met gezichtsherkenningssoftware. De gebruikers worden aangemeld en hun leeftijd en geslacht worden geschat.

 

Een aanbeveling op maat van alle aanwezige kijkers

Het systeem weet aan de hand van de verzamelde geschiedenis wie welke films reeds gezien heeft en zal bijgevolg nooit een film aanraden indien één van de aanwezige personen deze al bekeken heeft. De app weet ook dat jouw kleine broertje te jong is voor enge horrorfilms waardoor de aanbeveling ook deze films niet zal bevatten. Maar de app weet zelfs meer dan dat. Terwijl je naar een film kijkt, zal de camera ook continu beelden maken van de gezichten van de kijkers. Op deze foto’s past de app emotieherkenning, aandachtdetectie en gedragsanalyse toe. De emotieherkenning bestaat uit het detecteren van zes basisemoties: blijheid, verdriet, walging, angst, verrassing en boosheid. Analyse van het aandachtniveau registreert of het hoofd en de ogen van de kijkers gericht zijn naar het scherm. Tenslotte registreert de app ook het gedrag van de kijkers. Een kijker die vaak de mond of ogen bedekt of de ogen sluit tijdens het kijken naar een horrorfilm vindt de film waarschijnlijk te eng. Met al deze informatie kan de app voor elke kijker inschatten wat deze van de film vond. Indien iemand veel lacht tijdens een komedie en continu de aandacht houdt, weet de app dat deze persoon de film leuk vindt en kan het in de toekomst een gelijkaardige film aanraden voor deze persoon. Iemand die bij diezelfde film nooit lacht en vaak wegkijkt, vindt de film waarschijnlijk niet zo leuk en de app registreert dit in de kijkgeschiedenis van de persoon. Hoe meer films de gebruikers kijken, hoe meer informatie het systeem kan verzamelen over de voorkeuren en hoe beter het aanbevelingssysteem zijn werk kan doen.

De app genereert een lijst van aanbevolen films die afgestemd is op alle aanwezige kijkers.

De app genereert een lijst van aanbevolen films die afgestemd is op alle aanwezige kijkers.

 

Een testpubliek toont de emoties bij enkele grappige en enkele minder grappige fragmenten

Het volledige systeem werd getest door twintig testpersonen die naar zes korte filmfragmenten keken. De fragmenten werden zo gekozen dat ze elk één van de zes basisemoties in grote mate bevatten. Zo is er bijvoorbeeld een fragment waarin veel humor aanwezig is en een ander fragment waarvan mensen koude rillingen krijgen en verschillende keren verrast worden. Terwijl de testpersonen naar de fragmenten keken, werden foto’s van hun gezichten gemaakt waarop de emotieherkenning, aandachtdetectie en gedragsanalyse werd toegepast. De gebruikerstest leverde op die manier de nodige data voor de evaluatie van de app. Uit de testen bleek dat testpersonen voornamelijk de blije emotie tonen en minder emoties van angst, verdriet en boosheid. Het is dus makkelijker om de filmervaring van kijkers bij grappige films in te schatten dan bijvoorbeeld bij een horrorfilm. Uit de testen bleek ook dat de detectie van het aandachtniveau en gedragingen kunnen helpen bij de inschatting van de filmbelevenis van de kijkers.

De testpersonen tonen verschillende emoties en gedragingen bij het  kijken naar de verschillende filmfragmenten.

De testpersonen tonen verschillende emoties en gedragingen bij het kijken naar de verschillende filmfragmenten.

 

De toekomst van televisiekijken

Dankzij de combinatie van de detectie van emoties, aandacht en gedrag kan de filmervaring van elke kijker worden bijgehouden. Bijkomende informatie over leeftijd en geslacht helpen het systeem om relevante aanbevelingen te genereren. De volgende keer wanneer jullie een film willen kiezen, zal deze app verschillende films voorstellen waarmee zowel je broertje en je oudere zus als ook jijzelf tevreden zijn. Gedaan met discussies tijdens het kiezen van de film en gedaan met manuele aanmeldingen. We zitten in de toekomst van televisiekijken en het enige wat jullie vanaf nu nog moeten doen, is jullie gezicht tonen en natuurlijk ook jullie emoties. Vergeet dus zeker niet te lachen voor de camera!

Bibliografie

[1] “Face++ cognitive services,” https://www.faceplusplus.com, 2018, accessed: March 29, 2018. [2] B. Ali, Y. Ayaz, M. Jamil, S. Gilani, and N. Muhammad, “Improved method for stereo vision-based human detection for a mobile robot following a target person,” South African Journal of Industrial Engineering, vol. 26, pp. 102 – 119, May 2015. [Online]. Available: http://www.scielo.org.za/scielo.php?script=sci_arttext&pid=S2224-789020… [3] A. Harvey, “Opencv face detection: Visualized,” https://vimeo.com/12774628, June 2011, accessed: March 27, 2018. [4] ——, “Haarcascadevisualizer,” https://github.com/adamhrv/HaarcascadeVisualizer, 2012, accessed: March 27, 2018. [5] “Microsoft cognitive services,” https://azure.microsoft.com/en-us/services/cognitive-services/, 2018, accessed: March 29, 2018. [6] “Internet movie database (imdb),” http://www.imdb.com/, 2018, accessed: March 29, 2018. [7] J. Masthoff, “Group recommender systems: Combining individual models,” in Recommender Systems Handbook, F. Ricci, L. Rokach, B. Shapira, and P. B. Kantor, Eds. Boston, MA: Springer US, 2011, pp. 677–702. [8] F. Ricci, L. Rokach, and B. Shapira, “Introduction to recommender systems handbook,” in Recommender Systems Handbook, F. Ricci, L. Rokach, B. Shapira, and P. B. Kantor, Eds. Boston, MA: Springer US, 2011, pp. 1–35. [9] D. Jannach, M. Zanker, A. Felfernig, and G. Friedrich, Recommender Systems: An Introduction, November 2010, pp. 1–24. [10] B. Lika, K. Kolomvatsos, and S. Hadjiefthymiades, “Facing the cold start problem in recommender systems,” in Expert Systems with Applications: An International Journal, vol. 41. Tarrytown, NY, USA: Pergamon Press, Inc., March 2014, pp. 2065–2073. [11] M. S. Chauhan and M. Sakle, “Study and analysis of different face detection techniques,” International Journal of Computer Science and Information Technologies, vol. 5, 2014. [12] M.-H.Yang, D.J.Kriegman, andN.Ahuja, “Detectingfacesinimages: asurvey,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 24, no. 1, pp. 34–58, Jan 2002. [13] P. R. Borude, S. Gandhe, P. Dhulekar, and G. Phade, “Identification and tracking of facial features,” in Procedia Computer Science, vol. 49. Elsevier, 2015, pp. 2–10. [14] C. Zhang and Z. Zhang, “A survey of recent advances in face detection,” Tech. Rep., June 2010. [Online]. Available: https://www.microsoft.com/en-us/research/publication/ a-survey-of-recent-advances-in-face-detection/ [15] E. Hjelmås and B. K. Low, “Face detection: A survey,” Computer Vision and Image Understanding, vol. 83, pp. 236–274, 2001. [16] R.-L. Hsu, M. Abdel-Mottaleb, and A. K. Jain, “Face detection in color images,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 24, no. 5, pp. 696–706, May 2002.
[17] G. B. Huang, M. A. Mattar, T. L. Berg, and E. G. Learned-Miller, “Labeled faces in the wild: A database for studying face recognition in unconstrained environments,” 2008. [18] P. Domingos, “A few useful things to know about machine learning,” Commun. ACM, vol. 55, no. 10, pp. 78–87, Oct. 2012. [Online]. Available: http://doi.acm.org/10.1145/2347736.2347755 [19] P. Viola and M. J. Jones, “Robust real-time face detection,” International Journal of Computer Vision, vol. 57, no. 2, pp. 137–154, May 2004. [20] C. P. Papageorgiou, M. Oren, and T. Poggio, “A general framework for object detection,” in Sixth International Conference on Computer Vision (IEEE Cat. No.98CH36271), Jan 1998, pp. 555–562. [21] C. Darwin, The Expression of the Emotions in Man and Animals. John Murray, 1872. [22] R. E. Jack, O. G. B. Garrod, H. Yu, R. Caldara, and P. G. Schyns, “Facial expressions of emotion are not culturally universal,” Proceedings of the National Academy of Sciences, vol. 109, no. 19, pp. 7241–7244, 2012. [Online]. Available: http://www.pnas.org/content/109/19/7241 [23] I. Maglogiannis, D. Vouyioukas, and C. Aggelopoulos, “Face detection and recognition of natural human emotion using markov random fields,” Personal and Ubiquitous Computing, vol. 13, no. 1, pp. 95–101, Jan 2009. [Online]. Available: https://doi.org/10.1007/s00779-007-0165-0 [24] M. B. Mariappan, M. Suk, and B. Prabhakaran, “Facefetch: A user emotion driven multimedia content recommendation system based on facial expression recognition,” in 2012 IEEE International Symposium on Multimedia, Dec 2012, pp. 84–87. [25] L. Pauly and D. Sankar, “A novel online product recommendation system based on face recognition and emotion detection,” in 2015 International Conference on Control, Instrumentation, Communication and Computational Technologies (ICCICCT), Dec 2015, pp. 329–334. [26] S. Clippingdale, M. Okuda, M. Takahashi, M. Naemura, and M. Fujii, “Level-of-interest estimation for personalized tv program recommendation,” in 2013 IEEE International Conference on Consumer Electronics (ICCE), Jan 2013, pp. 671–672. [27] B. Yan, S. Yu, T. Pei, and Y. Hu, “Vision interaction method based on visual attention mechanism,” in 2017 12th IEEE Conference on Industrial Electronics and Applications (ICIEA), June 2017, pp. 930–935. [28] R. Valenti, N. Sebe, and T. Gevers, “Combining head pose and eye location information for gaze estimation,” IEEE Transactions on Image Processing, vol. 21, no. 2, pp. 802–815, Feb 2012. [29] A. Strupczewski, B. Czupryński, J. Naruniec, and K. Mucha, “Geometric eye gaze tracking,” January 2016, pp. 444–455. [30] D. Johnson and R. Cuijpers, “Predicting gaze direction from head pose yaw and pitch,” January 2013, International Conference on Image Processing, Computer Vision and Pattern Recognition. [31] M. García, J. Lucas, V. Batista, and M. Vicente, “Semantic based web mining for recommender systems.” in Distributed Computing and Artificial Intelligence. Advances in Intelligent and Soft Computing. Berlin, Heidelberg: Springer Berlin Heidelberg, 2010, pp. 17–25. [32] L. H. Son, “Dealing with the new user cold-start problem in recommender systems: A comparative review,” in Information Systems, vol. 58, June 2016, pp. 87–104. [33] “Movielens dataset,” https://grouplens.org/datasets/movielens/, accessed: February 20, 2018. [34] H. Liu, Z. Hu, A. Mian, H. Tian, and X. Zhu, “A new user similarity model to improve the accuracy of collaborative filtering,” in Knowledge-Based Systems, vol. 56, January 2014, pp. 156–166. [35] B. Hallinan and T. Striphas, “Recommended for you: The netflix prize and the production of algorithmic culture,” vol. 18, pp. 117–137, January 2016. [36] J. Titcomb, “Netflix codes: The secret numbers that unlock thousands of hidden films and tv shows.”
[37] “Face api - v1.0,” https://westus.dev.cognitive.microsoft.com/docs/services/ 563879b61984550e40cbbe8d/operations/563879b61984550f30395239, 2018, accessed: May 17, 2018. [38] “Kairos,” https://www.kairos.com, 2018, accessed: March 29, 2018. [39] “Microsoft face api: Android client library and sample,” https://github.com/Microsoft/CognitiveFace-Android, 2018, accessed: May 16, 2018. [40] “Face api documentation,” https://docs.microsoft.com/en-us/azure/cognitive-services/face/, 2018, accessed: March 5, 2018. [41] “Android developer,” https://developer.android.com/guide/index.html, 2018, accessed: March 5, 2018. [42] “Faceplusplus sdk,” https://github.com/FacePlusPlus/java-sdk/tree/master/java-sdk, 2018, accessed: May 16, 2018. [43] “Facerecognitionflowpilots,” https://github.com/code-mc/FacerecognitionFlowpilots/tree/master/ app/src/main/java/net/steamcrafted, 2018, accessed: May 16, 2018. [44] “Chicago face database version 2.0.3,” http://faculty.chicagobooth.edu/bernd.wittenbrink/ cfd/index.html, July 2016, accessed: March 2, 2018. [45] T. Kanade, J. F. Cohn, and Y. Tian, “Comprehensive database for facial expression analysis.” Proceedings of the Fourth IEEE International Conference on Automatic Face and Gesture Recognition (FG’00), Grenoble, France, pp. 46–53, 2000. [46] P. Lucey, J. F. Cohn, T. Kanade, J. Saragih, Z. Ambadar, and I. Matthews, “The extended cohnkanade dataset (ck+): A complete expression dataset for action unit and emotion-specified expression.” Proceedings of the Third International Workshop on CVPR for Human Communicative Behavior Analysis (CVPR4HB 2010), San Francisco, USA, pp. 94–101, 2010. [47] “Android operating system by Google,” https://www.android.com/, 2018, accessed: March 17, 2018. [48] “Room persistence library,” https://developer.android.com/topic/libraries/architecture/room.html, 2018, accessed: March 17, 2018. [49] “Youtube android player API,” https://developers.google.com/youtube/android/player/, 2018, accessed: March 17, 2018. [50] “Commonsensemedia,” https://www.commonsensemedia.org/about-us/our-mission, 2018, accessed: March 17, 2018. [51] “Samsung België,” http://www.samsung.com/be/, 2018, accessed: March 17, 2018. [52] T. Segaran, Programming collective intelligence: building smart web 2.0 applications. O’Reilly Media, December 2008, pp. 9–28. [53] J. Bishop, C# 3.0 Design Patterns. O’Reilly Media, Inc, Usa, February 2009. [54] “Documentation: Application,” https://developer.android.com/reference/android/app/Application, 2018, accessed: May 14, 2018. [55] “Accessing data using room daos,” https://developer.android.com/training/datastorage/room/accessing-data, 2018, accessed: May 16, 2018. [56] “Camerahelper.java,” http://www.androiddocs.com/samples/BasicMediaDecoder/src/com.example. android.common.media/CameraHelper.html, 2018, accessed: May 16, 2018. [57] “Microsoft emotion api: Android client library and sample,” https://github.com/Microsoft/Cognitive-Emotion-Android, 2018, accessed: May 16, 2018. [58] “Camera api,” https://developer.android.com/guide/topics/media/camera, 2018, accessed: May 16, 2018.
[59] “Build effective unit tests,” https://developer.android.com/training/testing/unit-testing/, 2018, accessed: May 3, 2018. [60] “Developing android unit and instrumentation tests - tutorial,” http://www.vogella.com/tutorials/AndroidTesting/article.html, 2018, accessed: May 3, 2018. [61] “Test app component integrations,” https://developer.android.com/training/testing/integrationtesting/, 2018, accessed: May 3, 2018. [62] “Face api frequently asked questions,” https://docs.microsoft.com/en-us/azure/cognitiveservices/face/faq, 2018, accessed: June 5, 2018. [63] “Configure on-device developer options,” https://developer.android.com/studio/debug/dev-options, 2018, accessed: May 3, 2018. [64] F. Ricci, L. Rokach, B. Shapira, and P. B. Kantor, Eds., Recommender Systems Handbook. Boston, MA: Springer US, 2011.
 

Universiteit of Hogeschool
Master in de industriële wetenschappen: informatica
Publicatiejaar
2018
Promotor(en)
dr. ir. Toon De Pessemier, prof. Luc Martens
Kernwoorden