在日本創作的成人插圖內容必須接受法律審查。兩種常見的審查類型涉及審查欄和馬賽克模糊。對於我們生活在日本以外的墮落者來說,這意味著我們也受到酒吧和馬賽克的影響。有一個解決方案,deeppomf 的 DeepCreamPy,只要您告訴它審查器在哪裡,它就可以繞過審查器。這是一個漫長而艱苦的過程,所以我希望透過這個專案來實現流程的自動化。該專案將利用深度學習和影像分割,這些技術通常用於自動駕駛車輛和電腦視覺任務。在 1.6.3 中,我們新增了 ESRGAN 作為 DeepCreamPy 的替代品,它也會在檢測後對馬賽克影像/影片進行去密處理。
它建立在 Matterport 的 Mask R-CNN 之上,視訊解碼使用 ESRGAN。
這是一個 NSFW 視頻,更好地展示了該項目在舊型號 161 上的功能。
推特(NSFW)。
喜歡你所看到的嗎?幫助資助該計畫:
您可以在 Discord 頻道上加入開發和新聞討論:https://discord.gg/j4dPZ7W
型號 226 上的條形檢測範例:
模型 236 上馬賽克檢測的範例:
對於這兩個範例,最新型號 161 提供了更準確的遮罩和偵測。
您將需要與 Matterport 的 Mask RCNN 實作相同的所有要求,僅此而已。請注意,我使用的是tensorflow 1.8.0、tensorflow-gpu 1.9.0、torch 0.4.1 和keras 2.2.0。我還沒有完全測試新組合的穩定性。我使用 Anaconda3 作為命令列。
可執行檔僅支援 Windows。您可以為 Linux 提取此程式碼。
main.py 包含 GUI 和所有 I/O 處理和檔案解析,以及基本的錯誤偵測。實例化檢測器類別。
detector.py 包含我的檢測器類,它負責神經網路啟動、啟動推理檢測以及從 DCP 遮罩創建覆蓋。不再需要 hentai.py,並且可以自行執行檢測。也處理 ESRGAN 功能。
hentai.py 我的探測器和模型之間的介面。基於 Mask RCNN 實現的 Balloon.py。僅需要訓練。
spect_h_model.ipynb 此筆記本與氣球筆記本相同。我對其進行了修改以用於該項目,並且它最適合用於檢查模型。對於詳細的日誌記錄,請使用 Tensorboard(如果您有tensorflow,則應安裝它)
spect_h_data.ipynb 與上方相同,只是此筆記本用來驗證資料集。還有一些很酷的信息,展示了 MaskRcnn 的一些怪癖和功能
test_combined_generator.py 自動執行條形審查和註釋的腳本,下面有更多解釋。這意味著要放置在一個單獨的資料夾中,並且期望將未經審查的圖像放在名為“decensored_input”的資料夾中,並將禁止的圖像輸出到“decensored_input_original”中,並使用註釋填充csv 。您不需要使用此腳本,除非您想協助擴展資料集。在這種情況下,請加入不和諧並聯繫我。
hent_AI_COLAB_1.ipynb Google Colab 筆記本,包含 ESRGAN 影片去審查說明。這將免費使用雲端的 Google GPU,並且應該比大多數(如果不是全部)消費性 GPU 更快。但是,會話將在閒置 30 分鐘或 12 小時後刪除。我推薦這個選項用於任何類型的視訊解碼,它在視覺上足夠好而且速度非常快。
green_mask_project_mosaic_resolution.py 來自 GMP 的腳本,用於估計用於 ESRGAN 去刪除的馬賽克粒度(馬賽克框的大小)。
hconfig.ini 保存目錄資訊的設定檔。
該資料集混合了一些手工註釋,並且大部分是使用我們的 test_combined_generator 手工完成的註釋圖像。腳本採用未經審查的影像作為輸入,並可使用 NudeNet 建立具有馬賽克和隨機條形審查器的影像克隆。此處不提供該資料集。如果您有興趣,可以在 Discord 上聯絡我。
資料集註釋是用多邊形形狀進行的。條形和馬賽克區域屬性的格式如下:
"region_attributes":{"censor":"bar"}} OR "region_attributes":{"censor":"mosaic"}}
這是我的資料集註釋的(NSFW)範例,以及 vgg 編輯器。
您需要最新型號以獲得更高的準確性。
型號 161(已棄用)
型號226
型號 236 *包含 v1.5
(最新)型號268
只需刪除目前的weights.h5 文件,然後替換為新文件即可。請保留模型命名為weights.h5
ESRGAN(僅在程式碼上)正在使用 Twittman 的致命像素模型進行 4 倍超級縮放。它不在此儲存庫中,因為它受 MPL-2.0 保護。從他的儲存庫下載模型 340000。將此模型放在主目錄中。
您需要下載並安裝 DeepCreamPy,該連結在簡介中。
如果您希望在影片上保留聲音,則可執行檔將需要 ffmpeg。將 ffmpeg.exe 放在主目錄中,或在 PATH 或環境變數中定義的某個位置。對於 Linux,克隆存儲庫並按照提供的說明獲取其要求。要在 Linux 或 Colab 上取得 ffmpeg,請使用:
!sudo add-apt-repository ppa:jon-severinsson/ffmpeg
!sudo apt-get update
!sudo apt-get install ffmpeg
(Windows 上的原始程式碼)我建議使用 Anaconda3 在虛擬環境中執行它們。 Python 3.5.2、TensorFlow 1.8、Keras 2.2、tensorflow-gpu 1.9.0、torch 0.4.1 以及requirements.txt
中列出的其他常見軟體包。
目前,在我可以創建自己的替代方案之前,需要使用 DCP。此專案期望使用DCP目錄。您可以安裝可執行檔或原始程式碼,兩者都應該可以工作。
DCP 僅相容於 .png 影像,不相容於 jpg。您可以只使用 png,也可以嘗試提供的 jpg 轉換器(強制 jpg 按鈕)。您可以使用 jpg2png 等線上工具。同樣,這應該在其他任何事情之前完成。
DCP 與絲網色調或印刷作品特有的點狀效果不相容(見下文)。只需參考我的另一個專案 Screentone Remover,它將使用數位訊號處理技術批量刪除螢幕色調。這是對列印的非彩色影像進行解密的唯一方法。
下面是一個螢幕色調圖像的範例,以及它被我的 Screentone Remover 應用程式刪除後的樣子:
要透過 ESRGAN 進行完整視訊解碼,您需要在此處下載 Twittman 的模型並將其放入 ColabESRGAN/models 資料夾中。
Nvidia GPU 使用者應安裝 CUDA 9.0 和 cuDNN 7.6.4。請注意,RTX 卡和 ESRGAN 有問題,因此如果您想使用它,我再次推薦使用 Colab 筆記本。
我強烈建議批量運行hent-AI,例如一次運行一個同人或幾個同人。 hent-AI 最慢的部分是初始化,因此第一次推理需要時間,但其餘部分會更快。
當前的模型並不完美。然而。預計白色審查條、小審查條、部分透明審查條以及融合在一起作為一個大審查條的審查條會出現一些問題。任何荒謬的審查都可能會給 hent-AI 帶來問題。
該模型沒有接受過識別全面審查制度的訓練,根本沒有繪製基因。也不支援非標準審查。
該模型支援馬賽克和條形,但當兩者在同一位置使用時,它確實很困難。此外,DCP 只能產生條形或馬賽克,因此您需要將馬賽克審查作品與條形審查作品分開。如果您必須同時使用這兩種方法對影像進行去中心化,我建議在一次運行中對條形進行去中心化,然後在運行一秒鐘時對馬賽克進行去中心化。
對於大量圖像或視頻,建議使用 CUDA 相容的 Nvidia GPU。如果您沒有,請參閱 Colab 筆記本。
Video Maker 按鈕根據 decensored_output 中的 DCP 輸出建立影片。 DCP 完成後執行此命令。請注意,您仍然需要選擇來源影片的目錄和 DCP 安裝目錄。
不要對整個剪輯進行視訊檢測,這是一項非常緩慢的任務。如果可以的話,僅編輯帶有可見馬賽克的短片,獲得經過審查的輸出,然後在影片的其餘部分中進行編輯。
編譯的exe版本不支援ESRGAN。如果你想使用它,請參考colab筆記本。
v1.0.0:2020 HackIllinois 演示的初始版本
v1.1.0:清理了程式碼,刪除了不需要的庫導入,並新增了安裝說明和教學。新增了錯誤檢測。
v1.2.0:基於僅偵測分支的可執行版本。培訓和冗餘庫已被刪除或搬遷。修復了整個影像返回綠色的錯誤。降低了檢測閾值。
v1.3.0:(exe 尚未發布)刪除了非 unicode 錯誤。新增了加載螢幕彈出視窗。降低了檢測閾值。使用者介面的細微變化。
v1.4.0:修正了視訊偵測器錯誤命名檔案的問題。新增了載入彈出視窗。使用者介面調整。降低了檢測閾值。
v1.5.0:修復了灰階形狀錯誤。修復了影片被複製到 DCP 資料夾的錯誤。新增了對 jpg 的支持,作為 jpg 到 png 轉換的選項。添加了更好的異常捕獲。將重量更新為型號 236。
v1.5.2:將tensorflow升級到1.8,為未來的視訊偵測功能做好準備。圖像錯誤不再停止程式並被跳過。終端列印資訊更豐富。使用者介面調整。
1.6.3:新增了用於視訊解碼的 ESRGAN,不需要 DCP。對非 unicode 檔案名稱的進一步支援。
1.6.5:rekaXua 透過 GMP 增加了自適應馬賽克粒度檢查。新增了用於免費的基於雲端的 ESRGAN 視訊解碼的 colab 檔案。
1.6.7:將 ESRGAN 流程變更為分兩個階段運行:ESRGAN 調整大小,然後遮罩偵測。速度較慢,但記憶體更寬容。在 ESRGAN 上新增了蒙版模糊以減少接縫。對於非 ESRGAN,新增了自訂擴充功能以擴展蒙版。刪除了 jpg 的選項,它將自動使用。改進了文件清理。
1.6.8:影片現在將使用 ffmpeg 從來源影片中取得音訊。可變視訊位元率尚不可用,因此檔案大小可能與來源不符。 ESRGAN 現在會將影片儲存到與來源影片相同的目錄中,主要是為了幫助 Colab。
1.6.9:細微的 UI 調整。現在有一個 hconfig.ini,它將在啟動時保存您以前使用的目錄和設定。在影像和視訊偵測過程中,將顯示總影像/幀數。
1.6.9b:ESRGAN 和 ESRGAN 視訊的修補程式。修復了 .ini 的錯誤。注意:.exe 不受影響,因此不需要其他版本。
1.6.9c:Colab 影像和馬賽克去像素的修補程式。注意:.exe 不受影響,因此不需要其他版本。
有關詳細說明,請遵循Install_and_Tutorial.txt
可執行檔:
從上面的連結安裝
解壓縮到某個資料夾
關注Install_and_tutorial了解更多
代碼:
pip install -r requirements.txt
python setup.py install
python main.py
在主目錄中。請按照此處的 UI 說明進行操作。
python sampleshentaihentai.py train --dataset=dataset_img/ --weights=path/to/weights
或者,您可以使用 --weights=last 恢復訓練
歡迎對此儲存庫做出貢獻和改進,因此我鼓勵加入 Discord。
來自 DeepCreamPy 的靈感
Matterport 的 Mask Rcnn 實現
從 mattya 的 chainer-DCGAN 獲得權重
本文中的 ESRGAN 實現,使用 styler00dollar 提供的舊架構
使用 Twittman 訓練的模型致命像素。
使用 VGG 註釋器註釋的資料集
範例資產圖像分別來自藝術家 @ao_beni、落書き色々まとめ 和 @paxiti。 Screentone Girl 出自藝術家 soranosuzume 之手。
目前資產圖像來自 Pixiv 上的うぱ西まり子和 bibimbub。