Week 3
Aug 14th 2023
- Add ffmpeg documentation sent in mail to CCTV.
- Provide METRO details asked by Vannary
- Document code cleanup for CCTV usage
Aug 15th 2023
Create PR to merge Dev branch into Master in
cctv-appsAsked Vannary for naming convention of models provided on GDrive here -> /VS_Research/CCTV/models/. Her reply:
```js
1. Any model name with "cctv-multilabel*" is a one-stage model.
2. Any model name with "cctv-singlelabel*" is a binary model that I use to predict defective vs non-defective images. This model is the first model for the two-stage model approach.
3. Any model name with "cctv-defect-multilabel*" is the model without ND (no defect) in the prediction class. I use this model as the second model for the two-stage model approach after running the "cctv-singlelabel*" model to label images with the type of defect/feature.
4. Any model name with "*spvidT*" is a model that is trained to test with the VB dataset. However, any model is acceptable if you plan to use the model for transfer learning and test the model on different test datasets.
5. The naming convention is as follows:
* Type of model - utility - train data set - C (include continuous labels) - Extra info (i.e. spvidT (for VB), GL for Group Label) - train/test split - cross-validation set that I used for training - backbone model - pretrain/w&b setting (T for True, F for False) - number of epoch - number of freezing epoch - image augmentation (T for true and F for false) - weighted function (T for true and F for False) - number of gpus used to train the model *
6. A one-stage ResNet50 model for DNV:
- for FB: cctv-multilabel-dnv-791_v3-C-80_20-cv0-resnet50-prT-e10-fe10-augF-weightF-4gpus
- for VB: cctv-multilabel-dnv-791_v3-C-spvidT-80_20-cv0-resnet50-prT-e10-fe10-augF-weightF-4gpus
- You can use any of these two models if you are not planning to test on the DNV dataset. I suggest using FB model one because it was trained with images from all videos.
```Document predictions on
ebmudusing transfer-learning in a excel sheet- Created excel sheet with details on models used, data used and observations.
- Sudhir reviewed testing various utility models with ebmud.
- Need to decide on where to upload that. Currently it's on my
OneDrive > Documents > cctv-ebmud-transfer-learning.xlsx.
Steps taken to test transfer-learning for
ebmudon cctv-apps:Download the videos from GDrive at
MyDrive/CCTV/ebmud/to MSI at/home/gqc/CCTV/ebmud/Data/Dataset_X/Received_Data.Download required models from GDrive at
MyDrive/VS_Research/CCTV/models/to MSI at/home/gqc/git/cctv-apps/modelsusing rclone like this:(pytorch) gqc@msi-desktop-ubuntu:models$ rclone copy hydrotrek-gdrive:/VS_Research/CCTV/models/DNV/cctv-multilabel-dnv-791_v3-C-80_20-cv0-resnet50-prT-e10-fe4-augF-weightF-4gpus.pkl .Edit the YAML parameters.
Prepare distance annotation and defect annotation csv files under
/home/gqc/CCTV/ebmud/Data/Dataset_X/Metadata_CSV.- Work needs to be done to save the annotation data to DB and link that DB here instead of using CSV files.
- Having 'None' for metedata is throwing errors currently.
Run the cctv usage notebook for group forming
02-usage-forming_video_groups.ipynbafter changing the path to YAML in the notebook.Once DB is created, run the following command to extract frames.
cctv_extract_frames -y /home/gqc/CCTV/ebmud/Data/Dataset_X/ebmud_settings.ymlCopy the zipped frames to
cctv-apps/publicand extract frames here.Create CSV in cctv-apps for the extracted frames. We will use this later to upload in the app. Also, if working on MSI, make sure to download them to local.
Run the streamlit app. On
AI-Predictionapp, Select the model to use for prediction from dropdown, labels present or not, annotations option and uplaod the CSV we created before.Select images from the carousal to generate prediction for that image.
Issues found in cctv-apps -> AI-Prediction app:
For
Sample_Middle_Frames_2023_05_26.csv, for '4242020-10127 PM-DUSTIN BOWCOCK_001494.png', it throws below error irrespective of threshold:RuntimeError: Given groups=1, weight of size [64, 3, 7, 7], expected input[1, 4, 470, 700] to have 3 channels, but got 4 channels instead
Aug 16th 2023
Completed few TODOs from July and August.
AI3:
- Broad brush-up of the phase-2 report
- MermaidJS for the flow charts in ai3-hackathon repo to be made in the new file -
C:\git\gqc\AI3 Competition\phase_3\phase3_roadmap.md- Need to mention file locations
- Remove OPT and include LLAMA instead
- Value distribution for each key
- Look for ChatAll, which was included in training - On Deven's desktop
- Find notebook used for keys standardization - Under
git:ai3-hackathon/docs/nbs - Find notebook used for replacing 'NK' with correct keys - There was none, Implemented that in
git:ai3-hackathon/mqtt/utils - Find YOLO notebook that uses video -
git:notebooks-from-colab/nbs - Find LLAMA model training notebook -
MSI:/gqc/git/gqc/ai3/ - Find locations of sample videos from AI3 on MSI & HP laptop
To Ask
- [SK] Adding CCTV-apps and pipe-breaks projects on JIRA
- [SK] When to start working on the linting issues on SWC and SWMM.
- answered - Work on 8/17
Aug 17th 2023
- Committed changes from TODOs and documentation updating to github
- TODO
- Run
treeon HP laptop and save it to desktop. - Fix linter warnings on SWC and SWMM
- Raised PRs in both the repositories after testing for no functionality breakage.
- SWC- PR #57, SWMM- PR #6 : Both are tracked on JIRA
- Run
- AI3:
- Dictionary / Jagged array previously used might have been changed from 2-d to 1-d.
Aug 18th 2023
- Fixed new Lint warning issue task on SWMM (PR #7).
- Updated AI3 file locations in the
phase3_roadmap.md. - TODO: Ask Sudhir on next weeks' schedule
- WFH - Monday, Tuesday
- Tentative - Wednesday
- Office - Thursday, friday