sgoldenlab / simba

SimBA (Simple Behavioral Analysis), a pipeline and GUI for developing supervised behavioral classifiers
https://simba-uw-tf-dev.readthedocs.io/
GNU General Public License v3.0
287 stars 140 forks source link

There are frames are not classified as containing the behavior event when the probability are above threshold #81

Closed Yating-L closed 3 years ago

Yating-L commented 3 years ago

When I set the minimum bout to 5ms and threshold to 0.8, I found there're some frames are not annotated as the behavior event, but the probability > threshold[

Screen Shot 2020-11-25 at 4 40 24 PM

](url)

sronilsson commented 3 years ago

Hi @Yating-L - what is the frame rate of the video in your screenshot?

Are the frames in the screenshot consecutive, i.e, are they listed in the order they appeared in the video or is column V1 the frame #?

Yating-L commented 3 years ago

The frame rate is 15 FPS. Yes, column V1 is the frame number.

sronilsson commented 3 years ago

@Yating-L - at 15fps, a single frame represents 66.6 (or 67ms), and a min bout of 5ms should therefore score every frame above 0.8 probability as containing the behavior, in other words a min bout of 5ms is equivalent to not having a min bout at all, or 0ms.

Is it possible that the specific video is registered in the logs/video_info.csv file with a different fps than 15?

The min bout entry box in the SimBA GUI accepts the min bout length in milliseconds. Did you put 5 in this box? I'm asking as it could possibly be explained if 500 for example was put in this entry box.

Are any of the frames in this video scored by the classifier as containing the behavior?

Yating-L commented 3 years ago

I checked the logs/video_info.csv file, fps is 15. I actually changed the min bout in project_config file not SimBA GUI at [Minimum_bout_lengths] min_bout_1 = 5

The reason why I set it to 5ms is because I saw a mouse jumped 3 times in one event, when I set min bout to 200 ms.

Yes, there're frames classified as containing the behavior. The total number of behavior events is less than that when setting min bout to 200ms.

Yating-L commented 3 years ago

And in the "Video parameters" tab, it says the fps of all my videos is 14, I have to manually correct it to 15 for all videos inside the GUI

sgoldenlab commented 3 years ago

Thanks @Yating-L - very helpful, if you can help me with two questions so I can pin down the issue.

What version and version number of SimBA are you running?

Do you see the issue as well if you set min_bout_1 = 0 ?

Yating-L commented 3 years ago

I use SimBA version 1.2

I have the same issue when min_bout_1 = 0. The number of frames with probability > 0.8 is 79, but the number of jumping events is 51.

sgoldenlab commented 3 years ago

Thanks @Yating-L - could you update SimBA (version 1.2.9.2) and see if it persists?

There was a legacy hardcoded line in there, which did not allow positive classification in a single, or two consecutive frames, those classifications were removed by default. Your animal should now be able to rear for a single or two consecutive frames, if your min_bout length is set sufficiently short. Let me know how it goes.

Yating-L commented 3 years ago

It works now. Thank you for fixing this!