(11/08) Weekly Status Update: Shivani
We had to present a demo this coming week, so I got my protocol working, and wrote down code to display for the demo.
1) Sending Images from Client to Server
The biggest issue I had this week was being able to send the image from the client to the server. For some reason the image that was being written in the server was incomplete, and hence could not be processed. I was able to narrow down with the help of TA Antonis, that the issue was arising on the receiving end of the TCP protocol, and not in the encoding or anything. Initially, I tried manipulating the buffer size, but that was to no avail. Took me a bit, but I was able to uncover with the use of stack overflow, that it is not physically possible for the server to read the whole image at once over the protocol. Hence it is better to loop over with a size previously sent, hence allowing to receive the whole image bit by bit.
2) Manipulating the Image
I previously had code on my personal computer to be able to manipulate images to get contours and bounding boxes. I ported it over to the image_client I had been writing. After receiving the image, the client then takes a background subtraction of the image with the clean pictures(ones with nothing on the counter). And then get contours of the images, but then only make the appropriate bounding boxes. For instance not drawing boxes around the details(boxes that are too small), or not drawing boxes for changes that happened outside of the area of effect(outside clutter zone)
Figure 1: Picture of clean countertop
Figure 2: Picture with clutter on the counter
Figure 3: Detection of clutter on the counter
Note: Currently I have only this image to test the code on. But I believe I will collect more in the coming week.
3) The final client
I have started writing this client code down. It takes an image every 5 minutes and then crops it.
Based on this week’s work, the following micro todos have been established. More todos will be added as the need emerges.
TODO for the coming week:
– Add client code to the final client, so that it sends an image over every five minutes.
– Share sever with Jeffrey so that he can add it to his server, and we can start communicating
– Take more clean counter pictures and dirty counter pictures to test usage
– Start working on locating objects with RSSI data with David