快轉到主要內容

DoujinCI ~ AI自動去圖片馬賽克和海苔條

分類   開源AI應用 AI影像處理
標籤   Demosaic Image Inpainting Doujinshi Manga
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

論給漫畫去馬賽克/海苔條,我們有 DeepCreamPy + Hent-AI的軟體可以達成目的。

但是,原本手動放圖片的操作太繁瑣了,Gitlab開發者UBC Seagull便寫了「DoujinCI」,利用Gitlab CI/CD Pipeline整合全部步驟,達成自動化下載圖片 + 圖片去碼管線的操作。

沒錯…網路圖片託管商多半有提供管線(pipeline),能夠在傳遞圖片的時候壓縮成avif減少容量,但是還缺了一個去碼的功能對吧!

DoujinCI名字跟同人誌(doujinshi)雙關。

瞇著眼睛看,黑白漫畫去碼效果還不賴。

ろ~たり~Engine HIGHSCHOOL OF THE DATE

彩色漫畫去碼也行喔

320BPM GIRLS und CHINPOR

你可以在 Gitlab用自己的帳號fork他的專案,建立你自己的CI/CD Pipeline。

不過DoujinCI要本機跑也是可以的,本文Ivon示範在Linux系統完全離線跑DoujinCI的方法,文末附上指令稿。

1. 準備圖片
#

DoujinCI僅支援Nhentai和Imgur相簿的網址。作者尚沒有實現離線處理邏輯,一定得下載後處理,後面我會提供離線處理的解法。

nhentai.net只要取得畫廊網址的數字就行。

Imgur相簿不建議,自從2023年他們更新服務條款後,網站AI會自動砍掉R18圖片。

如果你要自己準備圖片,那就把漫畫壓縮檔解壓縮,一個目錄裡面只留圖片。不一定要整本漫畫,單張圖檔也行。

2. 安裝DoujinCI
#

  1. 安裝 Anaconda

  2. DoujinCI預設使用CPU算,CPU需支援AVX256指令集。如果要使用GPU加速,請安裝 CUDA

  3. 開第一個終端機,複製DoujinCI儲存庫

cd ~
git clone https://gitlab.com/ubcseagull/doujinci.git
cd doujinci
  1. 建立Python 3.5環境,安裝main的依賴套件
conda create --prefix ./main python=3.5

conda activate ./main

conda install cffi

pip install --upgrade pip

pip install -r AI/requirements-cpu.txt

# 或者裝GPU版用CUDA算
pip install -r AI/requirements-gpu.txt
  1. 開第二個終端機,安裝decensor的依賴套件
conda create --prefix ./decensor python=3.6

conda activate ./decensor

pip install --upgrade pip

pip install -r Py/requirements-cpu.txt

# 或者裝GPU版用CUDA算
pip install -r AI/requirements-gpu.txt
  1. 終端機保持開著。

3. 標記圖片海苔
#

回到main的終端機,輸入指令,下載圖片,標記海苔。圖片會輸出到Py/decensor_input

# 畫廊ID
export LINKORID=97972

# 標記mosiac(馬賽克)或bar(海苔條)
export BARORMOSAIC=bar

# 是否去除網點
export STREMOVE=false

python AI/main.py $LINKORID $BARORMOSAIC $STREMOVE

  1. 如果你想使用離線圖片,不要下載的話,修改AI/main.py,將這段程式碼註解掉:
#wipedir(input_images_folder)
    #if imgur:
    #    imgurdownloader.download(input_images_folder, link)
    #else:
    #    ndownloader.download(input_images_folder, id)
  1. 將要處理的圖片放到AI/input_images目錄

  2. 執行指令,程式就會直接使用離線圖片,開始標記

export LINKORID=00000
export BARORMOSAIC=bar
export STREMOVE=false
python AI/main.py $LINKORID $BARORMOSAIC $STREMOVE
  1. 圖片會輸出到Py/decensor_input。這裡可以開修圖軟體,把AI沒標記到的海苔,用同樣顏色的綠線手動補上。

  2. 例如開GIMP,點選取色器吸取綠色,用油漆桶工具填滿沒偵測到的海苔條,再輸出為png。

4. 開始去碼
#

  1. 回到decensor的終端機,執行指令開始去碼。
# BARORMOSAIC的數值可以為mosiac(馬賽克)或bar(海苔條)
export BARORMOSAIC=bar

python Py/decensor.py
  1. 去碼圖片位於Py/decensor_output/

5. 個人用的離線處理指令稿
#

簡化上述處理步驟的範本,只要將圖片放在~/Downloads再執行這個bash script就行囉。

#!/bin/bash

export INPUTPATH=~/Downloads

export DOUJINCIPATH=~/doujinci

export LINKORID=00000
export BARORMOSAIC=bar
export STREMOVE=false

echo "開始,清除冗餘檔案"
rm -r $INPUTPATH/output
rm -r $DOUJINCIPATH/AI/input_images/*
rm -r $DOUJINCIPATH/AI/input_stremoved/*
rm -r $DOUJINCIPATH/Py/decensor_input/*
rm -r $DOUJINCIPATH/Py/decensor_input_original/*
rm -r $DOUJINCIPATH/Py/decensor_output/*

cd $DOUJINCIPATH

eval "$(conda shell.bash hook)"
conda activate ./main

echo "複製圖片"
cp -r $INPUTPATH/input/* $DOUJINCIPATH/AI/input_images/

echo "標記海苔"
python AI/main.py $LINKORID $BARORMOSAIC $STREMOVE

conda deactivate

echo "圖片去碼"
conda activate ./decensor

python Py/decensor.py

conda deactivate

echo "輸出圖片"
mkdir $INPUTPATH/output

cp -r $DOUJINCIPATH/Py/decensor_output/* $INPUTPATH/output

echo "清除冗餘檔案,結束"
rm -r $DOUJINCIPATH/AI/input_images/*
rm -r $DOUJINCIPATH/AI/input_stremoved/*
rm -r $DOUJINCIPATH/Py/decensor_input/*
rm -r $DOUJINCIPATH/Py/decensor_input_original/*
rm -r $DOUJINCIPATH/Py/decensor_output/*

相關文章

DeepCreamPy & Hent-AI ~ AI去掉圖片馬賽克和海苔條教學
分類   開源AI應用 AI影像處理
標籤   Demosaic Image Inpainting Doujinshi
Linux安裝 Style2Paints 半自動漫畫圖片上色軟體
分類   開源AI應用 AI影像處理
標籤   Image Inpainting
「Rembg」開源AI圖片去背軟體 支援Linux / Windows / macOS
分類   開源AI應用 AI影像處理
標籤   Background Remover Object Detection GIMP Stable Diffusion WebUI

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。