DrCoffey / DeepSqueak

DeepSqueak v3: Using Machine Vision to Accelerate Bioacoustics Research
BSD 3-Clause "New" or "Revised" License
371 stars 89 forks source link

Inconsistencies with USV timepoints when importing from MUPET #105

Closed thadtayo closed 3 years ago

thadtayo commented 3 years ago

Hello,

When running USV detection in MUPET and importing the .csv data to DeepSqueak, the Syllable start time (sec) and Syllable end time (sec) from MUPET output do not match with Begin Time (s) and End Time (s) from DeepSqueak output. It seems that DeepSqueak is always increasing the Begin Time and decreasing the End Time, effectively "shortening" the window of the USV detection. This interferes with the USV, as the import process cuts out a part of the actual call that MUPET detects.

To Reproduce

  1. Launch MUPET
  2. Select an audio directory
  3. Choose a singular file by left-clicking it and pressing export stats
  4. Launch DeepSqueak
  5. Go to File > Import / Export > Import from MUPET and select the .csv from MUPET as well as the corresponding .wav file
  6. Save the .mat file
  7. Go to File > Import / Export > Export Excel Log (Call Statistics) and select the .mat file that was saved in step 6
  8. Compare the time points from the .xlsx export file from DeepSqueak with the .csv file from MUPET

The differences in the timeframes do not seem to be consistent, so I am unsure as to why this is happening. Any idea as to why DeepSqueak changes the timeframes, and how I can combat this so that DeepSqueak uses exact values from MUPET?

I am on v2.6.1.

Thank you!

Thad

DrCoffey commented 3 years ago

Hey Thad.

DeepSqueak determines call onset and offset from the cluster, so if the "box" or window from MUPET extends past the calls, DeepSqueak will cut of the silent edges for the stats file. Do the boxes look good after import? You may have to adjust the tonality slider on the left to capture the whole call for the stats file.

DrCoffey commented 3 years ago

Also, I highly reccomend trying out the new branch:

https://github.com/DrCoffey/DeepSqueak/tree/Screener

It has a lot of new features, and I think the detection networks are more reliable for a wide range of recordings. You can even explore the entire fill and add in missing calls manually.

thadtayo commented 3 years ago

The boxes immediately after import do tend to cut off the start of the calls, unfortunately.

However, I will definitely try out this Screener branch. The improvement of the detection networks may allow me to stay completely within DeepSqueak rather than importing from MUPET. The additional features are enticing, too!

Thanks for the help Dr. Coffey!