STG-NF icon indicating copy to clipboard operation
STG-NF copied to clipboard

Ucf-crime Dataset

Open benedictstar opened this issue 2 years ago • 9 comments

Hi! Thanks for your wonderful work!

When I try to use your method to deal with Ucf-crime Dataset,some videos in Ucf-crime seems too long and Alphapose can't tackle them in your default setting.Regarding to this issue,I modified the parameter "q_size" in Alphapose from 1024 to 100.

Have you ever dealt with this dataset?Will this operation influences the results of the model? Or do you have better solutions?

benedictstar avatar Oct 06 '23 09:10 benedictstar

And I have another question,which pretrained Re-ID Track model do you use? Do you use the pretrained model provided by alphapose(osnet_ain_x1_0_msmt17_256x128_amsgrad_ep50_lr0.0015_coslr_b64_fb10_softmax_labsmth_flip_jitter.pth)?

When I followed your introduction to build ShanghaiTech Dataset.,I found that the poses extracted by alphapose were close to the data you provided,however,the tracked-IDs were different from your data, which seriously affected the final result.

Looking forward to your feedback! Thanks!

benedictstar avatar Oct 07 '23 16:10 benedictstar

Hi,

We haven’t tried this dataset. Our method uses a sliding window approach, thus it will only be affected by the performance of the pose estimator and not the sequence total length. I propose asking for support in the AlphaPose repo for assistance in running their code.

In addition, we didn’t use a Re-ID model, we used the Poseflow tracker, also supported by AlphaPose. Maybe the different IDs are resulted from this change.

orhir avatar Oct 19 '23 08:10 orhir

Thanks for your reply. About my first question, I have already found that the 'q_size' will not influence the final results, thanks. But about my second question, I refer to your code 'gen_data.py'

def create_command(alphapose_dir, video_filename, out_dir, is_video=False):
    command = "python scripts/demo_inference.py"

    # loop over command line argument and add to command
    for key, val in command_args.items():
        command += ' --' + key + ' ' + val
    if is_video:
        command += ' --video ' + video_filename
    else:
        command += ' --indir ' + video_filename
    command += ' --sp'  # Torch Re-ID Track
    command += ' --pose_track'  # Torch Re-ID Track
    # command += ' --detector yolox-x'  # Simple MOT Track

    return command

I find that the command you used actually calls the Re-ID Track model from Alphapose by

command += ' --sp'  # Torch Re-ID Track
command += ' --pose_track'  # Torch Re-ID Track

I also tried to call the Poseflow tracker from Alphapose to track the person, however, the file I got was not a JSON file in the format like yours. Would you please update the file 'gen_data.py' if you upload the incorrect version? Thank you!

benedictstar avatar Oct 19 '23 09:10 benedictstar

Hi, Sorry for the late response. We used PoseFlow as a tracker for ShanghaiTech and UBnormal datasets. As we provide the extracted data for these datasets, the gen_data.py code for custom data/other datasets. The default here is indeed the Re-ID option, as the PoseFlow implementation is quite slow.

Can you please provide the output data you receive after using PoseFlow tracker, so we can debug this code?

orhir avatar Nov 09 '23 11:11 orhir

Thanks for your reply. About my first question, I have already found that the 'q_size' will not influence the final results, thanks. But about my second question, I refer to your code 'gen_data.py'

def create_command(alphapose_dir, video_filename, out_dir, is_video=False):
    command = "python scripts/demo_inference.py"

    # loop over command line argument and add to command
    for key, val in command_args.items():
        command += ' --' + key + ' ' + val
    if is_video:
        command += ' --video ' + video_filename
    else:
        command += ' --indir ' + video_filename
    command += ' --sp'  # Torch Re-ID Track
    command += ' --pose_track'  # Torch Re-ID Track
    # command += ' --detector yolox-x'  # Simple MOT Track

    return command

I find that the command you used actually calls the Re-ID Track model from Alphapose by

command += ' --sp'  # Torch Re-ID Track
command += ' --pose_track'  # Torch Re-ID Track

I also tried to call the Poseflow tracker from Alphapose to track the person, however, the file I got was not a JSON file in the format like yours. Would you please update the file 'gen_data.py' if you upload the incorrect version? Thank you!

Hi, have you already solve it?

wrtnew avatar Nov 30 '23 05:11 wrtnew

Hi, Can you please provide the JSON file which is in the wrong format?

orhir avatar Dec 05 '23 14:12 orhir

Hi, Sorry for my late reply. Actually, when I directly use Poseflow in AlphaPose to extract pose sequences from the videos, I don't get any JSON files but some other kinds of files. Then I deleted the wrong files. So I am sorry that I can't provide the wrong files right now. At that time, I just changed the command command += ' --pose_track' to command += ' --pose_flow' as AlphaPose required. Hope this can help you to solve the problems. I notice that you provided a new code for tackling the problem of extracting pose sequences using Poseflow in another issue, maybe that can help me, Thanks a lot.

benedictstar avatar Dec 08 '23 13:12 benedictstar

I notice that you provided a new code for tackling the problem of extracting pose sequences using Poseflow in another issue, maybe that can help me, Thanks a lot.

Hi, I haven't solved the problems yet, but I notice that the author provided a new code for tackling the problem of extracting pose sequences using Poseflow in another issue #15, maybe that can help you.

benedictstar avatar Dec 08 '23 13:12 benedictstar

only PoseFlow can provide relatively accurate ids. For instance, their reID in a video with 5 people may result in 9 to 10 ids, making it difficult to match ids with scores

1190200311 avatar Apr 12 '24 15:04 1190200311