my projects > my dissertation
colorimetric analysis of smart wound dressings
My final year project at university involved the development of an application for Android mobile devices that would be used alongside colour-changing wound dressings developed by the QUB chemistry department. These dressings were designed to change colour in reaction to the state of a wound; if it became infected, more CO2 would be produced and absorbed by the bandage, causing the change in colour.
what i used:
- Android Studio
- Java
- PHP
- MySQL
- OpenCV
The main application was written in Java for Android devices running Android 11, and some PHP and MySQL was used to allow users to create 'accounts' in order to safely store their images and analysis in a database with username/password protection.
what the project entailed
The application would allow a user to take/upload an image of their bandage in order to know information about their wound without removing the bandage. This is because most infections will occur during inspection or replacement of dressings. The RGB values of pixels in the colour-changing segment of the bandage would then be used to check whether the wound has become infected - the segments would start blue, but then turn more orange/yellow as more CO2 is absorbed. The application returns the analysis, and the user knows whether they need to see a doctor.
the difficulties
I quickly learned the basics on the mobile side of things - setting up a basic UI using Android Studio was very intuitive, and I even created my own in-app camera function to eliminate some of the platform-dependency. There are near infinite resources online for simple database stuff, so the PHP/MySQL side of things was a comparative walk in the park versus my great battles with OpenCV.
I used OpenCV to automatically detect and analyse the bandages, and with colour accuracy being the main concern, this presented a near-endless list of problems; how will it know where the bandage is? What effect will lighting have on the analysis? Are different cameras going to change results? It soon became clear that I would have to focus more on researching the problem before I could create a robust solution. Let's instead make a very basic app that has some primary functions with the goal of analysing the lighting's effect on results.
I got the basic bandage detection to work after some wrestling with edge detectors, and a lot of calculations later the results obtained were promising. It seemed that consistent discernable colour changes could be detected across different lighting temperatures, and that with some more fine tuning it may be accurate enough to use medically.
what i learned
Before starting this project I had never tried mobile app development, used OpenCV, or learned any PHP. On top of this, the medical nature of the problem to be solved meant all of these factors combined definitely made it the most challenging but rewarding thing I've tackled yet.
On the technical side of things I learned the basics of mobile application development on Android, along with my first bit of PHP, but the hardest stuff was definitely the OpenCV library. It allowed me a greater appreciation for anything computer vision related.
Overall, this project provided more for me in terms of personal skills; having to follow the entire life cycle from planning to evaluation let me hone skills that I can apply in almost any situation. I had a real chance to improve my organisation and time management through a larger project like this, constantly meeting small deadlines and not letting any one part of the system fall behind.