Jump to content

Is object recognition the best for finding objects on screen?


Lemures
 Share

Recommended Posts

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
Link to comment
Share on other sites

  • Moderators

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

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see 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

 

Link to comment
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.

Link to comment
Share on other sites

  • Moderators

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

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see 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

 

Link to comment
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.

Link to comment
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.

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...