farzaa/DeepLeague

Figure out what jungle camp the jungler is at depending on coordinates.

Closed this issue · 14 comments

DeepLeague outputs the coordinates of a champ relative to the mini-map cropped out of a 1080p video. This means that we can hard code the coordinates of the jungle camps on this map and actually figure out if a jungler is doing a camp. There would have to be some sort of rule where if the jungler is at a camp longer then 3 seconds, we can assume he's doing the camp. Some more thought would need to go into this part.

This can help to actually create the entire path the jungler took.

The 3 seconds rules won't work effectively because sometimes the jungler stays there just to avoid being spotted.

Can't we trace small movements? like kitting?

Maybe checking for the icon on the camp? if it’s gone after the jungles leaves then he just took the camp.

We can track small movements but, the neural net is not perfect and those small movements may just be the neural net giving a slightly different answer.

I like JLin's idea! To do this, we'd need to actually detect the jungle camp icon which is something that may be difficult. Issue is, this icon is extremely small. Perhaps someone can prototype the use of template matching on the camp icons? Just a thought!

Yes the icons are small, however, I was thinking of checking for the change in color of that small area, since the icons are gold and have very different color from the map background.

I am not a programmer by any means but could you also track the activity of the camps and if they move a certain distance form "x" while the jungler is near for "x" seconds you can verify they are on that camp?

nvm, you wouldnt be able to verify that on the minimap

Since you already took the job of labeling 30GB of data... wouldn't it be possible to label some more in order to have the timestamp and coordinates of when a champion is doin a camp?
By doing that, you could train a Random Forest or a SVM and make a better algorithm (since it would be a simpliear classifier).
There would even be a chance to pipeline them to work together. Imagine if the Neural network feed champions data to a Random Forest. You'll end up with an even better prediction ;)

This is an example of what kind of info the JSON holds. Just so people know! And I have one of these JSONS for every second that goes by in a game.

@JLin37 and @jinchuika I thought of it some more last night and you had the same idea as me! Because the area is small and never changes, we can hard code a hand-coded function to look there very easily using a color histogram or template matching.

@jinchuika Hmmmm, it may work! So, we can definitely take the data I have now which has detailed JSON information that corresponds to a champs CS count and perhaps create a function that figure out if the jungler is doing a camp based on his CS count and position on the map. My issue is that, we don't have CS count at test time! Just a minimap. But I'd like to hear more if you think I'm wrong :)

@robertsskyler So you could do that! But then you aren't sure if the champ is actually doing the camp or just chilling there.

You could also use the the current h variable from the json every second and store it into an integer. Then compare it every second while near a jungle camp. The only issue with this would be is 1. if there is a fight happening around the camp 2. if you kill the camp before the player takes any damage.

@robertsskyler This wouldn't work for a pure mini map approach where all we have is the data from the pixels within the VOD, sadly.

Probably being dumb, but is there a reason why this wouldn't work:
Detect if they have been at camp for 3 seconds and mana/hp has decreased?

I mentioned why that wouldn't work above :)

I'm going to look into this next week and get a prototype running soon!

Oh, am dumb/blind.

Cool

Mark the location of the jungler before they disappear, and putting a timestamp on it. At least we would know where the jungler appeared last and make a speculation to where he went.

@dcheng728 Exactly!