Reading Guide
An summary of the portfolio and an introduction to myself, the project and its structure.
Myself and the project
My name is Teague Murray-Marshall, and I will be kicking off this portfolio with a short introduction introducing both myself and my internship project.
Here is a personal introduction. As for my project: The goal of the project is to develop a pipeline whereby the realism of AI-generated avatars can be validated. This means that I will continue to work on previous research into AI-generated avatars. The current situation and my plans to add to it can be found in my Project Plan, Project Goals and Project Context.
The goal of this portfolio is to indicate what I have worked on, why I prioritise something at any given time and what my methodology is. In this, I hope to offer a glimpse into the how behind the what. Other documentation will be linked where necessary.
The company
The Interaction Design lectorate presides over all (serious) game or interaction design related research projects within Fontys. Though it used to be directly involved with the creation of serious games, it has now transitioned to what it calls "play as a service". In this, it aims to use games or game technology as a solution to various problems in complex industries.
These goals are realised by working together with various other organisations, such as the TU/e or various government agencies. There is also a collaboration with students, which was the catalyst for my internship. More information can be found here.
Problem Statement
Design Challenge
The design challenge is as follows:
"Implement a cloud-based pipeline that can provide concrete feedback on the realism of (a) provided image(s) or video(s) of an AI-generated avatar so that the developers of the avatars can verify the applicability thereof in social situations and ensure continued immersion in the interaction."
This rather elaborate design challenge can be split into multiple parts which will need separate verification along with the general verification throughout the project.
A pipeline should be created that is cloud based with the techniques and properties one would expect of such an application.
It should aid the verification of avatar realism.
Developers need a concrete way to check and verify the results of the analysis.
Shifting Emphasis
As the project progressed, it was clear that while the overall project should stay more or less the same, the emphasis should be shifted from the analysis itself to the supporting architecture and pipeline. The analysis itself requires more data science expertise, which is best suited to a follow-up project.
The main deliverable of the project is now the pipeline itself. This means the architecture and modularity of the project take precedence.
Phases
Analysis
Before anything could be implemented, it was important to get a good idea of the context - both of the related domain (analysing faces) and the project as a whole. The pipeline can broadly be split into three parts: getting metrics, analysing them and returning the data. Each of these steps required further research. My aim was to reflect these in the research questions:
- What makes certain facial expressions realistic?
More info: What Makes a Face Realistic?
- How will I create a service that can use the results from the analysis to determine whether a face is realistic?
More info: OpenFace Container, Analysis Module, Comparison of the Available Facial Analysis Frameworks
- What technological choices (frameworks, languages, facial analysis library etc.) best suit the project?
More info: Interfacing With OpenFace: C++ & Terminal, Choosing (a) Language(s)/Framework(s)
- How can I interface with the desired facial analysis library?
More info: Interfacing With OpenFace: C++ & Terminal
- What kind of results are important to the users of this pipeline?
More info: Target Audience
- How will results and/or analysis differ in videos vs. still images or posed vs in-the-wild shots?
This research question was of lesser importance due to the emphasis shift from the results of the analysis to the supporting architecture.
More info on general analysis validation: Functional Validation
Design
Once the initial analysis was finished and I had a more complete overview of the project and its goals, I worked on the technical design of the pipeline.
The initial flow was described early on, upon which I could base my technical design. This technical design was done with the input of Mark Klerkx on the Azure infrastructure and Bartosz Paszkowski on the software engineering and is described in the Software Architecture section. All concepts in the pipeline are seen in the data flow. The main overview of the pipeline is in the C4 Model.
User experience (UX) is of relatively little impact on this project, as it is more focused on sound architectural choices. The front-end has little for users to interact with, but the considerations made are described in the Front-End page.
At the end of the design process I came to an up-to-date MVP.
Realisation and Evaluation
Now that analysis and design are covered, what remains is the actual implementation of the project and the subsequent validation.
The core of the implementation is in the different modules: Front-End, OpenFace Container, Analysis Module, Reporting Module, Data Storage and Azure Functions. In order to connect my various applications, I made use of different Azure services (mainly the BLOB Storage and Azure Functions). More on that can be found in the Deploying to Azure page.
As time is limited, certain features or non-functionals have had to be cut. These and other suggestions to expand the application are mentioned in the Final Recommendations section.
Reflection
Reflecting on the project, its goals and my personal goals are core parts of ensuring the project was a success.
A reflection on the goals of the project and my personal thoughts surrounding it can be seen in the Evaluation and Conclusion section. Furthermore, I reflect on each personal goal in its own corresponding section: Technological Skill and Proficiency, Research-Based Decision Making, Independent Development and Career Prospects.
Last updated
Was this helpful?