Paper about obtaining real object shapes in Angry Birds
Posted: Fri May 17, 2013 1:53 am
As you know, the vision software only obtains bounding boxes for each object, but often it would be useful to know the actual object shape. For example, depending on whether a block is leaning to the left or right, this determines how the block will fall when hit and what other blocks will be affected by it.
Gary and I got a paper accepted at IJCAI where we present an algorithm that allows us to determine the actual position of blocks.
Our algorithm uses as input the bounding boxes from the vision system and then computes how the non-overlapping blocks must be located so that the whole configuration is stable under gravity.
So when you take a screenshot of a stable scenario (make sure that it is stable!), then you can first apply the vision module to the screenshot and then take the output of the vision module as input to our block module. As a result you will then get for each bounding box a possible configuration of the contained block: leaning left and fat/slim, leaning right and fat/slim, or regular (that is the block is the same as the bounding box).
Our algorithm assumes that all bounding boxes are correct, but of course this is not always the case for the current vision system based on SD image resolution. Gary is currently adjusting the algorithm so that it can deal with the SD vision output.
This is the paper:
XiaoYu Ge, Jochen Renz, Representation and Reasoning about General Solid Rectangles, Proceedings of the 23rd International Joint Conference on Artificial Intelligence (IJCAI'13), Beijing, China, August 2013. http://users.cecs.anu.edu.au/~jrenz/papers/Ge-Renz-IJCAI13.pdf
We are making the algorithm available soon and hope it will help some of you!
Jochen
Gary and I got a paper accepted at IJCAI where we present an algorithm that allows us to determine the actual position of blocks.
Our algorithm uses as input the bounding boxes from the vision system and then computes how the non-overlapping blocks must be located so that the whole configuration is stable under gravity.
So when you take a screenshot of a stable scenario (make sure that it is stable!), then you can first apply the vision module to the screenshot and then take the output of the vision module as input to our block module. As a result you will then get for each bounding box a possible configuration of the contained block: leaning left and fat/slim, leaning right and fat/slim, or regular (that is the block is the same as the bounding box).
Our algorithm assumes that all bounding boxes are correct, but of course this is not always the case for the current vision system based on SD image resolution. Gary is currently adjusting the algorithm so that it can deal with the SD vision output.
This is the paper:
XiaoYu Ge, Jochen Renz, Representation and Reasoning about General Solid Rectangles, Proceedings of the 23rd International Joint Conference on Artificial Intelligence (IJCAI'13), Beijing, China, August 2013. http://users.cecs.anu.edu.au/~jrenz/papers/Ge-Renz-IJCAI13.pdf
We are making the algorithm available soon and hope it will help some of you!
Jochen