>기술 주변기기 >일체 포함 >AI가 모자이크를 제거할 수 있나요?

AI가 모자이크를 제거할 수 있나요?

WBOY
WBOY앞으로
2023-04-09 19:11:035521검색

안녕하세요 여러분.

AI 기술을 사용하여 모자이크를 제거하는 것에 대해 생각해 본 적이 있나요?

이 문제를 신중하게 생각하는 것은 상당히 어렵습니다. 왜냐하면 우리가 이전에 사용했던 AI 기술은 얼굴 인식이든 OCR 인식이든 적어도 수동으로 인식할 수 있기 때문입니다. 그런데 모자이크 사진을 주면 복원할 수 있나요?

AI가 모자이크를 제거할 수 있나요?

물론 어렵습니다. 인간이 회복할 수 없다면 어떻게 컴퓨터에게 회복을 가르칠 수 있을까요?

제가 며칠 전에 쓴 "AI를 활용한 아바타 생성"이라는 글을 아직도 기억하시나요? 해당 기사에서 우리는 임의의 난수로부터 이미지를 생성할 수 있는 DCGAN 모델을 훈련했습니다.

AI가 모자이크를 제거할 수 있나요?

픽셀별로 생성된 노이즈 맵으로 난수를 사용합니다.

AI가 모자이크를 제거할 수 있나요?

모델은 난수로부터 일반 아바타를 생성합니다.

DCGAN​생성기 모델과 판별기 모델의 두 가지 모델이 포함되어 있습니다. 판별기 모델을 속이기 위해서는 그림이 훈련 샘플에 가까울수록 생성기 모델에서 생성된 그림을 방지하기 위해 식별 능력을 지속적으로 향상시켜야 합니다. 혼란스러워서.

위 생성기 모델의 입력을 난수에서 모자이크가 있는 그림으로 변경하면 출력은 모자이크가 없는 그림이 됩니다. 모자이크를 제거하는 모델을 훈련할 수 있나요?

다음으로 모자이크 제거 모델을 훈련시키는 방법을 공유하고, 다운로드하여 직접 효과를 시험해 볼 수 있는 기성 도구를 공유하겠습니다.

1. Pix2pix + CycleGAN

여기에서는 위에서 소개한 DCGAN을 사용하지 않고 Pix2pix와 CycleGAN이라는 두 가지 더 강력한 모델을 사용하여 별도로 훈련합니다.

Pix2pix​는 GAN 기반의 이미지 번역 알고리즘으로, 모자이크 사진부터 일반 사진까지 기본적으로 한 언어에서 다른 언어로 변환하는 과정과 유사합니다.

AI가 모자이크를 제거할 수 있나요?

Pix2pix 모델 번역

CycleGAN으로 얻은 효과는 모양 자체는 변경되지 않은 채 단순히 서로 다른 도메인 간에 이미지를 변환하는 것입니다.

AI가 모자이크를 제거할 수 있나요?

CycleGAN 모델

이 기사에서는 더 저렴한 비용으로 모델을 훈련하는 데 도움이 될 수 있는 데이터 세트와 완전한 훈련 프로세스를 제공합니다.

먼저 데이터 세트

AI가 모자이크를 제거할 수 있나요?

데이터 세트

를 다운로드합니다. 총 654M입니다.

그런 다음 Paddle 사전 학습된 모델을 다운로드합니다

AI가 모자이크를 제거할 수 있나요?

사전 학습된 모델​

마지막으로 Pix2pix 및 CycleGAN 모델을 각각 학습합니다.

Pix2pix 모델

python gan<span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">/</span>infer<span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">.py</span> <br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--init_model output/pix2pix/checkpoints/110/ </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--dataset_dir /home/aistudio/ </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--image_size 256 </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--n_samples 1 </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--crop_size 256 </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--model_net Pix2pix </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--net_G unet_256 </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--test_list /home/aistudio/test_list.txt </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--output ./infer_result/pix2pix/</span>

CycleGAN 모델

python gan<span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">/</span>infer<span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">.py</span> <br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--init_model output/cyclegan/checkpoints/48/ </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--dataset_dir /home/aistudio/ </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--image_size 256 </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--n_samples 1 </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--crop_size 256 </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--input_style A </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--test_list /home/aistudio/test_list.txt </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--model_net CycleGAN </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--net_G resnet_9block </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--g_base_dims 32 </span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--output ./infer_result/cyclegan/</span>

훈련 후 gan/infer.py 파일을 실행하여 이 두 모델의 모자이크 제거 효과를 비교할 수 있습니다.

2. 기성 도구

모델을 직접 학습하고 싶지 않다면 다음을 참조하여 의미론적 분할 및 이미지 번역을 기반으로 하는 기성 프로젝트를 참조하세요. Pix2pix 및 CycleGAN.

프로젝트 주소: https://github.com/HypoX64/DeepMosaics/blob/master/README_CN.md

Windows 사용자를 위해 저자는 GUI 인터페이스가 포함된 설치가 필요 없는 소프트웨어 패키지를 제공합니다.

AI가 모자이크를 제거할 수 있나요?

UI 인터페이스

앞서 말했듯이 이 기술은 아직 상대적으로 어렵기 때문에 너무 큰 기대는 하지 마세요. 실제 제거 효과는 다음과 같습니다.

AI가 모자이크를 제거할 수 있나요?

Encoding

AI가 모자이크를 제거할 수 있나요?

Decoding

효과는 아직 괜찮지만, 상상만큼 완벽하지는 않습니다. 다운로드해서 실행해 보세요.

위 내용은 AI가 모자이크를 제거할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제