Package: animesr
AnimeSR (NeurIPS 2022):open_book: AnimeSR: Learning Real-World Super-Resolution Models for Animation VideosYanze Wu,Xintao Wang,Gen Li,Ying ShanTencent ARC Lab; Platform Technologies, Tencent Online Video:triangular_flag_on_post: Updates2022.11.28: release codes&models.2022.08.29: release AVC-Train and AVC-Test.Video Demoshttps://user-images.githubusercontent.com/11482921/204205018-d69e2e51-fbdc-4766-8293-a40ffce3ed25.mp4https://user-images.githubusercontent.com/11482921/204205109-35866094-fa7f-413b-8b43-bb479b42dfb6.mp4:wrench: Dependencies and InstallationPython >= 3.7 (Recommend to useAnacondaorMiniconda)PyTorch >= 1.7Other required packages inrequirements.txtInstallationClone repogitclonehttps://github.com/TencentARC/AnimeSR.gitcdAnimeSRInstall# Install dependent packagespipinstall-rrequirements.txt# Install AnimeSRpythonsetup.pydevelop:zap: Quick InferenceDownload the pre-trained AnimeSR models [Google Drive], and put them into theweightsfolder. Currently, the available pre-trained models are:AnimeSR_v1-PaperModel.pth: v1 model, also the paper model. You can use this model for paper results reproducing.AnimeSR_v2.pth: v2 model. Compare with v1, this version has better naturalness, fewer artifacts, and better texture/background restoration. If you want better results, use this model.AnimeSR supports both frames and videos as input for inference. We provide several sample test cases ingoogle drive, you can download it and put them toinputsfolder.Inference on Framespythonscripts/inference_animesr_frames.py-iinputs/tom_and_jerry-nAnimeSR_v2--expnameanimesr_v2--save_video_too--fps20Usage:-i --input           Input frames folder/root. Support first level dir (i.e., input/*.png) and second level dir (i.e., input/*/*.png)-n --model_name      AnimeSR model name. Default: AnimeSR_v2, can also be AnimeSR_v1-PaperModel-s --outscale        The netscale is x4, but you can achieve arbitrary output scale (e.g., x2 or x1) with the argument outscale.The program will further perform cheap resize operation after the AnimeSR output. Default: 4-o --output          Output root. Default: results-expname             Identify the name of your current inference. The outputs will be saved in $output/$expname-save_video_too      Save the output frames to video. Default: off-fps                 The fps of the (possible) saved videos. Default: 24After run the above command, you will get the SR frames inresults/animesr_v2/framesand the SR video inresults/animesr_v2/videos.Inference on Video# single gpu and single process inferenceCUDA_VISIBLE_DEVICES=0pythonscripts/inference_animesr_video.py-iinputs/TheMonkeyKing1965.mp4-nAnimeSR_v2-s4--expnameanimesr_v2--num_process_per_gpu1--suffix1gpu1process# single gpu and multi process inference (you can use multi-processing to improve GPU utilization)CUDA_VISIBLE_DEVICES=0pythonscripts/inference_animesr_video.py-iinputs/TheMonkeyKing1965.mp4-nAnimeSR_v2-s4--expnameanimesr_v2--num_process_per_gpu3--suffix1gpu3process# multi gpu and multi process inferenceCUDA_VISIBLE_DEVICES=0,1pythonscripts/inference_animesr_video.py-iinputs/TheMonkeyKing1965.mp4-nAnimeSR_v2-s4--expnameanimesr_v2--num_process_per_gpu3--suffix2gpu6processUsage:-i --input           Input video path or extracted frames folder-n --model_name      AnimeSR model name. Default: AnimeSR_v2, can also be AnimeSR_v1-PaperModel-s --outscale        The netscale is x4, but you can achieve arbitrary output scale (e.g., x2 or x1) with the argument outscale.The program will further perform cheap resize operation after the AnimeSR output. Default: 4-o -output           Output root. Default: results-expname             Identify the name of your current inference. The outputs will be saved in $output/$expname-fps                 The fps of the (possible) saved videos. Default: None-extract_frame_first If input is a video, you can still extract the frames first, other wise AnimeSR will read from stream-num_process_per_gpu Since the slow I/O speed will make GPU utilization not high enough, so as long as thevideo memory is sufficient, we recommend placing multiple processes on one GPU to increase the utilization of each GPU.The total process will be number_process_per_gpu * num_gpu-suffix              You can add a suffix string to the sr video name, for example, 1gpu3processx2 which means the SR video is generated with one GPU and three process and the outscale is x2-half                Use half precision for inference, it won't make big impact on the visual resultsSR videos are saved inresults/animesr_v2/videos/$video_namefolder.If you are looking for portable executable files, you can try ourrealesr-animevideov3model which shares the similar technology with AnimeSR.:computer: TrainingSeeTraining.mdRequest for AVC-DatasetDownload and carefully read theLICENSE AGREEMENTPDF file.If you understand, acknowledge, and agree to all the terms specified in theLICENSE AGREEMENT. Please emailyanzewu@tencent.comwith theLICENSE AGREEMENT PDFfile,your name, andinstitution. We will keep the license and send the download link of AVC dataset to you.AcknowledgementThis project is build based onBasicSR.CitationIf you find this project useful for your research, please consider citing our paper:@InProceedings{wu2022animesr,author={Wu, Yanze and Wang, Xintao and Li, Gen and Shan, Ying},title={AnimeSR: Learning Real-World Super-Resolution Models for Animation Videos},booktitle={Advances in Neural Information Processing Systems},year={2022}}:e-mail: ContactIf you have any question, please emailyanzewu@tencent.com.