Karnkumar Dalmia – Week of Feb. 18th
This week, our group showed a lack of progress, spawning from a combination of different issues. First off, we originally planned to use OpenPose, a CMU made limbic-movement detection software to track limbic movements of swimmers, and then classify one of five outputs (four standard strokes + other). For both macOS and Linux (Ubuntu), there were several problems building the software locally, mostly dealing with GPU related issues. As a consequence, we wasted about 1-2 weeks trying to set up a product we now know we’re not going to use. Secondly, a teammate requested the aquatics director to mount a camera on the top of the pool to record aerial swim footage, which was ultimately denied; this left us with no stable swimming footage as online videos’ camera angles change often. Fortunately we found some light.
In particular, these past few days, we learned of and agreed to use OpenCV, a computer vision language available in C++ and Python. Insofar, our team has found no issues pip installing it on Python3. Moreover, we read online and saw demos delineating OpenCV supports all the video processing we plan to do, everything from detecting pool edges, to segmenting the video via lane-lines, to motion detection and limbic movement tracking. We felt hopeful that at least we can build a decent project in a relatively easy programming language with one package. Additionally, we found some stable footage of swimming races that could be used as input.
Lastly, we discussed two more aspects to our project. First, one of our teammates was quite excited to spatially parallelize the code by segmenting the video via lane-line using GPU programming (CUDA), and examining each swimmer independently . Since buying any CUDA appliance is relatively expensive, we discussed whether to rent EC2 P2 instances for the GPU capability with the $600 allocated budget. Secondly, our team discussed how to deploy the project on a web-app, talking details of start/stop triggers to time swimmers, as well as detect when a swimmer is finished on the web-app itself. Fortunately, two of three team members have had web-app development experience, at least one of whom claimed the relative ease of deploying the app.
In short, we are hopeful of the project given recent developments, but still have a long way to go with many potential roadblocks that could arise.