MARVIN: The Paranoid Tester
My maker project explored the area of testing for Cyber-physical systems (CPS). While I was not able to build a test harness in the time available and for $200 as originally intended, I was able to create a prototype of an interactive exhibit that affords a user a chance to interact with a facial-recognition system. The user can change which model is used within the exhibit, and also the accuracy of the system. The intent was to bring transparency to how CPS systems are created and the design choices made by the engineers involved.
Motivation
We can only begin to interrogate CPS if we can understand how they were built, by whom, for what purpose and the intended user base. We need to understand the quality control processes that they were subjected to and the external validation of these processes. Without this it makes it difficult for even the most educated user to make informed decisions when selecting technology. This was illustrated aptly in the film Coded Bias, where the MIT researcher Joy Buolamwini only became aware of the bias in the computer vision software she was using in an art project as she used it. Mikaela Jade spoke at 3ai of the hurt and distress she felt in culturally inappropriate and insensitive holographic programs. If these skilled practitioners are unable to be aware of the risks in using these systems until after exposure, then the general public is hardly in a better position to provide informed consent.
My motivation then was to create a display that would help educate those who interact with it as to how these types of systems are built and how the choices of the designers and engineers can impact the operation of the system.
Prototype
The video describes the operation of the system.
Components
MARVIN was built with the following components:
Facial Recognition 'Black Box'
1 x Raspberry PI & Touchscreen
1 x Raspberry PI camera
Picture Frame
3D printed casing for electrical components
Coral EdgeTPU device
Teachable Machines ML models & Python code
Celebrity datasets. Data from 3AI Masters Cohort
Remote Control
1 x Raspberry PI & Touchscreen
3D printed case
Python & FLASK website
External Dependancies
Network: remote control & Black Box connect via TCP/IP (sockets)
New Skills
3D printing: I learnt the basics of printing, using pre made designs and splicing them to fit the printer. I also learnt the importance on ensuring that the models are positioned flat on the printer surface as otherwise they have a chance of failing.
Machine Learning Models: built through Teachable Machines. I became familiar with the process of training these models as well as how to invoke them from Python code.
CPS System design: practical understanding of how the physical and cyber elements coalesce, as well as knowledge derived from the demo day as to how humans interact with the systems
FLASK: basic website design in Python
If I had my time over again…..
Pivot earlier in the process- the clear advice I got from demo day was that the scope was too broad and I did not heed this advice until a few weeks later
Don’t assume that components will be easy to deliver just because I had built them before: the website was the failure point in the prototype. I left this to last as I had built many websites and should have started it earlier.
Environments - should have sought help in ensuring I had a stable development environment. Many hours were spent trying to configure the EdgeTPU device to run on either my laptop or on the raspberry PI's
Component Failures: I had a number of component failures that too time to rectify, including the infra-red camera I have purchased. These may have been avoided if I have printed the casing for the components earlier in the development cycle.
Acknowledgments
Johan- introduced me to the Coral device and also https://teachablemachine.withgoogle.com/
Matt - last minute website help
Chloe- saved me a few hours by alerting me that the example code from teachable machines did not work
Kathy Reid, Sam and Zac- sounding boards for ideas, research directions, insight into test frameworks for code.
Jake- hands on walkthrough of 3D printing (without which I would not have been confident to use the printer)
Paul, Mina, Katherine, Andrew - inspiration and research direction. Paul especially for pointed feedback after the demonstration to the cohort about the idea being too abstract.
Reflections
From a build perspective the maker project was an opportunity to synthesise our learnings across the semester. It also demonstrated the significance of Cohort learning as we were able to relay on each other for advice and feedback during the project. The CPS analysis task allowed us to imagine ours systems at scale and for me this helped crystallise my prototype. When reflecting on the key questions to arise out of the analysis, I found myself retuning to the choices and responsibility of the engineers involved. This informed my prototype as I adjusted the interactive unit to give the user a sense of the design choices made by engineers and their knock-on effect to the CPS. While the system is only a prototype at the moment, there are a number of areas of improvement. The are:
Further AI Models: to increase the choices available to the user when exploring the system.
Voice Recognition capability: to explore design tradeoffs when using voice recognition software
Enhanced Camera: for increase picture quality.