[2025-11-22 11:50:22,682] [MainThread] [DEBUG] [image_processor3.py:__init__:57] tracemalloc 메모리 추적 시작 [2025-11-22 11:50:22,688] [MainThread] [DEBUG] [gpu_utils.py:_setup_directml_environment:55] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반) [2025-11-22 11:50:22,688] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:79] === 🚀 DirectML GPU 상태 초기화 시작 🚀 === [2025-11-22 11:50:22,688] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:80] 🎯 사용자 GPU 가속 요청: False [2025-11-22 11:50:22,689] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:81] 💻 현재 운영체제: Windows [2025-11-22 11:50:22,689] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:84] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False) [2025-11-22 11:50:22,689] [MainThread] [INFO] [gpu_utils.py:_set_safe_cpu_mode:157] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화 [2025-11-22 11:50:22,689] [MainThread] [DEBUG] [image_processor3.py:__init__:79] 🔧 ImageProcessor3 GPU 상태 요약: [2025-11-22 11:50:22,689] [MainThread] [DEBUG] [image_processor3.py:__init__:80] - CUDA 사용 가능: False [2025-11-22 11:50:22,690] [MainThread] [DEBUG] [image_processor3.py:__init__:81] - toggle_states['use_cuda']: False [2025-11-22 11:50:22,690] [MainThread] [DEBUG] [image_processor3.py:__init__:82] - GPU 하드웨어 정보: {} [2025-11-22 11:50:22,690] [MainThread] [DEBUG] [image_processor3.py:__init__:84] ImageProcessor3 Init toggle_states: {'font_type': '폰트3', '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-22 11:50:22,690] [MainThread] [DEBUG] [image_processor3.py:__init__:87] is_member_valid: True [2025-11-22 11:50:22,691] [MainThread] [DEBUG] [image_processor3.py:__init__:144] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images [2025-11-22 11:50:22,691] [MainThread] [DEBUG] [image_processor3.py:__init__:152] self.font_path: D:\py\img_worker\modules\fonts\NanumSquareRoundR.ttf [2025-11-22 11:50:22,691] [MainThread] [DEBUG] [image_processor3.py:__init__:154] toggle_states font_path: D:\py\img_worker\modules\fonts\NanumSquareRoundR.ttf [2025-11-22 11:50:22,691] [MainThread] [DEBUG] [image_processor3.py:__init__:156] self.TEMP_IMAGE_DIR: D:\py\img_worker\modules\test [2025-11-22 11:50:22,691] [MainThread] [DEBUG] [image_processor3.py:__init__:158] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images [2025-11-22 11:50:22,691] [MainThread] [DEBUG] [image_processor3.py:__init__:160] self.unwanted_texts: {} [2025-11-22 11:50:22,692] [MainThread] [DEBUG] [image_processor3.py:__init__:162] self.inpaint_method: migan [2025-11-22 11:50:22,692] [MainThread] [DEBUG] [image_processor3.py:__init__:168] Image.MAX_IMAGE_PIXELS set to 20000000 [2025-11-22 11:50:22,692] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_determine_model_type:447] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {} [2025-11-22 11:50:22,692] [MainThread] [INFO] [onnx_ocr_wrapper.py:_determine_model_type:453] 자동 선택 모드: GPU 추천 모델 simp 사용 [2025-11-22 11:50:22,693] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:324] ONNX OCR 모델 타입 결정: simp (GPU: False) [2025-11-22 11:50:22,693] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:333] ONNX OCR 모듈 CPU 모드로 설정 [2025-11-22 11:50:22,693] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:356] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드) [2025-11-22 11:50:22,693] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_initialize_onnx_system:539] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드) [2025-11-22 11:50:24,770] [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 11:50:24,879] [MainThread] [INFO] [onnx_ocr_wrapper.py:_initialize_onnx_system:743] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델) [2025-11-22 11:50:24,879] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:363] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델) [2025-11-22 11:50:24,879] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:364] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드) [2025-11-22 11:50:24,880] [MainThread] [INFO] [image_processor3.py:__init__:175] ✅ ONNX OCR 모듈 초기화 성공 [2025-11-22 11:50:24,880] [MainThread] [INFO] [mask_module_for_paddle.py:__init__:12] 마스크 모듈 초기화 완료 [2025-11-22 11:50:24,880] [MainThread] [DEBUG] [image_processor3.py:__init__:216] MaskModule 초기화 성공 [2025-11-22 11:50:24,880] [MainThread] [INFO] [text_rendering_module.py:__init__:21] 텍스트 렌더링 모듈 초기화 완료 [2025-11-22 11:50:24,881] [MainThread] [INFO] [text_rendering_module.py:__init__:22] 기본 폰트: D:\py\img_worker\modules\fonts\NanumSquareRoundR.ttf [2025-11-22 11:50:24,881] [MainThread] [DEBUG] [image_processor3.py:__init__:222] TextRenderingModule 초기화 성공 [2025-11-22 11:50:24,883] [MainThread] [DEBUG] [postImageManager.py:font_load:40] 폰트 로드 성공: D:\py\img_worker\modules\fonts\NanumSquareRoundR.ttf [2025-11-22 11:50:24,883] [MainThread] [DEBUG] [image_processor3.py:__init__:228] PostImageManager 초기화 성공 [2025-11-22 11:50:24,883] [MainThread] [DEBUG] [request_inpaint.py:__init__:43] Request_AI_Server GPU 상태: CUDA 사용 가능=False [2025-11-22 11:50:24,884] [MainThread] [DEBUG] [image_processor3.py:__init__:251] Request_AI_Server 초기화 성공 [2025-11-22 11:50:24,884] [MainThread] [DEBUG] [image_processor3.py:__init__:258] GoogleTranslate 초기화 성공 [2025-11-22 11:50:24,885] [MainThread] [DEBUG] [image_processor3.py:__init__:284] MIGAN CUDA 사용 불가 - CPU 모드로 설정 [2025-11-22 11:50:24,885] [MainThread] [DEBUG] [image_processor3.py:__init__:286] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False [2025-11-22 11:50:24,886] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:166] [MIGAN] GPU 관리자 사용 가능: False [2025-11-22 11:50:24,886] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:186] [MIGAN] CPU 전용 모드 [2025-11-22 11:50:24,886] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:188] [MIGAN] 최종 providers: [('CPUExecutionProvider', {})] [2025-11-22 11:50:24,886] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:204] [MIGAN] CPU 전용 시도: [('CPUExecutionProvider', {})] [2025-11-22 11:50:24,970] [MainThread] [INFO] [migan_module.py:_get_or_create_session:207] [MIGAN] CPU 전용 성공! 실제 providers: ['CPUExecutionProvider'] [2025-11-22 11:50:24,971] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8) [2025-11-22 11:50:24,971] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8) [2025-11-22 11:50:24,971] [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 11:50:24,971] [MainThread] [DEBUG] [migan_module.py:__init__:119] [MIGAN] 세션 준비 완료. providers=['CPUExecutionProvider'] [2025-11-22 11:50:24,972] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:348] [MIGAN] GPU 관리자 연결 완료: GPUManager [2025-11-22 11:50:24,972] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:355] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: [2025-11-22 11:50:24,972] [MainThread] [DEBUG] [image_processor3.py:__init__:288] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값= [2025-11-22 11:50:24,972] [MainThread] [INFO] [create_font_preview.py:main:98] 프리뷰 생성 시작: GmarketSansTTFMedium.ttf [2025-11-22 11:50:24,972] [MainThread] [INFO] [create_font_preview.py:main:99] 저장 경로: D:\py\img_worker\modules\test [2025-11-22 11:50:24,973] [MainThread] [DEBUG] [image_processor3.py:process_single_image:583] 이미지 번역시작 [2025-11-22 11:50:24,973] [MainThread] [DEBUG] [image_processor3.py:process_single_image:585] toggle_states: {'font_type': '폰트3', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\NanumSquareRoundR.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 11:50:25,385] [MainThread] [DEBUG] [image_processor3.py:process_single_image:603] 이미지 1 처리 시작: D:\py\img_worker\modules\fonts\ori.jpg - OCR+인페인팅 모드 [2025-11-22 11:50:25,385] [MainThread] [DEBUG] [image_processor3.py:download_image:1191] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\fonts\ori.jpg [2025-11-22 11:50:25,386] [MainThread] [DEBUG] [image_processor3.py:process_single_image:626] 옵션 이미지는 스케일 처리 건너뛰기: preview_GmarketSansTTFMedium [2025-11-22 11:50:25,386] [MainThread] [DEBUG] [image_processor3.py:process_single_image:636] 이미지 1 로컬 저장위치(옵션 이미지 원본 유지): D:\py\img_worker\modules\fonts\ori.jpg [2025-11-22 11:50:25,399] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:838] 🔍 ONNX OCR 감지 방식: polygon [2025-11-22 11:50:25,582] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:906] ⚡ ONNX OCR 추론 완료: 181.9ms [2025-11-22 11:50:25,582] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:907] 📊 세부 시간 - 감지: 99.0ms, 인식: 71.9ms, 분류: 4.0ms [2025-11-22 11:50:25,596] [MainThread] [INFO] [image_processor3.py:process_single_image:652] 메모리 변화 [OCR 처리]: 24210.9MB -> 24389.5MB (+178.5MB, +0.7%) - 이미지 1 [2025-11-22 11:50:25,599] [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-22 11:50:25,622] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.5%): '现代极简风格' [2025-11-22 11:50:25,622] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.6%): '更易搭配各种使用场景' [2025-11-22 11:50:25,622] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.7%): '半圆两端设计' [2025-11-22 11:50:25,623] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.4%): '承载各种欢乐' [2025-11-22 11:50:25,623] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1105] 필터링 결과: 4/4개 (신뢰도 + & 중국어) [2025-11-22 11:50:25,625] [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-22 11:50:25,626] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_chinese_text:1192] 중국어 텍스트 4개 필터링 완료 [2025-11-22 11:50:25,626] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_korean_text:1213] 한글 텍스트 0개 필터링 완료 [2025-11-22 11:50:28,347] [MainThread] [DEBUG] [image_processor3.py:process_single_image:727] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고'] [2025-11-22 11:50:28,348] [MainThread] [DEBUG] [image_processor3.py:process_single_image:728] 마스크 생성 완료 [2025-11-22 11:50:28,348] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 1] 원본 텍스트: '모던한 미니멀 스타일' [2025-11-22 11:50:28,348] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 1] 분리된 단어: ['모던한', '미니멀', '스타일'] [2025-11-22 11:50:28,348] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 1] 변경 없음: '모던한 미니멀 스타일' [2025-11-22 11:50:28,349] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 2] 원본 텍스트: '다양한 사용 시나리오에 더 쉽게 일치' [2025-11-22 11:50:28,349] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 2] 분리된 단어: ['다양한', '사용', '시나리오에', '더', '쉽게', '일치'] [2025-11-22 11:50:28,349] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 2] 변경 없음: '다양한 사용 시나리오에 더 쉽게 일치' [2025-11-22 11:50:28,349] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 3] 원본 텍스트: '반원형 끝 디자인' [2025-11-22 11:50:28,349] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 3] 분리된 단어: ['반원형', '끝', '디자인'] [2025-11-22 11:50:28,350] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 3] 변경 없음: '반원형 끝 디자인' [2025-11-22 11:50:28,350] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 4] 원본 텍스트: '온갖 기쁨을 안고' [2025-11-22 11:50:28,350] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 4] 분리된 단어: ['온갖', '기쁨을', '안고'] [2025-11-22 11:50:28,350] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 4] 변경 없음: '온갖 기쁨을 안고' [2025-11-22 11:50:28,350] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1359] 전체 치환 결과: 4개 텍스트 처리 완료 [2025-11-22 11:50:28,351] [MainThread] [DEBUG] [image_processor3.py:process_single_image:737] 이미지 1 치환됨 [2025-11-22 11:50:28,351] [MainThread] [INFO] [image_processor3.py:process_single_image:753] [inpaint_model 강제] migan → inpaint_method=migan [2025-11-22 11:50:28,351] [MainThread] [DEBUG] [image_processor3.py:process_single_image:787] ocr_count: 4 [2025-11-22 11:50:28,351] [MainThread] [DEBUG] [image_processor3.py:process_single_image:788] is_member_valid: True [2025-11-22 11:50:28,356] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1042] MIGAN 인페인팅 시도 [2025-11-22 11:50:28,360] [MainThread] [DEBUG] [migan_module.py:inpaint:276] [MIGAN] 입력 형태 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816) [2025-11-22 11:50:28,677] [MainThread] [DEBUG] [migan_module.py:inpaint:289] [MIGAN] 출력 형태: (1200, 816, 3), dtype: uint8 [2025-11-22 11:50:28,678] [MainThread] [DEBUG] [migan_module.py:inpaint:297] [MIGAN] 추론 완료: 318.01 ms [2025-11-22 11:50:28,681] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1045] MIGAN 인페인팅 성공 [2025-11-22 11:50:28,687] [MainThread] [INFO] [image_processor3.py:execute_inpaint_with_fallback:966] 메모리 변화 [인페인팅]: 24499.5MB -> 24855.0MB (+355.5MB, +1.5%) - 방법: migan [2025-11-22 11:50:28,687] [MainThread] [DEBUG] [image_processor3.py:process_single_image:799] 인페인팅 완료 [2025-11-22 11:50:28,719] [MainThread] [DEBUG] [image_processor3.py:process_single_image:821] 텍스트 렌더링 완료 [2025-11-22 11:50:28,719] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1144] watermark_text: 이미지 저작권 보유 [2025-11-22 11:50:28,719] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1145] is_watermark_enabled: True [2025-11-22 11:50:28,723] [MainThread] [INFO] [postImageManager.py:save_image_to_path:101] 이미지 저장 완료 : D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg [2025-11-22 11:50:28,723] [MainThread] [DEBUG] [image_processor3.py:process_single_image:827] 이미지 1 번역 완료: D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg [2025-11-22 11:50:28,751] [MainThread] [DEBUG] [image_processor3.py:process_single_image:880] ⏱ 이미지 파이프라인 총 3776.9ms | download=1.0ms | ocr=205.7ms | translate=2721.1ms | mask=2721.1ms | inpaint=334.8ms(migan/CPU) | render=32.0ms | save=4.0ms [2025-11-22 11:50:28,752] [MainThread] [INFO] [create_font_preview.py:main:115] 프리뷰 생성 성공: D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg [2025-11-22 11:50:28,762] [MainThread] [DEBUG] [image_processor3.py:cleanup:443] OCR 모듈 정리 완료 [2025-11-22 11:50:28,763] [MainThread] [DEBUG] [image_processor3.py:cleanup:451] 마스크 모듈 정리 완료 [2025-11-22 11:50:28,786] [MainThread] [DEBUG] [image_processor3.py:cleanup:486] 임시 폴더 삭제됨: D:\py\img_worker\modules\test [2025-11-22 11:50:28,807] [MainThread] [DEBUG] [image_processor3.py:cleanup:486] 임시 폴더 삭제됨: D:\py\img_worker\modules\test [2025-11-22 11:50:28,808] [MainThread] [DEBUG] [image_processor3.py:__del__:434] 이미지 프로세서 소멸 [2025-11-22 11:50:41,062] [MainThread] [DEBUG] [image_processor3.py:__init__:57] tracemalloc 메모리 추적 시작 [2025-11-22 11:50:41,068] [MainThread] [DEBUG] [gpu_utils.py:_setup_directml_environment:55] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반) [2025-11-22 11:50:41,068] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:79] === 🚀 DirectML GPU 상태 초기화 시작 🚀 === [2025-11-22 11:50:41,068] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:80] 🎯 사용자 GPU 가속 요청: False [2025-11-22 11:50:41,069] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:81] 💻 현재 운영체제: Windows [2025-11-22 11:50:41,069] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:84] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False) [2025-11-22 11:50:41,069] [MainThread] [INFO] [gpu_utils.py:_set_safe_cpu_mode:157] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화 [2025-11-22 11:50:41,069] [MainThread] [DEBUG] [image_processor3.py:__init__:79] 🔧 ImageProcessor3 GPU 상태 요약: [2025-11-22 11:50:41,069] [MainThread] [DEBUG] [image_processor3.py:__init__:80] - CUDA 사용 가능: False [2025-11-22 11:50:41,070] [MainThread] [DEBUG] [image_processor3.py:__init__:81] - toggle_states['use_cuda']: False [2025-11-22 11:50:41,070] [MainThread] [DEBUG] [image_processor3.py:__init__:82] - GPU 하드웨어 정보: {} [2025-11-22 11:50:41,070] [MainThread] [DEBUG] [image_processor3.py:__init__:84] ImageProcessor3 Init toggle_states: {'font_type': '폰트1', '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-22 11:50:41,070] [MainThread] [DEBUG] [image_processor3.py:__init__:87] is_member_valid: True [2025-11-22 11:50:41,071] [MainThread] [DEBUG] [image_processor3.py:__init__:144] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images [2025-11-22 11:50:41,071] [MainThread] [DEBUG] [image_processor3.py:__init__:152] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf [2025-11-22 11:50:41,071] [MainThread] [DEBUG] [image_processor3.py:__init__:154] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf [2025-11-22 11:50:41,071] [MainThread] [DEBUG] [image_processor3.py:__init__:156] self.TEMP_IMAGE_DIR: D:\py\img_worker\modules\test [2025-11-22 11:50:41,072] [MainThread] [DEBUG] [image_processor3.py:__init__:158] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images [2025-11-22 11:50:41,072] [MainThread] [DEBUG] [image_processor3.py:__init__:160] self.unwanted_texts: {} [2025-11-22 11:50:41,072] [MainThread] [DEBUG] [image_processor3.py:__init__:162] self.inpaint_method: migan [2025-11-22 11:50:41,072] [MainThread] [DEBUG] [image_processor3.py:__init__:168] Image.MAX_IMAGE_PIXELS set to 20000000 [2025-11-22 11:50:41,073] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_determine_model_type:447] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {} [2025-11-22 11:50:41,073] [MainThread] [INFO] [onnx_ocr_wrapper.py:_determine_model_type:453] 자동 선택 모드: GPU 추천 모델 simp 사용 [2025-11-22 11:50:41,073] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:324] ONNX OCR 모델 타입 결정: simp (GPU: False) [2025-11-22 11:50:41,073] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:333] ONNX OCR 모듈 CPU 모드로 설정 [2025-11-22 11:50:41,074] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:356] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드) [2025-11-22 11:50:41,074] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_initialize_onnx_system:539] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드) [2025-11-22 11:50:42,860] [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 11:50:42,946] [MainThread] [INFO] [onnx_ocr_wrapper.py:_initialize_onnx_system:743] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델) [2025-11-22 11:50:42,947] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:363] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델) [2025-11-22 11:50:42,947] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:364] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드) [2025-11-22 11:50:42,947] [MainThread] [INFO] [image_processor3.py:__init__:175] ✅ ONNX OCR 모듈 초기화 성공 [2025-11-22 11:50:42,948] [MainThread] [INFO] [mask_module_for_paddle.py:__init__:12] 마스크 모듈 초기화 완료 [2025-11-22 11:50:42,948] [MainThread] [DEBUG] [image_processor3.py:__init__:216] MaskModule 초기화 성공 [2025-11-22 11:50:42,948] [MainThread] [INFO] [text_rendering_module.py:__init__:21] 텍스트 렌더링 모듈 초기화 완료 [2025-11-22 11:50:42,948] [MainThread] [INFO] [text_rendering_module.py:__init__:22] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf [2025-11-22 11:50:42,948] [MainThread] [DEBUG] [image_processor3.py:__init__:222] TextRenderingModule 초기화 성공 [2025-11-22 11:50:42,950] [MainThread] [DEBUG] [postImageManager.py:font_load:40] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf [2025-11-22 11:50:42,950] [MainThread] [DEBUG] [image_processor3.py:__init__:228] PostImageManager 초기화 성공 [2025-11-22 11:50:42,950] [MainThread] [DEBUG] [request_inpaint.py:__init__:43] Request_AI_Server GPU 상태: CUDA 사용 가능=False [2025-11-22 11:50:42,951] [MainThread] [DEBUG] [image_processor3.py:__init__:251] Request_AI_Server 초기화 성공 [2025-11-22 11:50:42,951] [MainThread] [DEBUG] [image_processor3.py:__init__:258] GoogleTranslate 초기화 성공 [2025-11-22 11:50:42,952] [MainThread] [DEBUG] [image_processor3.py:__init__:284] MIGAN CUDA 사용 불가 - CPU 모드로 설정 [2025-11-22 11:50:42,952] [MainThread] [DEBUG] [image_processor3.py:__init__:286] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False [2025-11-22 11:50:42,953] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:166] [MIGAN] GPU 관리자 사용 가능: False [2025-11-22 11:50:42,953] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:186] [MIGAN] CPU 전용 모드 [2025-11-22 11:50:42,953] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:188] [MIGAN] 최종 providers: [('CPUExecutionProvider', {})] [2025-11-22 11:50:42,953] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:204] [MIGAN] CPU 전용 시도: [('CPUExecutionProvider', {})] [2025-11-22 11:50:43,032] [MainThread] [INFO] [migan_module.py:_get_or_create_session:207] [MIGAN] CPU 전용 성공! 실제 providers: ['CPUExecutionProvider'] [2025-11-22 11:50:43,033] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8) [2025-11-22 11:50:43,033] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8) [2025-11-22 11:50:43,033] [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 11:50:43,034] [MainThread] [DEBUG] [migan_module.py:__init__:119] [MIGAN] 세션 준비 완료. providers=['CPUExecutionProvider'] [2025-11-22 11:50:43,034] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:348] [MIGAN] GPU 관리자 연결 완료: GPUManager [2025-11-22 11:50:43,034] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:355] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: [2025-11-22 11:50:43,034] [MainThread] [DEBUG] [image_processor3.py:__init__:288] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값= [2025-11-22 11:50:43,035] [MainThread] [INFO] [create_font_preview.py:main:98] 프리뷰 생성 시작: GmarketSansTTFMedium.ttf [2025-11-22 11:50:43,035] [MainThread] [INFO] [create_font_preview.py:main:99] 저장 경로: D:\py\img_worker\modules\test [2025-11-22 11:50:43,035] [MainThread] [DEBUG] [image_processor3.py:process_single_image:583] 이미지 번역시작 [2025-11-22 11:50:43,035] [MainThread] [DEBUG] [image_processor3.py:process_single_image:585] toggle_states: {'font_type': '폰트1', '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-22 11:50:43,233] [MainThread] [DEBUG] [image_processor3.py:process_single_image:603] 이미지 1 처리 시작: D:\py\img_worker\modules\fonts\ori.jpg - OCR+인페인팅 모드 [2025-11-22 11:50:43,233] [MainThread] [DEBUG] [image_processor3.py:download_image:1191] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\fonts\ori.jpg [2025-11-22 11:50:43,233] [MainThread] [DEBUG] [image_processor3.py:process_single_image:626] 옵션 이미지는 스케일 처리 건너뛰기: preview_GmarketSansTTFMedium [2025-11-22 11:50:43,234] [MainThread] [DEBUG] [image_processor3.py:process_single_image:636] 이미지 1 로컬 저장위치(옵션 이미지 원본 유지): D:\py\img_worker\modules\fonts\ori.jpg [2025-11-22 11:50:43,240] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:838] 🔍 ONNX OCR 감지 방식: polygon [2025-11-22 11:50:43,407] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:906] ⚡ ONNX OCR 추론 완료: 165.0ms [2025-11-22 11:50:43,407] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:907] 📊 세부 시간 - 감지: 89.0ms, 인식: 68.0ms, 분류: 3.0ms [2025-11-22 11:50:43,417] [MainThread] [INFO] [image_processor3.py:process_single_image:652] 메모리 변화 [OCR 처리]: 24533.6MB -> 24665.8MB (+132.3MB, +0.5%) - 이미지 1 [2025-11-22 11:50:43,419] [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-22 11:50:43,443] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.5%): '现代极简风格' [2025-11-22 11:50:43,443] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.6%): '更易搭配各种使用场景' [2025-11-22 11:50:43,443] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.7%): '半圆两端设计' [2025-11-22 11:50:43,443] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.4%): '承载各种欢乐' [2025-11-22 11:50:43,444] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1105] 필터링 결과: 4/4개 (신뢰도 + & 중국어) [2025-11-22 11:50:43,446] [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-22 11:50:43,446] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_chinese_text:1192] 중국어 텍스트 4개 필터링 완료 [2025-11-22 11:50:43,447] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_korean_text:1213] 한글 텍스트 0개 필터링 완료 [2025-11-22 11:50:43,952] [MainThread] [DEBUG] [image_processor3.py:process_single_image:727] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고'] [2025-11-22 11:50:43,952] [MainThread] [DEBUG] [image_processor3.py:process_single_image:728] 마스크 생성 완료 [2025-11-22 11:50:43,953] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 1] 원본 텍스트: '모던한 미니멀 스타일' [2025-11-22 11:50:43,953] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 1] 분리된 단어: ['모던한', '미니멀', '스타일'] [2025-11-22 11:50:43,953] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 1] 변경 없음: '모던한 미니멀 스타일' [2025-11-22 11:50:43,953] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 2] 원본 텍스트: '다양한 사용 시나리오에 더 쉽게 일치' [2025-11-22 11:50:43,953] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 2] 분리된 단어: ['다양한', '사용', '시나리오에', '더', '쉽게', '일치'] [2025-11-22 11:50:43,954] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 2] 변경 없음: '다양한 사용 시나리오에 더 쉽게 일치' [2025-11-22 11:50:43,954] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 3] 원본 텍스트: '반원형 끝 디자인' [2025-11-22 11:50:43,954] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 3] 분리된 단어: ['반원형', '끝', '디자인'] [2025-11-22 11:50:43,954] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 3] 변경 없음: '반원형 끝 디자인' [2025-11-22 11:50:43,954] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 4] 원본 텍스트: '온갖 기쁨을 안고' [2025-11-22 11:50:43,955] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 4] 분리된 단어: ['온갖', '기쁨을', '안고'] [2025-11-22 11:50:43,955] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 4] 변경 없음: '온갖 기쁨을 안고' [2025-11-22 11:50:43,955] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1359] 전체 치환 결과: 4개 텍스트 처리 완료 [2025-11-22 11:50:43,955] [MainThread] [DEBUG] [image_processor3.py:process_single_image:737] 이미지 1 치환됨 [2025-11-22 11:50:43,956] [MainThread] [INFO] [image_processor3.py:process_single_image:753] [inpaint_model 강제] migan → inpaint_method=migan [2025-11-22 11:50:43,956] [MainThread] [DEBUG] [image_processor3.py:process_single_image:787] ocr_count: 4 [2025-11-22 11:50:43,956] [MainThread] [DEBUG] [image_processor3.py:process_single_image:788] is_member_valid: True [2025-11-22 11:50:43,960] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1042] MIGAN 인페인팅 시도 [2025-11-22 11:50:43,963] [MainThread] [DEBUG] [migan_module.py:inpaint:276] [MIGAN] 입력 형태 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816) [2025-11-22 11:50:44,278] [MainThread] [DEBUG] [migan_module.py:inpaint:289] [MIGAN] 출력 형태: (1200, 816, 3), dtype: uint8 [2025-11-22 11:50:44,278] [MainThread] [DEBUG] [migan_module.py:inpaint:297] [MIGAN] 추론 완료: 315.00 ms [2025-11-22 11:50:44,282] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1045] MIGAN 인페인팅 성공 [2025-11-22 11:50:44,286] [MainThread] [INFO] [image_processor3.py:execute_inpaint_with_fallback:966] 메모리 변화 [인페인팅]: 24685.8MB -> 25035.6MB (+349.9MB, +1.4%) - 방법: migan [2025-11-22 11:50:44,287] [MainThread] [DEBUG] [image_processor3.py:process_single_image:799] 인페인팅 완료 [2025-11-22 11:50:44,339] [MainThread] [DEBUG] [image_processor3.py:process_single_image:821] 텍스트 렌더링 완료 [2025-11-22 11:50:44,339] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1144] watermark_text: 이미지 저작권 보유 [2025-11-22 11:50:44,339] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1145] is_watermark_enabled: True [2025-11-22 11:50:44,341] [MainThread] [INFO] [postImageManager.py:save_image_to_path:101] 이미지 저장 완료 : D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg [2025-11-22 11:50:44,342] [MainThread] [DEBUG] [image_processor3.py:process_single_image:827] 이미지 1 번역 완료: D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg [2025-11-22 11:50:44,367] [MainThread] [DEBUG] [image_processor3.py:process_single_image:880] ⏱ 이미지 파이프라인 총 1331.6ms | download=0.0ms | ocr=178.0ms | translate=505.3ms | mask=505.3ms | inpaint=331.0ms(migan/CPU) | render=52.0ms | save=3.0ms [2025-11-22 11:50:44,368] [MainThread] [INFO] [create_font_preview.py:main:115] 프리뷰 생성 성공: D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg [2025-11-22 11:50:44,378] [MainThread] [DEBUG] [image_processor3.py:cleanup:443] OCR 모듈 정리 완료 [2025-11-22 11:50:44,378] [MainThread] [DEBUG] [image_processor3.py:cleanup:451] 마스크 모듈 정리 완료 [2025-11-22 11:50:44,400] [MainThread] [DEBUG] [image_processor3.py:cleanup:486] 임시 폴더 삭제됨: D:\py\img_worker\modules\test [2025-11-22 11:50:44,415] [MainThread] [DEBUG] [image_processor3.py:cleanup:486] 임시 폴더 삭제됨: D:\py\img_worker\modules\test [2025-11-22 11:50:44,415] [MainThread] [DEBUG] [image_processor3.py:__del__:434] 이미지 프로세서 소멸 [2025-11-22 11:50:56,865] [MainThread] [DEBUG] [image_processor3.py:__init__:57] tracemalloc 메모리 추적 시작 [2025-11-22 11:50:56,871] [MainThread] [DEBUG] [gpu_utils.py:_setup_directml_environment:55] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반) [2025-11-22 11:50:56,872] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:79] === 🚀 DirectML GPU 상태 초기화 시작 🚀 === [2025-11-22 11:50:56,872] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:80] 🎯 사용자 GPU 가속 요청: False [2025-11-22 11:50:56,872] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:81] 💻 현재 운영체제: Windows [2025-11-22 11:50:56,872] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:84] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False) [2025-11-22 11:50:56,873] [MainThread] [INFO] [gpu_utils.py:_set_safe_cpu_mode:157] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화 [2025-11-22 11:50:56,873] [MainThread] [DEBUG] [image_processor3.py:__init__:79] 🔧 ImageProcessor3 GPU 상태 요약: [2025-11-22 11:50:56,873] [MainThread] [DEBUG] [image_processor3.py:__init__:80] - CUDA 사용 가능: False [2025-11-22 11:50:56,873] [MainThread] [DEBUG] [image_processor3.py:__init__:81] - toggle_states['use_cuda']: False [2025-11-22 11:50:56,873] [MainThread] [DEBUG] [image_processor3.py:__init__:82] - GPU 하드웨어 정보: {} [2025-11-22 11:50:56,873] [MainThread] [DEBUG] [image_processor3.py:__init__:84] ImageProcessor3 Init toggle_states: {'font_type': '폰트6', '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-22 11:50:56,874] [MainThread] [DEBUG] [image_processor3.py:__init__:87] is_member_valid: True [2025-11-22 11:50:56,874] [MainThread] [DEBUG] [image_processor3.py:__init__:144] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images [2025-11-22 11:50:56,874] [MainThread] [DEBUG] [image_processor3.py:__init__:152] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf [2025-11-22 11:50:56,874] [MainThread] [DEBUG] [image_processor3.py:__init__:154] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf [2025-11-22 11:50:56,875] [MainThread] [DEBUG] [image_processor3.py:__init__:156] self.TEMP_IMAGE_DIR: D:\py\img_worker\modules\test [2025-11-22 11:50:56,875] [MainThread] [DEBUG] [image_processor3.py:__init__:158] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images [2025-11-22 11:50:56,875] [MainThread] [DEBUG] [image_processor3.py:__init__:160] self.unwanted_texts: {} [2025-11-22 11:50:56,875] [MainThread] [DEBUG] [image_processor3.py:__init__:162] self.inpaint_method: migan [2025-11-22 11:50:56,875] [MainThread] [DEBUG] [image_processor3.py:__init__:168] Image.MAX_IMAGE_PIXELS set to 20000000 [2025-11-22 11:50:56,876] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_determine_model_type:447] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {} [2025-11-22 11:50:56,876] [MainThread] [INFO] [onnx_ocr_wrapper.py:_determine_model_type:453] 자동 선택 모드: GPU 추천 모델 simp 사용 [2025-11-22 11:50:56,876] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:324] ONNX OCR 모델 타입 결정: simp (GPU: False) [2025-11-22 11:50:56,876] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:333] ONNX OCR 모듈 CPU 모드로 설정 [2025-11-22 11:50:56,876] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:356] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드) [2025-11-22 11:50:56,877] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_initialize_onnx_system:539] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드) [2025-11-22 11:50:58,680] [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 11:50:58,764] [MainThread] [INFO] [onnx_ocr_wrapper.py:_initialize_onnx_system:743] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델) [2025-11-22 11:50:58,764] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:363] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델) [2025-11-22 11:50:58,765] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:364] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드) [2025-11-22 11:50:58,765] [MainThread] [INFO] [image_processor3.py:__init__:175] ✅ ONNX OCR 모듈 초기화 성공 [2025-11-22 11:50:58,766] [MainThread] [INFO] [mask_module_for_paddle.py:__init__:12] 마스크 모듈 초기화 완료 [2025-11-22 11:50:58,766] [MainThread] [DEBUG] [image_processor3.py:__init__:216] MaskModule 초기화 성공 [2025-11-22 11:50:58,766] [MainThread] [INFO] [text_rendering_module.py:__init__:21] 텍스트 렌더링 모듈 초기화 완료 [2025-11-22 11:50:58,766] [MainThread] [INFO] [text_rendering_module.py:__init__:22] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf [2025-11-22 11:50:58,766] [MainThread] [DEBUG] [image_processor3.py:__init__:222] TextRenderingModule 초기화 성공 [2025-11-22 11:50:58,767] [MainThread] [DEBUG] [postImageManager.py:font_load:40] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf [2025-11-22 11:50:58,767] [MainThread] [DEBUG] [image_processor3.py:__init__:228] PostImageManager 초기화 성공 [2025-11-22 11:50:58,767] [MainThread] [DEBUG] [request_inpaint.py:__init__:43] Request_AI_Server GPU 상태: CUDA 사용 가능=False [2025-11-22 11:50:58,767] [MainThread] [DEBUG] [image_processor3.py:__init__:251] Request_AI_Server 초기화 성공 [2025-11-22 11:50:58,768] [MainThread] [DEBUG] [image_processor3.py:__init__:258] GoogleTranslate 초기화 성공 [2025-11-22 11:50:58,769] [MainThread] [DEBUG] [image_processor3.py:__init__:284] MIGAN CUDA 사용 불가 - CPU 모드로 설정 [2025-11-22 11:50:58,769] [MainThread] [DEBUG] [image_processor3.py:__init__:286] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False [2025-11-22 11:50:58,769] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:166] [MIGAN] GPU 관리자 사용 가능: False [2025-11-22 11:50:58,770] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:186] [MIGAN] CPU 전용 모드 [2025-11-22 11:50:58,770] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:188] [MIGAN] 최종 providers: [('CPUExecutionProvider', {})] [2025-11-22 11:50:58,770] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:204] [MIGAN] CPU 전용 시도: [('CPUExecutionProvider', {})] [2025-11-22 11:50:58,851] [MainThread] [INFO] [migan_module.py:_get_or_create_session:207] [MIGAN] CPU 전용 성공! 실제 providers: ['CPUExecutionProvider'] [2025-11-22 11:50:58,851] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8) [2025-11-22 11:50:58,852] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8) [2025-11-22 11:50:58,852] [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 11:50:58,852] [MainThread] [DEBUG] [migan_module.py:__init__:119] [MIGAN] 세션 준비 완료. providers=['CPUExecutionProvider'] [2025-11-22 11:50:58,852] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:348] [MIGAN] GPU 관리자 연결 완료: GPUManager [2025-11-22 11:50:58,853] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:355] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: [2025-11-22 11:50:58,853] [MainThread] [DEBUG] [image_processor3.py:__init__:288] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값= [2025-11-22 11:50:58,853] [MainThread] [INFO] [create_font_preview.py:main:98] 프리뷰 생성 시작: GmarketSansTTFMedium.ttf [2025-11-22 11:50:58,853] [MainThread] [INFO] [create_font_preview.py:main:99] 저장 경로: D:\py\img_worker\modules\test [2025-11-22 11:50:58,853] [MainThread] [DEBUG] [image_processor3.py:process_single_image:583] 이미지 번역시작 [2025-11-22 11:50:58,854] [MainThread] [DEBUG] [image_processor3.py:process_single_image:585] toggle_states: {'font_type': '폰트6', '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-22 11:50:59,131] [MainThread] [DEBUG] [image_processor3.py:process_single_image:603] 이미지 1 처리 시작: D:\py\img_worker\modules\fonts\ori.jpg - OCR+인페인팅 모드 [2025-11-22 11:50:59,131] [MainThread] [DEBUG] [image_processor3.py:download_image:1191] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\fonts\ori.jpg [2025-11-22 11:50:59,131] [MainThread] [DEBUG] [image_processor3.py:process_single_image:626] 옵션 이미지는 스케일 처리 건너뛰기: preview_GmarketSansTTFMedium [2025-11-22 11:50:59,132] [MainThread] [DEBUG] [image_processor3.py:process_single_image:636] 이미지 1 로컬 저장위치(옵션 이미지 원본 유지): D:\py\img_worker\modules\fonts\ori.jpg [2025-11-22 11:50:59,138] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:838] 🔍 ONNX OCR 감지 방식: polygon [2025-11-22 11:50:59,307] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:906] ⚡ ONNX OCR 추론 완료: 168.0ms [2025-11-22 11:50:59,308] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:907] 📊 세부 시간 - 감지: 94.0ms, 인식: 66.0ms, 분류: 3.0ms [2025-11-22 11:50:59,317] [MainThread] [INFO] [image_processor3.py:process_single_image:652] 메모리 변화 [OCR 처리]: 24568.0MB -> 24701.0MB (+133.0MB, +0.5%) - 이미지 1 [2025-11-22 11:50:59,319] [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-22 11:50:59,342] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.5%): '现代极简风格' [2025-11-22 11:50:59,343] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.6%): '更易搭配各种使用场景' [2025-11-22 11:50:59,343] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.7%): '半圆两端设计' [2025-11-22 11:50:59,343] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.4%): '承载各种欢乐' [2025-11-22 11:50:59,343] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1105] 필터링 결과: 4/4개 (신뢰도 + & 중국어) [2025-11-22 11:50:59,346] [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-22 11:50:59,346] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_chinese_text:1192] 중국어 텍스트 4개 필터링 완료 [2025-11-22 11:50:59,346] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_korean_text:1213] 한글 텍스트 0개 필터링 완료 [2025-11-22 11:50:59,865] [MainThread] [DEBUG] [image_processor3.py:process_single_image:727] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고'] [2025-11-22 11:50:59,865] [MainThread] [DEBUG] [image_processor3.py:process_single_image:728] 마스크 생성 완료 [2025-11-22 11:50:59,865] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 1] 원본 텍스트: '모던한 미니멀 스타일' [2025-11-22 11:50:59,865] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 1] 분리된 단어: ['모던한', '미니멀', '스타일'] [2025-11-22 11:50:59,865] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 1] 변경 없음: '모던한 미니멀 스타일' [2025-11-22 11:50:59,866] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 2] 원본 텍스트: '다양한 사용 시나리오에 더 쉽게 일치' [2025-11-22 11:50:59,866] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 2] 분리된 단어: ['다양한', '사용', '시나리오에', '더', '쉽게', '일치'] [2025-11-22 11:50:59,866] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 2] 변경 없음: '다양한 사용 시나리오에 더 쉽게 일치' [2025-11-22 11:50:59,866] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 3] 원본 텍스트: '반원형 끝 디자인' [2025-11-22 11:50:59,866] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 3] 분리된 단어: ['반원형', '끝', '디자인'] [2025-11-22 11:50:59,867] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 3] 변경 없음: '반원형 끝 디자인' [2025-11-22 11:50:59,867] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 4] 원본 텍스트: '온갖 기쁨을 안고' [2025-11-22 11:50:59,867] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 4] 분리된 단어: ['온갖', '기쁨을', '안고'] [2025-11-22 11:50:59,867] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 4] 변경 없음: '온갖 기쁨을 안고' [2025-11-22 11:50:59,867] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1359] 전체 치환 결과: 4개 텍스트 처리 완료 [2025-11-22 11:50:59,867] [MainThread] [DEBUG] [image_processor3.py:process_single_image:737] 이미지 1 치환됨 [2025-11-22 11:50:59,868] [MainThread] [INFO] [image_processor3.py:process_single_image:753] [inpaint_model 강제] migan → inpaint_method=migan [2025-11-22 11:50:59,868] [MainThread] [DEBUG] [image_processor3.py:process_single_image:787] ocr_count: 4 [2025-11-22 11:50:59,868] [MainThread] [DEBUG] [image_processor3.py:process_single_image:788] is_member_valid: True [2025-11-22 11:50:59,873] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1042] MIGAN 인페인팅 시도 [2025-11-22 11:50:59,876] [MainThread] [DEBUG] [migan_module.py:inpaint:276] [MIGAN] 입력 형태 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816) [2025-11-22 11:51:00,189] [MainThread] [DEBUG] [migan_module.py:inpaint:289] [MIGAN] 출력 형태: (1200, 816, 3), dtype: uint8 [2025-11-22 11:51:00,189] [MainThread] [DEBUG] [migan_module.py:inpaint:297] [MIGAN] 추론 완료: 313.00 ms [2025-11-22 11:51:00,194] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1045] MIGAN 인페인팅 성공 [2025-11-22 11:51:00,199] [MainThread] [INFO] [image_processor3.py:execute_inpaint_with_fallback:966] 메모리 변화 [인페인팅]: 24710.4MB -> 25041.9MB (+331.5MB, +1.3%) - 방법: migan [2025-11-22 11:51:00,200] [MainThread] [DEBUG] [image_processor3.py:process_single_image:799] 인페인팅 완료 [2025-11-22 11:51:00,242] [MainThread] [DEBUG] [image_processor3.py:process_single_image:821] 텍스트 렌더링 완료 [2025-11-22 11:51:00,242] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1144] watermark_text: 이미지 저작권 보유 [2025-11-22 11:51:00,243] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1145] is_watermark_enabled: True [2025-11-22 11:51:00,245] [MainThread] [INFO] [postImageManager.py:save_image_to_path:101] 이미지 저장 완료 : D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg [2025-11-22 11:51:00,245] [MainThread] [DEBUG] [image_processor3.py:process_single_image:827] 이미지 1 번역 완료: D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg [2025-11-22 11:51:00,273] [MainThread] [DEBUG] [image_processor3.py:process_single_image:880] ⏱ 이미지 파이프라인 총 1419.1ms | download=0.0ms | ocr=180.0ms | translate=516.9ms | mask=516.9ms | inpaint=332.0ms(migan/CPU) | render=42.0ms | save=3.0ms [2025-11-22 11:51:00,274] [MainThread] [INFO] [create_font_preview.py:main:115] 프리뷰 생성 성공: D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg [2025-11-22 11:51:00,285] [MainThread] [DEBUG] [image_processor3.py:cleanup:443] OCR 모듈 정리 완료 [2025-11-22 11:51:00,285] [MainThread] [DEBUG] [image_processor3.py:cleanup:451] 마스크 모듈 정리 완료 [2025-11-22 11:51:00,315] [MainThread] [DEBUG] [image_processor3.py:cleanup:486] 임시 폴더 삭제됨: D:\py\img_worker\modules\test [2025-11-22 11:51:00,338] [MainThread] [DEBUG] [image_processor3.py:cleanup:486] 임시 폴더 삭제됨: D:\py\img_worker\modules\test [2025-11-22 11:51:00,338] [MainThread] [DEBUG] [image_processor3.py:__del__:434] 이미지 프로세서 소멸 [2025-11-22 11:51:14,944] [MainThread] [DEBUG] [image_processor3.py:__init__:57] tracemalloc 메모리 추적 시작 [2025-11-22 11:51:14,950] [MainThread] [DEBUG] [gpu_utils.py:_setup_directml_environment:55] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반) [2025-11-22 11:51:14,950] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:79] === 🚀 DirectML GPU 상태 초기화 시작 🚀 === [2025-11-22 11:51:14,951] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:80] 🎯 사용자 GPU 가속 요청: False [2025-11-22 11:51:14,951] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:81] 💻 현재 운영체제: Windows [2025-11-22 11:51:14,951] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:84] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False) [2025-11-22 11:51:14,951] [MainThread] [INFO] [gpu_utils.py:_set_safe_cpu_mode:157] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화 [2025-11-22 11:51:14,951] [MainThread] [DEBUG] [image_processor3.py:__init__:79] 🔧 ImageProcessor3 GPU 상태 요약: [2025-11-22 11:51:14,952] [MainThread] [DEBUG] [image_processor3.py:__init__:80] - CUDA 사용 가능: False [2025-11-22 11:51:14,952] [MainThread] [DEBUG] [image_processor3.py:__init__:81] - toggle_states['use_cuda']: False [2025-11-22 11:51:14,952] [MainThread] [DEBUG] [image_processor3.py:__init__:82] - GPU 하드웨어 정보: {} [2025-11-22 11:51:14,952] [MainThread] [DEBUG] [image_processor3.py:__init__:84] ImageProcessor3 Init toggle_states: {'font_type': '폰트5', '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-22 11:51:14,952] [MainThread] [DEBUG] [image_processor3.py:__init__:87] is_member_valid: True [2025-11-22 11:51:14,953] [MainThread] [DEBUG] [image_processor3.py:__init__:144] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images [2025-11-22 11:51:14,953] [MainThread] [DEBUG] [image_processor3.py:__init__:152] self.font_path: D:\py\img_worker\modules\fonts\Cafe24Ohsquare-v2.0.ttf [2025-11-22 11:51:14,953] [MainThread] [DEBUG] [image_processor3.py:__init__:154] toggle_states font_path: D:\py\img_worker\modules\fonts\Cafe24Ohsquare-v2.0.ttf [2025-11-22 11:51:14,953] [MainThread] [DEBUG] [image_processor3.py:__init__:156] self.TEMP_IMAGE_DIR: D:\py\img_worker\modules\test [2025-11-22 11:51:14,953] [MainThread] [DEBUG] [image_processor3.py:__init__:158] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images [2025-11-22 11:51:14,953] [MainThread] [DEBUG] [image_processor3.py:__init__:160] self.unwanted_texts: {} [2025-11-22 11:51:14,954] [MainThread] [DEBUG] [image_processor3.py:__init__:162] self.inpaint_method: migan [2025-11-22 11:51:14,954] [MainThread] [DEBUG] [image_processor3.py:__init__:168] Image.MAX_IMAGE_PIXELS set to 20000000 [2025-11-22 11:51:14,954] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_determine_model_type:447] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {} [2025-11-22 11:51:14,954] [MainThread] [INFO] [onnx_ocr_wrapper.py:_determine_model_type:453] 자동 선택 모드: GPU 추천 모델 simp 사용 [2025-11-22 11:51:14,954] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:324] ONNX OCR 모델 타입 결정: simp (GPU: False) [2025-11-22 11:51:14,955] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:333] ONNX OCR 모듈 CPU 모드로 설정 [2025-11-22 11:51:14,955] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:356] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드) [2025-11-22 11:51:14,955] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_initialize_onnx_system:539] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드) [2025-11-22 11:51:16,755] [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 11:51:16,840] [MainThread] [INFO] [onnx_ocr_wrapper.py:_initialize_onnx_system:743] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델) [2025-11-22 11:51:16,840] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:363] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델) [2025-11-22 11:51:16,840] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:364] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드) [2025-11-22 11:51:16,841] [MainThread] [INFO] [image_processor3.py:__init__:175] ✅ ONNX OCR 모듈 초기화 성공 [2025-11-22 11:51:16,841] [MainThread] [INFO] [mask_module_for_paddle.py:__init__:12] 마스크 모듈 초기화 완료 [2025-11-22 11:51:16,841] [MainThread] [DEBUG] [image_processor3.py:__init__:216] MaskModule 초기화 성공 [2025-11-22 11:51:16,841] [MainThread] [INFO] [text_rendering_module.py:__init__:21] 텍스트 렌더링 모듈 초기화 완료 [2025-11-22 11:51:16,842] [MainThread] [INFO] [text_rendering_module.py:__init__:22] 기본 폰트: D:\py\img_worker\modules\fonts\Cafe24Ohsquare-v2.0.ttf [2025-11-22 11:51:16,842] [MainThread] [DEBUG] [image_processor3.py:__init__:222] TextRenderingModule 초기화 성공 [2025-11-22 11:51:16,843] [MainThread] [DEBUG] [postImageManager.py:font_load:40] 폰트 로드 성공: D:\py\img_worker\modules\fonts\Cafe24Ohsquare-v2.0.ttf [2025-11-22 11:51:16,843] [MainThread] [DEBUG] [image_processor3.py:__init__:228] PostImageManager 초기화 성공 [2025-11-22 11:51:16,844] [MainThread] [DEBUG] [request_inpaint.py:__init__:43] Request_AI_Server GPU 상태: CUDA 사용 가능=False [2025-11-22 11:51:16,844] [MainThread] [DEBUG] [image_processor3.py:__init__:251] Request_AI_Server 초기화 성공 [2025-11-22 11:51:16,844] [MainThread] [DEBUG] [image_processor3.py:__init__:258] GoogleTranslate 초기화 성공 [2025-11-22 11:51:16,845] [MainThread] [DEBUG] [image_processor3.py:__init__:284] MIGAN CUDA 사용 불가 - CPU 모드로 설정 [2025-11-22 11:51:16,845] [MainThread] [DEBUG] [image_processor3.py:__init__:286] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False [2025-11-22 11:51:16,846] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:166] [MIGAN] GPU 관리자 사용 가능: False [2025-11-22 11:51:16,846] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:186] [MIGAN] CPU 전용 모드 [2025-11-22 11:51:16,846] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:188] [MIGAN] 최종 providers: [('CPUExecutionProvider', {})] [2025-11-22 11:51:16,846] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:204] [MIGAN] CPU 전용 시도: [('CPUExecutionProvider', {})] [2025-11-22 11:51:16,926] [MainThread] [INFO] [migan_module.py:_get_or_create_session:207] [MIGAN] CPU 전용 성공! 실제 providers: ['CPUExecutionProvider'] [2025-11-22 11:51:16,926] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8) [2025-11-22 11:51:16,926] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8) [2025-11-22 11:51:16,927] [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 11:51:16,927] [MainThread] [DEBUG] [migan_module.py:__init__:119] [MIGAN] 세션 준비 완료. providers=['CPUExecutionProvider'] [2025-11-22 11:51:16,927] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:348] [MIGAN] GPU 관리자 연결 완료: GPUManager [2025-11-22 11:51:16,927] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:355] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: [2025-11-22 11:51:16,928] [MainThread] [DEBUG] [image_processor3.py:__init__:288] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값= [2025-11-22 11:51:16,928] [MainThread] [INFO] [create_font_preview.py:main:98] 프리뷰 생성 시작: GmarketSansTTFMedium.ttf [2025-11-22 11:51:16,928] [MainThread] [INFO] [create_font_preview.py:main:99] 저장 경로: D:\py\img_worker\modules\test [2025-11-22 11:51:16,928] [MainThread] [DEBUG] [image_processor3.py:process_single_image:583] 이미지 번역시작 [2025-11-22 11:51:16,929] [MainThread] [DEBUG] [image_processor3.py:process_single_image:585] toggle_states: {'font_type': '폰트5', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\Cafe24Ohsquare-v2.0.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 11:51:17,427] [MainThread] [DEBUG] [image_processor3.py:process_single_image:603] 이미지 1 처리 시작: D:\py\img_worker\modules\fonts\ori.jpg - OCR+인페인팅 모드 [2025-11-22 11:51:17,427] [MainThread] [DEBUG] [image_processor3.py:download_image:1191] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\fonts\ori.jpg [2025-11-22 11:51:17,427] [MainThread] [DEBUG] [image_processor3.py:process_single_image:626] 옵션 이미지는 스케일 처리 건너뛰기: preview_GmarketSansTTFMedium [2025-11-22 11:51:17,428] [MainThread] [DEBUG] [image_processor3.py:process_single_image:636] 이미지 1 로컬 저장위치(옵션 이미지 원본 유지): D:\py\img_worker\modules\fonts\ori.jpg [2025-11-22 11:51:17,434] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:838] 🔍 ONNX OCR 감지 방식: polygon [2025-11-22 11:51:17,605] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:906] ⚡ ONNX OCR 추론 완료: 170.0ms [2025-11-22 11:51:17,606] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:907] 📊 세부 시간 - 감지: 88.0ms, 인식: 74.0ms, 분류: 4.0ms [2025-11-22 11:51:17,615] [MainThread] [INFO] [image_processor3.py:process_single_image:652] 메모리 변화 [OCR 처리]: 24774.9MB -> 24899.3MB (+124.5MB, +0.5%) - 이미지 1 [2025-11-22 11:51:17,618] [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-22 11:51:17,642] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.5%): '现代极简风格' [2025-11-22 11:51:17,642] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.6%): '更易搭配各种使用场景' [2025-11-22 11:51:17,643] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.7%): '半圆两端设计' [2025-11-22 11:51:17,643] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1101] [필터링] 포함 (신뢰도 99.4%): '承载各种欢乐' [2025-11-22 11:51:17,643] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1105] 필터링 결과: 4/4개 (신뢰도 + & 중국어) [2025-11-22 11:51:17,646] [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-22 11:51:17,646] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_chinese_text:1192] 중국어 텍스트 4개 필터링 완료 [2025-11-22 11:51:17,646] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_korean_text:1213] 한글 텍스트 0개 필터링 완료 [2025-11-22 11:51:18,123] [MainThread] [DEBUG] [image_processor3.py:process_single_image:727] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고'] [2025-11-22 11:51:18,124] [MainThread] [DEBUG] [image_processor3.py:process_single_image:728] 마스크 생성 완료 [2025-11-22 11:51:18,124] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 1] 원본 텍스트: '모던한 미니멀 스타일' [2025-11-22 11:51:18,124] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 1] 분리된 단어: ['모던한', '미니멀', '스타일'] [2025-11-22 11:51:18,124] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 1] 변경 없음: '모던한 미니멀 스타일' [2025-11-22 11:51:18,125] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 2] 원본 텍스트: '다양한 사용 시나리오에 더 쉽게 일치' [2025-11-22 11:51:18,125] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 2] 분리된 단어: ['다양한', '사용', '시나리오에', '더', '쉽게', '일치'] [2025-11-22 11:51:18,125] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 2] 변경 없음: '다양한 사용 시나리오에 더 쉽게 일치' [2025-11-22 11:51:18,125] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 3] 원본 텍스트: '반원형 끝 디자인' [2025-11-22 11:51:18,125] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 3] 분리된 단어: ['반원형', '끝', '디자인'] [2025-11-22 11:51:18,126] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 3] 변경 없음: '반원형 끝 디자인' [2025-11-22 11:51:18,126] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1312] [치환 처리 4] 원본 텍스트: '온갖 기쁨을 안고' [2025-11-22 11:51:18,126] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1316] [치환 처리 4] 분리된 단어: ['온갖', '기쁨을', '안고'] [2025-11-22 11:51:18,126] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1357] [치환 처리 4] 변경 없음: '온갖 기쁨을 안고' [2025-11-22 11:51:18,126] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1359] 전체 치환 결과: 4개 텍스트 처리 완료 [2025-11-22 11:51:18,126] [MainThread] [DEBUG] [image_processor3.py:process_single_image:737] 이미지 1 치환됨 [2025-11-22 11:51:18,127] [MainThread] [INFO] [image_processor3.py:process_single_image:753] [inpaint_model 강제] migan → inpaint_method=migan [2025-11-22 11:51:18,127] [MainThread] [DEBUG] [image_processor3.py:process_single_image:787] ocr_count: 4 [2025-11-22 11:51:18,127] [MainThread] [DEBUG] [image_processor3.py:process_single_image:788] is_member_valid: True [2025-11-22 11:51:18,132] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1042] MIGAN 인페인팅 시도 [2025-11-22 11:51:18,135] [MainThread] [DEBUG] [migan_module.py:inpaint:276] [MIGAN] 입력 형태 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816) [2025-11-22 11:51:18,452] [MainThread] [DEBUG] [migan_module.py:inpaint:289] [MIGAN] 출력 형태: (1200, 816, 3), dtype: uint8 [2025-11-22 11:51:18,453] [MainThread] [DEBUG] [migan_module.py:inpaint:297] [MIGAN] 추론 완료: 318.00 ms [2025-11-22 11:51:18,458] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1045] MIGAN 인페인팅 성공 [2025-11-22 11:51:18,462] [MainThread] [INFO] [image_processor3.py:execute_inpaint_with_fallback:966] 메모리 변화 [인페인팅]: 24903.6MB -> 25269.9MB (+366.3MB, +1.5%) - 방법: migan [2025-11-22 11:51:18,463] [MainThread] [DEBUG] [image_processor3.py:process_single_image:799] 인페인팅 완료 [2025-11-22 11:51:18,500] [MainThread] [DEBUG] [image_processor3.py:process_single_image:821] 텍스트 렌더링 완료 [2025-11-22 11:51:18,501] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1144] watermark_text: 이미지 저작권 보유 [2025-11-22 11:51:18,501] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1145] is_watermark_enabled: True [2025-11-22 11:51:18,503] [MainThread] [INFO] [postImageManager.py:save_image_to_path:101] 이미지 저장 완료 : D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg [2025-11-22 11:51:18,503] [MainThread] [DEBUG] [image_processor3.py:process_single_image:827] 이미지 1 번역 완료: D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg [2025-11-22 11:51:18,534] [MainThread] [DEBUG] [image_processor3.py:process_single_image:880] ⏱ 이미지 파이프라인 총 1604.7ms | download=0.0ms | ocr=182.0ms | translate=476.9ms | mask=476.9ms | inpaint=336.0ms(migan/CPU) | render=37.0ms | save=2.0ms [2025-11-22 11:51:18,534] [MainThread] [INFO] [create_font_preview.py:main:115] 프리뷰 생성 성공: D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg [2025-11-22 11:51:18,544] [MainThread] [DEBUG] [image_processor3.py:cleanup:443] OCR 모듈 정리 완료 [2025-11-22 11:51:18,546] [MainThread] [DEBUG] [image_processor3.py:cleanup:451] 마스크 모듈 정리 완료 [2025-11-22 11:51:18,573] [MainThread] [DEBUG] [image_processor3.py:cleanup:486] 임시 폴더 삭제됨: D:\py\img_worker\modules\test [2025-11-22 11:51:18,592] [MainThread] [DEBUG] [image_processor3.py:cleanup:486] 임시 폴더 삭제됨: D:\py\img_worker\modules\test [2025-11-22 11:51:18,592] [MainThread] [DEBUG] [image_processor3.py:__del__:434] 이미지 프로세서 소멸 [2025-11-22 11:51:53,071] [MainThread] [DEBUG] [image_processor3.py:__init__:57] tracemalloc 메모리 추적 시작 [2025-11-22 11:51:53,077] [MainThread] [DEBUG] [gpu_utils.py:_setup_directml_environment:55] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반) [2025-11-22 11:51:53,077] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:79] === 🚀 DirectML GPU 상태 초기화 시작 🚀 === [2025-11-22 11:51:53,078] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:80] 🎯 사용자 GPU 가속 요청: False [2025-11-22 11:51:53,078] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:81] 💻 현재 운영체제: Windows [2025-11-22 11:51:53,078] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:84] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False) [2025-11-22 11:51:53,078] [MainThread] [INFO] [gpu_utils.py:_set_safe_cpu_mode:157] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화 [2025-11-22 11:51:53,078] [MainThread] [DEBUG] [image_processor3.py:__init__:79] 🔧 ImageProcessor3 GPU 상태 요약: [2025-11-22 11:51:53,079] [MainThread] [DEBUG] [image_processor3.py:__init__:80] - CUDA 사용 가능: False [2025-11-22 11:51:53,079] [MainThread] [DEBUG] [image_processor3.py:__init__:81] - toggle_states['use_cuda']: False [2025-11-22 11:51:53,079] [MainThread] [DEBUG] [image_processor3.py:__init__:82] - GPU 하드웨어 정보: {} [2025-11-22 11:51:53,079] [MainThread] [DEBUG] [image_processor3.py:__init__:84] ImageProcessor3 Init toggle_states: {'font_type': '폰트6', '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-22 11:51:53,079] [MainThread] [DEBUG] [image_processor3.py:__init__:87] is_member_valid: True [2025-11-22 11:51:53,080] [MainThread] [DEBUG] [image_processor3.py:__init__:145] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images [2025-11-22 11:51:53,080] [MainThread] [DEBUG] [image_processor3.py:__init__:153] self.font_path: D:\py\img_worker\modules\fonts\GmarketSansTTFMedium.ttf [2025-11-22 11:51:53,080] [MainThread] [DEBUG] [image_processor3.py:__init__:155] toggle_states font_path: D:\py\img_worker\modules\fonts\GmarketSansTTFMedium.ttf [2025-11-22 11:51:53,080] [MainThread] [DEBUG] [image_processor3.py:__init__:157] self.TEMP_IMAGE_DIR: D:\py\img_worker\modules\test [2025-11-22 11:51:53,080] [MainThread] [DEBUG] [image_processor3.py:__init__:159] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images [2025-11-22 11:51:53,080] [MainThread] [DEBUG] [image_processor3.py:__init__:161] self.unwanted_texts: {} [2025-11-22 11:51:53,081] [MainThread] [DEBUG] [image_processor3.py:__init__:163] self.inpaint_method: migan [2025-11-22 11:51:53,081] [MainThread] [DEBUG] [image_processor3.py:__init__:169] Image.MAX_IMAGE_PIXELS set to 20000000 [2025-11-22 11:51:53,081] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_determine_model_type:447] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {} [2025-11-22 11:51:53,081] [MainThread] [INFO] [onnx_ocr_wrapper.py:_determine_model_type:453] 자동 선택 모드: GPU 추천 모델 simp 사용 [2025-11-22 11:51:53,081] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:324] ONNX OCR 모델 타입 결정: simp (GPU: False) [2025-11-22 11:51:53,082] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:333] ONNX OCR 모듈 CPU 모드로 설정 [2025-11-22 11:51:53,082] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:356] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드) [2025-11-22 11:51:53,082] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_initialize_onnx_system:539] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드) [2025-11-22 11:51:54,856] [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 11:51:54,939] [MainThread] [INFO] [onnx_ocr_wrapper.py:_initialize_onnx_system:743] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델) [2025-11-22 11:51:54,939] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:363] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델) [2025-11-22 11:51:54,940] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:364] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드) [2025-11-22 11:51:54,940] [MainThread] [INFO] [image_processor3.py:__init__:176] ✅ ONNX OCR 모듈 초기화 성공 [2025-11-22 11:51:54,940] [MainThread] [INFO] [mask_module_for_paddle.py:__init__:12] 마스크 모듈 초기화 완료 [2025-11-22 11:51:54,941] [MainThread] [DEBUG] [image_processor3.py:__init__:217] MaskModule 초기화 성공 [2025-11-22 11:51:54,941] [MainThread] [INFO] [text_rendering_module.py:__init__:21] 텍스트 렌더링 모듈 초기화 완료 [2025-11-22 11:51:54,941] [MainThread] [INFO] [text_rendering_module.py:__init__:22] 기본 폰트: D:\py\img_worker\modules\fonts\GmarketSansTTFMedium.ttf [2025-11-22 11:51:54,941] [MainThread] [DEBUG] [image_processor3.py:__init__:223] TextRenderingModule 초기화 성공 [2025-11-22 11:51:54,942] [MainThread] [DEBUG] [postImageManager.py:font_load:40] 폰트 로드 성공: D:\py\img_worker\modules\fonts\GmarketSansTTFMedium.ttf [2025-11-22 11:51:54,943] [MainThread] [DEBUG] [image_processor3.py:__init__:229] PostImageManager 초기화 성공 [2025-11-22 11:51:54,943] [MainThread] [DEBUG] [request_inpaint.py:__init__:43] Request_AI_Server GPU 상태: CUDA 사용 가능=False [2025-11-22 11:51:54,943] [MainThread] [DEBUG] [image_processor3.py:__init__:252] Request_AI_Server 초기화 성공 [2025-11-22 11:51:54,943] [MainThread] [DEBUG] [image_processor3.py:__init__:259] GoogleTranslate 초기화 성공 [2025-11-22 11:51:54,944] [MainThread] [DEBUG] [image_processor3.py:__init__:285] MIGAN CUDA 사용 불가 - CPU 모드로 설정 [2025-11-22 11:51:54,945] [MainThread] [DEBUG] [image_processor3.py:__init__:287] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False [2025-11-22 11:51:54,945] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:166] [MIGAN] GPU 관리자 사용 가능: False [2025-11-22 11:51:54,945] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:186] [MIGAN] CPU 전용 모드 [2025-11-22 11:51:54,946] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:188] [MIGAN] 최종 providers: [('CPUExecutionProvider', {})] [2025-11-22 11:51:54,946] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:204] [MIGAN] CPU 전용 시도: [('CPUExecutionProvider', {})] [2025-11-22 11:51:55,023] [MainThread] [INFO] [migan_module.py:_get_or_create_session:207] [MIGAN] CPU 전용 성공! 실제 providers: ['CPUExecutionProvider'] [2025-11-22 11:51:55,024] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8) [2025-11-22 11:51:55,024] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8) [2025-11-22 11:51:55,025] [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 11:51:55,025] [MainThread] [DEBUG] [migan_module.py:__init__:119] [MIGAN] 세션 준비 완료. providers=['CPUExecutionProvider'] [2025-11-22 11:51:55,025] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:348] [MIGAN] GPU 관리자 연결 완료: GPUManager [2025-11-22 11:51:55,025] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:355] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: [2025-11-22 11:51:55,025] [MainThread] [DEBUG] [image_processor3.py:__init__:289] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값= [2025-11-22 11:51:55,026] [MainThread] [INFO] [create_font_preview.py:main:98] 프리뷰 생성 시작: GmarketSansTTFMedium.ttf [2025-11-22 11:51:55,026] [MainThread] [INFO] [create_font_preview.py:main:99] 저장 경로: D:\py\img_worker\modules\test [2025-11-22 11:51:55,026] [MainThread] [DEBUG] [image_processor3.py:process_single_image:584] 이미지 번역시작 [2025-11-22 11:51:55,026] [MainThread] [DEBUG] [image_processor3.py:process_single_image:586] toggle_states: {'font_type': '폰트6', '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-22 11:51:55,447] [MainThread] [DEBUG] [image_processor3.py:process_single_image:604] 이미지 1 처리 시작: D:\py\img_worker\modules\fonts\ori.jpg - OCR+인페인팅 모드 [2025-11-22 11:51:55,447] [MainThread] [DEBUG] [image_processor3.py:download_image:1192] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\fonts\ori.jpg [2025-11-22 11:51:55,447] [MainThread] [DEBUG] [image_processor3.py:process_single_image:627] 옵션 이미지는 스케일 처리 건너뛰기: preview_GmarketSansTTFMedium [2025-11-22 11:51:55,448] [MainThread] [DEBUG] [image_processor3.py:process_single_image:637] 이미지 1 로컬 저장위치(옵션 이미지 원본 유지): D:\py\img_worker\modules\fonts\ori.jpg [2025-11-22 11:51:55,454] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:838] 🔍 ONNX OCR 감지 방식: polygon [2025-11-22 11:51:55,619] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:906] ⚡ ONNX OCR 추론 완료: 164.0ms [2025-11-22 11:51:55,620] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:907] 📊 세부 시간 - 감지: 90.0ms, 인식: 67.0ms, 분류: 3.0ms [2025-11-22 11:51:55,629] [MainThread] [INFO] [image_processor3.py:process_single_image:653] 메모리 변화 [OCR 처리]: 23863.6MB -> 23987.4MB (+123.8MB, +0.5%) - 이미지 1 [2025-11-22 11:51:55,631] [MainThread] [DEBUG] [image_processor3.py:process_single_image:658] 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 11:51:55,654] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1102] [필터링] 포함 (신뢰도 99.5%): '现代极简风格' [2025-11-22 11:51:55,655] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1102] [필터링] 포함 (신뢰도 99.6%): '更易搭配各种使用场景' [2025-11-22 11:51:55,655] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1102] [필터링] 포함 (신뢰도 99.7%): '半圆两端设计' [2025-11-22 11:51:55,655] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1102] [필터링] 포함 (신뢰도 99.4%): '承载各种欢乐' [2025-11-22 11:51:55,656] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1106] 필터링 결과: 4/4개 (신뢰도 + & 중국어) [2025-11-22 11:51:55,658] [MainThread] [DEBUG] [image_processor3.py:process_single_image:670] 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 11:51:55,658] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_chinese_text:1192] 중국어 텍스트 4개 필터링 완료 [2025-11-22 11:51:55,658] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_korean_text:1213] 한글 텍스트 0개 필터링 완료 [2025-11-22 11:51:56,121] [MainThread] [DEBUG] [image_processor3.py:process_single_image:728] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고'] [2025-11-22 11:51:56,121] [MainThread] [DEBUG] [image_processor3.py:process_single_image:729] 마스크 생성 완료 [2025-11-22 11:51:56,121] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1313] [치환 처리 1] 원본 텍스트: '모던한 미니멀 스타일' [2025-11-22 11:51:56,121] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1317] [치환 처리 1] 분리된 단어: ['모던한', '미니멀', '스타일'] [2025-11-22 11:51:56,122] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1358] [치환 처리 1] 변경 없음: '모던한 미니멀 스타일' [2025-11-22 11:51:56,122] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1313] [치환 처리 2] 원본 텍스트: '다양한 사용 시나리오에 더 쉽게 일치' [2025-11-22 11:51:56,122] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1317] [치환 처리 2] 분리된 단어: ['다양한', '사용', '시나리오에', '더', '쉽게', '일치'] [2025-11-22 11:51:56,122] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1358] [치환 처리 2] 변경 없음: '다양한 사용 시나리오에 더 쉽게 일치' [2025-11-22 11:51:56,122] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1313] [치환 처리 3] 원본 텍스트: '반원형 끝 디자인' [2025-11-22 11:51:56,123] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1317] [치환 처리 3] 분리된 단어: ['반원형', '끝', '디자인'] [2025-11-22 11:51:56,123] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1358] [치환 처리 3] 변경 없음: '반원형 끝 디자인' [2025-11-22 11:51:56,123] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1313] [치환 처리 4] 원본 텍스트: '온갖 기쁨을 안고' [2025-11-22 11:51:56,123] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1317] [치환 처리 4] 분리된 단어: ['온갖', '기쁨을', '안고'] [2025-11-22 11:51:56,123] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1358] [치환 처리 4] 변경 없음: '온갖 기쁨을 안고' [2025-11-22 11:51:56,123] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1360] 전체 치환 결과: 4개 텍스트 처리 완료 [2025-11-22 11:51:56,124] [MainThread] [DEBUG] [image_processor3.py:process_single_image:738] 이미지 1 치환됨 [2025-11-22 11:51:56,124] [MainThread] [INFO] [image_processor3.py:process_single_image:754] [inpaint_model 강제] migan → inpaint_method=migan [2025-11-22 11:51:56,124] [MainThread] [DEBUG] [image_processor3.py:process_single_image:788] ocr_count: 4 [2025-11-22 11:51:56,124] [MainThread] [DEBUG] [image_processor3.py:process_single_image:789] is_member_valid: True [2025-11-22 11:51:56,128] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1043] MIGAN 인페인팅 시도 [2025-11-22 11:51:56,131] [MainThread] [DEBUG] [migan_module.py:inpaint:276] [MIGAN] 입력 형태 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816) [2025-11-22 11:51:56,492] [MainThread] [DEBUG] [migan_module.py:inpaint:289] [MIGAN] 출력 형태: (1200, 816, 3), dtype: uint8 [2025-11-22 11:51:56,493] [MainThread] [DEBUG] [migan_module.py:inpaint:297] [MIGAN] 추론 완료: 362.00 ms [2025-11-22 11:51:56,498] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1046] MIGAN 인페인팅 성공 [2025-11-22 11:51:56,504] [MainThread] [INFO] [image_processor3.py:execute_inpaint_with_fallback:967] 메모리 변화 [인페인팅]: 24007.3MB -> 24351.5MB (+344.2MB, +1.4%) - 방법: migan [2025-11-22 11:51:56,504] [MainThread] [DEBUG] [image_processor3.py:process_single_image:800] 인페인팅 완료 [2025-11-22 11:51:56,531] [MainThread] [DEBUG] [image_processor3.py:process_single_image:822] 텍스트 렌더링 완료 [2025-11-22 11:51:56,532] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1145] watermark_text: 이미지 저작권 보유 [2025-11-22 11:51:56,532] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1146] is_watermark_enabled: True [2025-11-22 11:51:56,534] [MainThread] [INFO] [postImageManager.py:save_image_to_path:101] 이미지 저장 완료 : D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg [2025-11-22 11:51:56,534] [MainThread] [DEBUG] [image_processor3.py:process_single_image:828] 이미지 1 번역 완료: D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg [2025-11-22 11:51:56,564] [MainThread] [DEBUG] [image_processor3.py:process_single_image:881] ⏱ 이미지 파이프라인 총 1536.5ms | download=0.0ms | ocr=177.0ms | translate=460.6ms | mask=460.6ms | inpaint=380.0ms(migan/CPU) | render=27.0ms | save=2.0ms [2025-11-22 11:51:56,565] [MainThread] [INFO] [create_font_preview.py:main:115] 프리뷰 생성 성공: D:\py\img_worker\modules\test\translated_preview_GmarketSansTTFMedium_img_1.jpg [2025-11-22 11:51:56,576] [MainThread] [DEBUG] [image_processor3.py:cleanup:444] OCR 모듈 정리 완료 [2025-11-22 11:51:56,576] [MainThread] [DEBUG] [image_processor3.py:cleanup:452] 마스크 모듈 정리 완료 [2025-11-22 11:51:56,600] [MainThread] [DEBUG] [image_processor3.py:cleanup:487] 임시 폴더 삭제됨: D:\py\img_worker\modules\test [2025-11-22 11:51:56,623] [MainThread] [DEBUG] [image_processor3.py:cleanup:487] 임시 폴더 삭제됨: D:\py\img_worker\modules\test [2025-11-22 11:51:56,623] [MainThread] [DEBUG] [image_processor3.py:__del__:435] 이미지 프로세서 소멸 [2025-11-22 12:12:44,950] [MainThread] [DEBUG] [image_processor3.py:__init__:57] tracemalloc 메모리 추적 시작 [2025-11-22 12:12:44,957] [MainThread] [DEBUG] [gpu_utils.py:_setup_directml_environment:55] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반) [2025-11-22 12:12:44,957] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:79] === 🚀 DirectML GPU 상태 초기화 시작 🚀 === [2025-11-22 12:12:44,957] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:80] 🎯 사용자 GPU 가속 요청: False [2025-11-22 12:12:44,957] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:81] 💻 현재 운영체제: Windows [2025-11-22 12:12:44,958] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:84] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False) [2025-11-22 12:12:44,958] [MainThread] [INFO] [gpu_utils.py:_set_safe_cpu_mode:157] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화 [2025-11-22 12:12:44,958] [MainThread] [DEBUG] [image_processor3.py:__init__:79] 🔧 ImageProcessor3 GPU 상태 요약: [2025-11-22 12:12:44,958] [MainThread] [DEBUG] [image_processor3.py:__init__:80] - CUDA 사용 가능: False [2025-11-22 12:12:44,958] [MainThread] [DEBUG] [image_processor3.py:__init__:81] - toggle_states['use_cuda']: False [2025-11-22 12:12:44,959] [MainThread] [DEBUG] [image_processor3.py:__init__:82] - GPU 하드웨어 정보: {} [2025-11-22 12:12:44,959] [MainThread] [DEBUG] [image_processor3.py:__init__:84] ImageProcessor3 Init toggle_states: {'font_type': '폰트7', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\Paperlogy-5Medium.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 12:12:44,959] [MainThread] [DEBUG] [image_processor3.py:__init__:87] is_member_valid: True [2025-11-22 12:12:44,959] [MainThread] [DEBUG] [image_processor3.py:__init__:147] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images [2025-11-22 12:12:44,960] [MainThread] [DEBUG] [image_processor3.py:__init__:155] self.font_path: D:\py\img_worker\modules\fonts\Paperlogy-5Medium.ttf [2025-11-22 12:12:44,960] [MainThread] [DEBUG] [image_processor3.py:__init__:157] toggle_states font_path: D:\py\img_worker\modules\fonts\Paperlogy-5Medium.ttf [2025-11-22 12:12:44,960] [MainThread] [DEBUG] [image_processor3.py:__init__:159] self.TEMP_IMAGE_DIR: D:\py\img_worker\modules\test [2025-11-22 12:12:44,960] [MainThread] [DEBUG] [image_processor3.py:__init__:161] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images [2025-11-22 12:12:44,960] [MainThread] [DEBUG] [image_processor3.py:__init__:163] self.unwanted_texts: {} [2025-11-22 12:12:44,960] [MainThread] [DEBUG] [image_processor3.py:__init__:165] self.inpaint_method: migan [2025-11-22 12:12:44,961] [MainThread] [DEBUG] [image_processor3.py:__init__:171] Image.MAX_IMAGE_PIXELS set to 20000000 [2025-11-22 12:12:44,961] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_determine_model_type:447] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {} [2025-11-22 12:12:44,961] [MainThread] [INFO] [onnx_ocr_wrapper.py:_determine_model_type:453] 자동 선택 모드: GPU 추천 모델 simp 사용 [2025-11-22 12:12:44,962] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:324] ONNX OCR 모델 타입 결정: simp (GPU: False) [2025-11-22 12:12:44,962] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:333] ONNX OCR 모듈 CPU 모드로 설정 [2025-11-22 12:12:44,962] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:356] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드) [2025-11-22 12:12:44,962] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_initialize_onnx_system:539] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드) [2025-11-22 12:12:46,882] [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 12:12:46,968] [MainThread] [INFO] [onnx_ocr_wrapper.py:_initialize_onnx_system:743] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델) [2025-11-22 12:12:46,969] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:363] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델) [2025-11-22 12:12:46,969] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:364] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드) [2025-11-22 12:12:46,969] [MainThread] [INFO] [image_processor3.py:__init__:178] ✅ ONNX OCR 모듈 초기화 성공 [2025-11-22 12:12:46,970] [MainThread] [INFO] [mask_module_for_paddle.py:__init__:12] 마스크 모듈 초기화 완료 [2025-11-22 12:12:46,970] [MainThread] [DEBUG] [image_processor3.py:__init__:219] MaskModule 초기화 성공 [2025-11-22 12:12:46,970] [MainThread] [INFO] [text_rendering_module.py:__init__:21] 텍스트 렌더링 모듈 초기화 완료 [2025-11-22 12:12:46,970] [MainThread] [INFO] [text_rendering_module.py:__init__:22] 기본 폰트: D:\py\img_worker\modules\fonts\Paperlogy-5Medium.ttf [2025-11-22 12:12:46,971] [MainThread] [DEBUG] [image_processor3.py:__init__:225] TextRenderingModule 초기화 성공 [2025-11-22 12:12:46,971] [MainThread] [DEBUG] [postImageManager.py:font_load:40] 폰트 로드 성공: D:\py\img_worker\modules\fonts\Paperlogy-5Medium.ttf [2025-11-22 12:12:46,971] [MainThread] [DEBUG] [image_processor3.py:__init__:231] PostImageManager 초기화 성공 [2025-11-22 12:12:46,971] [MainThread] [DEBUG] [request_inpaint.py:__init__:43] Request_AI_Server GPU 상태: CUDA 사용 가능=False [2025-11-22 12:12:46,972] [MainThread] [DEBUG] [image_processor3.py:__init__:254] Request_AI_Server 초기화 성공 [2025-11-22 12:12:46,972] [MainThread] [DEBUG] [image_processor3.py:__init__:261] GoogleTranslate 초기화 성공 [2025-11-22 12:12:46,973] [MainThread] [DEBUG] [image_processor3.py:__init__:287] MIGAN CUDA 사용 불가 - CPU 모드로 설정 [2025-11-22 12:12:46,973] [MainThread] [DEBUG] [image_processor3.py:__init__:289] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False [2025-11-22 12:12:46,974] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:166] [MIGAN] GPU 관리자 사용 가능: False [2025-11-22 12:12:46,974] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:186] [MIGAN] CPU 전용 모드 [2025-11-22 12:12:46,974] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:188] [MIGAN] 최종 providers: [('CPUExecutionProvider', {})] [2025-11-22 12:12:46,974] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:204] [MIGAN] CPU 전용 시도: [('CPUExecutionProvider', {})] [2025-11-22 12:12:47,057] [MainThread] [INFO] [migan_module.py:_get_or_create_session:207] [MIGAN] CPU 전용 성공! 실제 providers: ['CPUExecutionProvider'] [2025-11-22 12:12:47,057] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8) [2025-11-22 12:12:47,058] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8) [2025-11-22 12:12:47,058] [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 12:12:47,058] [MainThread] [DEBUG] [migan_module.py:__init__:119] [MIGAN] 세션 준비 완료. providers=['CPUExecutionProvider'] [2025-11-22 12:12:47,059] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:348] [MIGAN] GPU 관리자 연결 완료: GPUManager [2025-11-22 12:12:47,059] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:355] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: [2025-11-22 12:12:47,059] [MainThread] [DEBUG] [image_processor3.py:__init__:291] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값= [2025-11-22 12:12:47,059] [MainThread] [INFO] [create_font_preview.py:main:98] 프리뷰 생성 시작: Paperlogy-5Medium.ttf [2025-11-22 12:12:47,060] [MainThread] [INFO] [create_font_preview.py:main:99] 저장 경로: D:\py\img_worker\modules\test [2025-11-22 12:12:47,060] [MainThread] [DEBUG] [image_processor3.py:process_single_image:586] 이미지 번역시작 [2025-11-22 12:12:47,060] [MainThread] [DEBUG] [image_processor3.py:process_single_image:588] toggle_states: {'font_type': '폰트7', 'image_font_path': 'D:\\py\\img_worker\\modules\\fonts\\Paperlogy-5Medium.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 12:12:47,426] [MainThread] [DEBUG] [image_processor3.py:process_single_image:606] 이미지 1 처리 시작: D:\py\img_worker\modules\fonts\ori.jpg - OCR+인페인팅 모드 [2025-11-22 12:12:47,426] [MainThread] [DEBUG] [image_processor3.py:download_image:1194] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\fonts\ori.jpg [2025-11-22 12:12:47,427] [MainThread] [DEBUG] [image_processor3.py:process_single_image:629] 옵션 이미지는 스케일 처리 건너뛰기: preview_Paperlogy-5Medium [2025-11-22 12:12:47,427] [MainThread] [DEBUG] [image_processor3.py:process_single_image:639] 이미지 1 로컬 저장위치(옵션 이미지 원본 유지): D:\py\img_worker\modules\fonts\ori.jpg [2025-11-22 12:12:47,435] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:838] 🔍 ONNX OCR 감지 방식: polygon [2025-11-22 12:12:47,601] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:906] ⚡ ONNX OCR 추론 완료: 165.0ms [2025-11-22 12:12:47,602] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:907] 📊 세부 시간 - 감지: 89.0ms, 인식: 68.0ms, 분류: 3.0ms [2025-11-22 12:12:47,611] [MainThread] [INFO] [image_processor3.py:process_single_image:655] 메모리 변화 [OCR 처리]: 24678.9MB -> 24807.8MB (+128.9MB, +0.5%) - 이미지 1 [2025-11-22 12:12:47,613] [MainThread] [DEBUG] [image_processor3.py:process_single_image:660] 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 12:12:47,638] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1104] [필터링] 포함 (신뢰도 99.5%): '现代极简风格' [2025-11-22 12:12:47,638] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1104] [필터링] 포함 (신뢰도 99.6%): '更易搭配各种使用场景' [2025-11-22 12:12:47,638] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1104] [필터링] 포함 (신뢰도 99.7%): '半圆两端设计' [2025-11-22 12:12:47,638] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1104] [필터링] 포함 (신뢰도 99.4%): '承载各种欢乐' [2025-11-22 12:12:47,639] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1108] 필터링 결과: 4/4개 (신뢰도 + & 중국어) [2025-11-22 12:12:47,641] [MainThread] [DEBUG] [image_processor3.py:process_single_image:672] 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 12:12:47,641] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_chinese_text:1192] 중국어 텍스트 4개 필터링 완료 [2025-11-22 12:12:47,641] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_korean_text:1213] 한글 텍스트 0개 필터링 완료 [2025-11-22 12:12:48,051] [MainThread] [DEBUG] [image_processor3.py:process_single_image:730] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고'] [2025-11-22 12:12:48,051] [MainThread] [DEBUG] [image_processor3.py:process_single_image:731] 마스크 생성 완료 [2025-11-22 12:12:48,051] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1315] [치환 처리 1] 원본 텍스트: '모던한 미니멀 스타일' [2025-11-22 12:12:48,052] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1319] [치환 처리 1] 분리된 단어: ['모던한', '미니멀', '스타일'] [2025-11-22 12:12:48,052] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1360] [치환 처리 1] 변경 없음: '모던한 미니멀 스타일' [2025-11-22 12:12:48,052] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1315] [치환 처리 2] 원본 텍스트: '다양한 사용 시나리오에 더 쉽게 일치' [2025-11-22 12:12:48,052] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1319] [치환 처리 2] 분리된 단어: ['다양한', '사용', '시나리오에', '더', '쉽게', '일치'] [2025-11-22 12:12:48,052] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1360] [치환 처리 2] 변경 없음: '다양한 사용 시나리오에 더 쉽게 일치' [2025-11-22 12:12:48,053] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1315] [치환 처리 3] 원본 텍스트: '반원형 끝 디자인' [2025-11-22 12:12:48,053] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1319] [치환 처리 3] 분리된 단어: ['반원형', '끝', '디자인'] [2025-11-22 12:12:48,053] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1360] [치환 처리 3] 변경 없음: '반원형 끝 디자인' [2025-11-22 12:12:48,053] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1315] [치환 처리 4] 원본 텍스트: '온갖 기쁨을 안고' [2025-11-22 12:12:48,053] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1319] [치환 처리 4] 분리된 단어: ['온갖', '기쁨을', '안고'] [2025-11-22 12:12:48,054] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1360] [치환 처리 4] 변경 없음: '온갖 기쁨을 안고' [2025-11-22 12:12:48,054] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1362] 전체 치환 결과: 4개 텍스트 처리 완료 [2025-11-22 12:12:48,054] [MainThread] [DEBUG] [image_processor3.py:process_single_image:740] 이미지 1 치환됨 [2025-11-22 12:12:48,054] [MainThread] [INFO] [image_processor3.py:process_single_image:756] [inpaint_model 강제] migan → inpaint_method=migan [2025-11-22 12:12:48,055] [MainThread] [DEBUG] [image_processor3.py:process_single_image:790] ocr_count: 4 [2025-11-22 12:12:48,055] [MainThread] [DEBUG] [image_processor3.py:process_single_image:791] is_member_valid: True [2025-11-22 12:12:48,059] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1045] MIGAN 인페인팅 시도 [2025-11-22 12:12:48,062] [MainThread] [DEBUG] [migan_module.py:inpaint:276] [MIGAN] 입력 형태 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816) [2025-11-22 12:12:48,396] [MainThread] [DEBUG] [migan_module.py:inpaint:289] [MIGAN] 출력 형태: (1200, 816, 3), dtype: uint8 [2025-11-22 12:12:48,396] [MainThread] [DEBUG] [migan_module.py:inpaint:297] [MIGAN] 추론 완료: 334.00 ms [2025-11-22 12:12:48,401] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1048] MIGAN 인페인팅 성공 [2025-11-22 12:12:48,406] [MainThread] [INFO] [image_processor3.py:execute_inpaint_with_fallback:969] 메모리 변화 [인페인팅]: 24834.0MB -> 25181.8MB (+347.8MB, +1.4%) - 방법: migan [2025-11-22 12:12:48,407] [MainThread] [DEBUG] [image_processor3.py:process_single_image:802] 인페인팅 완료 [2025-11-22 12:12:48,443] [MainThread] [DEBUG] [image_processor3.py:process_single_image:824] 텍스트 렌더링 완료 [2025-11-22 12:12:48,443] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1147] watermark_text: 이미지 저작권 보유 [2025-11-22 12:12:48,444] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1148] is_watermark_enabled: True [2025-11-22 12:12:48,446] [MainThread] [INFO] [postImageManager.py:save_image_to_path:101] 이미지 저장 완료 : D:\py\img_worker\modules\test\translated_preview_Paperlogy-5Medium_img_1.jpg [2025-11-22 12:12:48,446] [MainThread] [DEBUG] [image_processor3.py:process_single_image:830] 이미지 1 번역 완료: D:\py\img_worker\modules\test\translated_preview_Paperlogy-5Medium_img_1.jpg [2025-11-22 12:12:48,472] [MainThread] [DEBUG] [image_processor3.py:process_single_image:883] ⏱ 이미지 파이프라인 총 1410.5ms | download=1.0ms | ocr=179.0ms | translate=408.2ms | mask=408.2ms | inpaint=352.0ms(migan/CPU) | render=36.0ms | save=3.0ms [2025-11-22 12:12:48,473] [MainThread] [INFO] [create_font_preview.py:main:115] 프리뷰 생성 성공: D:\py\img_worker\modules\test\translated_preview_Paperlogy-5Medium_img_1.jpg [2025-11-22 12:12:48,484] [MainThread] [DEBUG] [image_processor3.py:cleanup:446] OCR 모듈 정리 완료 [2025-11-22 12:12:48,484] [MainThread] [DEBUG] [image_processor3.py:cleanup:454] 마스크 모듈 정리 완료 [2025-11-22 12:12:48,506] [MainThread] [DEBUG] [image_processor3.py:cleanup:489] 임시 폴더 삭제됨: D:\py\img_worker\modules\test [2025-11-22 12:12:48,529] [MainThread] [DEBUG] [image_processor3.py:cleanup:489] 임시 폴더 삭제됨: D:\py\img_worker\modules\test [2025-11-22 12:12:48,529] [MainThread] [DEBUG] [image_processor3.py:__del__:437] 이미지 프로세서 소멸 [2025-11-22 12:13:12,222] [MainThread] [DEBUG] [image_processor3.py:__init__:57] tracemalloc 메모리 추적 시작 [2025-11-22 12:13:12,229] [MainThread] [DEBUG] [gpu_utils.py:_setup_directml_environment:55] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반) [2025-11-22 12:13:12,229] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:79] === 🚀 DirectML GPU 상태 초기화 시작 🚀 === [2025-11-22 12:13:12,229] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:80] 🎯 사용자 GPU 가속 요청: False [2025-11-22 12:13:12,229] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:81] 💻 현재 운영체제: Windows [2025-11-22 12:13:12,230] [MainThread] [DEBUG] [gpu_utils.py:initialize_gpu_state:84] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False) [2025-11-22 12:13:12,230] [MainThread] [INFO] [gpu_utils.py:_set_safe_cpu_mode:157] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화 [2025-11-22 12:13:12,230] [MainThread] [DEBUG] [image_processor3.py:__init__:79] 🔧 ImageProcessor3 GPU 상태 요약: [2025-11-22 12:13:12,230] [MainThread] [DEBUG] [image_processor3.py:__init__:80] - CUDA 사용 가능: False [2025-11-22 12:13:12,230] [MainThread] [DEBUG] [image_processor3.py:__init__:81] - toggle_states['use_cuda']: False [2025-11-22 12:13:12,230] [MainThread] [DEBUG] [image_processor3.py:__init__:82] - GPU 하드웨어 정보: {} [2025-11-22 12:13:12,231] [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 12:13:12,231] [MainThread] [DEBUG] [image_processor3.py:__init__:87] is_member_valid: True [2025-11-22 12:13:12,231] [MainThread] [DEBUG] [image_processor3.py:__init__:147] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images [2025-11-22 12:13:12,232] [MainThread] [DEBUG] [image_processor3.py:__init__:155] self.font_path: D:\py\img_worker\modules\fonts\Pretendard-Regular.ttf [2025-11-22 12:13:12,232] [MainThread] [DEBUG] [image_processor3.py:__init__:157] toggle_states font_path: D:\py\img_worker\modules\fonts\Pretendard-Regular.ttf [2025-11-22 12:13:12,232] [MainThread] [DEBUG] [image_processor3.py:__init__:159] self.TEMP_IMAGE_DIR: D:\py\img_worker\modules\test [2025-11-22 12:13:12,232] [MainThread] [DEBUG] [image_processor3.py:__init__:161] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images [2025-11-22 12:13:12,232] [MainThread] [DEBUG] [image_processor3.py:__init__:163] self.unwanted_texts: {} [2025-11-22 12:13:12,232] [MainThread] [DEBUG] [image_processor3.py:__init__:165] self.inpaint_method: migan [2025-11-22 12:13:12,232] [MainThread] [DEBUG] [image_processor3.py:__init__:171] Image.MAX_IMAGE_PIXELS set to 20000000 [2025-11-22 12:13:12,233] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_determine_model_type:447] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {} [2025-11-22 12:13:12,233] [MainThread] [INFO] [onnx_ocr_wrapper.py:_determine_model_type:453] 자동 선택 모드: GPU 추천 모델 simp 사용 [2025-11-22 12:13:12,233] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:324] ONNX OCR 모델 타입 결정: simp (GPU: False) [2025-11-22 12:13:12,233] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:333] ONNX OCR 모듈 CPU 모드로 설정 [2025-11-22 12:13:12,234] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:356] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드) [2025-11-22 12:13:12,234] [MainThread] [DEBUG] [onnx_ocr_wrapper.py:_initialize_onnx_system:539] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드) [2025-11-22 12:13:13,995] [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 12:13:14,079] [MainThread] [INFO] [onnx_ocr_wrapper.py:_initialize_onnx_system:743] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델) [2025-11-22 12:13:14,080] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:363] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델) [2025-11-22 12:13:14,080] [MainThread] [INFO] [onnx_ocr_wrapper.py:__init__:364] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드) [2025-11-22 12:13:14,081] [MainThread] [INFO] [image_processor3.py:__init__:178] ✅ ONNX OCR 모듈 초기화 성공 [2025-11-22 12:13:14,081] [MainThread] [INFO] [mask_module_for_paddle.py:__init__:12] 마스크 모듈 초기화 완료 [2025-11-22 12:13:14,081] [MainThread] [DEBUG] [image_processor3.py:__init__:219] MaskModule 초기화 성공 [2025-11-22 12:13:14,081] [MainThread] [INFO] [text_rendering_module.py:__init__:21] 텍스트 렌더링 모듈 초기화 완료 [2025-11-22 12:13:14,081] [MainThread] [INFO] [text_rendering_module.py:__init__:22] 기본 폰트: D:\py\img_worker\modules\fonts\Pretendard-Regular.ttf [2025-11-22 12:13:14,082] [MainThread] [DEBUG] [image_processor3.py:__init__:225] TextRenderingModule 초기화 성공 [2025-11-22 12:13:14,082] [MainThread] [DEBUG] [postImageManager.py:font_load:40] 폰트 로드 성공: D:\py\img_worker\modules\fonts\Pretendard-Regular.ttf [2025-11-22 12:13:14,082] [MainThread] [DEBUG] [image_processor3.py:__init__:231] PostImageManager 초기화 성공 [2025-11-22 12:13:14,082] [MainThread] [DEBUG] [request_inpaint.py:__init__:43] Request_AI_Server GPU 상태: CUDA 사용 가능=False [2025-11-22 12:13:14,083] [MainThread] [DEBUG] [image_processor3.py:__init__:254] Request_AI_Server 초기화 성공 [2025-11-22 12:13:14,083] [MainThread] [DEBUG] [image_processor3.py:__init__:261] GoogleTranslate 초기화 성공 [2025-11-22 12:13:14,084] [MainThread] [DEBUG] [image_processor3.py:__init__:287] MIGAN CUDA 사용 불가 - CPU 모드로 설정 [2025-11-22 12:13:14,084] [MainThread] [DEBUG] [image_processor3.py:__init__:289] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False [2025-11-22 12:13:14,085] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:166] [MIGAN] GPU 관리자 사용 가능: False [2025-11-22 12:13:14,085] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:186] [MIGAN] CPU 전용 모드 [2025-11-22 12:13:14,085] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:188] [MIGAN] 최종 providers: [('CPUExecutionProvider', {})] [2025-11-22 12:13:14,086] [MainThread] [DEBUG] [migan_module.py:_get_or_create_session:204] [MIGAN] CPU 전용 시도: [('CPUExecutionProvider', {})] [2025-11-22 12:13:14,165] [MainThread] [INFO] [migan_module.py:_get_or_create_session:207] [MIGAN] CPU 전용 성공! 실제 providers: ['CPUExecutionProvider'] [2025-11-22 12:13:14,165] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8) [2025-11-22 12:13:14,165] [MainThread] [DEBUG] [migan_module.py:__init__:115] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8) [2025-11-22 12:13:14,166] [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 12:13:14,166] [MainThread] [DEBUG] [migan_module.py:__init__:119] [MIGAN] 세션 준비 완료. providers=['CPUExecutionProvider'] [2025-11-22 12:13:14,166] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:348] [MIGAN] GPU 관리자 연결 완료: GPUManager [2025-11-22 12:13:14,166] [MainThread] [DEBUG] [migan_module.py:build_migan_from_toggle:355] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: [2025-11-22 12:13:14,166] [MainThread] [DEBUG] [image_processor3.py:__init__:291] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값= [2025-11-22 12:13:14,167] [MainThread] [INFO] [create_font_preview.py:main:98] 프리뷰 생성 시작: Pretendard-Regular.ttf [2025-11-22 12:13:14,167] [MainThread] [INFO] [create_font_preview.py:main:99] 저장 경로: D:\py\img_worker\modules\test [2025-11-22 12:13:14,167] [MainThread] [DEBUG] [image_processor3.py:process_single_image:586] 이미지 번역시작 [2025-11-22 12:13:14,167] [MainThread] [DEBUG] [image_processor3.py:process_single_image:588] 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 12:13:14,411] [MainThread] [DEBUG] [image_processor3.py:process_single_image:606] 이미지 1 처리 시작: D:\py\img_worker\modules\fonts\ori.jpg - OCR+인페인팅 모드 [2025-11-22 12:13:14,411] [MainThread] [DEBUG] [image_processor3.py:download_image:1194] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\fonts\ori.jpg [2025-11-22 12:13:14,412] [MainThread] [DEBUG] [image_processor3.py:process_single_image:629] 옵션 이미지는 스케일 처리 건너뛰기: preview_Pretendard-Regular [2025-11-22 12:13:14,412] [MainThread] [DEBUG] [image_processor3.py:process_single_image:639] 이미지 1 로컬 저장위치(옵션 이미지 원본 유지): D:\py\img_worker\modules\fonts\ori.jpg [2025-11-22 12:13:14,419] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:838] 🔍 ONNX OCR 감지 방식: polygon [2025-11-22 12:13:14,583] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:906] ⚡ ONNX OCR 추론 완료: 163.0ms [2025-11-22 12:13:14,583] [MainThread] [INFO] [onnx_ocr_wrapper.py:detect_text:907] 📊 세부 시간 - 감지: 89.0ms, 인식: 65.0ms, 분류: 4.0ms [2025-11-22 12:13:14,592] [MainThread] [INFO] [image_processor3.py:process_single_image:655] 메모리 변화 [OCR 처리]: 25200.5MB -> 25338.9MB (+138.3MB, +0.5%) - 이미지 1 [2025-11-22 12:13:14,595] [MainThread] [DEBUG] [image_processor3.py:process_single_image:660] 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 12:13:14,618] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1104] [필터링] 포함 (신뢰도 99.5%): '现代极简风格' [2025-11-22 12:13:14,618] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1104] [필터링] 포함 (신뢰도 99.6%): '更易搭配各种使用场景' [2025-11-22 12:13:14,618] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1104] [필터링] 포함 (신뢰도 99.7%): '半圆两端设计' [2025-11-22 12:13:14,619] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1104] [필터링] 포함 (신뢰도 99.4%): '承载各种欢乐' [2025-11-22 12:13:14,619] [MainThread] [DEBUG] [image_processor3.py:filter_ocr_results:1108] 필터링 결과: 4/4개 (신뢰도 + & 중국어) [2025-11-22 12:13:14,621] [MainThread] [DEBUG] [image_processor3.py:process_single_image:672] 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 12:13:14,622] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_chinese_text:1192] 중국어 텍스트 4개 필터링 완료 [2025-11-22 12:13:14,622] [MainThread] [INFO] [onnx_ocr_wrapper.py:filter_korean_text:1213] 한글 텍스트 0개 필터링 완료 [2025-11-22 12:13:15,070] [MainThread] [DEBUG] [image_processor3.py:process_single_image:730] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고'] [2025-11-22 12:13:15,070] [MainThread] [DEBUG] [image_processor3.py:process_single_image:731] 마스크 생성 완료 [2025-11-22 12:13:15,071] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1315] [치환 처리 1] 원본 텍스트: '모던한 미니멀 스타일' [2025-11-22 12:13:15,071] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1319] [치환 처리 1] 분리된 단어: ['모던한', '미니멀', '스타일'] [2025-11-22 12:13:15,071] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1360] [치환 처리 1] 변경 없음: '모던한 미니멀 스타일' [2025-11-22 12:13:15,071] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1315] [치환 처리 2] 원본 텍스트: '다양한 사용 시나리오에 더 쉽게 일치' [2025-11-22 12:13:15,072] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1319] [치환 처리 2] 분리된 단어: ['다양한', '사용', '시나리오에', '더', '쉽게', '일치'] [2025-11-22 12:13:15,072] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1360] [치환 처리 2] 변경 없음: '다양한 사용 시나리오에 더 쉽게 일치' [2025-11-22 12:13:15,072] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1315] [치환 처리 3] 원본 텍스트: '반원형 끝 디자인' [2025-11-22 12:13:15,072] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1319] [치환 처리 3] 분리된 단어: ['반원형', '끝', '디자인'] [2025-11-22 12:13:15,073] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1360] [치환 처리 3] 변경 없음: '반원형 끝 디자인' [2025-11-22 12:13:15,073] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1315] [치환 처리 4] 원본 텍스트: '온갖 기쁨을 안고' [2025-11-22 12:13:15,073] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1319] [치환 처리 4] 분리된 단어: ['온갖', '기쁨을', '안고'] [2025-11-22 12:13:15,073] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1360] [치환 처리 4] 변경 없음: '온갖 기쁨을 안고' [2025-11-22 12:13:15,073] [MainThread] [DEBUG] [image_processor3.py:process_translated_texts:1362] 전체 치환 결과: 4개 텍스트 처리 완료 [2025-11-22 12:13:15,074] [MainThread] [DEBUG] [image_processor3.py:process_single_image:740] 이미지 1 치환됨 [2025-11-22 12:13:15,074] [MainThread] [INFO] [image_processor3.py:process_single_image:756] [inpaint_model 강제] migan → inpaint_method=migan [2025-11-22 12:13:15,074] [MainThread] [DEBUG] [image_processor3.py:process_single_image:790] ocr_count: 4 [2025-11-22 12:13:15,074] [MainThread] [DEBUG] [image_processor3.py:process_single_image:791] is_member_valid: True [2025-11-22 12:13:15,079] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1045] MIGAN 인페인팅 시도 [2025-11-22 12:13:15,082] [MainThread] [DEBUG] [migan_module.py:inpaint:276] [MIGAN] 입력 형태 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816) [2025-11-22 12:13:15,409] [MainThread] [DEBUG] [migan_module.py:inpaint:289] [MIGAN] 출력 형태: (1200, 816, 3), dtype: uint8 [2025-11-22 12:13:15,410] [MainThread] [DEBUG] [migan_module.py:inpaint:297] [MIGAN] 추론 완료: 328.00 ms [2025-11-22 12:13:15,414] [MainThread] [DEBUG] [image_processor3.py:_try_migan_inpaint:1048] MIGAN 인페인팅 성공 [2025-11-22 12:13:15,420] [MainThread] [INFO] [image_processor3.py:execute_inpaint_with_fallback:969] 메모리 변화 [인페인팅]: 25345.1MB -> 25690.4MB (+345.2MB, +1.4%) - 방법: migan [2025-11-22 12:13:15,420] [MainThread] [DEBUG] [image_processor3.py:process_single_image:802] 인페인팅 완료 [2025-11-22 12:13:15,499] [MainThread] [DEBUG] [image_processor3.py:process_single_image:824] 텍스트 렌더링 완료 [2025-11-22 12:13:15,499] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1147] watermark_text: 이미지 저작권 보유 [2025-11-22 12:13:15,499] [MainThread] [DEBUG] [image_processor3.py:postProcess_and_save_image:1148] is_watermark_enabled: True [2025-11-22 12:13:15,502] [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 12:13:15,502] [MainThread] [DEBUG] [image_processor3.py:process_single_image:830] 이미지 1 번역 완료: D:\py\img_worker\modules\test\translated_preview_Pretendard-Regular_img_1.jpg [2025-11-22 12:13:15,530] [MainThread] [DEBUG] [image_processor3.py:process_single_image:883] ⏱ 이미지 파이프라인 총 1362.8ms | download=0.0ms | ocr=176.0ms | translate=448.3ms | mask=448.3ms | inpaint=345.0ms(migan/CPU) | render=78.0ms | save=3.0ms [2025-11-22 12:13:15,531] [MainThread] [INFO] [create_font_preview.py:main:115] 프리뷰 생성 성공: D:\py\img_worker\modules\test\translated_preview_Pretendard-Regular_img_1.jpg [2025-11-22 12:13:15,542] [MainThread] [DEBUG] [image_processor3.py:cleanup:446] OCR 모듈 정리 완료 [2025-11-22 12:13:15,542] [MainThread] [DEBUG] [image_processor3.py:cleanup:454] 마스크 모듈 정리 완료 [2025-11-22 12:13:15,564] [MainThread] [DEBUG] [image_processor3.py:cleanup:489] 임시 폴더 삭제됨: D:\py\img_worker\modules\test [2025-11-22 12:13:15,587] [MainThread] [DEBUG] [image_processor3.py:cleanup:489] 임시 폴더 삭제됨: D:\py\img_worker\modules\test [2025-11-22 12:13:15,588] [MainThread] [DEBUG] [image_processor3.py:__del__:437] 이미지 프로세서 소멸