Open gorayni opened 2 years ago
May I ask which bounding boxes are you refering to? and which video were you using (HQ/LQ/720p/224p) ? note that for the task of ReID, we provide the frames with the bounding boxes.
Sorry, I forgot to be more specific. I'm using SoccerNet-v2 with its associated files for action spotting. Specifically, I am using the high quality videos 1_HQ.mkv, the bounding boxes that comes from 1_player_boundingbox_maskrcnn.json, and the calibration files 1_field_calib_ccbv.json.
Hi @gorayni I see, you are using the data from the paper Camera Calibration and Player Localization in SoccerNet-v2 and Investigation of their Representations for Action Spotting.
I am sorry you are experiencing a mismatch between the frames and the bounding boxes, the latter were extracting automatically from the frames, using frameCV. As far as I know, the video module in OpenCV either use ffmpeg or LibAV/AVcodec, the mismatch might come from a different version of the libraries you used, especially if you are on MacOS. The HQ videos have a large diversity of codecs and frame rate, that might create issues in some platforms. That is why we recently released the videos in a unified format at 720p and 25fps (see soccer-net.org - mySoccerNetDownloader.downloadGames(files=["1_720p.mkv", "2_720p.mkv"], split=["train","valid","test","challenge"])
). You might want to try out with this new version of the videos.
On a side note, if the mismatch between frames and bounding box correspond to a small and constant delay of a few frames, the paper mentioned above should still maintain good performance in the spotting tasks, since the metric usually allows for a temporal error of 5 to 60 seconds.
Thank you for your fast answer! I'll give a try on these standardized videos and check the player detection. It would be great if you could release the versions you are using for your Python environment (preferably an Anaconda environment) or a Docker image.
I found that several game matches have a mismatch of the players' bounding boxes and possibly their calibration as well. The games with this problem were the following:
For the rest of the games the bounding boxes match perfectly. I extract the frames by sampling 2 fps from a half game match by doing the following:
I initially thought that I was incorrectly sampling frames from the videos, but I also tried with the official frame loader class FrameCV from the DataLoader.py with no success.
I am not quite sure what might be the problem, is there an appropiate way to sample the frames from the videos or are the bounding boxes or is the data wrongly labeled?