The first pool AI

Happy Dec 25

@gerryf How much time would you want to solve this?

Academic Exercise: The parameterization function f(t)=u+vt, is traditionally used to parameterize any two points with a line on [0,1]. u represents the initial point and v represents the final point along the line parameterization.

A smartphone takes a photo that is does not match the actual measurements of a pool table due to lens distortion.
Define a mapping that can be applied to this instance of lens distortion to the ideal view. The numerical data in the landscape view is pixel data from a different viewpoint map.
Generalize that mapping for a photo with a different lens distortion.
Create a function to map the radius of the ball from the ideal view to a proper radius in the smartphone view.

You can share ideas and post your responses.

If anyone struggles with these exercises I will post suggestions on Dec 30.


View attachment 677379
I would shoot some low right and come two rails out of the corner.
 
Let's make this real simple...and I'll make it a number you can realistically afford. I'll wager $1000 that a full year from now your Pool AI app will still not exist in any real form. I will leave you alone for the next 12 months to put your money where your stupid mouth is. Say yes and I'll log off and let you post your fantasy nonsense unchecked for all of 2023 .

Sent using Tapatalk

I downloaded opencv tools this morning. That stands for open computer vision tools. Were any of you part of the proprietary version?

As for the comments its clear some of you have math skills.

This is a good thread to
introduce pool players into computer or math skills.
 
I downloaded opencv tools this morning. That stands for open computer vision tools. Were any of you part of the proprietary version?

As for the comments its clear some of you have math skills.

This is a good thread to
introduce pool players into computer or math skills.

At least turn down the bet if you are scared. Don't just ignore it like a scared little child.

Why the fk would you thi k I had anything to do with opencv? I told you I don't have any interest in software development. Do you think the trainer of a Kentucky Derby winner spends his day shoeing horses?

We've seen your act before. You'll screw around with the software for a week, finally getting one screenshot that looks like a pool table and then we'll never hear about it again.

Sent using Tapatalk
 
Last edited:
At least turn down the bet if you are scared. Don't just ignore it like a scared little child.

Why the fk would you thi k I had anything to do with opencv? I told you I don't have any interest in software development. Do you think the trainer of a Kentucky Derby winner spends his day shoeing horses?

We've seen your act before. You'll screw around with the software for a week, finally getting one screenshot that looks like a pool table and then we'll never hear about it again.

Sent using Tapatalk
negotiating to get discounts or speedier development is not welcomed.

I will release product info as I choose. Why do you think your money has any value in this deal?
 
I am concerned whose "engrams" you are going to use to impress on the AI system. If yours are used, it will be too scared to play, if you use Danny's it will probably agree with every conspiracy theory known to man and do nothing but bitch and moan then run away when challenged.
 
At least turn down the bet if you are scared. Don't just ignore it like a scared little child.

Why the fk would you thi k I had anything to do with opencv? I told you I don't have any interest in software development. Do you think the trainer of a Kentucky Derby winner spends his day shoeing horses?

We've seen your act before. You'll screw around with the software for a week, finally getting one screenshot that looks like a pool table and then we'll never hear about it again.

Sent using Tapatalk
Bet me a date with one of your girls age in the 30s. Post a pic and then we talk.
 
I downloaded opencv tools this morning. That stands for open computer vision tools. Were any of you part of the proprietary version?

As for the comments its clear some of you have math skills.

This is a good thread to
introduce pool players into computer or math skills.
I can confirm. That is, in fact, software.
 
Happy Dec 25

@gerryf How much time would you want to solve this?

Academic Exercise: The parameterization function f(t)=u+vt, is traditionally used to parameterize any two points with a line on [0,1]. u represents the initial point and v represents the final point along the line parameterization.

A smartphone takes a photo that is does not match the actual measurements of a pool table due to lens distortion.
Define a mapping that can be applied to this instance of lens distortion to the ideal view. The numerical data in the landscape view is pixel data from a different viewpoint map.
Generalize that mapping for a photo with a different lens distortion.
Create a function to map the radius of the ball from the ideal view to a proper radius in the smartphone view.

You can share ideas and post your responses.

If anyone struggles with these exercises I will post suggestions on Dec 30.


View attachment 677379

First you subtract the x from the x and the y from the y coordinates to normalize them.

You then figure out the yaw, pitch and roll of the landscape view and the translation transformation then place them into a 4x4 rotation matrix then multiply that by a projection matrix and invert it. Then multiply the landscape view ball coordinates by the inverted matrix and the results should be the ideal view coordinates.

So you want to invert this matrix: Rotation(yaw,pitch,roll,translation) * Projection

To find the pitch you pick two corner squares on the table, preferably the close and far ones on the right. Then normalize the coordinates of the found corners through subtraction. The first goal is to remove the pitch from the table because after this is solved for the yaw and roll will be trivial to solve for. So you find the distance in both terms of x and y (but not the magnitude) of parallel diagonal from each of the two chosen corners. The goal is to find a rotational pitch transformation with yaw and roll set as zero where this distance will be equal. So you have this system:

Distance1*rotation_transformation(pitch)=Distance2

Then you solve for pitch.

Now that pitch is solved you do something similar to find yaw and roll.

The last thing to solve for is the translation. You can figure that out.

At this point you have the system:

Landscape_coordinates * Inverted_Matrix = Ideal Coordinates

So you want to perform this matrix multiplication to find the ideal coordinates.


To construct the projection matrix want to use parameters that you extract from the camera information on the cell phone

Obviously it is more complex than a single linear function.
 
Last edited:
Bet me a date with one of your girls age in the 30s. Post a pic and then we talk.
That's out of line even though I have no daughters. What is wrong with you? Do you always act like such a fool in person or only when you are dodging an adult conversation or a bet you know you can't win?

Sent using Tapatalk
 
Last edited:
That's out of line even though I have no daughters. What is wrong with you? Do you always act like such a fool in person or only when you are dodging an adult conversation or a bet you know you can't win?

Sent using Tapatalk

Ok dont tell her its a date set up a party not more than 8 people. You betting?
 
First you subtract the x from the x and the y from the y coordinates to normalize them.

You then figure out the yaw, pitch and roll of the landscape view and the translation transformation then place them into a 4x4 rotation matrix then multiply that by a projection matrix and invert it. Then multiply the landscape view ball coordinates by the inverted matrix and the results should be the ideal view coordinates.

So you want to invert this matrix: Rotation(yaw,pitch,roll,translation) * Projection

To find the pitch you pick two corner squares on the table, preferably the close and far ones on the right. Then normalize the coordinates of the found corners through subtraction. The first goal is to remove the pitch from the table because after this is solved for the yaw and roll will be trivial to solve for. So you find the distance in both terms of x and y (but not the magnitude) of parallel diagonal from each of the two chosen corners. The goal is to find a 3x3 rotational pitch transformation with yaw and roll set as zero where this distance will be equal. So you have this system:

Distance1*rotation_transformation(pitch)=Distance2

Then you solve for pitch.

Now that pitch is solved you do something similar to find yaw and roll.

The last thing to solve for is the translation. You can figure that out.

At this point you have the system:

So you want to perform this matrix multiplication to find the ideal coordiates:

Landscape_coordinates * Inverted_Matrix = Ideal Coordinates

To construct the projection matrix want to use parameters that you extract from the camera information on the cell phone.

This is wasting computing power, a more efficient solution exists and you are not stating it.
 
This is wasting computing power, a more efficient solution exists and you are not stating it.

Then how about you state it.

I honestly don't see how you are going to convert point from an arbitrary 3d space to a 2d space without a reverse 3d transformation.
 
That is Friday Dec 30. Its only for paying students.

Sure it is. On a university holiday? Lol...... Anyways, the results are equivelent, you are just going to remove the inverted matrix coefficents and present them as equations......

Either way I dare you to present them.

Not because I care to see your claimed simple method that much, I dont.

But what I do think is that it doesn't exist because you never present any analytical solutions to anything you propose. You just ramble off some math definitions you read off a wikipedia page.

So basically I, like the others on this page, think you are all talk.
 
Last edited:
Back
Top