Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 4 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
This is a CLI tool to detect cuts in films, especially old films with noisy and broken frames. This tool basically takes an input video and stores cuts in various formats - frame index of cuts alongwith type of cut in CSV format, timestamp in seconds of start and end shots in the film, MEP json format containing shots timestamps, and a format which is supported by cinemetrics for further analysis.
This tool was produced for Google Summer Code 2021 with RedHenLabs and Media Ecology Project.

Detailed working of this tool is included in the [final submission blog](https://gsocblog-tre3x.netlify.app/final-project.html).
Detailed working of this tool is included in the [final submission blog](https://tre3x.github.io/final).

## Getting Started

Expand All @@ -17,7 +17,8 @@ You need Python 3.x and Conda package manager to run this tool
### Installation
For installing this tool with pretrained model, follow the steps below :
1. Clone this repository `git clone https://github.com/tre3x/FilmEditDetection.git`
2. Install the neccessary dependencies by executing `conda env create -f environment.yml`
2. Switch to `cutdetector-CLI` branch `git checkout cutdetector-cli`
3. Install the neccessary dependencies by executing `conda env create -f environment.yml`

### Dataset Description
Two datasets were used in training the validation/softcut-detection module.
Expand Down Expand Up @@ -91,16 +92,6 @@ module load singularity/3.7.1
```
6. Run the image
```bash
singularity run -B <path/to/video> -B <path/to/model> filmedit.img --vidpath <path/to/video> --modpath <path/to/model>
singularity run FilmEditDetection.img --vidpath <path/to/video>
```
- `<path/to/video>` denotes the absolute input video path
- `<path/to/model>` denotes the absolute path to trained model. If empty, the tool will tun on pre trained model.

## Future Work
- Additional features can be added to the tool which provides helpful insights into the film metrics.
- There are few cases in which the tool fails to classify cuts, like in case of Jump cuts. In the future some other variant of the model
can be used to classify the cuts which the current model fails to classify.
- Some films have low contrast with high noise, in which it becomes difficult to classify cuts. Some preprocessing on training data to acheive the same
and let the model learn those features.
- The command line interface can currently handle one output operation at a time. It can be modified
to allow the user to generate outputs of multiple format at a time.
196 changes: 0 additions & 196 deletions cutdetectorui.py

This file was deleted.

Binary file removed img/index.jpg
Binary file not shown.
2 changes: 1 addition & 1 deletion main.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def run_tool(vidpath, modpath, operation, outdir, config, cinemetrics_submit, yn
if outdir=='':
outdir = os.path.join(here, "csv_shots")
run(conf).run(vidpath, modpath, outdir, iscsvtime=True)
if operation=='mepformat':
if operation=='mepjson':
if outdir=='':
outdir = os.path.join(here, "json_mep")
run(conf).run(vidpath, modpath, outdir, ismepjson=True)
Expand Down