Sign in to follow this  
Followers 0
Lemures

Is object recognition the best for finding objects on screen?

12 posts in this topic

#1 ·  Posted (edited)

I've been looking at the flash game TagPro (Picture, Gameplay, Website), in which you basically have 8 people controlling the motion of balls on the screen (limited viewing area).

 

I need to practice trajectory analysis and prediction of different types to compare their relative effectiveness', and I think TagPro would be an interesting platform from which to work because it provides unpredictable movement in a relatively simple environment. The problem is, I can do the math, but I have no idea where to even begin when it comes to grabbing the position's of the balls on the screen. If I have those, I could compare subsequent position updates to get trajectory's and velocity's (and this is what I need to practice).

 

Do you have any suggestions for accurately grabbing this data, and quickly enough to be of relevance? I'm sure some people could just read the actual data to get the positions of the balls, but I have no idea how to do that.

 

Thanks!

Edited by Melba23
Title amended

Share this post


Link to post
Share on other sites



Lemures,

As I read this you are not looking to automate the game as it is being played, but trying to read the positions of the balls onscreen during a game for later analysis in order to compare various non-game-related trajectory/prediction algorithms. Am I correct in this assumption? :huh:

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

Melba23, correct. I'm looking at putting some object avoidance on an arduino for fast moving objects with difficult to predict trajectories, but I'm still at the stage of learning how to hook up the resistors to not fry the components :). There will eventually be quite a bit of coding with this, so I'm starting that now. One step there is to learn trajectory analysis and prediction in 2d, and then eventually moving that to 3d. In TagPro, the balls (other players) can appear from off screen coming in at really pretty much any velocity, and that can and WILL be changing because the other players are, well, playing. I want to compare successive position reads to predict the next position of the target (ball). However, because those can change, I need to put probability and uncertainty weights on everything, so I can generate what would essentially be a 2d heat map of probable collisions. Once I feel I can make this constantly changing heat map, I can transfer it to whatever physical platform it is on (e.g. a quadcopter with ping pong balls thrown at it) and figure out how to get that platform to move accordingly.

In short, I mostly just need an array of JUST positions of objects (that's all a camera would see) that are moving in 2d where the objects are moving, and their trajectory can be predicted with weighted probabilities of new trajectories (something flung towards the camera) in order to attempt to avoid it. TagPro provides a pretty good platform for this data that I need in order to start working with this, I just don't know how to pull that data out. If you're aware of anything else that may serve as a better source of data, please let me know.

Share this post


Link to post
Share on other sites

#5 ·  Posted (edited)

Lemures,

I am afraid I have no idea how to help but I encourage others to so as given your explanation I am quite happy for this thread to remain open. And if anyone has any ideas on another possible data source that is NOT a game and so less likely to raise eyebrows and make additional work for me please let Lemures know ASAP. :)

M23

Edit: I have amended the thread title to prevent too many reports from those who do not read far enough into the thread. ;)

Edited by Melba23
1 person likes this

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

What sort of alternative data are you talking about, say for example you have the data such as x y z coordinates from within a flash animation, that would not help you because you would not have that data from a ping pong ball.

So what exactly do you mean?


AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Share this post


Link to post
Share on other sites

#7 ·  Posted (edited)

JohnOne, I'm wondering if the screen capture code you wrote recently might be useful for this. Time sequence freeze framing might simplify things - just a thought.

Edited by czardas

Share this post


Link to post
Share on other sites

JohnOne, I've put together a terrible little diagram that hopefully explains better what I'm looking at doing. Your program may indeed be of use, I'll look into it, because I could use it to give me the frames to analyze (for anything) AND to give me the time differential between each frame.

http://imgur.com/Lm5NpTA

Share this post


Link to post
Share on other sites

Well, velocity IS a vector, but sure. In this case I suppose they amount to the same thing. Working on too much today while I post on this thread, so sorry if I'm not coming across clearly. I'll poke around some more and see if I can write a simple "bouncing balls" simulation where the balls randomly change their velocity, then extract the data from some "frame" in the middle and pass that on to whatever I need to code it in. I happen to be most familiar with AutoIt at this time (member since 2003, holy crap) and need to start learning C and python, so I could probably just write the data creator in autoit and then start learning one of those others to parse it out and do stuff with it.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0