{"action":"opened","issue":{"url":"https://api.github.com/repos/siavashk/pycpd/issues/17","repository_url":"https://api.github.com/repos/siavashk/pycpd","labels_url":"https://api.github.com/repos/siavashk/pycpd/issues/17/labels{/name}","comments_url":"https://api.github.com/repos/siavashk/pycpd/issues/17/comments","events_url":"https://api.github.com/repos/siavashk/pycpd/issues/17/events","html_url":"https://github.com/siavashk/pycpd/issues/17","id":349366342,"node_id":"MDU6SXNzdWUzNDkzNjYzNDI=","number":17,"title":"\"Error\" sounds misleading...","user":{"login":"sandyhsia","id":15709515,"node_id":"MDQ6VXNlcjE1NzA5NTE1","avatar_url":"https://avatars1.githubusercontent.com/u/15709515?v=4","gravatar_id":"","url":"https://api.github.com/users/sandyhsia","html_url":"https://github.com/sandyhsia","followers_url":"https://api.github.com/users/sandyhsia/followers","following_url":"https://api.github.com/users/sandyhsia/following{/other_user}","gists_url":"https://api.github.com/users/sandyhsia/gists{/gist_id}","starred_url":"https://api.github.com/users/sandyhsia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sandyhsia/subscriptions","organizations_url":"https://api.github.com/users/sandyhsia/orgs","repos_url":"https://api.github.com/users/sandyhsia/repos","events_url":"https://api.github.com/users/sandyhsia/events{/privacy}","received_events_url":"https://api.github.com/users/sandyhsia/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-08-10T03:46:38Z","updated_at":"2018-08-10T03:46:38Z","closed_at":null,"author_association":"NONE","body":"Hi, \r\nIn the bunny example, I found \"Error\" in the visualization is misleading, because it is increasing all the time, and a the last iteration, error suddenly becomes zero.\r\nfor example, **iteration 20**:\r\n![screenshot from 2018-08-10 11-30-56](https://user-images.githubusercontent.com/15709515/43937605-408b4b94-9c91-11e8-92f5-aed92ac05679.png)\r\n\r\n**iteration 39**\r\n![screenshot from 2018-08-10 11-33-19](https://user-images.githubusercontent.com/15709515/43937633-63f8810a-9c91-11e8-8c7f-01d962e61bfe.png)\r\n\r\nwhen I check the source code and the paper, it sounds like error means the difference between Q (objective function) in current iteration and previous iteration. For example, in rigid_registration.py:\r\n```\r\nself.q = (xPx - 2 * self.s * trAR + self.s * self.s * self.YPY) / (2 * self.sigma2) + self.D * self.Np/2 * np.log(self.sigma2)\r\nself.err = np.abs(self.q - qprev)\r\n```\r\nGiven the `np.abs()`, we even can't figure out whether the Q is actually increasing?? or decreasing. \r\nQ might converge through EM algorithm, so `error (actually the difference) < tolerance` might be a metric to see whether it converges. But I hope the name of the variable could be clearer.\r\n\r\n**Second question** is, while optimizing Q, is the sigma2 also decreasing? and thus could be a metric to see whether it converges?"}}
{"actor":{"display_login":"sandyhsia"}}