指南:基于 Fourier 卷積的分辨率魯棒修復模型在 Inpaint-Anything 中的使用與訓練)
人工智能計算機視覺深度學習圖像處理視頻處理【免費下載鏈接】Inpaint-AnythingInpaint anything using Segment Anything and inpainting models.項目地址https://gitcode.com/gh_mirrors/in/Inpaint-Anything點擊查看免費下載LaMaLarge Mask Inpainting是 Inpaint-Anything 項目默認使用的圖像修復inpainting引擎它以 256×256 分辨率訓練卻能對 2k 左右的高分辨率大掩碼圖像保持良好的修復質(zhì)量尤其擅長周期性結(jié)構(gòu)如柵欄、建筑立面的補全。本文以 lama/README.md 為骨架結(jié)合倉庫內(nèi)的預測/訓練配置、掩碼生成配置、Docker 腳本與 FFC 模塊源碼完整講解 LaMa 的環(huán)境搭建、推理、掩碼生成、訓練評估與配置覆蓋并給出其在 Inpaint-Anything 中的集成調(diào)用方式讀完即可上手跑通一條掩碼 → LaMa 修復 → 結(jié)果輸出的完整鏈路。LaMa 是什么核心能力與設(shè)計動機LaMa 由 Roman Suvorov 等人提出論文題目《Resolution-robust Large Mask Inpainting with Fourier Convolutions》論文引用信息可在 lama/README.md 末尾的 Citation 中找到。它有兩個關(guān)鍵特點對大掩碼魯棒傳統(tǒng)修復模型在小孔洞上表現(xiàn)尚可面對大面積缺失區(qū)域往往崩潰LaMa 針對大掩碼場景做了針對性設(shè)計。分辨率魯棒模型僅在 256×256 分辨率下訓練但據(jù)官方文檔所述它能夠泛化到訓練時未見過的約 2k 高分辨率并在周期性結(jié)構(gòu)補全等困難場景下保持良好效果。這一能力的基礎(chǔ)是Fourier 卷積Fast Fourier ConvolutionFFC。在倉庫源碼 lama/saicinpainting/training/modules/ffc.py 中可以看到其實現(xiàn)FourierUnitffc.py 第 49 行起在 forward 中會對輸入特征做 FFT 頻譜變換通過 1×1 卷積在頻域完成特征混合再經(jīng)逆變換回到空間域FFCSE_block在頻域分支上引入 SESqueeze-and-Excitation注意力讓模型按通道自適應(yīng)地融合局部細節(jié)local與全局頻譜global兩條路徑的信息該實現(xiàn)源自 NeurIPS 2020 的 Fast Fourier Convolution 論文文件頭部注釋有原始項目出處。頻域操作天然具有全局感受野這正是 LaMa 能理解大面積缺失區(qū)域上下文、并流暢補全重復紋理結(jié)構(gòu)的底層原因。環(huán)境搭建三種可選方案倉庫提供了三條環(huán)境安裝路徑對應(yīng) lama/requirements.txt、lama/conda_env.yml 與 lama/docker/Dockerfile。1. Python virtualenvvirtualenv inpenv --python/usr/bin/python3 source inpenv/bin/activate pip install torch1.8.0 torchvision0.9.0 cd lama pip install -r requirements.txt2. Conda# 若尚未安裝 miniconda可先通過官方安裝腳本安裝Linux 示例 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda $HOME/miniconda/bin/conda init bash cd lama conda env create -f conda_env.yml conda activate lama conda install pytorch torchvision torchaudio cudatoolkit10.2 -c pytorch -y pip install pytorch-lightning1.2.9lama/conda_env.yml 鎖定了一整套可復現(xiàn)依賴Python 3.6.13、cudatoolkit 10.2、PyTorch Lightning 1.2.9、Hydra 1.1.0、OmegaConf 2.1.1、albumentations 0.5.2、kornia 0.5.0 等pip 段還包含wldhx-yadisk-direct用于解析 Yandex 網(wǎng)盤直鏈供下文下載模型使用。3. Docker無需手動安裝任何 Python 依賴直接使用 lama/docker/Dockerfile 構(gòu)建的鏡像即可。該鏡像基于nvidia/cuda:10.2-runtime-ubuntu18.04內(nèi)置 miniconda 并預裝 PyTorch 1.8.1、albumentations、pytorch-lightning、hydra-core 等依賴同時將PYTHONPATH指向/home/user/project容器內(nèi)可直接運行項目腳本。無論采用哪種方案進入推理/訓練前都要設(shè)置環(huán)境變量cd lama export TORCH_HOME$(pwd) export PYTHONPATH$(pwd)TORCH_HOME用于定位感知損失所需的預訓練權(quán)重詳見下文訓練與評估PYTHONPATH保證腳本能導入saicinpainting包。推理從預訓練模型到修復結(jié)果1. 下載預訓練模型先安裝 Yandex 直鏈提取工具pip3 install wldhx.yadisk-direct下載論文中最優(yōu)模型Places2、Places Challenge即 Big-LaMacurl -L $(yadisk-direct https://disk.yandex.ru/d/ouP6l8VJ0HpMZg) -o big-lama.zip unzip big-lama.zip或一次性下載全部模型Places 與 CelebA-HQcurl -L $(yadisk-direct https://disk.yandex.ru/d/EgqaSnLohjuzAg) -o lama-models.zip unzip lama-models.zip模型壓縮包解壓后即為模型目錄其中應(yīng)包含config.yaml訓練配置與models/下的 checkpoint 文件——lama_inpaint.py 中inpaint_img_with_lama正是從模型目錄/config.yaml讀取訓練配置、從模型目錄/models/checkpoint加載權(quán)重這一約定與 README 的下載流程一一對應(yīng)。2. 準備圖像與掩碼可以下載官方測試圖片curl -L $(yadisk-direct https://disk.yandex.ru/d/xKQJZeVRk5vLlQ) -o LaMa_test_images.zip unzip LaMa_test_images.zip也可以使用自己的數(shù)據(jù)。掩碼與圖像必須放在同一目錄并遵循命名規(guī)則image1_mask001.png image1.png image2_mask001.png image2.png即掩碼文件名為[圖像名]_maskXXX[圖像后綴]其中XXX為掩碼編號。隨后在預測配置 lama/configs/prediction/default.yaml 中指定dataset.img_suffix例如.png、.jpg或_input.jpg。隨機掩碼可用bin/gen_mask_dataset.py腳本批量生成用法見下文掩碼生成。3. 運行預測宿主機python3 bin/predict.py model.path$(pwd)/big-lama indir$(pwd)/LaMa_test_images outdir$(pwd)/output關(guān)鍵命令行參數(shù)參數(shù)含義model.path預訓練模型目錄如$(pwd)/big-lamaindir輸入圖像與掩碼所在目錄outdir結(jié)果輸出目錄model.checkpoint使用的 checkpoint 文件名默認best.ckptrefine是否啟用精修r(nóng)efiner默認關(guān)閉4. 運行預測Dockerbash docker/2_predict.sh $(pwd)/big-lama $(pwd)/LaMa_test_images $(pwd)/output devicecpudocker/2_predict.sh 會把項目目錄、模型目錄、輸入目錄、輸出目錄分別掛載到容器內(nèi)的固定路徑并透傳model.path、indir、outdir、dataset.img_suffix等參數(shù)容器內(nèi)執(zhí)行/home/user/project/bin/predict.py。腳本還支持追加任意predict.py參數(shù)$透傳例如追加model.checkpointlast.ckpt。Docker CUDA 版本在官方文檔中標記為 TODO如需 GPU 運行請自行調(diào)整鏡像。5. 預測配置逐項解讀lama/configs/prediction/default.yaml 是預測入口的默認配置逐項說明如下indir: no # 輸入目錄命令行覆蓋 outdir: no # 輸出目錄命令行覆蓋 model: path: no # 模型目錄命令行覆蓋 checkpoint: best.ckpt # 默認加載 best.ckpt dataset: kind: default img_suffix: .png # 圖像后綴決定匹配哪些文件 pad_out_to_modulo: 8 # 輸入按 8 的倍數(shù) padding device: cuda # 推理設(shè)備可改 cpu out_key: inpainted # 模型輸出字典中取結(jié)果的鍵名 refine: False # 精修開關(guān)僅 True 時運行 refiner refiner: gpu_ids: 0,1 # 精修使用的 GPU id單卡寫成 0, modulo: ${dataset.pad_out_to_modulo} # 繼承上述 8 n_iters: 15 # 每個尺度的精修迭代次數(shù) lr: 0.002 # 精修學習率 min_side: 512 # 所有尺度下圖像邊長應(yīng) min_side / sqrt(2) max_scales: 3 # 圖像-掩碼金字塔最大下采樣尺度數(shù) px_budget: 1800000 # 像素預算圖像會被縮放使 height*width px_budget其中pad_out_to_modulo與refiner.modulo的對應(yīng)關(guān)系在代碼中有清晰印證lama_inpaint.py 的inpaint_img_with_lama使用pad_tensor_to_modulo(batch[image], mod)將輸入 padding 到 8 的倍數(shù)推理完成后再按原始尺寸cur_res[:orig_height, :orig_width]裁回保證輸出與輸入嚴格同尺寸。6. 帶精修的預測python3 bin/predict.py refineTrue model.path$(pwd)/big-lama indir$(pwd)/LaMa_test_images outdir$(pwd)/outputrefineTrue會啟用圖像-掩碼金字塔式的多尺度精修r(nóng)efiner按n_iters、lr、max_scales、px_budget等參數(shù)逐尺度細化結(jié)果適合對修復質(zhì)量有更高要求的場景相應(yīng)地推理耗時會增加。掩碼生成隨機掩碼數(shù)據(jù)集與參數(shù)命令行用法在 Docker 中一鍵生成隨機掩碼bash docker/1_generate_masks_from_raw_images.sh \ configs/data_gen/random_medium_512.yaml \ /directory_with_input_images \ /directory_where_to_store_images_and_masks \ --ext pngdocker/1_generate_masks_from_raw_images.sh 將三個參數(shù)映射為容器內(nèi)的config.yaml / input / output其余參數(shù)如--ext通過$透傳給bin/gen_mask_dataset.py。生成的掩碼數(shù)據(jù)集格式image_crop000_mask000.png與image_crop000.png成對出現(xiàn)可直接作為indir喂給預測腳本。在宿主機上則直接調(diào)用python3 bin/gen_mask_dataset.py \ $(pwd)/configs/data_gen/random_medium_512.yaml \ my_dataset/val_source/ \ my_dataset/val/random_medium_512 \ --ext jpg掩碼生成器會完成兩件事先把輸入圖像 resize 并裁剪square crop后保存為.png再按配置生成隨機掩碼。--ext jpg表示輸入圖像后綴為 jpg。論文測試集對應(yīng)的配置官方文檔給出了論文中各測試集對應(yīng)的數(shù)據(jù)生成配置注意官方未固定隨機種子因此每次生成結(jié)果會略有差異掩碼類型Places 512×512CelebA 256×256窄Narrow/Thinrandom_thin_512.yamlrandom_thin_256.yaml中Mediumrandom_medium_512.yamlrandom_medium_256.yaml寬Wide/Thickrandom_thick_512.yamlrandom_thick_256.yaml以上配置文件均位于 lama/configs/data_gen/。你可以把第一個參數(shù)替換為任意configs/data_gen下的配置或直接修改配置文件。掩碼配置參數(shù)詳解以 lama/configs/data_gen/random_thick_512.yaml 為例generator_kind: random # 隨機掩碼生成器 mask_generator_kwargs: irregular_proba: 1 # 不規(guī)則筆觸狀掩碼的出現(xiàn)概率權(quán)重 irregular_kwargs: min_times: 1 # 每圖不規(guī)則掩碼最小數(shù)量 max_times: 5 # 每圖不規(guī)則掩碼最大數(shù)量 max_width: 250 # 筆觸最大寬度像素 max_angle: 4 # 筆觸最大角度 max_len: 450 # 筆觸最大長度像素 box_proba: 0.3 # 矩形框掩碼的出現(xiàn)概率權(quán)重 box_kwargs: margin: 10 # 框與圖像邊緣的最小間距 bbox_min_size: 30 # 矩形最小邊長 bbox_max_size: 300 # 矩形最大邊長 max_times: 4 min_times: 1 segm_proba: 0 # 語義分割掩碼概率本配置未啟用 squares_proba: 0 # 方塊掩碼概率本配置未啟用 variants_n: 5 # 每張圖生成的掩碼變體數(shù)量 max_masks_per_image: 1 # 每張圖像最多保留的掩碼數(shù) cropping: out_min_size: 512 # 裁剪輸出最小邊長 handle_small_mode: upscale # 小圖放大策略 out_square_crop: True # 是否方形裁剪 crop_min_overlap: 1 # 裁剪與原圖最小重疊度 max_tamper_area: 0.5 # 掩碼面積占圖像比例上限對比 lama/configs/data_gen/random_medium_256.yaml 可以看出 256 與 512 兩套配置的差異256 版out_min_size: 256筆觸更短更細max_width: 50、max_len: 100矩形框更小bbox_min_size: 10、bbox_max_size: 50說明掩碼尺寸與訓練/評估分辨率是配套設(shè)計的。max_tamper_area: 0.5則統(tǒng)一限制了掩碼不超過圖像面積的 50%。訓練與評估Places、CelebA 與自定義數(shù)據(jù)訓練前仍需執(zhí)行cd lama export TORCH_HOME$(pwd) export PYTHONPATH$(pwd)并下載感知損失perceptual loss所需的語義分割模型權(quán)重mkdir -p ade20k/ade20k-resnet50dilated-ppm_deepsup/ wget -P ade20k/ade20k-resnet50dilated-ppm_deepsup/ http://sceneparsing.csail.mit.edu/model/pytorch/ade20k-resnet50dilated-ppm_deepsup/encoder_epoch_20.pth對應(yīng)倉庫中的 lama/models/ade20k/ 目錄包含 resnet/mobilenet 骨干與segm_lib同步批歸一化實現(xiàn)。訓練配置 lama/configs/training/lama-fourier.yaml 中l(wèi)osses.resnet_pl.weights_path: ${env:TORCH_HOME}即引用該權(quán)重目錄。Places 訓練與評估# 下載 Places365-StandardTrain 105GB / Test 19GB / Val 2.1GB來自 High-resolution images 部分 wget http://data.csail.mit.edu/places/places365/train_large_places365standard.tar wget http://data.csail.mit.edu/places/places365/val_large.tar wget http://data.csail.mit.edu/places/places365/test_large.tar # 解壓并生成 yaml 配置 bash fetch_data/places_standard_train_prepare.sh bash fetch_data/places_standard_test_val_prepare.sh # 為測試與 epoch 末尾可視化采樣圖像 bash fetch_data/places_standard_test_val_sample.sh bash fetch_data/places_standard_test_val_gen_masks.sh # 啟動訓練 python3 bin/train.py -cn lama-fourier locationplaces_standard # 采樣論文評估所需的 3 萬張未見過圖像并生成掩碼 bash fetch_data/places_standard_evaluation_prepare_data.sh # 在 thick 掩碼512上推理 python3 bin/predict.py \ model.path$(pwd)/experiments/user_date:time_lama-fourier_/ \ indir$(pwd)/places_standard_dataset/evaluation/random_thick_512/ \ outdir$(pwd)/inference/random_thick_512 model.checkpointlast.ckpt # 計算指標FID/SSIM/LPIPS python3 bin/evaluate_predicts.py \ $(pwd)/configs/eval2_gpu.yaml \ $(pwd)/places_standard_dataset/evaluation/random_thick_512/ \ $(pwd)/inference/random_thick_512 \ $(pwd)/inference/random_thick_512_metrics.csv評估使用的三個指標分別來自倉庫 lama/saicinpainting/evaluation/losses/ 下的ssim.py、lpips.py依賴 lama/models/lpips_models/ 中已提供的 alex/squeeze/vgg 權(quán)重與fid/fid_score.py。需要留意論文中 Places 的 FID/SSIM/LPIPS 數(shù)值是在上述評估流程產(chǎn)出的 30000 張圖像上計算的評估數(shù)據(jù)的劃分細節(jié)見論文附錄。CelebA 訓練與評估cd lama export TORCH_HOME$(pwd) export PYTHONPATH$(pwd) # 下載 CelebA-HQ 數(shù)據(jù)集data256x256.zip256×256 # 解壓并切分 train/test/visualization、生成配置 bash fetch_data/celebahq_dataset_prepare.sh # 為 test 與 visual_test 生成掩碼 bash fetch_data/celebahq_gen_masks.sh # 訓練-cn 指定訓練配置data.batch_size 覆蓋批大小 python3 bin/train.py -cn lama-fourier-celeba data.batch_size10 # 在 thick 掩碼256上推理 python3 bin/predict.py \ model.path$(pwd)/experiments/user_date:time_lama-fourier-celeba_/ \ indir$(pwd)/celeba-hq-dataset/visual_test_256/random_thick_256/ \ outdir$(pwd)/inference/celeba_random_thick_256 model.checkpointlast.ckpt用自己的數(shù)據(jù)訓練官方文檔給出了完整流程。首先按如下結(jié)構(gòu)準備數(shù)據(jù)目錄$ ls my_dataset train val_source # 2000 張以上 visual_test_source # 100 張以上 eval_source # 2000 張以上訓練數(shù)據(jù)集的隨機掩碼由 LaMa 在訓練時動態(tài)生成但驗證集與可視化集需要固定掩碼以保證評估一致性。假設(shè)要在 512×512 的 val 上按 thick/thin/medium 三種掩碼評估且輸入圖像為 jpg# 對 val_source 生成三種掩碼 python3 bin/gen_mask_dataset.py \ $(pwd)/configs/data_gen/random_thick_512.yaml \ my_dataset/val_source/ \ my_dataset/val/random_thick_512/ \ --ext jpg # random_medium_512 / random_thin_512 同理 # 對 visual_test_source 與 eval_source 重復上述過程生成結(jié)果形如image1_crop000_mask000.png/image1_crop000.png。接著創(chuàng)建 location 配置告訴訓練框架各目錄在哪touch my_dataset.yaml echo data_root_dir: $(pwd)/my_dataset/ my_dataset.yaml echo out_root_dir: $(pwd)/experiments/ my_dataset.yaml echo tb_dir: $(pwd)/tb_logs/ my_dataset.yaml mv my_dataset.yaml ${PWD}/configs/training/location/lama/configs/training/location/places_example.yaml 給出了同結(jié)構(gòu)參考data_root_dir、out_root_dir、tb_dir、pretrained_models四個字段。隨后檢查數(shù)據(jù)配置 lama/configs/training/data/abl-04-256-mh-dist.yaml 是否與目錄結(jié)構(gòu)一致——該配置通過train.indir: ${location.data_root_dir}/train、val.indir: ${location.data_root_dir}/val、visual_test.indir: ${location.data_root_dir}/visual_test等插值引用 location并設(shè)置batch_size: 10、val_batch_size: 2、num_workers: 3其中visual_test.pad_out_to_modulo: 32表示可視化推理時按 32 對齊 padding。train 段的mask_gen_kwargs定義了訓練時在線生成的掩碼分布irregular 與 box 混合segm_proba: 0。確認無誤后啟動訓練python3 bin/train.py -cn lama-fourier locationmy_dataset data.batch_size10訓練過程中框架會依據(jù)my_dataset/val/上的得分挑選最優(yōu)模型。對選中的某個 epoch如 epoch 32在未參與訓練的eval上評估# 推理 python3 bin/predict.py \ model.path$(pwd)/experiments/user_date:time_lama-fourier_/ \ indir$(pwd)/my_dataset/eval/random_thick_512/ \ outdir$(pwd)/inference/my_dataset/random_thick_512 \ model.checkpointepoch32.ckpt # 計算指標 python3 bin/evaluate_predicts.py \ $(pwd)/configs/eval2_gpu.yaml \ $(pwd)/my_dataset/eval/random_thick_512/ \ $(pwd)/inference/my_dataset/random_thick_512 \ $(pwd)/inference/my_dataset/random_thick_512_metrics.csv官方文檔同時提醒若在上述任一步驟卡住可參考 CelebA 部分的 bash 腳本lama/fetch_data/celebahq_dataset_prepare.sh、lama/fetch_data/celebahq_gen_masks.sh核對數(shù)據(jù)準備與掩碼生成細節(jié)。配置覆蓋與模型選項Hydra 參數(shù)覆蓋所有訓練配置基于 Hydra OmegaConf可用點號路徑在命令行直接覆蓋任意參數(shù)python3 bin/train.py -cn config data.batch_size10 run_titlemy-title其中-cn后省略.yaml后綴。這一機制貫穿整個倉庫——例如前文中的data.batch_size10、model.checkpointlast.ckpt、refineTrue都是同一種覆蓋方式。論文中的模型配置官方文檔列出了可替換進訓練命令的模型配置名位于 lama/configs/training/配置名說明big-lama論文最優(yōu)模型Places2 / Places ChallengeFFC 生成器 大訓練集big-lama-regularBig-LaMa 的 regular 變體lama-fourier標準 LaMaFourier 卷積主干lama-regular無 Fourier 分支的 regular 變體lama_small_train_masks訓練掩碼更小/更稀疏的變體訓練配置 lama/configs/training/lama-fourier.yaml 展示了 LaMa 訓練目標的全貌L1 損失僅作用于已知區(qū)域weight_known: 10、weight_missing: 0、R1 對抗損失kind: r1、weight: 10、特征匹配損失weight: 100、基于 ResNet 的感知損失weight: 30并通過defaults組裝 location/data/generator/discriminator/optimizers/visualizer/evaluator/trainer/hydra 各子配置其中生成器默認ffc_resnet_075、判別器默認pix2pixhd_nlayer。在 Inpaint-Anything 中集成 LaMa本倉庫在根目錄提供了 lama_inpaint.py 作為 LaMa 的 Python 封裝inpaint_img_with_lama函數(shù)承載了核心推理流程可從源碼結(jié)構(gòu)還原其步驟將輸入圖像歸一化到[0,1]img.float().div(255.)掩碼若取值{0,1}則先乘以 255加載預測配置 lama/configs/prediction/default.yaml并把model.path指向傳入的 checkpoint 目錄從模型目錄讀取訓練時的config.yaml設(shè)置training_model.predict_only True、visualizer.kind noop推理時不產(chǎn)生可視化日志隨后load_checkpoint加載權(quán)重并freeze()對 image/mask 張量做pad_tensor_to_modulo(…, 8)對齊將掩碼二值化為(mask 0) * 1前向計算后取out_key: inpainted最后裁回原始尺寸并還原到uint8。該封裝還提供build_lama_model/inpaint_img_with_builded_lama兩函數(shù)用于先構(gòu)建并駐留模型、再對多張圖復用同一模型實例的批處理場景。命令行入口用法python lama_inpaint.py \ --input_img example/remove-anything/baseball.jpg \ --input_mask_glob results/baseball/mask*.png \ --output_dir results \ --lama_config lama/configs/prediction/default.yaml \ --lama_ckpt big-lama在 Inpaint-Anything 的整體鏈路中LaMa 通常承接 SAMSegment Anything等上游模塊產(chǎn)出的分割掩碼——例如 remove_anything.py 會把用戶點擊點交給 SAM 生成掩碼再交給 LaMa 完成內(nèi)容移除fill_anything.py、replace_anything.py 則在 LaMa 修復的基礎(chǔ)上疊加 Stable Diffusion 等生成式模型完成填充與替換。倉庫 example/remove-anything/ 下的樣例即展示了原圖 → 帶掩碼 → 修復結(jié)果的對應(yīng)關(guān)系。因此掌握本指南的模型下載、掩碼約定與lama_inpaint.py參數(shù)是把 LaMa 嵌入任意分割 修復流水線的關(guān)鍵一步。結(jié)語LaMa 以 Fourier 卷積獲得全局感受野從而在大掩碼 高分辨率這一組合上顯著優(yōu)于傳統(tǒng)卷積修復模型。本指南從環(huán)境搭建、預訓練模型下載、掩碼數(shù)據(jù)生成到 Places/CelebA 訓練評估與自定義數(shù)據(jù)訓練再到 Inpaint-Anything 的 Python 封裝完整覆蓋了 LaMa 的落地路徑。動手實踐時建議先從big-lama預訓練權(quán)重配合 lama/configs/prediction/default.yaml 跑通單圖推理再逐步深入掩碼生成參數(shù)與訓練配置的調(diào)優(yōu)。引用如果本文幫助你完成了相關(guān)工作可參考以下 BibTeX 引用原文載于 lama/README.mdarticle{suvorov2021resolution, title{Resolution-robust Large Mask Inpainting with Fourier Convolutions}, author{Suvorov, Roman and Logacheva, Elizaveta and Mashikhin, Anton and Remizova, Anastasia and Ashukha, Arsenii and Silvestrov, Aleksei and Kong, Naejin and Goka, Harshith and Park, Kiwoong and Lempitsky, Victor}, journal{arXiv preprint arXiv:2109.07161}, year{2021} }贊分享人工智能計算機視覺深度學習圖像處理視頻處理【免費下載鏈接】Inpaint-AnythingInpaint anything using Segment Anything and inpainting models.項目地址https://gitcode.com/gh_mirrors/in/Inpaint-Anything點擊查看免費下載相關(guān)推薦突破分辨率限制LaMa大掩碼圖像修復技術(shù)原理解析突破分辨率限制LaMa大掩碼圖像修復技術(shù)原理解析 1. 圖像修復的分辨率困境與LaMa的革新 傳統(tǒng)圖像修復 Image Inpainting 技術(shù)長期面臨分人工智能計算機視覺深度學習圖像處理Inpaint-Anything終極指南基于Segment Anything的智能圖像修復神器Inpaint Anything終極指南基于Segment Anything的智能圖像修復神器 Inpaint Anything是一款革命性的AI圖像修復工具人工智能計算機視覺深度學習圖像處理視頻處理OpenRTX協(xié)議棧實現(xiàn)原理深入理解M17數(shù)字語音傳輸機制OpenRTX協(xié)議棧實現(xiàn)原理深入理解M17數(shù)字語音傳輸機制 OpenRTX 作為一款開源無線電固件其 M17數(shù)字語音傳輸協(xié)議棧 實現(xiàn)展現(xiàn)了現(xiàn)代業(yè)余無線電技術(shù)嵌入式物聯(lián)網(wǎng)音視頻上一篇openeuler/yocto-meta-renesas新手教程從安裝到部署的完整路線圖下一篇Ruby 文件讀寫與序列化實戰(zhàn)從 File/IO 基礎(chǔ)到 JSON、YAML 與狀態(tài)持久化創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考