All Projects β†’ Ichaelus β†’ video-colorization

Ichaelus / video-colorization

Licence: other
Applying the machine learning tool "DeOldify" on videos, frame by frame.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to video-colorization

NaturalGroundingPlayer
Sequence videos based on their energy readings
Stars: ✭ 46 (+206.67%)
Mutual labels:  video-processing
SSffmpegVideoOperation
This is a library of FFmpeg for android... πŸ“Έ 🎞 πŸš‘
Stars: ✭ 261 (+1640%)
Mutual labels:  video-processing
antz
ANTz immersive 3D data visualization engine
Stars: ✭ 25 (+66.67%)
Mutual labels:  video-processing
slitcamera
Bash script to turn video file into slit photo
Stars: ✭ 41 (+173.33%)
Mutual labels:  video-processing
deepvisualminer
Deep visual mining for your photos and videos using YOLOv2 deep convolutional neural network based object detector and traditional face recognition algorithms
Stars: ✭ 21 (+40%)
Mutual labels:  video-processing
ShotDetection
Open source software that detects shot boundaries in video.
Stars: ✭ 42 (+180%)
Mutual labels:  video-processing
VideoStitching
solve real time video stitching problem: 4 camera example by opencv surf
Stars: ✭ 42 (+180%)
Mutual labels:  video-processing
SST-Tensorflow
Tensorflow Implementation of the Paper "SST: Single-Stream Temporal Action Proposals" in CVPR 2017.
Stars: ✭ 50 (+233.33%)
Mutual labels:  video-processing
aws-content-analysis
This project is a fully automated video search engine which uses AWS AI services for computer vision and speech recognition to catalog video archives.
Stars: ✭ 67 (+346.67%)
Mutual labels:  video-processing
Implicit-Internal-Video-Inpainting
[ICCV 2021]: IIVI: Internal Video Inpainting by Implicit Long-range Propagation
Stars: ✭ 190 (+1166.67%)
Mutual labels:  video-processing
FunVideo
A series of embeddable theme into video, include animation and voice.
Stars: ✭ 19 (+26.67%)
Mutual labels:  video-processing
go-rainbow
Golang Helper for beautiful CLI Applications
Stars: ✭ 86 (+473.33%)
Mutual labels:  colorization
ffcvt
ffmpeg convert wrapper tool
Stars: ✭ 32 (+113.33%)
Mutual labels:  video-processing
external-internal-inpainting
[CVPR 2021] EII: Image Inpainting with External-Internal Learning and Monochromic Bottleneck
Stars: ✭ 95 (+533.33%)
Mutual labels:  colorization
Face-Recognition-Attendance
Face recognition using OpenCV and developed Advance high speed Attendance System on old CCTV footage
Stars: ✭ 19 (+26.67%)
Mutual labels:  video-processing
DrawingBotV3
DrawingBotV3 is a software for creating line drawings from Images
Stars: ✭ 161 (+973.33%)
Mutual labels:  video-processing
youtube-video-maker
πŸ“Ή A tool for automatic video creation and uploading on YouTube
Stars: ✭ 134 (+793.33%)
Mutual labels:  video-processing
towhee
Towhee is a framework that is dedicated to making neural data processing pipelines simple and fast.
Stars: ✭ 821 (+5373.33%)
Mutual labels:  video-processing
pepic
Image and video proxy for my pet-projects
Stars: ✭ 35 (+133.33%)
Mutual labels:  video-processing
Nager.VideoStream
Get images from a network camera stream or webcam
Stars: ✭ 27 (+80%)
Mutual labels:  video-processing

Video Colorization

Good thing we live in the future, and better still that there is Open Source software. jantic has created the awesome tool DeOldify that is colorizing images based on Deep Learning, and this is an attempt to apply his colorizing software to videos, frame by frame.

Deprecation notice

Good news: Video colorization has found it's way to the Deoldify project, including models trained for exactly this purpose and astonishing result.
I'll discontinue my work on this side project and try to upstream changes to the other repository. 

System requirements

  • This software has been tested on Ubuntu Mate 18.04, other Linux distributions might be able to run it with minor or no adjustments.
  • Converting a video using machine learning requires some heavy lifting, which means in this case that your machine needs a CUDA-supporting GPU. A very eary version of this script supported CPU-execution, but the speed loss is somewhere near factor 10.
  • The amount of GPU RAM you have limits the quality of the result.

Build instruction

Command reference

These commands are using a sample video from YouTube, the historical milestone "Dickson Experimental Sound Film (1894)".

./colorize_video.sh <YOUTUBE_VIDEO_URL> <FRAMERATE>

Fragment Explanation
./colorize_video.sh The main program executable. To be called for any video conversion.
YOUTUBE_VIDEO_URL Required parameter. The full URL to a YouTube video, e.g. "https://www.youtube.com/watch?v=SwIcRSvQ_TY".
FRAMERATE Optional parameter. The framerate of the original and resulting video. Can be inspected in YouTube by activating "Statistics for nerds". Default value: 25.

You can view the colorized video in the results directory.

Examples

For the above example of the "Dickson Experimental Sound Film", you can see the results at 30fps with a render factor of 30 here: https://www.youtube.com/watch?v=kU3-m4Gc1Q8&feature=youtu.be

This example was created using a very early version of both the machine learning model and this tool.

Some more examples:

Colorized Dickson Experimental Sound Film

Dickson Experimental Sound Film

Colorized video: Oliver Heldens feat. RUMORS - Ghost

Oliver Heldens feat. RUMORS - Ghost

Things likely to be implemented

  • Adding an optional parameter that controls DeOldify's render_factor
  • Guessing the best value for DeOldify's parameter render_factor. It depends on the users GPU-RAM, and will vary for each hardware. Higher is better.
  • Guessing the input format (Youtube or local mp4 video) and allowing both.
  • Guessing the render_factor based on a "ternary search". I.e. comparing the grayscale histogram of each frame with the original histogram, and thus evaluating if the result is feasible or not. (This will definitely increase the runtime of this tool, and should not be default)

Troubleshooting

  • Status code: 403 - Failed to download video.. You might be using an old version of ytdl that is now incompatible with the current YouTube API. Update it, e.g. with sudo npm -g update ytdl.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].