Happy August, Everyone! It’s really hard and sad to believe that it’s nearing the end of week 10. The time here has gone by so fast and slowly at the same time. We’ve done so much in our nine weeks here–traveling by trains, planes, and automobiles (and motorbikes, autos, buses, and vans) to Bombay, Madurai, Mysore, and Hampi. We’ve done endless crosswords, read some books, played monopoly, mafia, chess, checkers, cards against humanity, and cricket. We’ve gotten tangled in saris, had to have our English translated to English, paid foreigner fees at temples, and repeatedly tried to get into the driver’s sides of cars. We’ve gotten to the point where we see people we know out at restaurants in the city, and I’ve learned a few words of Hindi, including asking people’s names, counting, and of course, swearing.
I remember walking to my iSTEP interview early on a freezing morning in December. I remember wondering as I walked down 5th Avenue through the slush and ice how different things would be if I was offered, and accepted, the internship. I was mostly thinking along the lines of the weather, but in retrospect, I should have been thinking much beyond that (and should have known Bangalore isn’t very warm in the “summer”). I’ve mentioned some of the more tangible differences before, but there have been others as well. My time here has made me a more relaxed and adaptable person, and has taught me to work in all sorts of interesting scenarios. I think my time in India has been invaluable to me, both from the perspective of the work I’ve been able to do and the things I’ve been able to experience. I feel like when I land in Boston in about a week, I’ll be a different person than when I left Pittsburgh nine weeks ago.
In other news (making a 180 here)… we’ve been working extra hard this week to wrap up all our loose ends and finalize the reports we need to send to TechBridgeWorld. I’ve been working on processing and adding some final sound files to the BWT (and may or may not have autotuned SL’s voice along the way), and have finalized the image selection algorithm for the tactile graphics project. Last week I wrote about developing a heuristic to select appropriate images and am happy to report that we now have an algorithm that makes quite reasonable choices.
Last week I mentioned that the algorithm was using search rank, pixel density, and the number of disjoint lines as metrics of simplicity, but we didn’t have a good way to use this information to make an image choice. We decided that detecting background shapes was also important (such as clouds in the background of a picture), and added some code to allow the algorithm to calculate the bounding boxes of each shape. The overlap area between all of the bounding boxes is then calculated for each image, and the less overlap there is, the more an image is penalized. Once these statistics are calculated, the mean and standard deviation among the images in each category are computed. The algorithm then looks for the highest ranked search result that is more than one standard deviation below the mean and decides that image is the most reasonable. At first we tried it with favouring images that were more than one standard deviation below the mean in multiple metrics, but after experimentation, it seemed that those images usually were unusual in some way (as they had very low metrics in multiple categories), and decided to make the more conservative choice of discarding them. In practice, this works quite well, and below you can see some of the choices that the algorithm has been making.
Eagles 1, 2, 3, 4, and 5
The algorithm selects image 3 as the most appropriate.
That’s all for now folks! I hope you’ve enjoyed reading my blogs as much as I’ve enjoyed writing them!