Friday, 19 July 2013

Changed the primitive stabilization algorithm. Initially was combining closely located landmarks irrespective of their feature values. Now there is a threshold to check for their closeness in feature space as well. Also made changes to populate the landmark database accordingly. 

Also, I have to make a design choice regarding storing the landmark data. Performance wise, is it better to have a database or maintain a Matlab object storing a stable set of landmarks? Currently I have both implemented, but will phase out one of them.

Wednesday, 17 July 2013

Done with integrating the stabilization of landmarks code. So the feedback loop to increase accuracy of landmarks is complete. Have to tweak the thresholds for combination of clusters after performing experiments. So the basic code is up and running...(Also committed the latest Matlab code to the git repository). 

Monday, 15 July 2013

Done updating the code to populate the landmark and comments database. Now started with integrating the 'stabilization of landmarks' code to fully automate the Kalman filter approach.

Sunday, 14 July 2013

Installed Matlab, jdbc driver and made connection to the postgresql server. The tables are available in the database 'sample'. Now making changes in the code to insert landmarks, comments and user info in the database. This will automate the process of storing landmarks and seeing if they're converging to stable ones.

Thursday, 11 July 2013

Written the basic code for annotation of comments with the nearest landmark after querying the database. Using a JDBC driver to connect to Postgresql on Matlab. Code currently running on local system. Will upload it to the server tomorrow after setting up Matlab on it.

Wednesday, 10 July 2013

Tested the Matlab code on my local machine with the same data. It is way faster (50x) than Octave. So, moving on to Matlab. Until I set it up on the server (waiting for the ISO); I'll be looking into storing the clusters created, in a MySQL database. I've created the tables for Landmarks, Comments, Users and Metadata. I'm connecting to the database using a JDBC driver.

Today, I'll start writing the code for annotating a particular comment/rating with its nearest landmark.

Tuesday, 9 July 2013

Sorry for the delay between my posts. I was stuck in getting the octave modules to run on the server.  A couple of bugs held me back for the past 1-2 weeks.

1. Found some bugs in the kmeans module of octave. The processing of the optional parameters was not working if one of those parameters was missing. Also, the parameter 'start' now takes user defined initial seeding for the clustering. Wrong usage of 'lower' and 'tolower' functions in the file. Note that Octave is running slowly on the system, so debugging it is also becoming tedious (~5m per simulation). Other options like Matlab will also have to be looked into, to compare performance in real-time.

2. The issue of permissions/paths to generate the required files in the /var/www/data directory and process them using octave programatically.

3. The app was earlier tested on an older version of android. I ran it on Galaxy S2 this week and found that network operations like multipart-upload cannot be done on the main thread. So moved that part of the code to AsyncTask. Now the app is running smoothly with less crashes.

Now, the server code is running without any error, but is taking a long time to finish clustering (~10-15 min per data folder). 
Internet was down yesterday in my place. So, could not work on the server part. Updated the phone app to take comments and ratings as input. These will be sent to the server along with the other sensors' data when the user has opted to stop logging the information.