{"id":23076460,"url":"https://github.com/iamgmujtaba/ltc-sum","last_synced_at":"2025-08-15T18:32:34.135Z","repository":{"id":60425452,"uuid":"291737369","full_name":"iamgmujtaba/LTC-SUM","owner":"iamgmujtaba","description":"Implementation of  LTC-SUM: Lightweight Client-driven Personalized Video Summarization Framework Using 2D CNN","archived":false,"fork":false,"pushed_at":"2023-07-11T04:02:12.000Z","size":211,"stargazers_count":20,"open_issues_count":0,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-25T15:52:43.154Z","etag":null,"topics":["deep-learning","keras-tensorflow","summarization","summary","tensorflow","ucf101","video","videostreaming","videosummarization"],"latest_commit_sha":null,"homepage":"https://ieeexplore.ieee.org/document/9902992","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iamgmujtaba.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-08-31T14:26:52.000Z","updated_at":"2024-09-08T06:00:09.000Z","dependencies_parsed_at":"2024-01-19T10:22:14.880Z","dependency_job_id":"d31e8cfd-6fa2-4ae7-ba50-95ecb98f1205","html_url":"https://github.com/iamgmujtaba/LTC-SUM","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamgmujtaba%2FLTC-SUM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamgmujtaba%2FLTC-SUM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamgmujtaba%2FLTC-SUM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamgmujtaba%2FLTC-SUM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iamgmujtaba","download_url":"https://codeload.github.com/iamgmujtaba/LTC-SUM/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229940767,"owners_count":18148211,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","keras-tensorflow","summarization","summary","tensorflow","ucf101","video","videostreaming","videosummarization"],"created_at":"2024-12-16T09:39:27.455Z","updated_at":"2024-12-16T09:39:28.028Z","avatar_url":"https://github.com/iamgmujtaba.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LTC-SUM: Lightweight Client-driven Personalized Video Summarization Framework Using 2D CNN\r\n\r\nThis repository contains the original implementation of the paper __[LTC-SUM: Lightweight Client-driven Personalized Video Summarization Framework Using 2D CNN](https://ieeexplore.ieee.org/document/9902992)__, published in IEEE Access 2022.\r\n\r\n## Abstract\r\nThis paper proposes a novel lightweight thumbnail container-based summarization (LTC-SUM) framework for full feature-length videos. This framework generates a personalized keyshot summary for concurrent users by using the computational resource of the end-user device. State-of-the-art methods that acquire and process entire video data to generate video summaries are highly computationally intensive. In this regard, the proposed LTC-SUM method uses lightweight thumbnails to handle the complex process of detecting events. This significantly reduces computational complexity and improves communication and storage efficiency by resolving computational and privacy bottlenecks in resource-constrained end-user devices. These improvements were achieved by designing a lightweight 2D CNN model to extract features from thumbnails, which helped select and retrieve only a handful of specific segments. Extensive quantitative experiments on a set of full 18 feature-length videos (approximately 32.9 h in duration) showed that the proposed method is significantly computationally efficient than state-of-the-art methods on the same end-user device configurations. Joint qualitative assessments of the results of 56 participants showed that participants gave higher ratings to the summaries generated using the proposed method. To the best of our knowledge, this is the first attempt in designing a fully client-driven personalized keyshot video summarization framework using thumbnail containers for feature-length videos.\r\n\r\n## Prerequisite\r\n- Linux or macOS\r\n- Python 3.6\r\n- CPU or NVIDIA GPU + CUDA CuDNN\r\n\r\n## Getting Started\r\n### Installation\r\n- Clone this repo:\r\n```bash\r\ngit clone https://github.com/iamgmujtaba/LTC-SUM\r\ncd LTC-SUM\r\n```\r\n- To create conda environment and install cuda toolkit, run the following command:\r\n```bash\r\nconda create -n ltcsum cudatoolkit=10.0 cudnn=7.6.0 python=3.6 -y\r\nconda activate ltcsum\r\n```\r\n- Install [TensorFlow](https://www.tensorflow.org/) and Keras and other dependencies\r\n  - For pip users, please type the command \r\n```bash\r\npip install -r requirements.txt\r\n```\r\n\r\n## Preparing the data\r\n1. Create train and test folders\r\n```bash\r\ncd data \u0026\u0026 mkdir train \u0026\u0026 mkdir test\r\n```\r\n\r\n2. Download the dataset from UCF into the data folder:\r\n```bash\r\nwget wget https://www.crcv.ucf.edu/data/UCF101/UCF101.rar --no-check-certificate\r\n```\r\n\r\n3. Extract UCF101.rar file in the data folder\r\n```bash\r\nunrar e UCF101.rar\r\n```\r\n\r\n4.  Run the scripts in the data folder to move the videos to the appropriate folders\r\n```bash\r\npython 1_move_files_ucf101.py \r\n```\r\n\r\n5. Run the scripts in the data folder to extract video frames in the train/test folders and make the CSV file. The CSV file will be used in the rest of the code references\r\n```bash\r\npython 2_extract_files_ucf101.py\r\n```\r\n\r\n- Note: You need FFmpeg installed to extract frames from videos. \r\n\r\n## Train and evaluate\r\nTo train the model, run the following command.\r\n\r\n```bash\r\npython train.py --dataset_path /path/to/UCF101 --model_name efficientNet --batch_size 32 --epochs 100 --learning_rate 0.001 --num_classes 101 --save_model_path /path/to/save/model\r\n```\r\nCheck [config.py](config.py) for the list of all the parameters.\r\n\r\n- In order to evaluate the proposed method, you have to configure [hls-server](https://github.com/iamgmujtaba/hls-server).\r\n- Use [vid2tc](https://github.com/iamgmujtaba/vid2tc) to generate thumbnail contaienrs from videos. For more inforamtion, please refer to the __[paper](https://ieeexplore.ieee.org/document/9902992)__.\r\n- Download the pretrained model from [google drive](https://drive.google.com/file/d/1w2sgymO_AsxnaDdj6ZGzHc8TEGh2U7pC/view?usp=sharing).\r\n- Place the pretrained model in the [output](output) folder.\r\n- Run the following command to test the proposed method.\r\n\r\n```bash\r\npython test.py --genre wt \r\n```\r\n\r\n## Experimental Results\r\n\r\nhttps://user-images.githubusercontent.com/33286377/191896437-3d0e7b57-7546-4c89-9df6-92c3a37e3390.mp4\r\n\r\n\r\n## Citation\r\nIf you use this code for your research, please cite our paper.\r\n```\r\n@ARTICLE{mujtaba2022ltc,\r\n  title={LTC-SUM: Lightweight Client-Driven Personalized Video Summarization Framework Using 2D CNN}, \r\n  author={Mujtaba, Ghulam and Malik, Adeel and Ryu, Eun-Seok},\r\n  journal={IEEE Access}, \r\n  year={2022},\r\n  volume={10},\r\n  number={},\r\n  pages={103041-103055},\r\n  doi={10.1109/ACCESS.2022.3209275}}\r\n```\r\n\r\nThe following papers are also related to this research, please cite the articles if you use the code.\r\n```\r\n\r\n@inproceedings{mujtabasigmap2022,\r\n    title={Client-driven Lightweight Method to Generate Artistic Media for Feature-length Sports Videos},\r\n    author={Mujtaba, Ghulam and Choi, Jaehyuk and Ryu, Eun-Seok},\r\n    booktitle={19th International Conference on Signal Processing and Multimedia Applications (SIGMAP)},\r\n    pages={102-111},\r\n    year={2022},\r\n    address = {Lisbon, Portugal},\r\n    month = {}}\r\n\r\n@article{mujtaba2020client,\r\n  title={Client-driven personalized trailer framework using thumbnail containers},\r\n  author={Mujtaba, Ghulam and Ryu, Eun-Seok},\r\n  journal={IEEE Access},\r\n  volume={8},\r\n  pages={60417--60427},\r\n  year={2020},\r\n  publisher={IEEE}\r\n}\r\n\r\n@article{mujtabamtap2021,\r\n  title={Client-driven animated GIF generation framework using an acoustic feature},\r\n  author={Mujtaba, Ghulam and Lee, Sangsoon and Kim, Jaehyoun and Ryu, Eun-Seok},\r\n  journal={Multimedia Tools and Applications},\r\n  year={2021},\r\n  publisher={Springer}}\r\n\r\n@inproceedings{mujtaba2021human,\r\n  title={Human character-oriented animated gif generation framework},\r\n  author={Mujtaba, Ghulam and Ryu, Eun-Seok},\r\n  booktitle={2021 Mohammad Ali Jinnah University International Conference on Computing (MAJICC)},\r\n  pages={1--6},\r\n  year={2021},\r\n  organization={IEEE}\r\n}\r\n```\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamgmujtaba%2Fltc-sum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiamgmujtaba%2Fltc-sum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamgmujtaba%2Fltc-sum/lists"}