jac99 / footandball Goto Github PK
View Code? Open in Web Editor NEWFootAndBall: Integrated player and ball detector
License: MIT License
FootAndBall: Integrated player and ball detector
License: MIT License
Hey @jac99 I retrained your model with the issia and spd datasets and I am amazed at the results. I wanted to train the model with my custom datasets captured from 2 x 90 degree cameras. I had annotated 1200 images for person and ball for this dataset in darknet format. I created an adapter for the darknet pipeline and trained the network.
The network trained for 20 epochs for a total loss of 0.79 and the player location loss was 0.0016. The ball and person classification looks good but the regression is not learning for some reason. I have tried changing the player location loss from smooth l1 to mse loss as well to no avail.
Anything wrong I am doing?
Hi,
I'm a french student interested in doing detection on football match videos and i've come accross your work !
I was just wondering on how can it be used on a real feed of a match (here if i try only the player detection work as the model is trained with SoccerPlayerDetection_bmvc17_v1 dataset to detect player). But the ball is not tracked at all or on a 1/1000 frame (because i guess the model was trained to detect the ball only with ISSIA dataset and this is too precise to adapt the situation to a live feed of a footbal match)
That's why i wanted to know, to get some advices, on how would it be possible to make it detect the ball on a live feed match (with training i guess) but i'm not sure on how to train it ( don't know about the code needed to read the new dataset )
Thank you !
Hello,
First of all thank you for this wonderful research. I am testing out your model and in theory it should perform better than YOLO right? However, YOLOV seems to perform a lot better using the same videos with CUDA device. Am I missing something I wonder?
Thank you,
Hi, I'm a student interested in sports and deep learning. I came across to your project after watching the Pydata conference, which I found very interesting. So I tested out the code, and it worked perfectly on the ISSIA dataset. But since I'm quite new to deep learning, I have some questions, which I hope to get answers from you.
Could there be any ways only to track the ball, and not the players so I could achieve high FPS? I tried to make max_player_detections to 0, but I think it's not an computationally efficient way.
To track other sizes of soccer balls (ex. 2x larger than the Issia dataset) , would changing BALL_BBOX_SIZE be enough? Or do I also have to change other values?
It would be much appreciated if you could give me ideas of the questions above. Thanks again for this wonderful contribution!
np.float was a deprecated alias for the builtin
float
. To avoid this error in existing code, usefloat
by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.float64 here.
Examples:
issia_dataset.py
return np.array(boxes, dtype=np.float), np.array(labels, dtype=np.int64)
rewrite to
return np.array(boxes, dtype=float), np.array(labels, dtype=np.int64)
Hello
How are you?
Thanks for contributing to this project.
I found that you used a random crop of images in the training step.
If we random-crop the images, I think that the boxes info should be changed too.
But I did not find any process for boxes in your project?
Thanks @jac99 for wonderfull work. I was trying to do training on your required dataset but getting the following error:
Training...
0%| | 0/20 [00:00<?, ?it/s]
Traceback (most recent call last):
File "/home/fastscenario/football/Football_detect/train_detector.py", line 155, in
train(params)
File "/home/fastscenario/football/Football_detect/train_detector.py", line 139, in train
train_model(model, optimizer, scheduler, params.epochs, dataloaders, device, model_name)
File "/home/fastscenario/football/Football_detect/train_detector.py", line 66, in train_model
for ndx, (images, boxes, labels) in enumerate(dataloaders[phase]):
File "/home/fastscenario/anaconda3/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 521, in next
data = self._next_data()
File "/home/fastscenario/anaconda3/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 1203, in _next_data
return self._process_data(data)
File "/home/fastscenario/anaconda3/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 1229, in _process_data
data.reraise()
File "/home/fastscenario/anaconda3/lib/python3.9/site-packages/torch/_utils.py", line 434, in reraise
raise exception
TypeError: Caught TypeError in DataLoader worker process 0.
Original Traceback (most recent call last):
File "/home/fastscenario/anaconda3/lib/python3.9/site-packages/torch/utils/data/_utils/worker.py", line 287, in _worker_loop
data = fetcher.fetch(index)
File "/home/fastscenario/anaconda3/lib/python3.9/site-packages/torch/utils/data/_utils/fetch.py", line 49, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/fastscenario/anaconda3/lib/python3.9/site-packages/torch/utils/data/_utils/fetch.py", line 49, in
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/fastscenario/anaconda3/lib/python3.9/site-packages/torch/utils/data/dataset.py", line 308, in getitem
return self.datasets[dataset_idx][sample_idx]
File "/home/fastscenario/anaconda3/lib/python3.9/site-packages/torch/utils/data/dataset.py", line 308, in getitem
return self.datasets[dataset_idx][sample_idx]
File "/home/fastscenario/football/Football_detect/data/spd_bmvc2017_dataset.py", line 59, in getitem
image, boxes, labels = self.transform((image, boxes, labels))
File "/home/fastscenario/football/Football_detect/data/augmentation.py", line 320, in call
return self.augment(sample)
File "/home/fastscenario/anaconda3/lib/python3.9/site-packages/torchvision/transforms/transforms.py", line 61, in call
img = t(img)
File "/home/fastscenario/football/Football_detect/data/augmentation.py", line 225, in call
coeffs = F._get_inverse_affine_matrix(center, angle, translate, scale, shear)
File "/home/fastscenario/anaconda3/lib/python3.9/site-packages/torchvision/transforms/functional.py", line 921, in _get_inverse_affine_matrix
sx, sy = [math.radians(s) for s in shear]
TypeError: 'float' object is not iterable
Can you please tell me what the error is? I think there may be some library misconfiguration. If you could suggest to me something it would be nice of you.
Thanks
Hello,
I am facing the kornia feature "NonMaximaSuppression2d" error in the file /FootAndBall/network/footandball.py, line 161while running this repository. Please help me to sort out this problem
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.