IMG_Worker/Edit_PartTimer_log.log

840 lines
134 KiB
Plaintext

[2025-11-21 16:06:06,497] [MainThread] [DEBUG] [image_processor3.py:__init__:57] tracemalloc 메모리 추적 시작
[2025-11-21 16:06:06,504] [MainThread] [DEBUG] [gpu_utils.py:_setup_directml_environment:55] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-11-21 16:06:06,504] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:79] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-11-21 16:06:06,504] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:80] 🎯 사용자 GPU 가속 요청: False
[2025-11-21 16:06:06,505] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:81] 💻 현재 운영체제: Windows
[2025-11-21 16:06:06,505] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:84] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-11-21 16:06:06,505] [MainThread] [INFO] [gpu_utils.py:_set_safe_cpu_mode:157] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-11-21 16:06:06,505] [MainThread] [DEBUG] [image_processor3.py:__init__:79] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-11-21 16:06:06,505] [MainThread] [DEBUG] [image_processor3.py:__init__:80] - CUDA 사용 가능: False
[2025-11-21 16:06:06,505] [MainThread] [DEBUG] [image_processor3.py:__init__:81] - toggle_states['use_cuda']: False
[2025-11-21 16:06:06,505] [MainThread] [DEBUG] [image_processor3.py:__init__:82] - GPU 하드웨어 정보: {}
[2025-11-21 16:06:06,505] [MainThread] [DEBUG] [image_processor3.py:__init__:84] ImageProcessor3 Init toggle_states: {'font_type': 'CustomFont', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\GmarketSansTTFMedium.ttf', 'ocr': True, 'force_cpu_ocr': True, 'use_cuda': False, 'inpaint_model': 'cv', 'TEMP_IMAGE_DIR': 'D:\\py\\img_worker\\modules\\test', 'output_image_format': 'jpg', 'watermark_toggle': False, 'store_ocr_data_to_db': False, 'ocr_engine': 'onnx'}
[2025-11-21 16:06:06,505] [MainThread] [DEBUG] [image_processor3.py:__init__:87] is_member_valid: True
[2025-11-21 16:06:06,506] [MainThread] [DEBUG] [image_processor3.py:__init__:144] debug_images 디렉토리 이미 존재: D:\py\img_worker\debug_images
[2025-11-21 16:06:06,506] [MainThread] [DEBUG] [image_processor3.py:__init__:152] self.font_path: D:\py\img_worker\modules\fonts\GmarketSansTTFMedium.ttf
[2025-11-21 16:06:06,506] [MainThread] [DEBUG] [image_processor3.py:__init__:154] toggle_states font_path: D:\py\img_worker\modules\fonts\GmarketSansTTFMedium.ttf
[2025-11-21 16:06:06,506] [MainThread] [DEBUG] [image_processor3.py:__init__:156] self.TEMP_IMAGE_DIR: D:\py\img_worker\modules\test
[2025-11-21 16:06:06,506] [MainThread] [DEBUG] [image_processor3.py:__init__:158] self.debugging_save_Dir: D:\py\img_worker\debug_images
[2025-11-21 16:06:06,506] [MainThread] [DEBUG] [image_processor3.py:__init__:160] self.unwanted_texts: []
[2025-11-21 16:06:06,506] [MainThread] [DEBUG] [image_processor3.py:__init__:162] self.inpaint_method: migan
[2025-11-21 16:06:06,506] [MainThread] [DEBUG] [image_processor3.py:__init__:168] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-11-21 16:06:06,507] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_determine_model_type:447] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-11-21 16:06:06,507] [MainThread] [INFO] [onnx_ocr_wrapper.py:_determine_model_type:453] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-11-21 16:06:06,507] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:324] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-11-21 16:06:06,507] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:333] ONNX OCR 모듈 CPU 모드로 설정
[2025-11-21 16:06:06,507] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:356] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-11-21 16:06:06,508] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_initialize_onnx_system:539] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-11-21 16:06:13,592] [MainThread] [ERROR] [onnx_ocr_wrapper.py:_initialize_onnx_system:747] ❌ ONNX TextSystem 초기화 실패: ONNX 모델 파일을 찾을 수 없습니다. 확인 경로: D:\py\img_worker\onnx_ocr_module\models
Traceback (most recent call last):
File "D:\py\img_worker\modules\onnx_ocr_module\src\onnx_ocr_wrapper.py", line 728, in _initialize_onnx_system
args = Args(self.onnx_module_dir, self.use_gpu, self.gpu_manager, self.model_type)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\py\img_worker\modules\onnx_ocr_module\src\onnx_ocr_wrapper.py", line 578, in __init__
raise FileNotFoundError(f"ONNX 모델 파일을 찾을 수 없습니다. 확인 경로: {models_dir}")
FileNotFoundError: ONNX 모델 파일을 찾을 수 없습니다. 확인 경로: D:\py\img_worker\onnx_ocr_module\models
[2025-11-21 16:06:13,592] [MainThread] [WARNING] [onnx_ocr_wrapper.py:__init__:377] ONNX 초기화 1차 시도 실패: ONNX 모델 파일을 찾을 수 없습니다. 확인 경로: D:\py\img_worker\onnx_ocr_module\models
[2025-11-21 16:06:13,592] [MainThread] [ERROR] [onnx_ocr_wrapper.py:__init__:435] ❌ ONNX TextSystem 모든 초기화 시도 실패: 원본 설정 예외: ONNX 모델 파일을 찾을 수 없습니다. 확인 경로: D:\py\img_worker\onnx_ocr_module\models
[2025-11-21 16:06:13,595] [MainThread] [ERROR] [image_processor3.py:__init__:177] ❌ ONNX OCR 모듈 초기화 실패: ONNX TextSystem 모든 초기화 시도 실패: 원본 설정 예외: ONNX 모델 파일을 찾을 수 없습니다. 확인 경로: D:\py\img_worker\onnx_ocr_module\models
Traceback (most recent call last):
File "D:\py\img_worker\modules\image_processor3.py", line 174, in __init__
self.ocr_module = Onnx_OCRModule(logger=self.logger, base_dir=self.base_dir, gpu_manager=self.gpu_manager, toggle_states=self.toggle_states)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\py\img_worker\modules\onnx_ocr_module\src\onnx_ocr_wrapper.py", line 437, in __init__
raise Exception(final_error)
Exception: ONNX TextSystem 모든 초기화 시도 실패: 원본 설정 예외: ONNX 모델 파일을 찾을 수 없습니다. 확인 경로: D:\py\img_worker\onnx_ocr_module\models
[2025-11-21 16:06:13,595] [MainThread] [INFO] [mask_module_for_paddle.py:__init__:12] 마스크 모듈 초기화 완료
[2025-11-21 16:06:13,595] [MainThread] [DEBUG] [image_processor3.py:__init__:216] MaskModule 초기화 성공
[2025-11-21 16:06:13,595] [MainThread] [INFO] [text_rendering_module.py:__init__:21] 텍스트 렌더링 모듈 초기화 완료
[2025-11-21 16:06:13,596] [MainThread] [INFO] [text_rendering_module.py:__init__:22] 기본 폰트: D:\py\img_worker\modules\fonts\GmarketSansTTFMedium.ttf
[2025-11-21 16:06:13,596] [MainThread] [DEBUG] [image_processor3.py:__init__:222] TextRenderingModule 초기화 성공
[2025-11-21 16:06:13,597] [MainThread] [DEBUG] [postImageManager.py:font_load:40] 폰트 로드 성공: D:\py\img_worker\modules\fonts\GmarketSansTTFMedium.ttf
[2025-11-21 16:06:13,597] [MainThread] [DEBUG] [image_processor3.py:__init__:228] PostImageManager 초기화 성공
[2025-11-21 16:06:13,597] [MainThread] [DEBUG] [request_inpaint.py:__init__:43] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-11-21 16:06:13,597] [MainThread] [DEBUG] [image_processor3.py:__init__:251] Request_AI_Server 초기화 성공
[2025-11-21 16:06:13,598] [MainThread] [DEBUG] [image_processor3.py:__init__:258] GoogleTranslate 초기화 성공
[2025-11-21 16:06:13,681] [MainThread] [DEBUG] [image_processor3.py:__init__:291] MIGAN 초기화 건너뜀: inpaint_method=request, local_inpaint_method=migan, migan_onnx_path=False
[2025-11-21 16:06:13,681] [MainThread] [INFO] [create_font_preview.py:main:107] 프리뷰 생성 시작: GmarketSansTTFMedium.ttf
[2025-11-21 16:06:13,682] [MainThread] [INFO] [create_font_preview.py:main:108] 저장 경로: D:\py\img_worker\modules\test
[2025-11-21 16:06:13,682] [MainThread] [DEBUG] [image_processor3.py:process_single_image:583] 이미지 번역시작
[2025-11-21 16:06:13,682] [MainThread] [DEBUG] [image_processor3.py:process_single_image:585] toggle_states: {'font_type': 'CustomFont', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\GmarketSansTTFMedium.ttf', 'ocr': True, 'force_cpu_ocr': True, 'use_cuda': False, 'inpaint_model': 'cv', 'TEMP_IMAGE_DIR': 'D:\\py\\img_worker\\modules\\test', 'output_image_format': 'jpg', 'watermark_toggle': False, 'store_ocr_data_to_db': False, 'ocr_engine': 'onnx'}
[2025-11-21 16:06:13,859] [MainThread] [DEBUG] [image_processor3.py:process_single_image:603] 이미지 1 처리 시작: D:\py\img_worker\modules\fonts\ori.jpg - OCR+인페인팅 모드
[2025-11-21 16:06:13,859] [MainThread] [DEBUG] [image_processor3.py:download_image:1191] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\fonts\ori.jpg
[2025-11-21 16:06:13,859] [MainThread] [DEBUG] [image_processor3.py:process_single_image:626] 옵션 이미지는 스케일 처리 건너뛰기: preview_GmarketSansTTFMedium
[2025-11-21 16:06:13,859] [MainThread] [DEBUG] [image_processor3.py:process_single_image:636] 이미지 1 로컬 저장위치(옵션 이미지 원본 유지): D:\py\img_worker\modules\fonts\ori.jpg
[2025-11-21 16:06:13,864] [MainThread] [WARNING] [image_processor3.py:safe_detect:1789] ⚠️ ONNX OCR 모듈이 초기화되지 않았습니다. 재초기화를 시도합니다.
[2025-11-21 16:06:13,864] [MainThread] [DEBUG] [image_processor3.py:reset_ocr_module:494] 🔄 OCR 모듈 재초기화 시작
[2025-11-21 16:06:13,865] [MainThread] [DEBUG] [image_processor3.py:reset_ocr_module:499] 기존 OCR 모듈 참조 해제 완료
[2025-11-21 16:06:13,930] [MainThread] [DEBUG] [image_processor3.py:reset_ocr_module:519] GC 실행 1: 10개 객체 정리
[2025-11-21 16:06:14,059] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_determine_model_type:447] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-11-21 16:06:14,059] [MainThread] [INFO] [onnx_ocr_wrapper.py:_determine_model_type:453] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-11-21 16:06:14,059] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:324] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-11-21 16:06:14,059] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:333] ONNX OCR 모듈 CPU 모드로 설정
[2025-11-21 16:06:14,059] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:356] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-11-21 16:06:14,059] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_initialize_onnx_system:539] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-11-21 16:06:14,061] [MainThread] [ERROR] [onnx_ocr_wrapper.py:_initialize_onnx_system:747] ❌ ONNX TextSystem 초기화 실패: ONNX 모델 파일을 찾을 수 없습니다. 확인 경로: D:\py\img_worker\onnx_ocr_module\models
Traceback (most recent call last):
File "D:\py\img_worker\modules\onnx_ocr_module\src\onnx_ocr_wrapper.py", line 728, in _initialize_onnx_system
args = Args(self.onnx_module_dir, self.use_gpu, self.gpu_manager, self.model_type)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\py\img_worker\modules\onnx_ocr_module\src\onnx_ocr_wrapper.py", line 578, in __init__
raise FileNotFoundError(f"ONNX 모델 파일을 찾을 수 없습니다. 확인 경로: {models_dir}")
FileNotFoundError: ONNX 모델 파일을 찾을 수 없습니다. 확인 경로: D:\py\img_worker\onnx_ocr_module\models
[2025-11-21 16:06:14,061] [MainThread] [WARNING] [onnx_ocr_wrapper.py:__init__:377] ONNX 초기화 1차 시도 실패: ONNX 모델 파일을 찾을 수 없습니다. 확인 경로: D:\py\img_worker\onnx_ocr_module\models
[2025-11-21 16:06:14,061] [MainThread] [ERROR] [onnx_ocr_wrapper.py:__init__:435] ❌ ONNX TextSystem 모든 초기화 시도 실패: 원본 설정 예외: ONNX 모델 파일을 찾을 수 없습니다. 확인 경로: D:\py\img_worker\onnx_ocr_module\models
[2025-11-21 16:06:14,064] [MainThread] [ERROR] [image_processor3.py:reset_ocr_module:534] ❌ ONNX OCR 모듈 재초기화 중 오류: ONNX TextSystem 모든 초기화 시도 실패: 원본 설정 예외: ONNX 모델 파일을 찾을 수 없습니다. 확인 경로: D:\py\img_worker\onnx_ocr_module\models
Traceback (most recent call last):
File "D:\py\img_worker\modules\image_processor3.py", line 524, in reset_ocr_module
self.ocr_module = OCRModule(
^^^^^^^^^^
File "D:\py\img_worker\modules\onnx_ocr_module\src\onnx_ocr_wrapper.py", line 437, in __init__
raise Exception(final_error)
Exception: ONNX TextSystem 모든 초기화 시도 실패: 원본 설정 예외: ONNX 모델 파일을 찾을 수 없습니다. 확인 경로: D:\py\img_worker\onnx_ocr_module\models
[2025-11-21 16:06:14,064] [MainThread] [ERROR] [image_processor3.py:safe_detect:1795] ❌ ONNX OCR 모듈 재초기화 실패, 빈 결과 반환
[2025-11-21 16:06:14,069] [MainThread] [INFO] [image_processor3.py:process_single_image:652] 메모리 변화 [OCR 처리]: 24179.4MB -> 24208.4MB (+29.0MB, +0.1%) - 이미지 1
[2025-11-21 16:06:14,069] [MainThread] [DEBUG] [image_processor3.py:process_single_image:657] ocr_results: []
[2025-11-21 16:06:14,094] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1105] 필터링 결과: 0/0개 (신뢰도 + & 중국어)
[2025-11-21 16:06:14,094] [MainThread] [DEBUG] [image_processor3.py:process_single_image:669] filter_ocr_results: []
[2025-11-21 16:06:14,094] [MainThread] [WARNING] [image_processor3.py:process_single_image:674] ⚠️ OCR 모듈이 초기화되지 않아 원본 이미지 반환
[2025-11-21 16:06:14,160] [MainThread] [DEBUG] [image_processor3.py:process_single_image:880] ⏱ 이미지 파이프라인 총 478.3ms | download=0.0ms | ocr=205.3ms
[2025-11-21 16:06:14,161] [MainThread] [ERROR] [create_font_preview.py:main:126] 프리뷰 생성 실패: {'status': 'original', 'path': 'D:\\py\\img_worker\\modules\\fonts\\ori.jpg', 'message': 'OCR 모듈 초기화 실패', 'inpaint_method': None, 'inpaint_device': None}
[2025-11-21 16:06:14,161] [MainThread] [DEBUG] [image_processor3.py:cleanup:443] OCR 모듈 정리 완료
[2025-11-21 16:06:14,161] [MainThread] [DEBUG] [image_processor3.py:cleanup:451] 마스크 모듈 정리 완료
[2025-11-21 16:06:14,228] [MainThread] [DEBUG] [image_processor3.py:cleanup:486] 임시 폴더 삭제됨: D:\py\img_worker\modules\test
[2025-11-21 16:06:14,291] [MainThread] [DEBUG] [image_processor3.py:cleanup:486] 임시 폴더 삭제됨: D:\py\img_worker\modules\test
[2025-11-21 16:06:14,292] [MainThread] [DEBUG] [image_processor3.py:__del__:434] 이미지 프로세서 소멸
[2025-11-21 16:06:39,887] [MainThread] [DEBUG] [image_processor3.py:__init__:57] tracemalloc 메모리 추적 시작
[2025-11-21 16:06:39,894] [MainThread] [DEBUG] [gpu_utils.py:_setup_directml_environment:55] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-11-21 16:06:39,894] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:79] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-11-21 16:06:39,894] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:80] 🎯 사용자 GPU 가속 요청: False
[2025-11-21 16:06:39,894] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:81] 💻 현재 운영체제: Windows
[2025-11-21 16:06:39,894] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:84] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-11-21 16:06:39,894] [MainThread] [INFO] [gpu_utils.py:_set_safe_cpu_mode:157] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-11-21 16:06:39,894] [MainThread] [DEBUG] [image_processor3.py:__init__:79] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-11-21 16:06:39,894] [MainThread] [DEBUG] [image_processor3.py:__init__:80] - CUDA 사용 가능: False
[2025-11-21 16:06:39,895] [MainThread] [DEBUG] [image_processor3.py:__init__:81] - toggle_states['use_cuda']: False
[2025-11-21 16:06:39,895] [MainThread] [DEBUG] [image_processor3.py:__init__:82] - GPU 하드웨어 정보: {}
[2025-11-21 16:06:39,895] [MainThread] [DEBUG] [image_processor3.py:__init__:84] ImageProcessor3 Init toggle_states: {'font_type': 'CustomFont', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\GmarketSansTTFMedium.ttf', 'ocr': True, 'force_cpu_ocr': True, 'use_cuda': False, 'inpaint_model': 'cv', 'TEMP_IMAGE_DIR': 'D:\\py\\img_worker\\modules\\test', 'output_image_format': 'jpg', 'watermark_toggle': False, 'store_ocr_data_to_db': False, 'ocr_engine': 'onnx'}
[2025-11-21 16:06:39,895] [MainThread] [DEBUG] [image_processor3.py:__init__:87] is_member_valid: True
[2025-11-21 16:06:39,895] [MainThread] [DEBUG] [image_processor3.py:__init__:144] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-11-21 16:06:39,895] [MainThread] [DEBUG] [image_processor3.py:__init__:152] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-11-21 16:06:39,896] [MainThread] [DEBUG] [image_processor3.py:__init__:154] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-11-21 16:06:39,896] [MainThread] [DEBUG] [image_processor3.py:__init__:156] self.TEMP_IMAGE_DIR: D:\py\img_worker\modules\test
[2025-11-21 16:06:39,896] [MainThread] [DEBUG] [image_processor3.py:__init__:158] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-11-21 16:06:39,896] [MainThread] [DEBUG] [image_processor3.py:__init__:160] self.unwanted_texts: []
[2025-11-21 16:06:39,896] [MainThread] [DEBUG] [image_processor3.py:__init__:162] self.inpaint_method: migan
[2025-11-21 16:06:39,896] [MainThread] [DEBUG] [image_processor3.py:__init__:168] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-11-21 16:06:39,896] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_determine_model_type:447] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-11-21 16:06:39,896] [MainThread] [INFO] [onnx_ocr_wrapper.py:_determine_model_type:453] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-11-21 16:06:39,897] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:324] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-11-21 16:06:39,897] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:333] ONNX OCR 모듈 CPU 모드로 설정
[2025-11-21 16:06:39,897] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:356] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-11-21 16:06:39,897] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_initialize_onnx_system:539] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-11-21 16:06:45,837] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_ensure_utf8_encoding:487] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-11-21 16:06:45,945] [MainThread] [INFO] [onnx_ocr_wrapper.py:_initialize_onnx_system:743] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-11-21 16:06:45,946] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:363] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-11-21 16:06:45,946] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:364] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-11-21 16:06:45,946] [MainThread] [INFO] [image_processor3.py:__init__:175] ✅ ONNX OCR 모듈 초기화 성공
[2025-11-21 16:06:45,946] [MainThread] [INFO] [mask_module_for_paddle.py:__init__:12] 마스크 모듈 초기화 완료
[2025-11-21 16:06:45,947] [MainThread] [DEBUG] [image_processor3.py:__init__:216] MaskModule 초기화 성공
[2025-11-21 16:06:45,947] [MainThread] [INFO] [text_rendering_module.py:__init__:21] 텍스트 렌더링 모듈 초기화 완료
[2025-11-21 16:06:45,947] [MainThread] [INFO] [text_rendering_module.py:__init__:22] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-11-21 16:06:45,947] [MainThread] [DEBUG] [image_processor3.py:__init__:222] TextRenderingModule 초기화 성공
[2025-11-21 16:06:45,948] [MainThread] [DEBUG] [postImageManager.py:font_load:40] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-11-21 16:06:45,948] [MainThread] [DEBUG] [image_processor3.py:__init__:228] PostImageManager 초기화 성공
[2025-11-21 16:06:45,948] [MainThread] [DEBUG] [request_inpaint.py:__init__:43] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-11-21 16:06:45,948] [MainThread] [DEBUG] [image_processor3.py:__init__:251] Request_AI_Server 초기화 성공
[2025-11-21 16:06:45,949] [MainThread] [DEBUG] [image_processor3.py:__init__:258] GoogleTranslate 초기화 성공
[2025-11-21 16:06:45,950] [MainThread] [DEBUG] [image_processor3.py:__init__:291] MIGAN 초기화 건너뜀: inpaint_method=request, local_inpaint_method=migan, migan_onnx_path=False
[2025-11-21 16:06:45,950] [MainThread] [INFO] [create_font_preview.py:main:107] 프리뷰 생성 시작: GmarketSansTTFMedium.ttf
[2025-11-21 16:06:45,950] [MainThread] [INFO] [create_font_preview.py:main:108] 저장 경로: D:\py\img_worker\modules\test
[2025-11-21 16:06:45,950] [MainThread] [DEBUG] [image_processor3.py:process_single_image:583] 이미지 번역시작
[2025-11-21 16:06:45,950] [MainThread] [DEBUG] [image_processor3.py:process_single_image:585] toggle_states: {'font_type': 'CustomFont', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\HakgyoansimDunggeunmisoTTFB.ttf', 'ocr': True, 'force_cpu_ocr': True, 'use_cuda': False, 'inpaint_model': 'cv', 'TEMP_IMAGE_DIR': 'D:\\py\\img_worker\\modules\\test', 'output_image_format': 'jpg', 'watermark_toggle': False, 'store_ocr_data_to_db': False, 'ocr_engine': 'onnx'}
[2025-11-21 16:06:46,348] [MainThread] [DEBUG] [image_processor3.py:process_single_image:603] 이미지 1 처리 시작: D:\py\img_worker\modules\fonts\ori.jpg - OCR+인페인팅 모드
[2025-11-21 16:06:46,349] [MainThread] [DEBUG] [image_processor3.py:download_image:1191] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\fonts\ori.jpg
[2025-11-21 16:06:46,349] [MainThread] [DEBUG] [image_processor3.py:process_single_image:626] 옵션 이미지는 스케일 처리 건너뛰기: preview_GmarketSansTTFMedium
[2025-11-21 16:06:46,349] [MainThread] [DEBUG] [image_processor3.py:process_single_image:636] 이미지 1 로컬 저장위치(옵션 이미지 원본 유지): D:\py\img_worker\modules\fonts\ori.jpg
[2025-11-21 16:06:46,360] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:838] 🔍 ONNX OCR 감지 방식: polygon
[2025-11-21 16:06:46,545] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:906] ⚡ ONNX OCR 추론 완료: 183.6ms
[2025-11-21 16:06:46,545] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:907] 📊 세부 시간 - 감지: 98.3ms, 인식: 76.4ms, 분류: 4.0ms
[2025-11-21 16:06:46,553] [MainThread] [INFO] [image_processor3.py:process_single_image:652] 메모리 변화 [OCR 처리]: 23699.2MB -> 23840.5MB (+141.3MB, +0.6%) - 이미지 1
[2025-11-21 16:06:46,556] [MainThread] [DEBUG] [image_processor3.py:process_single_image:657] ocr_results: [{'text': '现代极简风格', 'confidence': 0.9946680068969727, 'polygon': [[222.0, 70.0], [552.0, 70.0], [552.0, 118.0], [222.0, 118.0]], 'bbox': (222, 70, 331, 49), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9957253336906433, 'polygon': [[152.0, 141.0], [622.0, 141.0], [622.0, 180.0], [152.0, 180.0]], 'bbox': (152, 141, 471, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9974236488342285, 'polygon': [[88.0, 289.0], [463.0, 289.0], [463.0, 345.0], [88.0, 345.0]], 'bbox': (88, 289, 376, 57), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9939405918121338, 'polygon': [[87.0, 369.0], [462.0, 369.0], [462.0, 425.0], [87.0, 425.0]], 'bbox': (87, 369, 376, 57), 'method': 'polygon'}]
[2025-11-21 16:06:46,579] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.5%): '现代极简风格'
[2025-11-21 16:06:46,579] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.6%): '更易搭配各种使用场景'
[2025-11-21 16:06:46,580] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.7%): '半圆两端设计'
[2025-11-21 16:06:46,580] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.4%): '承载各种欢乐'
[2025-11-21 16:06:46,580] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1105] 필터링 결과: 4/4개 (신뢰도 + & 중국어)
[2025-11-21 16:06:46,582] [MainThread] [DEBUG] [image_processor3.py:process_single_image:669] filter_ocr_results: [{'text': '现代极简风格', 'confidence': 0.9946680068969727, 'polygon': [[222.0, 70.0], [552.0, 70.0], [552.0, 118.0], [222.0, 118.0]], 'bbox': (222, 70, 331, 49), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9957253336906433, 'polygon': [[152.0, 141.0], [622.0, 141.0], [622.0, 180.0], [152.0, 180.0]], 'bbox': (152, 141, 471, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9974236488342285, 'polygon': [[88.0, 289.0], [463.0, 289.0], [463.0, 345.0], [88.0, 345.0]], 'bbox': (88, 289, 376, 57), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9939405918121338, 'polygon': [[87.0, 369.0], [462.0, 369.0], [462.0, 425.0], [87.0, 425.0]], 'bbox': (87, 369, 376, 57), 'method': 'polygon'}]
[2025-11-21 16:06:46,582] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_chinese_text:1192] 중국어 텍스트 4개 필터링 완료
[2025-11-21 16:06:46,582] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_korean_text:1213] 한글 텍스트 0개 필터링 완료
[2025-11-21 16:06:46,600] [MainThread] [DEBUG] [image_processor3.py:process_single_image:727] translated_texts: ['现代极简风格', '更易搭配各种使用场景', '半圆两端设计', '承载各种欢乐']
[2025-11-21 16:06:46,600] [MainThread] [DEBUG] [image_processor3.py:process_single_image:728] 마스크 생성 완료
[2025-11-21 16:06:46,600] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 1] 원본 텍스트: '现代极简风格'
[2025-11-21 16:06:46,600] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 1] 분리된 단어: ['现代极简风格']
[2025-11-21 16:06:46,605] [MainThread] [ERROR] [image_processor3.py:process_single_image:836] 이미지 1 처리 중 오류: 'list' object has no attribute 'items'
Traceback (most recent call last):
File "D:\py\img_worker\modules\image_processor3.py", line 732, in process_single_image
filtered_translated_texts = self.process_translated_texts(translated_texts, local_image_path, index)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\py\img_worker\modules\image_processor3.py", line 1325, in process_translated_texts
for origin, replace in self.unwanted_texts.items():
^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'list' object has no attribute 'items'
[2025-11-21 16:06:46,655] [MainThread] [DEBUG] [image_processor3.py:process_single_image:880] ⏱ 이미지 파이프라인 총 704.5ms | download=0.0ms | ocr=200.0ms | translate=16.7ms | mask=16.7ms
[2025-11-21 16:06:46,656] [MainThread] [ERROR] [create_font_preview.py:main:126] 프리뷰 생성 실패: {'status': 'failed', 'path': 'D:\\py\\img_worker\\modules\\fonts\\ori.jpg', 'error': "'list' object has no attribute 'items'", 'inpaint_method': None, 'inpaint_device': None}
[2025-11-21 16:06:46,666] [MainThread] [DEBUG] [image_processor3.py:cleanup:443] OCR 모듈 정리 완료
[2025-11-21 16:06:46,666] [MainThread] [DEBUG] [image_processor3.py:cleanup:451] 마스크 모듈 정리 완료
[2025-11-21 16:06:46,718] [MainThread] [DEBUG] [image_processor3.py:cleanup:486] 임시 폴더 삭제됨: D:\py\img_worker\modules\test
[2025-11-21 16:06:46,756] [MainThread] [DEBUG] [image_processor3.py:cleanup:486] 임시 폴더 삭제됨: D:\py\img_worker\modules\test
[2025-11-21 16:06:46,756] [MainThread] [DEBUG] [image_processor3.py:__del__:434] 이미지 프로세서 소멸
[2025-11-21 16:08:12,401] [MainThread] [DEBUG] [image_processor3.py:__init__:57] tracemalloc 메모리 추적 시작
[2025-11-21 16:08:12,408] [MainThread] [DEBUG] [gpu_utils.py:_setup_directml_environment:55] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-11-21 16:08:12,408] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:79] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-11-21 16:08:12,408] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:80] 🎯 사용자 GPU 가속 요청: False
[2025-11-21 16:08:12,408] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:81] 💻 현재 운영체제: Windows
[2025-11-21 16:08:12,409] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:84] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-11-21 16:08:12,409] [MainThread] [INFO] [gpu_utils.py:_set_safe_cpu_mode:157] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-11-21 16:08:12,409] [MainThread] [DEBUG] [image_processor3.py:__init__:79] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-11-21 16:08:12,409] [MainThread] [DEBUG] [image_processor3.py:__init__:80] - CUDA 사용 가능: False
[2025-11-21 16:08:12,409] [MainThread] [DEBUG] [image_processor3.py:__init__:81] - toggle_states['use_cuda']: False
[2025-11-21 16:08:12,409] [MainThread] [DEBUG] [image_processor3.py:__init__:82] - GPU 하드웨어 정보: {}
[2025-11-21 16:08:12,409] [MainThread] [DEBUG] [image_processor3.py:__init__:84] ImageProcessor3 Init toggle_states: {'font_type': 'CustomFont', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\GmarketSansTTFMedium.ttf', 'ocr': True, 'force_cpu_ocr': True, 'use_cuda': False, 'inpaint_model': 'cv', 'TEMP_IMAGE_DIR': 'D:\\py\\img_worker\\modules\\test', 'output_image_format': 'jpg', 'watermark_toggle': False, 'store_ocr_data_to_db': False, 'ocr_engine': 'onnx'}
[2025-11-21 16:08:12,409] [MainThread] [DEBUG] [image_processor3.py:__init__:87] is_member_valid: True
[2025-11-21 16:08:12,410] [MainThread] [DEBUG] [image_processor3.py:__init__:144] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-11-21 16:08:12,410] [MainThread] [DEBUG] [image_processor3.py:__init__:152] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-11-21 16:08:12,410] [MainThread] [DEBUG] [image_processor3.py:__init__:154] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-11-21 16:08:12,410] [MainThread] [DEBUG] [image_processor3.py:__init__:156] self.TEMP_IMAGE_DIR: D:\py\img_worker\modules\test
[2025-11-21 16:08:12,410] [MainThread] [DEBUG] [image_processor3.py:__init__:158] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-11-21 16:08:12,410] [MainThread] [DEBUG] [image_processor3.py:__init__:160] self.unwanted_texts: []
[2025-11-21 16:08:12,410] [MainThread] [DEBUG] [image_processor3.py:__init__:162] self.inpaint_method: migan
[2025-11-21 16:08:12,410] [MainThread] [DEBUG] [image_processor3.py:__init__:168] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-11-21 16:08:12,411] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_determine_model_type:447] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-11-21 16:08:12,411] [MainThread] [INFO] [onnx_ocr_wrapper.py:_determine_model_type:453] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-11-21 16:08:12,411] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:324] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-11-21 16:08:12,411] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:333] ONNX OCR 모듈 CPU 모드로 설정
[2025-11-21 16:08:12,411] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:356] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-11-21 16:08:12,411] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_initialize_onnx_system:539] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-11-21 16:08:18,150] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_ensure_utf8_encoding:487] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-11-21 16:08:18,233] [MainThread] [INFO] [onnx_ocr_wrapper.py:_initialize_onnx_system:743] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-11-21 16:08:18,233] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:363] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-11-21 16:08:18,234] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:364] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-11-21 16:08:18,234] [MainThread] [INFO] [image_processor3.py:__init__:175] ✅ ONNX OCR 모듈 초기화 성공
[2025-11-21 16:08:18,234] [MainThread] [INFO] [mask_module_for_paddle.py:__init__:12] 마스크 모듈 초기화 완료
[2025-11-21 16:08:18,234] [MainThread] [DEBUG] [image_processor3.py:__init__:216] MaskModule 초기화 성공
[2025-11-21 16:08:18,235] [MainThread] [INFO] [text_rendering_module.py:__init__:21] 텍스트 렌더링 모듈 초기화 완료
[2025-11-21 16:08:18,235] [MainThread] [INFO] [text_rendering_module.py:__init__:22] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-11-21 16:08:18,235] [MainThread] [DEBUG] [image_processor3.py:__init__:222] TextRenderingModule 초기화 성공
[2025-11-21 16:08:18,235] [MainThread] [DEBUG] [postImageManager.py:font_load:40] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-11-21 16:08:18,235] [MainThread] [DEBUG] [image_processor3.py:__init__:228] PostImageManager 초기화 성공
[2025-11-21 16:08:18,235] [MainThread] [DEBUG] [request_inpaint.py:__init__:43] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-11-21 16:08:18,236] [MainThread] [DEBUG] [image_processor3.py:__init__:251] Request_AI_Server 초기화 성공
[2025-11-21 16:08:18,236] [MainThread] [DEBUG] [image_processor3.py:__init__:258] GoogleTranslate 초기화 성공
[2025-11-21 16:08:18,237] [MainThread] [DEBUG] [image_processor3.py:__init__:291] MIGAN 초기화 건너뜀: inpaint_method=request, local_inpaint_method=migan, migan_onnx_path=False
[2025-11-21 16:08:18,237] [MainThread] [INFO] [create_font_preview.py:main:81] 프리뷰 생성 시작: GmarketSansTTFMedium.ttf
[2025-11-21 16:08:18,237] [MainThread] [INFO] [create_font_preview.py:main:82] 저장 경로: D:\py\img_worker\modules\test
[2025-11-21 16:08:18,237] [MainThread] [DEBUG] [image_processor3.py:process_single_image:583] 이미지 번역시작
[2025-11-21 16:08:18,237] [MainThread] [DEBUG] [image_processor3.py:process_single_image:585] toggle_states: {'font_type': 'CustomFont', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\HakgyoansimDunggeunmisoTTFB.ttf', 'ocr': True, 'force_cpu_ocr': True, 'use_cuda': False, 'inpaint_model': 'cv', 'TEMP_IMAGE_DIR': 'D:\\py\\img_worker\\modules\\test', 'output_image_format': 'jpg', 'watermark_toggle': False, 'store_ocr_data_to_db': False, 'ocr_engine': 'onnx'}
[2025-11-21 16:08:18,691] [MainThread] [DEBUG] [image_processor3.py:process_single_image:603] 이미지 1 처리 시작: D:\py\img_worker\modules\fonts\ori.jpg - OCR+인페인팅 모드
[2025-11-21 16:08:18,691] [MainThread] [DEBUG] [image_processor3.py:download_image:1191] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\fonts\ori.jpg
[2025-11-21 16:08:18,691] [MainThread] [DEBUG] [image_processor3.py:process_single_image:626] 옵션 이미지는 스케일 처리 건너뛰기: preview_GmarketSansTTFMedium
[2025-11-21 16:08:18,691] [MainThread] [DEBUG] [image_processor3.py:process_single_image:636] 이미지 1 로컬 저장위치(옵션 이미지 원본 유지): D:\py\img_worker\modules\fonts\ori.jpg
[2025-11-21 16:08:18,699] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:838] 🔍 ONNX OCR 감지 방식: polygon
[2025-11-21 16:08:18,870] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:906] ⚡ ONNX OCR 추론 완료: 170.5ms
[2025-11-21 16:08:18,870] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:907] 📊 세부 시간 - 감지: 90.0ms, 인식: 72.5ms, 분류: 3.0ms
[2025-11-21 16:08:18,878] [MainThread] [INFO] [image_processor3.py:process_single_image:652] 메모리 변화 [OCR 처리]: 24234.4MB -> 24398.8MB (+164.3MB, +0.7%) - 이미지 1
[2025-11-21 16:08:18,881] [MainThread] [DEBUG] [image_processor3.py:process_single_image:657] ocr_results: [{'text': '现代极简风格', 'confidence': 0.9946680068969727, 'polygon': [[222.0, 70.0], [552.0, 70.0], [552.0, 118.0], [222.0, 118.0]], 'bbox': (222, 70, 331, 49), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9957253336906433, 'polygon': [[152.0, 141.0], [622.0, 141.0], [622.0, 180.0], [152.0, 180.0]], 'bbox': (152, 141, 471, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9974236488342285, 'polygon': [[88.0, 289.0], [463.0, 289.0], [463.0, 345.0], [88.0, 345.0]], 'bbox': (88, 289, 376, 57), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9939405918121338, 'polygon': [[87.0, 369.0], [462.0, 369.0], [462.0, 425.0], [87.0, 425.0]], 'bbox': (87, 369, 376, 57), 'method': 'polygon'}]
[2025-11-21 16:08:18,904] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.5%): '现代极简风格'
[2025-11-21 16:08:18,904] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.6%): '更易搭配各种使用场景'
[2025-11-21 16:08:18,904] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.7%): '半圆两端设计'
[2025-11-21 16:08:18,904] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.4%): '承载各种欢乐'
[2025-11-21 16:08:18,904] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1105] 필터링 결과: 4/4개 (신뢰도 + & 중국어)
[2025-11-21 16:08:18,906] [MainThread] [DEBUG] [image_processor3.py:process_single_image:669] filter_ocr_results: [{'text': '现代极简风格', 'confidence': 0.9946680068969727, 'polygon': [[222.0, 70.0], [552.0, 70.0], [552.0, 118.0], [222.0, 118.0]], 'bbox': (222, 70, 331, 49), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9957253336906433, 'polygon': [[152.0, 141.0], [622.0, 141.0], [622.0, 180.0], [152.0, 180.0]], 'bbox': (152, 141, 471, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9974236488342285, 'polygon': [[88.0, 289.0], [463.0, 289.0], [463.0, 345.0], [88.0, 345.0]], 'bbox': (88, 289, 376, 57), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9939405918121338, 'polygon': [[87.0, 369.0], [462.0, 369.0], [462.0, 425.0], [87.0, 425.0]], 'bbox': (87, 369, 376, 57), 'method': 'polygon'}]
[2025-11-21 16:08:18,907] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_chinese_text:1192] 중국어 텍스트 4개 필터링 완료
[2025-11-21 16:08:18,907] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_korean_text:1213] 한글 텍스트 0개 필터링 완료
[2025-11-21 16:08:20,406] [MainThread] [DEBUG] [image_processor3.py:process_single_image:727] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고']
[2025-11-21 16:08:20,407] [MainThread] [DEBUG] [image_processor3.py:process_single_image:728] 마스크 생성 완료
[2025-11-21 16:08:20,407] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 1] 원본 텍스트: '모던한 미니멀 스타일'
[2025-11-21 16:08:20,407] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 1] 분리된 단어: ['모던한', '미니멀', '스타일']
[2025-11-21 16:08:20,411] [MainThread] [ERROR] [image_processor3.py:process_single_image:836] 이미지 1 처리 중 오류: 'list' object has no attribute 'items'
Traceback (most recent call last):
File "D:\py\img_worker\modules\image_processor3.py", line 732, in process_single_image
filtered_translated_texts = self.process_translated_texts(translated_texts, local_image_path, index)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\py\img_worker\modules\image_processor3.py", line 1325, in process_translated_texts
for origin, replace in self.unwanted_texts.items():
^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'list' object has no attribute 'items'
[2025-11-21 16:08:20,477] [MainThread] [DEBUG] [image_processor3.py:process_single_image:880] ⏱ 이미지 파이프라인 총 2239.3ms | download=0.0ms | ocr=183.5ms | translate=1498.5ms | mask=1498.5ms
[2025-11-21 16:08:20,477] [MainThread] [ERROR] [create_font_preview.py:main:101] 프리뷰 생성 실패: {'status': 'failed', 'path': 'D:\\py\\img_worker\\modules\\fonts\\ori.jpg', 'error': "'list' object has no attribute 'items'", 'inpaint_method': None, 'inpaint_device': None}
[2025-11-21 16:08:20,488] [MainThread] [DEBUG] [image_processor3.py:cleanup:443] OCR 모듈 정리 완료
[2025-11-21 16:08:20,488] [MainThread] [DEBUG] [image_processor3.py:cleanup:451] 마스크 모듈 정리 완료
[2025-11-21 16:08:20,553] [MainThread] [DEBUG] [image_processor3.py:cleanup:486] 임시 폴더 삭제됨: D:\py\img_worker\modules\test
[2025-11-21 16:08:20,613] [MainThread] [DEBUG] [image_processor3.py:cleanup:486] 임시 폴더 삭제됨: D:\py\img_worker\modules\test
[2025-11-21 16:08:20,613] [MainThread] [DEBUG] [image_processor3.py:__del__:434] 이미지 프로세서 소멸
[2025-11-21 16:08:38,275] [MainThread] [DEBUG] [image_processor3.py:__init__:57] tracemalloc 메모리 추적 시작
[2025-11-21 16:08:38,281] [MainThread] [DEBUG] [gpu_utils.py:_setup_directml_environment:55] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-11-21 16:08:38,281] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:79] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-11-21 16:08:38,282] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:80] 🎯 사용자 GPU 가속 요청: False
[2025-11-21 16:08:38,282] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:81] 💻 현재 운영체제: Windows
[2025-11-21 16:08:38,282] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:84] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-11-21 16:08:38,282] [MainThread] [INFO] [gpu_utils.py:_set_safe_cpu_mode:157] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-11-21 16:08:38,282] [MainThread] [DEBUG] [image_processor3.py:__init__:79] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-11-21 16:08:38,282] [MainThread] [DEBUG] [image_processor3.py:__init__:80] - CUDA 사용 가능: False
[2025-11-21 16:08:38,282] [MainThread] [DEBUG] [image_processor3.py:__init__:81] - toggle_states['use_cuda']: False
[2025-11-21 16:08:38,283] [MainThread] [DEBUG] [image_processor3.py:__init__:82] - GPU 하드웨어 정보: {}
[2025-11-21 16:08:38,283] [MainThread] [DEBUG] [image_processor3.py:__init__:84] ImageProcessor3 Init toggle_states: {'font_type': 'CustomFont', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\GmarketSansTTFMedium.ttf', 'ocr': True, 'force_cpu_ocr': True, 'use_cuda': False, 'inpaint_model': 'cv', 'TEMP_IMAGE_DIR': 'D:\\py\\img_worker\\modules\\test', 'output_image_format': 'jpg', 'watermark_toggle': False, 'store_ocr_data_to_db': False, 'ocr_engine': 'onnx'}
[2025-11-21 16:08:38,283] [MainThread] [DEBUG] [image_processor3.py:__init__:87] is_member_valid: True
[2025-11-21 16:08:38,283] [MainThread] [DEBUG] [image_processor3.py:__init__:144] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-11-21 16:08:38,283] [MainThread] [DEBUG] [image_processor3.py:__init__:152] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-11-21 16:08:38,283] [MainThread] [DEBUG] [image_processor3.py:__init__:154] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-11-21 16:08:38,283] [MainThread] [DEBUG] [image_processor3.py:__init__:156] self.TEMP_IMAGE_DIR: D:\py\img_worker\modules\test
[2025-11-21 16:08:38,283] [MainThread] [DEBUG] [image_processor3.py:__init__:158] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-11-21 16:08:38,284] [MainThread] [DEBUG] [image_processor3.py:__init__:160] self.unwanted_texts: {}
[2025-11-21 16:08:38,284] [MainThread] [DEBUG] [image_processor3.py:__init__:162] self.inpaint_method: migan
[2025-11-21 16:08:38,284] [MainThread] [DEBUG] [image_processor3.py:__init__:168] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-11-21 16:08:38,284] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_determine_model_type:447] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-11-21 16:08:38,284] [MainThread] [INFO] [onnx_ocr_wrapper.py:_determine_model_type:453] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-11-21 16:08:38,284] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:324] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-11-21 16:08:38,284] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:333] ONNX OCR 모듈 CPU 모드로 설정
[2025-11-21 16:08:38,285] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:356] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-11-21 16:08:38,285] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_initialize_onnx_system:539] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-11-21 16:08:44,128] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_ensure_utf8_encoding:487] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-11-21 16:08:44,211] [MainThread] [INFO] [onnx_ocr_wrapper.py:_initialize_onnx_system:743] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-11-21 16:08:44,211] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:363] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-11-21 16:08:44,211] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:364] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-11-21 16:08:44,212] [MainThread] [INFO] [image_processor3.py:__init__:175] ✅ ONNX OCR 모듈 초기화 성공
[2025-11-21 16:08:44,212] [MainThread] [INFO] [mask_module_for_paddle.py:__init__:12] 마스크 모듈 초기화 완료
[2025-11-21 16:08:44,212] [MainThread] [DEBUG] [image_processor3.py:__init__:216] MaskModule 초기화 성공
[2025-11-21 16:08:44,212] [MainThread] [INFO] [text_rendering_module.py:__init__:21] 텍스트 렌더링 모듈 초기화 완료
[2025-11-21 16:08:44,212] [MainThread] [INFO] [text_rendering_module.py:__init__:22] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-11-21 16:08:44,212] [MainThread] [DEBUG] [image_processor3.py:__init__:222] TextRenderingModule 초기화 성공
[2025-11-21 16:08:44,213] [MainThread] [DEBUG] [postImageManager.py:font_load:40] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-11-21 16:08:44,213] [MainThread] [DEBUG] [image_processor3.py:__init__:228] PostImageManager 초기화 성공
[2025-11-21 16:08:44,213] [MainThread] [DEBUG] [request_inpaint.py:__init__:43] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-11-21 16:08:44,214] [MainThread] [DEBUG] [image_processor3.py:__init__:251] Request_AI_Server 초기화 성공
[2025-11-21 16:08:44,214] [MainThread] [DEBUG] [image_processor3.py:__init__:258] GoogleTranslate 초기화 성공
[2025-11-21 16:08:44,215] [MainThread] [DEBUG] [image_processor3.py:__init__:291] MIGAN 초기화 건너뜀: inpaint_method=request, local_inpaint_method=migan, migan_onnx_path=False
[2025-11-21 16:08:44,215] [MainThread] [INFO] [create_font_preview.py:main:81] 프리뷰 생성 시작: GmarketSansTTFMedium.ttf
[2025-11-21 16:08:44,215] [MainThread] [INFO] [create_font_preview.py:main:82] 저장 경로: D:\py\img_worker\modules\test
[2025-11-21 16:08:44,215] [MainThread] [DEBUG] [image_processor3.py:process_single_image:583] 이미지 번역시작
[2025-11-21 16:08:44,215] [MainThread] [DEBUG] [image_processor3.py:process_single_image:585] toggle_states: {'font_type': 'CustomFont', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\HakgyoansimDunggeunmisoTTFB.ttf', 'ocr': True, 'force_cpu_ocr': True, 'use_cuda': False, 'inpaint_model': 'cv', 'TEMP_IMAGE_DIR': 'D:\\py\\img_worker\\modules\\test', 'output_image_format': 'jpg', 'watermark_toggle': False, 'store_ocr_data_to_db': False, 'ocr_engine': 'onnx'}
[2025-11-21 16:08:44,617] [MainThread] [DEBUG] [image_processor3.py:process_single_image:603] 이미지 1 처리 시작: D:\py\img_worker\modules\fonts\ori.jpg - OCR+인페인팅 모드
[2025-11-21 16:08:44,617] [MainThread] [DEBUG] [image_processor3.py:download_image:1191] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\fonts\ori.jpg
[2025-11-21 16:08:44,617] [MainThread] [DEBUG] [image_processor3.py:process_single_image:626] 옵션 이미지는 스케일 처리 건너뛰기: preview_GmarketSansTTFMedium
[2025-11-21 16:08:44,617] [MainThread] [DEBUG] [image_processor3.py:process_single_image:636] 이미지 1 로컬 저장위치(옵션 이미지 원본 유지): D:\py\img_worker\modules\fonts\ori.jpg
[2025-11-21 16:08:44,626] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:838] 🔍 ONNX OCR 감지 방식: polygon
[2025-11-21 16:08:44,796] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:906] ⚡ ONNX OCR 추론 완료: 170.1ms
[2025-11-21 16:08:44,796] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:907] 📊 세부 시간 - 감지: 91.0ms, 인식: 69.1ms, 분류: 3.0ms
[2025-11-21 16:08:44,804] [MainThread] [INFO] [image_processor3.py:process_single_image:652] 메모리 변화 [OCR 처리]: 24348.8MB -> 24506.2MB (+157.4MB, +0.6%) - 이미지 1
[2025-11-21 16:08:44,807] [MainThread] [DEBUG] [image_processor3.py:process_single_image:657] ocr_results: [{'text': '现代极简风格', 'confidence': 0.9946680068969727, 'polygon': [[222.0, 70.0], [552.0, 70.0], [552.0, 118.0], [222.0, 118.0]], 'bbox': (222, 70, 331, 49), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9957253336906433, 'polygon': [[152.0, 141.0], [622.0, 141.0], [622.0, 180.0], [152.0, 180.0]], 'bbox': (152, 141, 471, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9974236488342285, 'polygon': [[88.0, 289.0], [463.0, 289.0], [463.0, 345.0], [88.0, 345.0]], 'bbox': (88, 289, 376, 57), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9939405918121338, 'polygon': [[87.0, 369.0], [462.0, 369.0], [462.0, 425.0], [87.0, 425.0]], 'bbox': (87, 369, 376, 57), 'method': 'polygon'}]
[2025-11-21 16:08:44,830] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.5%): '现代极简风格'
[2025-11-21 16:08:44,831] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.6%): '更易搭配各种使用场景'
[2025-11-21 16:08:44,831] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.7%): '半圆两端设计'
[2025-11-21 16:08:44,831] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.4%): '承载各种欢乐'
[2025-11-21 16:08:44,831] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1105] 필터링 결과: 4/4개 (신뢰도 + & 중국어)
[2025-11-21 16:08:44,833] [MainThread] [DEBUG] [image_processor3.py:process_single_image:669] filter_ocr_results: [{'text': '现代极简风格', 'confidence': 0.9946680068969727, 'polygon': [[222.0, 70.0], [552.0, 70.0], [552.0, 118.0], [222.0, 118.0]], 'bbox': (222, 70, 331, 49), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9957253336906433, 'polygon': [[152.0, 141.0], [622.0, 141.0], [622.0, 180.0], [152.0, 180.0]], 'bbox': (152, 141, 471, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9974236488342285, 'polygon': [[88.0, 289.0], [463.0, 289.0], [463.0, 345.0], [88.0, 345.0]], 'bbox': (88, 289, 376, 57), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9939405918121338, 'polygon': [[87.0, 369.0], [462.0, 369.0], [462.0, 425.0], [87.0, 425.0]], 'bbox': (87, 369, 376, 57), 'method': 'polygon'}]
[2025-11-21 16:08:44,833] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_chinese_text:1192] 중국어 텍스트 4개 필터링 완료
[2025-11-21 16:08:44,833] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_korean_text:1213] 한글 텍스트 0개 필터링 완료
[2025-11-21 16:08:45,288] [MainThread] [DEBUG] [image_processor3.py:process_single_image:727] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고']
[2025-11-21 16:08:45,288] [MainThread] [DEBUG] [image_processor3.py:process_single_image:728] 마스크 생성 완료
[2025-11-21 16:08:45,288] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 1] 원본 텍스트: '모던한 미니멀 스타일'
[2025-11-21 16:08:45,288] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 1] 분리된 단어: ['모던한', '미니멀', '스타일']
[2025-11-21 16:08:45,289] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 1] 변경 없음: '모던한 미니멀 스타일'
[2025-11-21 16:08:45,289] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 2] 원본 텍스트: '다양한 사용 시나리오에 더 쉽게 일치'
[2025-11-21 16:08:45,289] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 2] 분리된 단어: ['다양한', '사용', '시나리오에', '더', '쉽게', '일치']
[2025-11-21 16:08:45,289] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 2] 변경 없음: '다양한 사용 시나리오에 더 쉽게 일치'
[2025-11-21 16:08:45,289] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 3] 원본 텍스트: '반원형 끝 디자인'
[2025-11-21 16:08:45,289] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 3] 분리된 단어: ['반원형', '끝', '디자인']
[2025-11-21 16:08:45,289] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 3] 변경 없음: '반원형 끝 디자인'
[2025-11-21 16:08:45,290] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 4] 원본 텍스트: '온갖 기쁨을 안고'
[2025-11-21 16:08:45,290] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 4] 분리된 단어: ['온갖', '기쁨을', '안고']
[2025-11-21 16:08:45,290] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 4] 변경 없음: '온갖 기쁨을 안고'
[2025-11-21 16:08:45,290] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1359] 전체 치환 결과: 4개 텍스트 처리 완료
[2025-11-21 16:08:45,290] [MainThread] [DEBUG] [image_processor3.py:process_single_image:737] 이미지 1 치환됨
[2025-11-21 16:08:45,290] [MainThread] [INFO] [image_processor3.py:process_single_image:753] [inpaint_model 강제] cv → inpaint_method=cv
[2025-11-21 16:08:45,290] [MainThread] [DEBUG] [image_processor3.py:process_single_image:787] ocr_count: 4
[2025-11-21 16:08:45,291] [MainThread] [DEBUG] [image_processor3.py:process_single_image:788] is_member_valid: True
[2025-11-21 16:08:45,295] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1039] MIGAN 모듈이 초기화되지 않아 건너뜀
[2025-11-21 16:08:45,298] [MainThread] [DEBUG] [image_processor3.py:execute_inpaint_with_fallback:966] 메모리 변화 [인페인팅]: 24493.0MB -> 24493.0MB (+0.0MB, +0.0%) - 방법: migan
[2025-11-21 16:08:45,298] [MainThread] [DEBUG] [image_processor3.py:process_single_image:799] 인페인팅 완료
[2025-11-21 16:08:45,298] [MainThread] [WARNING] [image_processor3.py:process_single_image:810] 인페인팅 실패, 원본 이미지 사용
[2025-11-21 16:08:45,359] [MainThread] [DEBUG] [image_processor3.py:process_single_image:821] 텍스트 렌더링 완료
[2025-11-21 16:08:45,359] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1144] watermark_text: 이미지 저작권 보유
[2025-11-21 16:08:45,360] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1145] is_watermark_enabled: True
[2025-11-21 16:08:45,369] [MainThread] [INFO] [postImageManager.py:save_image_to_path:101] 이미지 저장 완료 : D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg
[2025-11-21 16:08:45,369] [MainThread] [DEBUG] [image_processor3.py:process_single_image:827] 이미지 1 번역 완료: D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg
[2025-11-21 16:08:45,433] [MainThread] [DEBUG] [image_processor3.py:process_single_image:880] ⏱ 이미지 파이프라인 총 1216.3ms | download=0.0ms | ocr=183.1ms | translate=454.9ms | mask=454.9ms | inpaint=7.0ms | render=56.7ms | save=9.7ms
[2025-11-21 16:08:45,433] [MainThread] [INFO] [create_font_preview.py:main:98] 프리뷰 생성 성공: D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg
[2025-11-21 16:08:45,443] [MainThread] [DEBUG] [image_processor3.py:cleanup:443] OCR 모듈 정리 완료
[2025-11-21 16:08:45,443] [MainThread] [DEBUG] [image_processor3.py:cleanup:451] 마스크 모듈 정리 완료
[2025-11-21 16:08:45,509] [MainThread] [DEBUG] [image_processor3.py:cleanup:486] 임시 폴더 삭제됨: D:\py\img_worker\modules\test
[2025-11-21 16:08:45,563] [MainThread] [DEBUG] [image_processor3.py:cleanup:486] 임시 폴더 삭제됨: D:\py\img_worker\modules\test
[2025-11-21 16:08:45,563] [MainThread] [DEBUG] [image_processor3.py:__del__:434] 이미지 프로세서 소멸
[2025-11-21 16:14:30,071] [MainThread] [DEBUG] [image_processor3.py:__init__:57] tracemalloc 메모리 추적 시작
[2025-11-21 16:14:30,076] [MainThread] [DEBUG] [gpu_utils.py:_setup_directml_environment:55] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-11-21 16:14:30,077] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:79] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-11-21 16:14:30,077] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:80] 🎯 사용자 GPU 가속 요청: False
[2025-11-21 16:14:30,077] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:81] 💻 현재 운영체제: Windows
[2025-11-21 16:14:30,077] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:84] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-11-21 16:14:30,077] [MainThread] [INFO] [gpu_utils.py:_set_safe_cpu_mode:157] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-11-21 16:14:30,077] [MainThread] [DEBUG] [image_processor3.py:__init__:79] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-11-21 16:14:30,077] [MainThread] [DEBUG] [image_processor3.py:__init__:80] - CUDA 사용 가능: False
[2025-11-21 16:14:30,077] [MainThread] [DEBUG] [image_processor3.py:__init__:81] - toggle_states['use_cuda']: False
[2025-11-21 16:14:30,078] [MainThread] [DEBUG] [image_processor3.py:__init__:82] - GPU 하드웨어 정보: {}
[2025-11-21 16:14:30,078] [MainThread] [DEBUG] [image_processor3.py:__init__:84] ImageProcessor3 Init toggle_states: {'font_type': 'CustomFont', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\GmarketSansTTFMedium.ttf', 'ocr': True, 'force_cpu_ocr': True, 'use_cuda': False, 'inpaint_model': 'migan', 'local_inpaint_method': 'migan', 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'migan_use_accel': False, 'migan_provider_override': 'cpu', 'detail_IMGTrans_type': 'CPU', 'optionIMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'TEMP_IMAGE_DIR': 'D:\\py\\img_worker\\modules\\test', 'output_image_format': 'jpg', 'watermark_toggle': False, 'store_ocr_data_to_db': False, 'ocr_engine': 'onnx'}
[2025-11-21 16:14:30,078] [MainThread] [DEBUG] [image_processor3.py:__init__:87] is_member_valid: True
[2025-11-21 16:14:30,078] [MainThread] [DEBUG] [image_processor3.py:__init__:144] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-11-21 16:14:30,078] [MainThread] [DEBUG] [image_processor3.py:__init__:152] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-11-21 16:14:30,078] [MainThread] [DEBUG] [image_processor3.py:__init__:154] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-11-21 16:14:30,078] [MainThread] [DEBUG] [image_processor3.py:__init__:156] self.TEMP_IMAGE_DIR: D:\py\img_worker\modules\test
[2025-11-21 16:14:30,078] [MainThread] [DEBUG] [image_processor3.py:__init__:158] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-11-21 16:14:30,079] [MainThread] [DEBUG] [image_processor3.py:__init__:160] self.unwanted_texts: {}
[2025-11-21 16:14:30,079] [MainThread] [DEBUG] [image_processor3.py:__init__:162] self.inpaint_method: migan
[2025-11-21 16:14:30,079] [MainThread] [DEBUG] [image_processor3.py:__init__:168] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-11-21 16:14:30,079] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_determine_model_type:447] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-11-21 16:14:30,079] [MainThread] [INFO] [onnx_ocr_wrapper.py:_determine_model_type:453] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-11-21 16:14:30,079] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:324] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-11-21 16:14:30,079] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:333] ONNX OCR 모듈 CPU 모드로 설정
[2025-11-21 16:14:30,080] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:356] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-11-21 16:14:30,080] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_initialize_onnx_system:539] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-11-21 16:14:36,039] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_ensure_utf8_encoding:487] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-11-21 16:14:36,122] [MainThread] [INFO] [onnx_ocr_wrapper.py:_initialize_onnx_system:743] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-11-21 16:14:36,122] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:363] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-11-21 16:14:36,122] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:364] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-11-21 16:14:36,123] [MainThread] [INFO] [image_processor3.py:__init__:175] ✅ ONNX OCR 모듈 초기화 성공
[2025-11-21 16:14:36,123] [MainThread] [INFO] [mask_module_for_paddle.py:__init__:12] 마스크 모듈 초기화 완료
[2025-11-21 16:14:36,123] [MainThread] [DEBUG] [image_processor3.py:__init__:216] MaskModule 초기화 성공
[2025-11-21 16:14:36,123] [MainThread] [INFO] [text_rendering_module.py:__init__:21] 텍스트 렌더링 모듈 초기화 완료
[2025-11-21 16:14:36,123] [MainThread] [INFO] [text_rendering_module.py:__init__:22] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-11-21 16:14:36,123] [MainThread] [DEBUG] [image_processor3.py:__init__:222] TextRenderingModule 초기화 성공
[2025-11-21 16:14:36,124] [MainThread] [DEBUG] [postImageManager.py:font_load:40] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-11-21 16:14:36,124] [MainThread] [DEBUG] [image_processor3.py:__init__:228] PostImageManager 초기화 성공
[2025-11-21 16:14:36,124] [MainThread] [DEBUG] [request_inpaint.py:__init__:43] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-11-21 16:14:36,124] [MainThread] [DEBUG] [image_processor3.py:__init__:251] Request_AI_Server 초기화 성공
[2025-11-21 16:14:36,124] [MainThread] [DEBUG] [image_processor3.py:__init__:258] GoogleTranslate 초기화 성공
[2025-11-21 16:14:36,125] [MainThread] [DEBUG] [image_processor3.py:__init__:284] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-11-21 16:14:36,126] [MainThread] [DEBUG] [image_processor3.py:__init__:286] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-11-21 16:14:36,126] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:166] [MIGAN] GPU 관리자 사용 가능: False
[2025-11-21 16:14:36,126] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:186] [MIGAN] CPU 전용 모드
[2025-11-21 16:14:36,126] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:188] [MIGAN] 최종 providers: [('CPUExecutionProvider', {})]
[2025-11-21 16:14:36,126] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:204] [MIGAN] CPU 전용 시도: [('CPUExecutionProvider', {})]
[2025-11-21 16:14:36,212] [MainThread] [INFO] [migan_module.py:_get_or_create_session:207] [MIGAN] CPU 전용 성공! 실제 providers: ['CPUExecutionProvider']
[2025-11-21 16:14:36,212] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-11-21 16:14:36,213] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-11-21 16:14:36,213] [MainThread] [DEBUG] [migan_module.py:__init__:117] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-11-21 16:14:36,213] [MainThread] [DEBUG] [migan_module.py:__init__:119] [MIGAN] 세션 준비 완료. providers=['CPUExecutionProvider']
[2025-11-21 16:14:36,213] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:348] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-11-21 16:14:36,213] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:355] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x000002E2A95B10D0>
[2025-11-21 16:14:36,213] [MainThread] [DEBUG] [image_processor3.py:__init__:288] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x000002E2A95B10D0>
[2025-11-21 16:14:36,213] [MainThread] [INFO] [create_font_preview.py:main:98] 프리뷰 생성 시작: GmarketSansTTFMedium.ttf
[2025-11-21 16:14:36,214] [MainThread] [INFO] [create_font_preview.py:main:99] 저장 경로: D:\py\img_worker\modules\test
[2025-11-21 16:14:36,214] [MainThread] [DEBUG] [image_processor3.py:process_single_image:583] 이미지 번역시작
[2025-11-21 16:14:36,214] [MainThread] [DEBUG] [image_processor3.py:process_single_image:585] toggle_states: {'font_type': 'CustomFont', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\HakgyoansimDunggeunmisoTTFB.ttf', 'ocr': True, 'force_cpu_ocr': True, 'use_cuda': False, 'inpaint_model': 'migan', 'local_inpaint_method': 'migan', 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'migan_use_accel': False, 'migan_provider_override': 'cpu', 'detail_IMGTrans_type': 'CPU', 'optionIMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'TEMP_IMAGE_DIR': 'D:\\py\\img_worker\\modules\\test', 'output_image_format': 'jpg', 'watermark_toggle': False, 'store_ocr_data_to_db': False, 'ocr_engine': 'onnx'}
[2025-11-21 16:14:36,685] [MainThread] [DEBUG] [image_processor3.py:process_single_image:603] 이미지 1 처리 시작: D:\py\img_worker\modules\fonts\ori.jpg - OCR+인페인팅 모드
[2025-11-21 16:14:36,685] [MainThread] [DEBUG] [image_processor3.py:download_image:1191] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\fonts\ori.jpg
[2025-11-21 16:14:36,685] [MainThread] [DEBUG] [image_processor3.py:process_single_image:626] 옵션 이미지는 스케일 처리 건너뛰기: preview_GmarketSansTTFMedium
[2025-11-21 16:14:36,685] [MainThread] [DEBUG] [image_processor3.py:process_single_image:636] 이미지 1 로컬 저장위치(옵션 이미지 원본 유지): D:\py\img_worker\modules\fonts\ori.jpg
[2025-11-21 16:14:36,694] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:838] 🔍 ONNX OCR 감지 방식: polygon
[2025-11-21 16:14:36,863] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:906] ⚡ ONNX OCR 추론 완료: 168.9ms
[2025-11-21 16:14:36,864] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:907] 📊 세부 시간 - 감지: 94.0ms, 인식: 69.0ms, 분류: 3.0ms
[2025-11-21 16:14:36,871] [MainThread] [INFO] [image_processor3.py:process_single_image:652] 메모리 변화 [OCR 처리]: 24549.9MB -> 24676.9MB (+127.1MB, +0.5%) - 이미지 1
[2025-11-21 16:14:36,874] [MainThread] [DEBUG] [image_processor3.py:process_single_image:657] ocr_results: [{'text': '现代极简风格', 'confidence': 0.9946680068969727, 'polygon': [[222.0, 70.0], [552.0, 70.0], [552.0, 118.0], [222.0, 118.0]], 'bbox': (222, 70, 331, 49), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9957253336906433, 'polygon': [[152.0, 141.0], [622.0, 141.0], [622.0, 180.0], [152.0, 180.0]], 'bbox': (152, 141, 471, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9974236488342285, 'polygon': [[88.0, 289.0], [463.0, 289.0], [463.0, 345.0], [88.0, 345.0]], 'bbox': (88, 289, 376, 57), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9939405918121338, 'polygon': [[87.0, 369.0], [462.0, 369.0], [462.0, 425.0], [87.0, 425.0]], 'bbox': (87, 369, 376, 57), 'method': 'polygon'}]
[2025-11-21 16:14:36,898] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.5%): '现代极简风格'
[2025-11-21 16:14:36,898] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.6%): '更易搭配各种使用场景'
[2025-11-21 16:14:36,898] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.7%): '半圆两端设计'
[2025-11-21 16:14:36,898] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.4%): '承载各种欢乐'
[2025-11-21 16:14:36,899] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1105] 필터링 결과: 4/4개 (신뢰도 + & 중국어)
[2025-11-21 16:14:36,901] [MainThread] [DEBUG] [image_processor3.py:process_single_image:669] filter_ocr_results: [{'text': '现代极简风格', 'confidence': 0.9946680068969727, 'polygon': [[222.0, 70.0], [552.0, 70.0], [552.0, 118.0], [222.0, 118.0]], 'bbox': (222, 70, 331, 49), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9957253336906433, 'polygon': [[152.0, 141.0], [622.0, 141.0], [622.0, 180.0], [152.0, 180.0]], 'bbox': (152, 141, 471, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9974236488342285, 'polygon': [[88.0, 289.0], [463.0, 289.0], [463.0, 345.0], [88.0, 345.0]], 'bbox': (88, 289, 376, 57), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9939405918121338, 'polygon': [[87.0, 369.0], [462.0, 369.0], [462.0, 425.0], [87.0, 425.0]], 'bbox': (87, 369, 376, 57), 'method': 'polygon'}]
[2025-11-21 16:14:36,901] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_chinese_text:1192] 중국어 텍스트 4개 필터링 완료
[2025-11-21 16:14:36,901] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_korean_text:1213] 한글 텍스트 0개 필터링 완료
[2025-11-21 16:14:38,782] [MainThread] [DEBUG] [image_processor3.py:process_single_image:727] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고']
[2025-11-21 16:14:38,783] [MainThread] [DEBUG] [image_processor3.py:process_single_image:728] 마스크 생성 완료
[2025-11-21 16:14:38,783] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 1] 원본 텍스트: '모던한 미니멀 스타일'
[2025-11-21 16:14:38,783] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 1] 분리된 단어: ['모던한', '미니멀', '스타일']
[2025-11-21 16:14:38,783] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 1] 변경 없음: '모던한 미니멀 스타일'
[2025-11-21 16:14:38,783] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 2] 원본 텍스트: '다양한 사용 시나리오에 더 쉽게 일치'
[2025-11-21 16:14:38,783] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 2] 분리된 단어: ['다양한', '사용', '시나리오에', '더', '쉽게', '일치']
[2025-11-21 16:14:38,783] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 2] 변경 없음: '다양한 사용 시나리오에 더 쉽게 일치'
[2025-11-21 16:14:38,784] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 3] 원본 텍스트: '반원형 끝 디자인'
[2025-11-21 16:14:38,784] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 3] 분리된 단어: ['반원형', '끝', '디자인']
[2025-11-21 16:14:38,784] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 3] 변경 없음: '반원형 끝 디자인'
[2025-11-21 16:14:38,784] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 4] 원본 텍스트: '온갖 기쁨을 안고'
[2025-11-21 16:14:38,784] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 4] 분리된 단어: ['온갖', '기쁨을', '안고']
[2025-11-21 16:14:38,784] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 4] 변경 없음: '온갖 기쁨을 안고'
[2025-11-21 16:14:38,784] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1359] 전체 치환 결과: 4개 텍스트 처리 완료
[2025-11-21 16:14:38,784] [MainThread] [DEBUG] [image_processor3.py:process_single_image:737] 이미지 1 치환됨
[2025-11-21 16:14:38,785] [MainThread] [INFO] [image_processor3.py:process_single_image:753] [inpaint_model 강제] migan → inpaint_method=migan
[2025-11-21 16:14:38,785] [MainThread] [DEBUG] [image_processor3.py:process_single_image:787] ocr_count: 4
[2025-11-21 16:14:38,785] [MainThread] [DEBUG] [image_processor3.py:process_single_image:788] is_member_valid: True
[2025-11-21 16:14:38,789] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1042] MIGAN 인페인팅 시도
[2025-11-21 16:14:38,793] [MainThread] [DEBUG] [migan_module.py:inpaint:276] [MIGAN] 입력 형태 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816)
[2025-11-21 16:14:39,127] [MainThread] [DEBUG] [migan_module.py:inpaint:289] [MIGAN] 출력 형태: (1200, 816, 3), dtype: uint8
[2025-11-21 16:14:39,127] [MainThread] [DEBUG] [migan_module.py:inpaint:297] [MIGAN] 추론 완료: 334.01 ms
[2025-11-21 16:14:39,132] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1045] MIGAN 인페인팅 성공
[2025-11-21 16:14:39,137] [MainThread] [INFO] [image_processor3.py:execute_inpaint_with_fallback:966] 메모리 변화 [인페인팅]: 24692.0MB -> 25135.3MB (+443.3MB, +1.8%) - 방법: migan
[2025-11-21 16:14:39,138] [MainThread] [DEBUG] [image_processor3.py:process_single_image:799] 인페인팅 완료
[2025-11-21 16:14:39,184] [MainThread] [DEBUG] [image_processor3.py:process_single_image:821] 텍스트 렌더링 완료
[2025-11-21 16:14:39,184] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1144] watermark_text: 이미지 저작권 보유
[2025-11-21 16:14:39,184] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1145] is_watermark_enabled: True
[2025-11-21 16:14:39,192] [MainThread] [INFO] [postImageManager.py:save_image_to_path:101] 이미지 저장 완료 : D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg
[2025-11-21 16:14:39,192] [MainThread] [DEBUG] [image_processor3.py:process_single_image:827] 이미지 1 번역 완료: D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg
[2025-11-21 16:14:39,256] [MainThread] [DEBUG] [image_processor3.py:process_single_image:880] ⏱ 이미지 파이프라인 총 3041.3ms | download=0.0ms | ocr=181.9ms | translate=1880.9ms | mask=1880.9ms | inpaint=352.9ms(migan/CPU) | render=45.1ms | save=7.7ms
[2025-11-21 16:14:39,256] [MainThread] [INFO] [create_font_preview.py:main:115] 프리뷰 생성 성공: D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg
[2025-11-21 16:14:39,266] [MainThread] [DEBUG] [image_processor3.py:cleanup:443] OCR 모듈 정리 완료
[2025-11-21 16:14:39,266] [MainThread] [DEBUG] [image_processor3.py:cleanup:451] 마스크 모듈 정리 완료
[2025-11-21 16:14:39,325] [MainThread] [DEBUG] [image_processor3.py:cleanup:486] 임시 폴더 삭제됨: D:\py\img_worker\modules\test
[2025-11-21 16:14:39,381] [MainThread] [DEBUG] [image_processor3.py:cleanup:486] 임시 폴더 삭제됨: D:\py\img_worker\modules\test
[2025-11-21 16:14:39,381] [MainThread] [DEBUG] [image_processor3.py:__del__:434] 이미지 프로세서 소멸
[2025-11-22 13:13:31,857] [MainThread] [DEBUG] [image_processor3.py:__init__:57] tracemalloc 메모리 추적 시작
[2025-11-22 13:13:31,863] [MainThread] [DEBUG] [gpu_utils.py:_setup_directml_environment:55] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-11-22 13:13:31,864] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:79] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-11-22 13:13:31,864] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:80] 🎯 사용자 GPU 가속 요청: False
[2025-11-22 13:13:31,864] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:81] 💻 현재 운영체제: Windows
[2025-11-22 13:13:31,864] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:84] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-11-22 13:13:31,864] [MainThread] [INFO] [gpu_utils.py:_set_safe_cpu_mode:157] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-11-22 13:13:31,865] [MainThread] [DEBUG] [image_processor3.py:__init__:79] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-11-22 13:13:31,865] [MainThread] [DEBUG] [image_processor3.py:__init__:80] - CUDA 사용 가능: False
[2025-11-22 13:13:31,865] [MainThread] [DEBUG] [image_processor3.py:__init__:81] - toggle_states['use_cuda']: False
[2025-11-22 13:13:31,865] [MainThread] [DEBUG] [image_processor3.py:__init__:82] - GPU 하드웨어 정보: {}
[2025-11-22 13:13:31,865] [MainThread] [DEBUG] [image_processor3.py:__init__:84] ImageProcessor3 Init toggle_states: {'font_type': '폰트8', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\Pretendard-Regular.ttf', 'ocr': True, 'force_cpu_ocr': True, 'use_cuda': False, 'inpaint_model': 'migan', 'local_inpaint_method': 'migan', 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'migan_use_accel': False, 'migan_provider_override': 'cpu', 'detail_IMGTrans_type': 'CPU', 'optionIMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'TEMP_IMAGE_DIR': 'D:\\py\\img_worker\\modules\\test', 'output_image_format': 'jpg', 'watermark_toggle': False, 'store_ocr_data_to_db': False, 'ocr_engine': 'onnx'}
[2025-11-22 13:13:31,865] [MainThread] [DEBUG] [image_processor3.py:__init__:87] is_member_valid: True
[2025-11-22 13:13:31,865] [MainThread] [DEBUG] [image_processor3.py:__init__:95] 폰트 경로 설정됨: D:\py\img_worker\modules\fonts\Pretendard-Regular.ttf (타입: 폰트8)
[2025-11-22 13:13:31,865] [MainThread] [DEBUG] [image_processor3.py:__init__:110] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-11-22 13:13:31,866] [MainThread] [DEBUG] [image_processor3.py:__init__:118] self.font_path: D:\py\img_worker\modules\fonts\Pretendard-Regular.ttf
[2025-11-22 13:13:31,866] [MainThread] [DEBUG] [image_processor3.py:__init__:120] toggle_states font_path: D:\py\img_worker\modules\fonts\Pretendard-Regular.ttf
[2025-11-22 13:13:31,866] [MainThread] [DEBUG] [image_processor3.py:__init__:122] self.TEMP_IMAGE_DIR: D:\py\img_worker\modules\test
[2025-11-22 13:13:31,866] [MainThread] [DEBUG] [image_processor3.py:__init__:124] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-11-22 13:13:31,866] [MainThread] [DEBUG] [image_processor3.py:__init__:126] self.unwanted_texts: {}
[2025-11-22 13:13:31,866] [MainThread] [DEBUG] [image_processor3.py:__init__:128] self.inpaint_method: migan
[2025-11-22 13:13:31,866] [MainThread] [DEBUG] [image_processor3.py:__init__:134] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-11-22 13:13:31,867] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_determine_model_type:447] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-11-22 13:13:31,867] [MainThread] [INFO] [onnx_ocr_wrapper.py:_determine_model_type:453] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-11-22 13:13:31,867] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:324] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-11-22 13:13:31,867] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:333] ONNX OCR 모듈 CPU 모드로 설정
[2025-11-22 13:13:31,867] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:356] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-11-22 13:13:31,867] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_initialize_onnx_system:539] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-11-22 13:13:39,131] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_ensure_utf8_encoding:487] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-11-22 13:13:39,238] [MainThread] [INFO] [onnx_ocr_wrapper.py:_initialize_onnx_system:743] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-11-22 13:13:39,238] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:363] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-11-22 13:13:39,238] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:364] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-11-22 13:13:39,239] [MainThread] [INFO] [image_processor3.py:__init__:141] ✅ ONNX OCR 모듈 초기화 성공
[2025-11-22 13:13:39,239] [MainThread] [INFO] [mask_module_for_paddle.py:__init__:12] 마스크 모듈 초기화 완료
[2025-11-22 13:13:39,239] [MainThread] [DEBUG] [image_processor3.py:__init__:182] MaskModule 초기화 성공
[2025-11-22 13:13:39,239] [MainThread] [INFO] [text_rendering_module.py:__init__:21] 텍스트 렌더링 모듈 초기화 완료
[2025-11-22 13:13:39,239] [MainThread] [INFO] [text_rendering_module.py:__init__:22] 기본 폰트: D:\py\img_worker\modules\fonts\Pretendard-Regular.ttf
[2025-11-22 13:13:39,239] [MainThread] [DEBUG] [image_processor3.py:__init__:188] TextRenderingModule 초기화 성공
[2025-11-22 13:13:39,241] [MainThread] [DEBUG] [postImageManager.py:font_load:40] 폰트 로드 성공: D:\py\img_worker\modules\fonts\Pretendard-Regular.ttf
[2025-11-22 13:13:39,241] [MainThread] [DEBUG] [image_processor3.py:__init__:194] PostImageManager 초기화 성공
[2025-11-22 13:13:39,241] [MainThread] [DEBUG] [request_inpaint.py:__init__:43] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-11-22 13:13:39,242] [MainThread] [DEBUG] [image_processor3.py:__init__:217] Request_AI_Server 초기화 성공
[2025-11-22 13:13:39,242] [MainThread] [DEBUG] [image_processor3.py:__init__:224] GoogleTranslate 초기화 성공
[2025-11-22 13:13:39,243] [MainThread] [DEBUG] [image_processor3.py:__init__:250] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-11-22 13:13:39,243] [MainThread] [DEBUG] [image_processor3.py:__init__:252] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-11-22 13:13:39,243] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:166] [MIGAN] GPU 관리자 사용 가능: False
[2025-11-22 13:13:39,243] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:186] [MIGAN] CPU 전용 모드
[2025-11-22 13:13:39,243] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:188] [MIGAN] 최종 providers: [('CPUExecutionProvider', {})]
[2025-11-22 13:13:39,244] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:204] [MIGAN] CPU 전용 시도: [('CPUExecutionProvider', {})]
[2025-11-22 13:13:39,330] [MainThread] [INFO] [migan_module.py:_get_or_create_session:207] [MIGAN] CPU 전용 성공! 실제 providers: ['CPUExecutionProvider']
[2025-11-22 13:13:39,331] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-11-22 13:13:39,331] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-11-22 13:13:39,331] [MainThread] [DEBUG] [migan_module.py:__init__:117] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-11-22 13:13:39,331] [MainThread] [DEBUG] [migan_module.py:__init__:119] [MIGAN] 세션 준비 완료. providers=['CPUExecutionProvider']
[2025-11-22 13:13:39,331] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:348] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-11-22 13:13:39,332] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:355] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x00000194CF076810>
[2025-11-22 13:13:39,332] [MainThread] [DEBUG] [image_processor3.py:__init__:254] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x00000194CF076810>
[2025-11-22 13:13:39,332] [MainThread] [INFO] [create_font_preview.py:main:98] 프리뷰 생성 시작: Pretendard-Regular.ttf
[2025-11-22 13:13:39,332] [MainThread] [INFO] [create_font_preview.py:main:99] 저장 경로: D:\py\img_worker\modules\test
[2025-11-22 13:13:39,332] [MainThread] [DEBUG] [image_processor3.py:process_single_image:564] 이미지 번역시작
[2025-11-22 13:13:39,332] [MainThread] [DEBUG] [image_processor3.py:process_single_image:566] toggle_states: {'font_type': '폰트8', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\Pretendard-Regular.ttf', 'ocr': True, 'force_cpu_ocr': True, 'use_cuda': False, 'inpaint_model': 'migan', 'local_inpaint_method': 'migan', 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'migan_use_accel': False, 'migan_provider_override': 'cpu', 'detail_IMGTrans_type': 'CPU', 'optionIMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'TEMP_IMAGE_DIR': 'D:\\py\\img_worker\\modules\\test', 'output_image_format': 'jpg', 'watermark_toggle': False, 'store_ocr_data_to_db': False, 'ocr_engine': 'onnx'}
[2025-11-22 13:13:39,741] [MainThread] [DEBUG] [image_processor3.py:process_single_image:584] 이미지 1 처리 시작: D:\py\img_worker\modules\fonts\ori.jpg - OCR+인페인팅 모드
[2025-11-22 13:13:39,741] [MainThread] [DEBUG] [image_processor3.py:download_image:1172] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\fonts\ori.jpg
[2025-11-22 13:13:39,741] [MainThread] [DEBUG] [image_processor3.py:process_single_image:607] 옵션 이미지는 스케일 처리 건너뛰기: preview_Pretendard-Regular
[2025-11-22 13:13:39,741] [MainThread] [DEBUG] [image_processor3.py:process_single_image:617] 이미지 1 로컬 저장위치(옵션 이미지 원본 유지): D:\py\img_worker\modules\fonts\ori.jpg
[2025-11-22 13:13:39,753] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:838] 🔍 ONNX OCR 감지 방식: polygon
[2025-11-22 13:13:39,939] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:906] ⚡ ONNX OCR 추론 완료: 185.4ms
[2025-11-22 13:13:39,939] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:907] 📊 세부 시간 - 감지: 103.8ms, 인식: 73.0ms, 분류: 5.0ms
[2025-11-22 13:13:39,951] [MainThread] [INFO] [image_processor3.py:process_single_image:633] 메모리 변화 [OCR 처리]: 26947.2MB -> 27088.3MB (+141.1MB, +0.5%) - 이미지 1
[2025-11-22 13:13:39,957] [MainThread] [DEBUG] [image_processor3.py:process_single_image:638] ocr_results: [{'text': '现代极简风格', 'confidence': 0.9946680068969727, 'polygon': [[222.0, 70.0], [552.0, 70.0], [552.0, 118.0], [222.0, 118.0]], 'bbox': (222, 70, 331, 49), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9957253336906433, 'polygon': [[152.0, 141.0], [622.0, 141.0], [622.0, 180.0], [152.0, 180.0]], 'bbox': (152, 141, 471, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9974236488342285, 'polygon': [[88.0, 289.0], [463.0, 289.0], [463.0, 345.0], [88.0, 345.0]], 'bbox': (88, 289, 376, 57), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9939405918121338, 'polygon': [[87.0, 369.0], [462.0, 369.0], [462.0, 425.0], [87.0, 425.0]], 'bbox': (87, 369, 376, 57), 'method': 'polygon'}]
[2025-11-22 13:13:39,981] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1082] [필터링] 포함 (신뢰도 99.5%): '现代极简风格'
[2025-11-22 13:13:39,981] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1082] [필터링] 포함 (신뢰도 99.6%): '更易搭配各种使用场景'
[2025-11-22 13:13:39,981] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1082] [필터링] 포함 (신뢰도 99.7%): '半圆两端设计'
[2025-11-22 13:13:39,982] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1082] [필터링] 포함 (신뢰도 99.4%): '承载各种欢乐'
[2025-11-22 13:13:39,982] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1086] 필터링 결과: 4/4개 (신뢰도 + & 중국어)
[2025-11-22 13:13:39,984] [MainThread] [DEBUG] [image_processor3.py:process_single_image:650] filter_ocr_results: [{'text': '现代极简风格', 'confidence': 0.9946680068969727, 'polygon': [[222.0, 70.0], [552.0, 70.0], [552.0, 118.0], [222.0, 118.0]], 'bbox': (222, 70, 331, 49), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9957253336906433, 'polygon': [[152.0, 141.0], [622.0, 141.0], [622.0, 180.0], [152.0, 180.0]], 'bbox': (152, 141, 471, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9974236488342285, 'polygon': [[88.0, 289.0], [463.0, 289.0], [463.0, 345.0], [88.0, 345.0]], 'bbox': (88, 289, 376, 57), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9939405918121338, 'polygon': [[87.0, 369.0], [462.0, 369.0], [462.0, 425.0], [87.0, 425.0]], 'bbox': (87, 369, 376, 57), 'method': 'polygon'}]
[2025-11-22 13:13:39,984] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_chinese_text:1192] 중국어 텍스트 4개 필터링 완료
[2025-11-22 13:13:39,984] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_korean_text:1213] 한글 텍스트 0개 필터링 완료
[2025-11-22 13:13:40,363] [MainThread] [DEBUG] [image_processor3.py:process_single_image:708] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고']
[2025-11-22 13:13:40,363] [MainThread] [DEBUG] [image_processor3.py:process_single_image:709] 마스크 생성 완료
[2025-11-22 13:13:40,363] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1293] [치환 처리 1] 원본 텍스트: '모던한 미니멀 스타일'
[2025-11-22 13:13:40,363] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1297] [치환 처리 1] 분리된 단어: ['모던한', '미니멀', '스타일']
[2025-11-22 13:13:40,364] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1338] [치환 처리 1] 변경 없음: '모던한 미니멀 스타일'
[2025-11-22 13:13:40,364] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1293] [치환 처리 2] 원본 텍스트: '다양한 사용 시나리오에 더 쉽게 일치'
[2025-11-22 13:13:40,364] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1297] [치환 처리 2] 분리된 단어: ['다양한', '사용', '시나리오에', '더', '쉽게', '일치']
[2025-11-22 13:13:40,364] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1338] [치환 처리 2] 변경 없음: '다양한 사용 시나리오에 더 쉽게 일치'
[2025-11-22 13:13:40,364] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1293] [치환 처리 3] 원본 텍스트: '반원형 끝 디자인'
[2025-11-22 13:13:40,364] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1297] [치환 처리 3] 분리된 단어: ['반원형', '끝', '디자인']
[2025-11-22 13:13:40,364] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1338] [치환 처리 3] 변경 없음: '반원형 끝 디자인'
[2025-11-22 13:13:40,365] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1293] [치환 처리 4] 원본 텍스트: '온갖 기쁨을 안고'
[2025-11-22 13:13:40,365] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1297] [치환 처리 4] 분리된 단어: ['온갖', '기쁨을', '안고']
[2025-11-22 13:13:40,365] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1338] [치환 처리 4] 변경 없음: '온갖 기쁨을 안고'
[2025-11-22 13:13:40,365] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1340] 전체 치환 결과: 4개 텍스트 처리 완료
[2025-11-22 13:13:40,365] [MainThread] [DEBUG] [image_processor3.py:process_single_image:718] 이미지 1 치환됨
[2025-11-22 13:13:40,365] [MainThread] [INFO] [image_processor3.py:process_single_image:734] [inpaint_model 강제] migan → inpaint_method=migan
[2025-11-22 13:13:40,365] [MainThread] [DEBUG] [image_processor3.py:process_single_image:768] ocr_count: 4
[2025-11-22 13:13:40,366] [MainThread] [DEBUG] [image_processor3.py:process_single_image:769] is_member_valid: True
[2025-11-22 13:13:40,370] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1023] MIGAN 인페인팅 시도
[2025-11-22 13:13:40,376] [MainThread] [DEBUG] [migan_module.py:inpaint:276] [MIGAN] 입력 형태 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816)
[2025-11-22 13:13:40,713] [MainThread] [DEBUG] [migan_module.py:inpaint:289] [MIGAN] 출력 형태: (1200, 816, 3), dtype: uint8
[2025-11-22 13:13:40,713] [MainThread] [DEBUG] [migan_module.py:inpaint:297] [MIGAN] 추론 완료: 336.61 ms
[2025-11-22 13:13:40,717] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1026] MIGAN 인페인팅 성공
[2025-11-22 13:13:40,722] [MainThread] [INFO] [image_processor3.py:execute_inpaint_with_fallback:947] 메모리 변화 [인페인팅]: 27100.7MB -> 27527.8MB (+427.1MB, +1.6%) - 방법: migan
[2025-11-22 13:13:40,723] [MainThread] [DEBUG] [image_processor3.py:process_single_image:780] 인페인팅 완료
[2025-11-22 13:13:40,786] [MainThread] [DEBUG] [image_processor3.py:process_single_image:802] 텍스트 렌더링 완료
[2025-11-22 13:13:40,787] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1125] watermark_text: 이미지 저작권 보유
[2025-11-22 13:13:40,787] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1126] is_watermark_enabled: True
[2025-11-22 13:13:40,796] [MainThread] [INFO] [postImageManager.py:save_image_to_path:101] 이미지 저장 완료 : D:\py\img_worker\modules\test\translated_preview_Pretendard-Regular_img_1.jpg
[2025-11-22 13:13:40,796] [MainThread] [DEBUG] [image_processor3.py:process_single_image:808] 이미지 1 번역 완료: D:\py\img_worker\modules\test\translated_preview_Pretendard-Regular_img_1.jpg
[2025-11-22 13:13:40,855] [MainThread] [DEBUG] [image_processor3.py:process_single_image:861] ⏱ 이미지 파이프라인 총 1522.2ms | download=0.0ms | ocr=203.4ms | translate=378.8ms | mask=378.8ms | inpaint=356.6ms(migan/CPU) | render=63.0ms | save=9.0ms
[2025-11-22 13:13:40,856] [MainThread] [INFO] [create_font_preview.py:main:115] 프리뷰 생성 성공: D:\py\img_worker\modules\test\translated_preview_Pretendard-Regular_img_1.jpg
[2025-11-22 13:13:40,866] [MainThread] [DEBUG] [image_processor3.py:cleanup:424] OCR 모듈 정리 완료
[2025-11-22 13:13:40,867] [MainThread] [DEBUG] [image_processor3.py:cleanup:432] 마스크 모듈 정리 완료
[2025-11-22 13:13:40,927] [MainThread] [DEBUG] [image_processor3.py:cleanup:467] 임시 폴더 삭제됨: D:\py\img_worker\modules\test
[2025-11-22 13:13:40,975] [MainThread] [DEBUG] [image_processor3.py:cleanup:467] 임시 폴더 삭제됨: D:\py\img_worker\modules\test
[2025-11-22 13:13:40,976] [MainThread] [DEBUG] [image_processor3.py:__del__:415] 이미지 프로세서 소멸
[2025-11-22 13:15:42,699] [MainThread] [DEBUG] [image_processor3.py:__init__:57] tracemalloc 메모리 추적 시작
[2025-11-22 13:15:42,706] [MainThread] [DEBUG] [gpu_utils.py:_setup_directml_environment:55] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-11-22 13:15:42,706] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:79] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-11-22 13:15:42,706] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:80] 🎯 사용자 GPU 가속 요청: False
[2025-11-22 13:15:42,706] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:81] 💻 현재 운영체제: Windows
[2025-11-22 13:15:42,706] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:84] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-11-22 13:15:42,707] [MainThread] [INFO] [gpu_utils.py:_set_safe_cpu_mode:157] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-11-22 13:15:42,707] [MainThread] [DEBUG] [image_processor3.py:__init__:79] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-11-22 13:15:42,707] [MainThread] [DEBUG] [image_processor3.py:__init__:80] - CUDA 사용 가능: False
[2025-11-22 13:15:42,707] [MainThread] [DEBUG] [image_processor3.py:__init__:81] - toggle_states['use_cuda']: False
[2025-11-22 13:15:42,707] [MainThread] [DEBUG] [image_processor3.py:__init__:82] - GPU 하드웨어 정보: {}
[2025-11-22 13:15:42,707] [MainThread] [DEBUG] [image_processor3.py:__init__:84] ImageProcessor3 Init toggle_states: {'font_type': '폰트8', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\Pretendard-Regular.ttf', 'ocr': True, 'force_cpu_ocr': True, 'use_cuda': False, 'inpaint_model': 'migan', 'local_inpaint_method': 'migan', 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'migan_use_accel': False, 'migan_provider_override': 'cpu', 'detail_IMGTrans_type': 'CPU', 'optionIMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'TEMP_IMAGE_DIR': 'D:\\py\\img_worker\\modules\\test', 'output_image_format': 'jpg', 'watermark_toggle': False, 'store_ocr_data_to_db': False, 'ocr_engine': 'onnx'}
[2025-11-22 13:15:42,707] [MainThread] [DEBUG] [image_processor3.py:__init__:87] is_member_valid: True
[2025-11-22 13:15:42,708] [MainThread] [DEBUG] [image_processor3.py:__init__:109] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-11-22 13:15:42,708] [MainThread] [DEBUG] [image_processor3.py:__init__:117] self.font_path: D:\py\img_worker\modules\fonts\Pretendard-Regular.ttf
[2025-11-22 13:15:42,708] [MainThread] [DEBUG] [image_processor3.py:__init__:119] toggle_states font_path: D:\py\img_worker\modules\fonts\Pretendard-Regular.ttf
[2025-11-22 13:15:42,708] [MainThread] [DEBUG] [image_processor3.py:__init__:121] self.TEMP_IMAGE_DIR: D:\py\img_worker\modules\test
[2025-11-22 13:15:42,708] [MainThread] [DEBUG] [image_processor3.py:__init__:123] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-11-22 13:15:42,708] [MainThread] [DEBUG] [image_processor3.py:__init__:125] self.unwanted_texts: {}
[2025-11-22 13:15:42,708] [MainThread] [DEBUG] [image_processor3.py:__init__:127] self.inpaint_method: migan
[2025-11-22 13:15:42,708] [MainThread] [DEBUG] [image_processor3.py:__init__:133] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-11-22 13:15:42,709] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_determine_model_type:447] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-11-22 13:15:42,709] [MainThread] [INFO] [onnx_ocr_wrapper.py:_determine_model_type:453] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-11-22 13:15:42,709] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:324] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-11-22 13:15:42,709] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:333] ONNX OCR 모듈 CPU 모드로 설정
[2025-11-22 13:15:42,709] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:356] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-11-22 13:15:42,709] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_initialize_onnx_system:539] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-11-22 13:15:48,476] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_ensure_utf8_encoding:487] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-11-22 13:15:48,561] [MainThread] [INFO] [onnx_ocr_wrapper.py:_initialize_onnx_system:743] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-11-22 13:15:48,561] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:363] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-11-22 13:15:48,561] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:364] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-11-22 13:15:48,562] [MainThread] [INFO] [image_processor3.py:__init__:140] ✅ ONNX OCR 모듈 초기화 성공
[2025-11-22 13:15:48,562] [MainThread] [INFO] [mask_module_for_paddle.py:__init__:12] 마스크 모듈 초기화 완료
[2025-11-22 13:15:48,562] [MainThread] [DEBUG] [image_processor3.py:__init__:181] MaskModule 초기화 성공
[2025-11-22 13:15:48,562] [MainThread] [INFO] [text_rendering_module.py:__init__:21] 텍스트 렌더링 모듈 초기화 완료
[2025-11-22 13:15:48,562] [MainThread] [INFO] [text_rendering_module.py:__init__:22] 기본 폰트: D:\py\img_worker\modules\fonts\Pretendard-Regular.ttf
[2025-11-22 13:15:48,562] [MainThread] [DEBUG] [image_processor3.py:__init__:187] TextRenderingModule 초기화 성공
[2025-11-22 13:15:48,563] [MainThread] [DEBUG] [postImageManager.py:font_load:40] 폰트 로드 성공: D:\py\img_worker\modules\fonts\Pretendard-Regular.ttf
[2025-11-22 13:15:48,563] [MainThread] [DEBUG] [image_processor3.py:__init__:193] PostImageManager 초기화 성공
[2025-11-22 13:15:48,563] [MainThread] [DEBUG] [request_inpaint.py:__init__:43] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-11-22 13:15:48,563] [MainThread] [DEBUG] [image_processor3.py:__init__:216] Request_AI_Server 초기화 성공
[2025-11-22 13:15:48,563] [MainThread] [DEBUG] [image_processor3.py:__init__:223] GoogleTranslate 초기화 성공
[2025-11-22 13:15:48,564] [MainThread] [DEBUG] [image_processor3.py:__init__:249] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-11-22 13:15:48,564] [MainThread] [DEBUG] [image_processor3.py:__init__:251] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-11-22 13:15:48,565] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:166] [MIGAN] GPU 관리자 사용 가능: False
[2025-11-22 13:15:48,565] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:186] [MIGAN] CPU 전용 모드
[2025-11-22 13:15:48,565] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:188] [MIGAN] 최종 providers: [('CPUExecutionProvider', {})]
[2025-11-22 13:15:48,565] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:204] [MIGAN] CPU 전용 시도: [('CPUExecutionProvider', {})]
[2025-11-22 13:15:48,643] [MainThread] [INFO] [migan_module.py:_get_or_create_session:207] [MIGAN] CPU 전용 성공! 실제 providers: ['CPUExecutionProvider']
[2025-11-22 13:15:48,643] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-11-22 13:15:48,643] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-11-22 13:15:48,643] [MainThread] [DEBUG] [migan_module.py:__init__:117] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-11-22 13:15:48,644] [MainThread] [DEBUG] [migan_module.py:__init__:119] [MIGAN] 세션 준비 완료. providers=['CPUExecutionProvider']
[2025-11-22 13:15:48,644] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:348] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-11-22 13:15:48,644] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:355] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x000002319C110950>
[2025-11-22 13:15:48,644] [MainThread] [DEBUG] [image_processor3.py:__init__:253] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x000002319C110950>
[2025-11-22 13:15:48,644] [MainThread] [INFO] [create_font_preview.py:main:98] 프리뷰 생성 시작: Pretendard-Regular.ttf
[2025-11-22 13:15:48,644] [MainThread] [INFO] [create_font_preview.py:main:99] 저장 경로: D:\py\img_worker\modules\test
[2025-11-22 13:15:48,644] [MainThread] [DEBUG] [image_processor3.py:process_single_image:556] 이미지 번역시작
[2025-11-22 13:15:48,645] [MainThread] [DEBUG] [image_processor3.py:process_single_image:558] toggle_states: {'font_type': '폰트8', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\Pretendard-Regular.ttf', 'ocr': True, 'force_cpu_ocr': True, 'use_cuda': False, 'inpaint_model': 'migan', 'local_inpaint_method': 'migan', 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'migan_use_accel': False, 'migan_provider_override': 'cpu', 'detail_IMGTrans_type': 'CPU', 'optionIMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'TEMP_IMAGE_DIR': 'D:\\py\\img_worker\\modules\\test', 'output_image_format': 'jpg', 'watermark_toggle': False, 'store_ocr_data_to_db': False, 'ocr_engine': 'onnx'}
[2025-11-22 13:15:48,877] [MainThread] [DEBUG] [image_processor3.py:process_single_image:576] 이미지 1 처리 시작: D:\py\img_worker\modules\fonts\ori.jpg - OCR+인페인팅 모드
[2025-11-22 13:15:48,877] [MainThread] [DEBUG] [image_processor3.py:download_image:1164] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\fonts\ori.jpg
[2025-11-22 13:15:48,877] [MainThread] [DEBUG] [image_processor3.py:process_single_image:599] 옵션 이미지는 스케일 처리 건너뛰기: preview_Pretendard-Regular
[2025-11-22 13:15:48,877] [MainThread] [DEBUG] [image_processor3.py:process_single_image:609] 이미지 1 로컬 저장위치(옵션 이미지 원본 유지): D:\py\img_worker\modules\fonts\ori.jpg
[2025-11-22 13:15:48,886] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:838] 🔍 ONNX OCR 감지 방식: polygon
[2025-11-22 13:15:49,053] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:906] ⚡ ONNX OCR 추론 완료: 167.0ms
[2025-11-22 13:15:49,054] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:907] 📊 세부 시간 - 감지: 91.0ms, 인식: 69.0ms, 분류: 4.0ms
[2025-11-22 13:15:49,062] [MainThread] [INFO] [image_processor3.py:process_single_image:625] 메모리 변화 [OCR 처리]: 26716.9MB -> 26859.4MB (+142.5MB, +0.5%) - 이미지 1
[2025-11-22 13:15:49,064] [MainThread] [DEBUG] [image_processor3.py:process_single_image:630] ocr_results: [{'text': '现代极简风格', 'confidence': 0.9946680068969727, 'polygon': [[222.0, 70.0], [552.0, 70.0], [552.0, 118.0], [222.0, 118.0]], 'bbox': (222, 70, 331, 49), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9957253336906433, 'polygon': [[152.0, 141.0], [622.0, 141.0], [622.0, 180.0], [152.0, 180.0]], 'bbox': (152, 141, 471, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9974236488342285, 'polygon': [[88.0, 289.0], [463.0, 289.0], [463.0, 345.0], [88.0, 345.0]], 'bbox': (88, 289, 376, 57), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9939405918121338, 'polygon': [[87.0, 369.0], [462.0, 369.0], [462.0, 425.0], [87.0, 425.0]], 'bbox': (87, 369, 376, 57), 'method': 'polygon'}]
[2025-11-22 13:15:49,087] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1074] [필터링] 포함 (신뢰도 99.5%): '现代极简风格'
[2025-11-22 13:15:49,087] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1074] [필터링] 포함 (신뢰도 99.6%): '更易搭配各种使用场景'
[2025-11-22 13:15:49,087] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1074] [필터링] 포함 (신뢰도 99.7%): '半圆两端设计'
[2025-11-22 13:15:49,087] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1074] [필터링] 포함 (신뢰도 99.4%): '承载各种欢乐'
[2025-11-22 13:15:49,087] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1078] 필터링 결과: 4/4개 (신뢰도 + & 중국어)
[2025-11-22 13:15:49,090] [MainThread] [DEBUG] [image_processor3.py:process_single_image:642] filter_ocr_results: [{'text': '现代极简风格', 'confidence': 0.9946680068969727, 'polygon': [[222.0, 70.0], [552.0, 70.0], [552.0, 118.0], [222.0, 118.0]], 'bbox': (222, 70, 331, 49), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9957253336906433, 'polygon': [[152.0, 141.0], [622.0, 141.0], [622.0, 180.0], [152.0, 180.0]], 'bbox': (152, 141, 471, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9974236488342285, 'polygon': [[88.0, 289.0], [463.0, 289.0], [463.0, 345.0], [88.0, 345.0]], 'bbox': (88, 289, 376, 57), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9939405918121338, 'polygon': [[87.0, 369.0], [462.0, 369.0], [462.0, 425.0], [87.0, 425.0]], 'bbox': (87, 369, 376, 57), 'method': 'polygon'}]
[2025-11-22 13:15:49,090] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_chinese_text:1192] 중국어 텍스트 4개 필터링 완료
[2025-11-22 13:15:49,090] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_korean_text:1213] 한글 텍스트 0개 필터링 완료
[2025-11-22 13:15:49,399] [MainThread] [DEBUG] [image_processor3.py:process_single_image:700] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고']
[2025-11-22 13:15:49,399] [MainThread] [DEBUG] [image_processor3.py:process_single_image:701] 마스크 생성 완료
[2025-11-22 13:15:49,399] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1285] [치환 처리 1] 원본 텍스트: '모던한 미니멀 스타일'
[2025-11-22 13:15:49,399] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1289] [치환 처리 1] 분리된 단어: ['모던한', '미니멀', '스타일']
[2025-11-22 13:15:49,400] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1330] [치환 처리 1] 변경 없음: '모던한 미니멀 스타일'
[2025-11-22 13:15:49,400] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1285] [치환 처리 2] 원본 텍스트: '다양한 사용 시나리오에 더 쉽게 일치'
[2025-11-22 13:15:49,400] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1289] [치환 처리 2] 분리된 단어: ['다양한', '사용', '시나리오에', '더', '쉽게', '일치']
[2025-11-22 13:15:49,400] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1330] [치환 처리 2] 변경 없음: '다양한 사용 시나리오에 더 쉽게 일치'
[2025-11-22 13:15:49,400] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1285] [치환 처리 3] 원본 텍스트: '반원형 끝 디자인'
[2025-11-22 13:15:49,400] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1289] [치환 처리 3] 분리된 단어: ['반원형', '끝', '디자인']
[2025-11-22 13:15:49,400] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1330] [치환 처리 3] 변경 없음: '반원형 끝 디자인'
[2025-11-22 13:15:49,400] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1285] [치환 처리 4] 원본 텍스트: '온갖 기쁨을 안고'
[2025-11-22 13:15:49,400] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1289] [치환 처리 4] 분리된 단어: ['온갖', '기쁨을', '안고']
[2025-11-22 13:15:49,401] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1330] [치환 처리 4] 변경 없음: '온갖 기쁨을 안고'
[2025-11-22 13:15:49,401] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1332] 전체 치환 결과: 4개 텍스트 처리 완료
[2025-11-22 13:15:49,401] [MainThread] [DEBUG] [image_processor3.py:process_single_image:710] 이미지 1 치환됨
[2025-11-22 13:15:49,401] [MainThread] [INFO] [image_processor3.py:process_single_image:726] [inpaint_model 강제] migan → inpaint_method=migan
[2025-11-22 13:15:49,401] [MainThread] [DEBUG] [image_processor3.py:process_single_image:760] ocr_count: 4
[2025-11-22 13:15:49,401] [MainThread] [DEBUG] [image_processor3.py:process_single_image:761] is_member_valid: True
[2025-11-22 13:15:49,406] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1015] MIGAN 인페인팅 시도
[2025-11-22 13:15:49,411] [MainThread] [DEBUG] [migan_module.py:inpaint:276] [MIGAN] 입력 형태 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816)
[2025-11-22 13:15:49,745] [MainThread] [DEBUG] [migan_module.py:inpaint:289] [MIGAN] 출력 형태: (1200, 816, 3), dtype: uint8
[2025-11-22 13:15:49,746] [MainThread] [DEBUG] [migan_module.py:inpaint:297] [MIGAN] 추론 완료: 335.00 ms
[2025-11-22 13:15:49,751] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1018] MIGAN 인페인팅 성공
[2025-11-22 13:15:49,759] [MainThread] [INFO] [image_processor3.py:execute_inpaint_with_fallback:939] 메모리 변화 [인페인팅]: 26861.3MB -> 27259.7MB (+398.4MB, +1.5%) - 방법: migan
[2025-11-22 13:15:49,760] [MainThread] [DEBUG] [image_processor3.py:process_single_image:772] 인페인팅 완료
[2025-11-22 13:15:49,821] [MainThread] [DEBUG] [image_processor3.py:process_single_image:794] 텍스트 렌더링 완료
[2025-11-22 13:15:49,821] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1117] watermark_text: 이미지 저작권 보유
[2025-11-22 13:15:49,821] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1118] is_watermark_enabled: True
[2025-11-22 13:15:49,829] [MainThread] [INFO] [postImageManager.py:save_image_to_path:101] 이미지 저장 완료 : D:\py\img_worker\modules\test\translated_preview_Pretendard-Regular_img_1.jpg
[2025-11-22 13:15:49,829] [MainThread] [DEBUG] [image_processor3.py:process_single_image:800] 이미지 1 번역 완료: D:\py\img_worker\modules\test\translated_preview_Pretendard-Regular_img_1.jpg
[2025-11-22 13:15:49,885] [MainThread] [DEBUG] [image_processor3.py:process_single_image:853] ⏱ 이미지 파이프라인 총 1240.4ms | download=0.0ms | ocr=180.0ms | translate=308.9ms | mask=308.9ms | inpaint=359.0ms(migan/CPU) | render=61.0ms | save=8.0ms
[2025-11-22 13:15:49,886] [MainThread] [INFO] [create_font_preview.py:main:115] 프리뷰 생성 성공: D:\py\img_worker\modules\test\translated_preview_Pretendard-Regular_img_1.jpg
[2025-11-22 13:15:49,896] [MainThread] [DEBUG] [image_processor3.py:cleanup:416] OCR 모듈 정리 완료
[2025-11-22 13:15:49,896] [MainThread] [DEBUG] [image_processor3.py:cleanup:424] 마스크 모듈 정리 완료
[2025-11-22 13:15:49,946] [MainThread] [DEBUG] [image_processor3.py:cleanup:459] 임시 폴더 삭제됨: D:\py\img_worker\modules\test
[2025-11-22 13:15:49,996] [MainThread] [DEBUG] [image_processor3.py:cleanup:459] 임시 폴더 삭제됨: D:\py\img_worker\modules\test
[2025-11-22 13:15:49,997] [MainThread] [DEBUG] [image_processor3.py:__del__:407] 이미지 프로세서 소멸
[2025-11-22 13:28:10,774] [MainThread] [DEBUG] [image_processor3.py:__init__:57] tracemalloc 메모리 추적 시작
[2025-11-22 13:28:10,780] [MainThread] [DEBUG] [gpu_utils.py:_setup_directml_environment:55] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-11-22 13:28:10,780] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:79] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-11-22 13:28:10,781] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:80] 🎯 사용자 GPU 가속 요청: False
[2025-11-22 13:28:10,781] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:81] 💻 현재 운영체제: Windows
[2025-11-22 13:28:10,781] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:84] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-11-22 13:28:10,781] [MainThread] [INFO] [gpu_utils.py:_set_safe_cpu_mode:157] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-11-22 13:28:10,781] [MainThread] [DEBUG] [image_processor3.py:__init__:79] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-11-22 13:28:10,781] [MainThread] [DEBUG] [image_processor3.py:__init__:80] - CUDA 사용 가능: False
[2025-11-22 13:28:10,781] [MainThread] [DEBUG] [image_processor3.py:__init__:81] - toggle_states['use_cuda']: False
[2025-11-22 13:28:10,781] [MainThread] [DEBUG] [image_processor3.py:__init__:82] - GPU 하드웨어 정보: {}
[2025-11-22 13:28:10,782] [MainThread] [DEBUG] [image_processor3.py:__init__:84] ImageProcessor3 Init toggle_states: {'font_type': '폰트8', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\Pretendard-Regular.ttf', 'ocr': True, 'force_cpu_ocr': True, 'use_cuda': False, 'inpaint_model': 'migan', 'local_inpaint_method': 'migan', 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'migan_use_accel': False, 'migan_provider_override': 'cpu', 'detail_IMGTrans_type': 'CPU', 'optionIMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'TEMP_IMAGE_DIR': 'D:\\py\\img_worker\\modules\\test', 'output_image_format': 'jpg', 'watermark_toggle': False, 'store_ocr_data_to_db': False, 'ocr_engine': 'onnx'}
[2025-11-22 13:28:10,782] [MainThread] [DEBUG] [image_processor3.py:__init__:87] is_member_valid: True
[2025-11-22 13:28:10,782] [MainThread] [DEBUG] [image_processor3.py:__init__:109] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-11-22 13:28:10,782] [MainThread] [DEBUG] [image_processor3.py:__init__:117] self.font_path: D:\py\img_worker\modules\fonts\Pretendard-Regular.ttf
[2025-11-22 13:28:10,782] [MainThread] [DEBUG] [image_processor3.py:__init__:119] toggle_states font_path: D:\py\img_worker\modules\fonts\Pretendard-Regular.ttf
[2025-11-22 13:28:10,782] [MainThread] [DEBUG] [image_processor3.py:__init__:121] self.TEMP_IMAGE_DIR: D:\py\img_worker\modules\test
[2025-11-22 13:28:10,782] [MainThread] [DEBUG] [image_processor3.py:__init__:123] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-11-22 13:28:10,782] [MainThread] [DEBUG] [image_processor3.py:__init__:125] self.unwanted_texts: {}
[2025-11-22 13:28:10,783] [MainThread] [DEBUG] [image_processor3.py:__init__:127] self.inpaint_method: migan
[2025-11-22 13:28:10,783] [MainThread] [DEBUG] [image_processor3.py:__init__:133] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-11-22 13:28:10,783] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_determine_model_type:447] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-11-22 13:28:10,783] [MainThread] [INFO] [onnx_ocr_wrapper.py:_determine_model_type:453] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-11-22 13:28:10,783] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:324] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-11-22 13:28:10,783] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:333] ONNX OCR 모듈 CPU 모드로 설정
[2025-11-22 13:28:10,784] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:356] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-11-22 13:28:10,784] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_initialize_onnx_system:539] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-11-22 13:28:16,491] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_ensure_utf8_encoding:487] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-11-22 13:28:16,573] [MainThread] [INFO] [onnx_ocr_wrapper.py:_initialize_onnx_system:743] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-11-22 13:28:16,573] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:363] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-11-22 13:28:16,573] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:364] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-11-22 13:28:16,574] [MainThread] [INFO] [image_processor3.py:__init__:140] ✅ ONNX OCR 모듈 초기화 성공
[2025-11-22 13:28:16,574] [MainThread] [INFO] [mask_module_for_paddle.py:__init__:12] 마스크 모듈 초기화 완료
[2025-11-22 13:28:16,574] [MainThread] [DEBUG] [image_processor3.py:__init__:181] MaskModule 초기화 성공
[2025-11-22 13:28:16,574] [MainThread] [INFO] [text_rendering_module.py:__init__:21] 텍스트 렌더링 모듈 초기화 완료
[2025-11-22 13:28:16,574] [MainThread] [INFO] [text_rendering_module.py:__init__:22] 기본 폰트: D:\py\img_worker\modules\fonts\Pretendard-Regular.ttf
[2025-11-22 13:28:16,574] [MainThread] [DEBUG] [image_processor3.py:__init__:187] TextRenderingModule 초기화 성공
[2025-11-22 13:28:16,575] [MainThread] [DEBUG] [postImageManager.py:font_load:40] 폰트 로드 성공: D:\py\img_worker\modules\fonts\Pretendard-Regular.ttf
[2025-11-22 13:28:16,575] [MainThread] [DEBUG] [image_processor3.py:__init__:193] PostImageManager 초기화 성공
[2025-11-22 13:28:16,575] [MainThread] [DEBUG] [request_inpaint.py:__init__:43] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-11-22 13:28:16,575] [MainThread] [DEBUG] [image_processor3.py:__init__:216] Request_AI_Server 초기화 성공
[2025-11-22 13:28:16,575] [MainThread] [DEBUG] [image_processor3.py:__init__:223] GoogleTranslate 초기화 성공
[2025-11-22 13:28:16,576] [MainThread] [DEBUG] [image_processor3.py:__init__:249] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-11-22 13:28:16,577] [MainThread] [DEBUG] [image_processor3.py:__init__:251] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-11-22 13:28:16,577] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:166] [MIGAN] GPU 관리자 사용 가능: False
[2025-11-22 13:28:16,577] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:186] [MIGAN] CPU 전용 모드
[2025-11-22 13:28:16,577] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:188] [MIGAN] 최종 providers: [('CPUExecutionProvider', {})]
[2025-11-22 13:28:16,577] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:204] [MIGAN] CPU 전용 시도: [('CPUExecutionProvider', {})]
[2025-11-22 13:28:16,653] [MainThread] [INFO] [migan_module.py:_get_or_create_session:207] [MIGAN] CPU 전용 성공! 실제 providers: ['CPUExecutionProvider']
[2025-11-22 13:28:16,654] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-11-22 13:28:16,654] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-11-22 13:28:16,654] [MainThread] [DEBUG] [migan_module.py:__init__:117] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-11-22 13:28:16,654] [MainThread] [DEBUG] [migan_module.py:__init__:119] [MIGAN] 세션 준비 완료. providers=['CPUExecutionProvider']
[2025-11-22 13:28:16,654] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:348] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-11-22 13:28:16,654] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:355] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x000001B555C59350>
[2025-11-22 13:28:16,655] [MainThread] [DEBUG] [image_processor3.py:__init__:253] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x000001B555C59350>
[2025-11-22 13:28:16,655] [MainThread] [INFO] [create_font_preview.py:main:98] 프리뷰 생성 시작: Pretendard-Regular.ttf
[2025-11-22 13:28:16,655] [MainThread] [INFO] [create_font_preview.py:main:99] 저장 경로: D:\py\img_worker\modules\test
[2025-11-22 13:28:16,655] [MainThread] [DEBUG] [image_processor3.py:process_single_image:570] 이미지 번역시작
[2025-11-22 13:28:16,655] [MainThread] [DEBUG] [image_processor3.py:process_single_image:572] toggle_states: {'font_type': '폰트8', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\Pretendard-Regular.ttf', 'ocr': True, 'force_cpu_ocr': True, 'use_cuda': False, 'inpaint_model': 'migan', 'local_inpaint_method': 'migan', 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'migan_use_accel': False, 'migan_provider_override': 'cpu', 'detail_IMGTrans_type': 'CPU', 'optionIMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'TEMP_IMAGE_DIR': 'D:\\py\\img_worker\\modules\\test', 'output_image_format': 'jpg', 'watermark_toggle': False, 'store_ocr_data_to_db': False, 'ocr_engine': 'onnx'}
[2025-11-22 13:28:17,019] [MainThread] [DEBUG] [image_processor3.py:process_single_image:590] 이미지 1 처리 시작: D:\py\img_worker\modules\fonts\ori.jpg - OCR+인페인팅 모드
[2025-11-22 13:28:17,019] [MainThread] [DEBUG] [image_processor3.py:download_image:1178] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\fonts\ori.jpg
[2025-11-22 13:28:17,019] [MainThread] [DEBUG] [image_processor3.py:process_single_image:613] 옵션 이미지는 스케일 처리 건너뛰기: preview_Pretendard-Regular
[2025-11-22 13:28:17,020] [MainThread] [DEBUG] [image_processor3.py:process_single_image:623] 이미지 1 로컬 저장위치(옵션 이미지 원본 유지): D:\py\img_worker\modules\fonts\ori.jpg
[2025-11-22 13:28:17,028] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:838] 🔍 ONNX OCR 감지 방식: polygon
[2025-11-22 13:28:17,254] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:906] ⚡ ONNX OCR 추론 완료: 225.0ms
[2025-11-22 13:28:17,254] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:907] 📊 세부 시간 - 감지: 112.0ms, 인식: 105.0ms, 분류: 4.0ms
[2025-11-22 13:28:17,264] [MainThread] [INFO] [image_processor3.py:process_single_image:639] 메모리 변화 [OCR 처리]: 28105.3MB -> 28323.2MB (+217.9MB, +0.8%) - 이미지 1
[2025-11-22 13:28:17,266] [MainThread] [DEBUG] [image_processor3.py:process_single_image:644] ocr_results: [{'text': '现代极简风格', 'confidence': 0.9946680068969727, 'polygon': [[222.0, 70.0], [552.0, 70.0], [552.0, 118.0], [222.0, 118.0]], 'bbox': (222, 70, 331, 49), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9957253336906433, 'polygon': [[152.0, 141.0], [622.0, 141.0], [622.0, 180.0], [152.0, 180.0]], 'bbox': (152, 141, 471, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9974236488342285, 'polygon': [[88.0, 289.0], [463.0, 289.0], [463.0, 345.0], [88.0, 345.0]], 'bbox': (88, 289, 376, 57), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9939405918121338, 'polygon': [[87.0, 369.0], [462.0, 369.0], [462.0, 425.0], [87.0, 425.0]], 'bbox': (87, 369, 376, 57), 'method': 'polygon'}]
[2025-11-22 13:28:17,290] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1088] [필터링] 포함 (신뢰도 99.5%): '现代极简风格'
[2025-11-22 13:28:17,291] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1088] [필터링] 포함 (신뢰도 99.6%): '更易搭配各种使用场景'
[2025-11-22 13:28:17,291] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1088] [필터링] 포함 (신뢰도 99.7%): '半圆两端设计'
[2025-11-22 13:28:17,291] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1088] [필터링] 포함 (신뢰도 99.4%): '承载各种欢乐'
[2025-11-22 13:28:17,291] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1092] 필터링 결과: 4/4개 (신뢰도 + & 중국어)
[2025-11-22 13:28:17,293] [MainThread] [DEBUG] [image_processor3.py:process_single_image:656] filter_ocr_results: [{'text': '现代极简风格', 'confidence': 0.9946680068969727, 'polygon': [[222.0, 70.0], [552.0, 70.0], [552.0, 118.0], [222.0, 118.0]], 'bbox': (222, 70, 331, 49), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9957253336906433, 'polygon': [[152.0, 141.0], [622.0, 141.0], [622.0, 180.0], [152.0, 180.0]], 'bbox': (152, 141, 471, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9974236488342285, 'polygon': [[88.0, 289.0], [463.0, 289.0], [463.0, 345.0], [88.0, 345.0]], 'bbox': (88, 289, 376, 57), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9939405918121338, 'polygon': [[87.0, 369.0], [462.0, 369.0], [462.0, 425.0], [87.0, 425.0]], 'bbox': (87, 369, 376, 57), 'method': 'polygon'}]
[2025-11-22 13:28:17,294] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_chinese_text:1192] 중국어 텍스트 4개 필터링 완료
[2025-11-22 13:28:17,294] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_korean_text:1213] 한글 텍스트 0개 필터링 완료
[2025-11-22 13:28:17,616] [MainThread] [DEBUG] [image_processor3.py:process_single_image:714] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고']
[2025-11-22 13:28:17,616] [MainThread] [DEBUG] [image_processor3.py:process_single_image:715] 마스크 생성 완료
[2025-11-22 13:28:17,616] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1299] [치환 처리 1] 원본 텍스트: '모던한 미니멀 스타일'
[2025-11-22 13:28:17,616] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1303] [치환 처리 1] 분리된 단어: ['모던한', '미니멀', '스타일']
[2025-11-22 13:28:17,616] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1344] [치환 처리 1] 변경 없음: '모던한 미니멀 스타일'
[2025-11-22 13:28:17,617] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1299] [치환 처리 2] 원본 텍스트: '다양한 사용 시나리오에 더 쉽게 일치'
[2025-11-22 13:28:17,617] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1303] [치환 처리 2] 분리된 단어: ['다양한', '사용', '시나리오에', '더', '쉽게', '일치']
[2025-11-22 13:28:17,617] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1344] [치환 처리 2] 변경 없음: '다양한 사용 시나리오에 더 쉽게 일치'
[2025-11-22 13:28:17,617] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1299] [치환 처리 3] 원본 텍스트: '반원형 끝 디자인'
[2025-11-22 13:28:17,617] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1303] [치환 처리 3] 분리된 단어: ['반원형', '끝', '디자인']
[2025-11-22 13:28:17,617] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1344] [치환 처리 3] 변경 없음: '반원형 끝 디자인'
[2025-11-22 13:28:17,617] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1299] [치환 처리 4] 원본 텍스트: '온갖 기쁨을 안고'
[2025-11-22 13:28:17,617] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1303] [치환 처리 4] 분리된 단어: ['온갖', '기쁨을', '안고']
[2025-11-22 13:28:17,618] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1344] [치환 처리 4] 변경 없음: '온갖 기쁨을 안고'
[2025-11-22 13:28:17,618] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1346] 전체 치환 결과: 4개 텍스트 처리 완료
[2025-11-22 13:28:17,618] [MainThread] [DEBUG] [image_processor3.py:process_single_image:724] 이미지 1 치환됨
[2025-11-22 13:28:17,618] [MainThread] [INFO] [image_processor3.py:process_single_image:740] [inpaint_model 강제] migan → inpaint_method=migan
[2025-11-22 13:28:17,618] [MainThread] [DEBUG] [image_processor3.py:process_single_image:774] ocr_count: 4
[2025-11-22 13:28:17,618] [MainThread] [DEBUG] [image_processor3.py:process_single_image:775] is_member_valid: True
[2025-11-22 13:28:17,623] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1029] MIGAN 인페인팅 시도
[2025-11-22 13:28:17,628] [MainThread] [DEBUG] [migan_module.py:inpaint:276] [MIGAN] 입력 형태 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816)
[2025-11-22 13:28:17,953] [MainThread] [DEBUG] [migan_module.py:inpaint:289] [MIGAN] 출력 형태: (1200, 816, 3), dtype: uint8
[2025-11-22 13:28:17,953] [MainThread] [DEBUG] [migan_module.py:inpaint:297] [MIGAN] 추론 완료: 325.00 ms
[2025-11-22 13:28:17,958] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1032] MIGAN 인페인팅 성공
[2025-11-22 13:28:17,963] [MainThread] [INFO] [image_processor3.py:execute_inpaint_with_fallback:953] 메모리 변화 [인페인팅]: 28358.1MB -> 28711.8MB (+353.7MB, +1.2%) - 방법: migan
[2025-11-22 13:28:17,963] [MainThread] [DEBUG] [image_processor3.py:process_single_image:786] 인페인팅 완료
[2025-11-22 13:28:18,024] [MainThread] [DEBUG] [image_processor3.py:process_single_image:808] 텍스트 렌더링 완료
[2025-11-22 13:28:18,024] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1131] watermark_text: 이미지 저작권 보유
[2025-11-22 13:28:18,024] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1132] is_watermark_enabled: True
[2025-11-22 13:28:18,032] [MainThread] [INFO] [postImageManager.py:save_image_to_path:101] 이미지 저장 완료 : D:\py\img_worker\modules\test\translated_preview_Pretendard-Regular_img_1.jpg
[2025-11-22 13:28:18,032] [MainThread] [DEBUG] [image_processor3.py:process_single_image:814] 이미지 1 번역 완료: D:\py\img_worker\modules\test\translated_preview_Pretendard-Regular_img_1.jpg
[2025-11-22 13:28:18,093] [MainThread] [DEBUG] [image_processor3.py:process_single_image:867] ⏱ 이미지 파이프라인 총 1436.5ms | download=0.0ms | ocr=238.0ms | translate=321.2ms | mask=321.2ms | inpaint=345.0ms(migan/CPU) | render=61.0ms | save=8.0ms
[2025-11-22 13:28:18,093] [MainThread] [INFO] [create_font_preview.py:main:115] 프리뷰 생성 성공: D:\py\img_worker\modules\test\translated_preview_Pretendard-Regular_img_1.jpg
[2025-11-22 13:28:18,103] [MainThread] [DEBUG] [image_processor3.py:cleanup:430] OCR 모듈 정리 완료
[2025-11-22 13:28:18,103] [MainThread] [DEBUG] [image_processor3.py:cleanup:438] 마스크 모듈 정리 완료
[2025-11-22 13:28:18,158] [MainThread] [DEBUG] [image_processor3.py:cleanup:473] 임시 폴더 삭제됨: D:\py\img_worker\modules\test
[2025-11-22 13:28:18,210] [MainThread] [DEBUG] [image_processor3.py:cleanup:473] 임시 폴더 삭제됨: D:\py\img_worker\modules\test
[2025-11-22 13:28:18,211] [MainThread] [DEBUG] [image_processor3.py:__del__:421] 이미지 프로세서 소멸