IMG_Worker/logs/api_server.log

9380 lines
1.4 MiB
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[2025-10-24 00:04:56,044] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 시작
[2025-10-24 00:04:56,050] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=10032
[2025-10-24 00:04:56,496] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=10032, Name=ImageWorkerProcess)
[2025-10-24 00:04:56,497] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 00:04:56,497] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 00:04:56,504] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 00:04:56,504] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 00:04:56,504] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 00:04:56,504] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 00:04:56,505] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 00:04:56,505] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 00:04:56,505] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 00:04:56,505] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 00:04:56,505] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 00:04:56,505] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 00:04:56,505] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:04:56,505] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:04:56,505] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 00:04:56,506] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:04:56,506] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path:
[2025-10-24 00:04:56,506] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 00:04:56,506] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 00:04:56,506] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 00:04:56,506] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 00:04:56,506] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 00:04:56,506] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 00:04:56,506] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 00:04:56,506] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 00:04:56,506] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 00:04:56,506] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:04:56,506] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:04:58,248] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 00:04:58,334] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 00:04:58,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 00:04:58,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 00:04:58,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 00:04:58,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 00:04:58,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 00:04:58,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 00:04:58,336] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:04:58,336] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 00:04:58,337] [LogListener] [WARNING] [loggerModule.py:warning:287] 커스텀 폰트 로드 실패 (HakgyoansimDunggeunmisoTTFB.ttf): cannot open resource
[2025-10-24 00:04:58,337] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트를 사용합니다.
[2025-10-24 00:04:58,337] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 00:04:58,337] [LogListener] [DEBUG] [loggerModule.py:debug:275] local_rembg_model_path: D:\py\img_worker\modules\rembg_models
[2025-10-24 00:04:58,337] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 00:04:58,337] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 00:04:58,337] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 00:04:58,338] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 00:04:58,338] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 00:04:58,358] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 00:04:58,571] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:04:58,572] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 00:04:58,572] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:04:58,572] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:04:58,572] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:04:58,572] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:04:58,572] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:04:58,573] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 00:04:58,573] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:04:58,573] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 00:04:58,573] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x00000227381BE150>
[2025-10-24 00:04:58,573] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x00000227381BE150>
[2025-10-24 00:04:58,573] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 00:04:58,573] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:04:58,577] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 00:04:58,578] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 00:04:58,578] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 00:04:58,581] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 00:04:58,581] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 00:04:58,581] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:04:58,581] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:04:58,582] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 00:04:58,582] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:04:58,582] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:04:58,582] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:04:58,582] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=__PING__, uid=14975980-efb4-4794-87c3-549f3a20e61a
[2025-10-24 00:04:58,582] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=__PING__
[2025-10-24 00:04:58,582] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=14975980-efb4-4794-87c3-549f3a20e61a
[2025-10-24 00:04:58,583] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=14975980-efb4-4794-87c3-549f3a20e61a
[2025-10-24 00:04:58,583] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:04:58,583] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:05:58,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:05:58,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:05:58,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:06:58,601] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:06:58,601] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:06:58,601] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:07:58,602] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:07:58,602] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:07:58,602] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:08:53,220] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:08:53,220] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=a5bb72f2-d0b6-4e05-b4a2-f28ea5f5bee6
[2025-10-24 00:08:53,220] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:08:53,220] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 00:08:53,221] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 00:08:53,223] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 00:08:53,704] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 처리 시작: D:\py\img_worker\modules\test\1.jpg - 전체 번역 모드
[2025-10-24 00:08:53,704] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\test\1.jpg
[2025-10-24 00:08:53,706] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 원본 크기: 816x1200
[2025-10-24 00:08:53,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 가로 크기 조정: 816x1200 → 860x1264
[2025-10-24 00:08:53,719] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 크기 조정 완료: 860x1264
[2025-10-24 00:08:53,719] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 로컬 저장위치(상세페이지 전처리 완료): D:\py\img_worker\modules\test\1_resized.jpg
[2025-10-24 00:08:53,722] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:08:53,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 163.4ms
[2025-10-24 00:08:53,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 85.0ms, 인식: 71.4ms, 분류: 4.0ms
[2025-10-24 00:08:53,907] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 31931.9MB -> 32090.0MB (+158.0MB, +0.5%) - 이미지 2
[2025-10-24 00:08:53,920] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '现代极简风格', 'confidence': 0.9960710406303406, 'polygon': [[232.0, 72.0], [581.0, 72.0], [581.0, 122.0], [232.0, 122.0]], 'bbox': (232, 72, 350, 51), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9952024221420288, 'polygon': [[160.0, 149.0], [656.0, 149.0], [656.0, 190.0], [160.0, 190.0]], 'bbox': (160, 149, 497, 42), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9976122379302979, 'polygon': [[93.0, 304.0], [488.0, 304.0], [488.0, 363.0], [93.0, 363.0]], 'bbox': (93, 304, 396, 60), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9930798411369324, 'polygon': [[91.0, 388.0], [486.0, 388.0], [486.0, 448.0], [91.0, 448.0]], 'bbox': (91, 388, 396, 61), 'method': 'polygon'}]
[2025-10-24 00:08:53,920] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR raw 데이터 메모리 저장 완료: 4개 텍스트
[2025-10-24 00:08:53,920] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '现代极简风格'
[2025-10-24 00:08:53,920] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.5%): '更易搭配各种使用场景'
[2025-10-24 00:08:53,920] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '半圆两端设计'
[2025-10-24 00:08:53,921] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.3%): '承载各种欢乐'
[2025-10-24 00:08:53,921] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 4/4개 (신뢰도 + & 중국어)
[2025-10-24 00:08:53,921] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '现代极简风格', 'confidence': 0.9960710406303406, 'polygon': [[232.0, 72.0], [581.0, 72.0], [581.0, 122.0], [232.0, 122.0]], 'bbox': (232, 72, 350, 51), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9952024221420288, 'polygon': [[160.0, 149.0], [656.0, 149.0], [656.0, 190.0], [160.0, 190.0]], 'bbox': (160, 149, 497, 42), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9976122379302979, 'polygon': [[93.0, 304.0], [488.0, 304.0], [488.0, 363.0], [93.0, 363.0]], 'bbox': (93, 304, 396, 60), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9930798411369324, 'polygon': [[91.0, 388.0], [486.0, 388.0], [486.0, 448.0], [91.0, 448.0]], 'bbox': (91, 388, 396, 61), 'method': 'polygon'}]
[2025-10-24 00:08:53,921] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 4개 필터링 완료
[2025-10-24 00:08:53,921] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 00:08:56,496] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고']
[2025-10-24 00:08:56,496] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 00:08:56,496] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR 권한 없음, 전체 번역 모드
[2025-10-24 00:08:56,503] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.136, comps=2, min_center_dist=0.174 → request
[2025-10-24 00:08:56,503] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 4
[2025-10-24 00:08:56,503] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:08:56,503] [LogListener] [DEBUG] [loggerModule.py:debug:275] [set_inpaint_method] prefix=detail, target_key=detail_IMGTrans_type, trans_type=GPU → inpaint_method=migan
[2025-10-24 00:08:56,504] [LogListener] [DEBUG] [loggerModule.py:debug:275] 최종 inpaint_method: migan
[2025-10-24 00:08:56,504] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 00:08:56,507] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 1264, 860), 마스크: (1, 1, 1264, 860)
[2025-10-24 00:08:57,460] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (1264, 860, 3), dtype: uint8
[2025-10-24 00:08:57,460] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 952.95 ms
[2025-10-24 00:08:57,469] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 00:08:57,469] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 32119.6MB -> 32342.7MB (+223.1MB, +0.7%) - 방법: migan
[2025-10-24 00:08:57,469] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 00:08:57,508] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 00:08:57,509] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 00:08:57,509] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 00:08:57,796] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:08:57,798] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 번역 완료: C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:08:57,798] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 4576.1ms | download=0.0ms | ocr=173.4ms | translate=2576.0ms | mask=2576.0ms | inpaint=972.0ms(migan/DirectML) | render=39.0ms | save=256.0ms
[2025-10-24 00:08:57,799] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 00:08:57,799] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=a5bb72f2-d0b6-4e05-b4a2-f28ea5f5bee6
[2025-10-24 00:08:57,799] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=a5bb72f2-d0b6-4e05-b4a2-f28ea5f5bee6
[2025-10-24 00:08:57,799] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:08:57,799] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:09:57,812] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:09:57,812] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:09:57,812] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:10:57,813] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:10:57,813] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:10:57,813] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:11:57,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:11:57,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:11:57,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:12:57,831] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:12:57,831] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:12:57,831] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:13:57,846] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:13:57,846] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:13:57,846] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:14:57,855] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:14:57,855] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:14:57,855] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:15:57,859] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:15:57,859] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:15:57,859] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:16:57,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:16:57,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:16:57,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:17:57,864] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:17:57,864] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:17:57,864] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:18:57,870] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:18:57,870] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:18:57,870] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:19:57,882] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:19:57,882] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:19:57,882] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:20:57,892] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:20:57,892] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:20:57,892] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:21:57,907] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:21:57,907] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:21:57,907] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:22:23,352] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:22:23,352] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=15ff72a7-242b-4fab-94ea-2cd1c22576ee
[2025-10-24 00:22:23,352] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:22:23,353] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 00:22:23,353] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 00:22:23,353] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 00:22:23,588] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 처리 시작: D:\py\img_worker\modules\test\1.jpg - 전체 번역 모드
[2025-10-24 00:22:23,588] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\test\1.jpg
[2025-10-24 00:22:23,590] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 원본 크기: 816x1200
[2025-10-24 00:22:23,592] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 가로 크기 조정: 816x1200 → 860x1264
[2025-10-24 00:22:23,600] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 크기 조정 완료: 860x1264
[2025-10-24 00:22:23,600] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 로컬 저장위치(상세페이지 전처리 완료): D:\py\img_worker\modules\test\1_resized.jpg
[2025-10-24 00:22:23,602] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:22:23,767] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 163.0ms
[2025-10-24 00:22:23,776] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 88.0ms, 인식: 68.0ms, 분류: 4.0ms
[2025-10-24 00:22:23,778] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 35091.9MB -> 35183.8MB (+91.8MB, +0.3%) - 이미지 2
[2025-10-24 00:22:23,779] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '现代极简风格', 'confidence': 0.9960710406303406, 'polygon': [[232.0, 72.0], [581.0, 72.0], [581.0, 122.0], [232.0, 122.0]], 'bbox': (232, 72, 350, 51), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9952024221420288, 'polygon': [[160.0, 149.0], [656.0, 149.0], [656.0, 190.0], [160.0, 190.0]], 'bbox': (160, 149, 497, 42), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9976122379302979, 'polygon': [[93.0, 304.0], [488.0, 304.0], [488.0, 363.0], [93.0, 363.0]], 'bbox': (93, 304, 396, 60), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9930798411369324, 'polygon': [[91.0, 388.0], [486.0, 388.0], [486.0, 448.0], [91.0, 448.0]], 'bbox': (91, 388, 396, 61), 'method': 'polygon'}]
[2025-10-24 00:22:23,779] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR raw 데이터 메모리 저장 완료: 4개 텍스트
[2025-10-24 00:22:23,779] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '现代极简风格'
[2025-10-24 00:22:23,779] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.5%): '更易搭配各种使用场景'
[2025-10-24 00:22:23,779] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '半圆两端设计'
[2025-10-24 00:22:23,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.3%): '承载各种欢乐'
[2025-10-24 00:22:23,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 4/4개 (신뢰도 + & 중국어)
[2025-10-24 00:22:23,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '现代极简风格', 'confidence': 0.9960710406303406, 'polygon': [[232.0, 72.0], [581.0, 72.0], [581.0, 122.0], [232.0, 122.0]], 'bbox': (232, 72, 350, 51), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9952024221420288, 'polygon': [[160.0, 149.0], [656.0, 149.0], [656.0, 190.0], [160.0, 190.0]], 'bbox': (160, 149, 497, 42), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9976122379302979, 'polygon': [[93.0, 304.0], [488.0, 304.0], [488.0, 363.0], [93.0, 363.0]], 'bbox': (93, 304, 396, 60), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9930798411369324, 'polygon': [[91.0, 388.0], [486.0, 388.0], [486.0, 448.0], [91.0, 448.0]], 'bbox': (91, 388, 396, 61), 'method': 'polygon'}]
[2025-10-24 00:22:23,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 4개 필터링 완료
[2025-10-24 00:22:23,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 00:22:23,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고']
[2025-10-24 00:22:23,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 00:22:23,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR 권한 없음, 전체 번역 모드
[2025-10-24 00:22:23,794] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.136, comps=2, min_center_dist=0.174 → request
[2025-10-24 00:22:23,794] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 4
[2025-10-24 00:22:23,795] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:22:23,795] [LogListener] [DEBUG] [loggerModule.py:debug:275] [set_inpaint_method] prefix=detail, target_key=detail_IMGTrans_type, trans_type=GPU → inpaint_method=migan
[2025-10-24 00:22:23,795] [LogListener] [DEBUG] [loggerModule.py:debug:275] 최종 inpaint_method: migan
[2025-10-24 00:22:23,795] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 00:22:23,799] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 1264, 860), 마스크: (1, 1, 1264, 860)
[2025-10-24 00:22:24,044] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (1264, 860, 3), dtype: uint8
[2025-10-24 00:22:24,044] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 246.00 ms
[2025-10-24 00:22:24,054] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 00:22:24,054] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 35182.3MB -> 35185.5MB (+3.3MB, +0.0%) - 방법: migan
[2025-10-24 00:22:24,054] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 00:22:24,079] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 00:22:24,080] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 00:22:24,080] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 00:22:24,394] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:22:24,396] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 번역 완료: C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:22:24,396] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 1041.5ms | download=0.0ms | ocr=173.0ms | translate=7.0ms | mask=7.0ms | inpaint=266.0ms(migan/DirectML) | render=25.0ms | save=273.7ms
[2025-10-24 00:22:24,397] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 00:22:24,397] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 00:22:24,397] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=15ff72a7-242b-4fab-94ea-2cd1c22576ee
[2025-10-24 00:22:24,398] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=15ff72a7-242b-4fab-94ea-2cd1c22576ee
[2025-10-24 00:22:24,398] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 00:22:24,398] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:22:24,398] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10032)
[2025-10-24 00:22:24,447] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:22:24,447] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 00:22:24,447] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 00:22:24,447] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 00:22:24,448] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 00:22:24,448] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 00:22:25,591] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=17692
[2025-10-24 00:22:26,131] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 종료
[2025-10-24 00:22:26,367] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 종료
[2025-10-24 00:22:28,126] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 시작
[2025-10-24 00:22:28,132] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=6808
[2025-10-24 00:22:28,553] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=6808, Name=ImageWorkerProcess)
[2025-10-24 00:22:28,554] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 00:22:28,554] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 00:22:28,560] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 00:22:28,560] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 00:22:28,560] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 00:22:28,560] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 00:22:28,560] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 00:22:28,560] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 00:22:28,560] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 00:22:28,560] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 00:22:28,560] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 00:22:28,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 00:22:28,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:22:28,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:22:28,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 00:22:28,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:22:28,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:22:28,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 00:22:28,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 00:22:28,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 00:22:28,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 00:22:28,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 00:22:28,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 00:22:28,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 00:22:28,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 00:22:28,562] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 00:22:28,562] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:22:28,562] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:22:30,108] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 00:22:30,190] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 00:22:30,191] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 00:22:30,191] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 00:22:30,191] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 00:22:30,191] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 00:22:30,191] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 00:22:30,192] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 00:22:30,192] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:22:30,192] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 00:22:30,192] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:22:30,192] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 00:22:30,192] [LogListener] [DEBUG] [loggerModule.py:debug:275] local_rembg_model_path: D:\py\img_worker\modules\rembg_models
[2025-10-24 00:22:30,192] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 00:22:30,192] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 00:22:30,192] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 00:22:30,192] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 00:22:30,192] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 00:22:30,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 00:22:30,411] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:22:30,411] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 00:22:30,411] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:22:30,411] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:22:30,411] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:22:30,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:22:30,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:22:30,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 00:22:30,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:22:30,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 00:22:30,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x00000211F2CBFF10>
[2025-10-24 00:22:30,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x00000211F2CBFF10>
[2025-10-24 00:22:30,413] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 00:22:30,413] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:22:30,417] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 5.0ms
[2025-10-24 00:22:30,417] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 00:22:30,417] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 00:22:30,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 00:22:30,421] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 00:22:30,421] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:22:30,421] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:22:30,421] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 00:22:30,422] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:22:30,422] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 6808)
[2025-10-24 00:22:30,422] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:22:30,422] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=__PING__, uid=7a971343-a409-4ae1-a6a3-80ae6b4abf4e
[2025-10-24 00:22:30,422] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=__PING__
[2025-10-24 00:22:30,422] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=7a971343-a409-4ae1-a6a3-80ae6b4abf4e
[2025-10-24 00:22:30,422] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=7a971343-a409-4ae1-a6a3-80ae6b4abf4e
[2025-10-24 00:22:30,423] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:22:30,423] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 6808)
[2025-10-24 00:23:30,429] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:23:30,429] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:23:30,429] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 6808)
[2025-10-24 00:24:30,433] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:24:30,433] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:24:30,433] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 6808)
[2025-10-24 00:25:30,436] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:25:30,436] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:25:30,436] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 6808)
[2025-10-24 00:26:30,437] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:26:30,437] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:26:30,437] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 6808)
[2025-10-24 00:27:30,448] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:27:30,449] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:27:30,449] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 6808)
[2025-10-24 00:28:30,461] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:28:30,461] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:28:30,461] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 6808)
[2025-10-24 00:29:30,470] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:29:30,470] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:29:30,470] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 6808)
[2025-10-24 00:30:30,473] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:30:30,473] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:30:30,473] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 6808)
[2025-10-24 00:31:30,480] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:31:30,480] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:31:30,480] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 6808)
[2025-10-24 00:32:30,490] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:32:30,490] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:32:30,490] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 6808)
[2025-10-24 00:32:33,663] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:32:33,663] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=fa726b7d-5e57-4e80-b856-00f4835b4594
[2025-10-24 00:32:33,663] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:32:33,663] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 00:32:33,664] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 00:32:33,666] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 00:32:34,040] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 처리 시작: D:\py\img_worker\modules\test\1.jpg - 전체 번역 모드
[2025-10-24 00:32:34,040] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\test\1.jpg
[2025-10-24 00:32:34,042] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 원본 크기: 816x1200
[2025-10-24 00:32:34,047] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 가로 크기 조정: 816x1200 → 860x1264
[2025-10-24 00:32:34,054] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 크기 조정 완료: 860x1264
[2025-10-24 00:32:34,054] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 로컬 저장위치(상세페이지 전처리 완료): D:\py\img_worker\modules\test\1_resized.jpg
[2025-10-24 00:32:34,057] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:32:34,218] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 160.0ms
[2025-10-24 00:32:34,218] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 88.0ms, 인식: 66.0ms, 분류: 3.0ms
[2025-10-24 00:32:34,231] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 31889.6MB -> 32015.4MB (+125.8MB, +0.4%) - 이미지 2
[2025-10-24 00:32:34,247] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '现代极简风格', 'confidence': 0.9960710406303406, 'polygon': [[232.0, 72.0], [581.0, 72.0], [581.0, 122.0], [232.0, 122.0]], 'bbox': (232, 72, 350, 51), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9952024221420288, 'polygon': [[160.0, 149.0], [656.0, 149.0], [656.0, 190.0], [160.0, 190.0]], 'bbox': (160, 149, 497, 42), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9976122379302979, 'polygon': [[93.0, 304.0], [488.0, 304.0], [488.0, 363.0], [93.0, 363.0]], 'bbox': (93, 304, 396, 60), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9930798411369324, 'polygon': [[91.0, 388.0], [486.0, 388.0], [486.0, 448.0], [91.0, 448.0]], 'bbox': (91, 388, 396, 61), 'method': 'polygon'}]
[2025-10-24 00:32:34,252] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR raw 데이터 메모리 저장 완료: 4개 텍스트
[2025-10-24 00:32:34,252] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '现代极简风格'
[2025-10-24 00:32:34,252] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.5%): '更易搭配各种使用场景'
[2025-10-24 00:32:34,252] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '半圆两端设计'
[2025-10-24 00:32:34,252] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.3%): '承载各种欢乐'
[2025-10-24 00:32:34,252] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 4/4개 (신뢰도 + & 중국어)
[2025-10-24 00:32:34,252] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '现代极简风格', 'confidence': 0.9960710406303406, 'polygon': [[232.0, 72.0], [581.0, 72.0], [581.0, 122.0], [232.0, 122.0]], 'bbox': (232, 72, 350, 51), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9952024221420288, 'polygon': [[160.0, 149.0], [656.0, 149.0], [656.0, 190.0], [160.0, 190.0]], 'bbox': (160, 149, 497, 42), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9976122379302979, 'polygon': [[93.0, 304.0], [488.0, 304.0], [488.0, 363.0], [93.0, 363.0]], 'bbox': (93, 304, 396, 60), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9930798411369324, 'polygon': [[91.0, 388.0], [486.0, 388.0], [486.0, 448.0], [91.0, 448.0]], 'bbox': (91, 388, 396, 61), 'method': 'polygon'}]
[2025-10-24 00:32:34,253] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 4개 필터링 완료
[2025-10-24 00:32:34,253] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 00:32:34,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고']
[2025-10-24 00:32:34,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 00:32:34,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR 권한 없음, 전체 번역 모드
[2025-10-24 00:32:34,733] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.136, comps=2, min_center_dist=0.174 → request
[2025-10-24 00:32:34,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 4
[2025-10-24 00:32:34,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:32:34,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] [set_inpaint_method] prefix=detail, target_key=detail_IMGTrans_type, trans_type=GPU → inpaint_method=migan
[2025-10-24 00:32:34,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] 최종 inpaint_method: migan
[2025-10-24 00:32:34,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 00:32:34,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 1264, 860), 마스크: (1, 1, 1264, 860)
[2025-10-24 00:32:35,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (1264, 860, 3), dtype: uint8
[2025-10-24 00:32:35,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 638.94 ms
[2025-10-24 00:32:35,391] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 00:32:35,391] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 32047.5MB -> 32235.9MB (+188.4MB, +0.6%) - 방법: migan
[2025-10-24 00:32:35,391] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 00:32:35,438] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 00:32:35,438] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 00:32:35,438] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 00:32:35,757] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:32:35,758] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 번역 완료: C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:32:35,758] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 2093.6ms | download=0.0ms | ocr=169.0ms | translate=474.9ms | mask=474.9ms | inpaint=662.9ms(migan/DirectML) | render=46.0ms | save=281.4ms
[2025-10-24 00:32:35,759] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 00:32:35,759] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=fa726b7d-5e57-4e80-b856-00f4835b4594
[2025-10-24 00:32:35,759] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=fa726b7d-5e57-4e80-b856-00f4835b4594
[2025-10-24 00:32:35,759] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:32:35,760] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 6808)
[2025-10-24 00:33:31,814] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:33:31,814] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=remove_background, uid=0e9d4375-a1fb-409d-903e-1d482dd43ed7
[2025-10-24 00:33:31,814] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:33:31,814] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=remove_background
[2025-10-24 00:33:31,814] [LogListener] [DEBUG] [loggerModule.py:debug:275] remove_background 호출 직전
[2025-10-24 00:33:31,815] [LogListener] [DEBUG] [loggerModule.py:debug:275] request_rembg 호출: use_local_rembg=True, local_model_name=birefnet-general-lite
[2025-10-24 00:33:31,817] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 백업 rembg 시작: model_name=birefnet-general-lite, object_ratio=0.75, debug_save=True, force_cpu=False
[2025-10-24 00:33:31,817] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📁 디버그 이미지 저장 디렉토리: C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_cjds1u2w
[2025-10-24 00:33:31,834] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 1단계 저장 완료: 입력 이미지 (1200, 816, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_cjds1u2w\01_input_image.png
[2025-10-24 00:33:31,835] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 모듈 초기화 시작
[2025-10-24 00:33:31,835] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX Runtime 사용 가능한 프로바이더: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:33:31,836] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI CPU 모드로 설정
[2025-10-24 00:33:31,836] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 모듈 초기화 완료
[2025-10-24 00:33:31,836] [LogListener] [DEBUG] [loggerModule.py:debug:275] 백업용 내장 rembg 모듈 초기화됨
[2025-10-24 00:33:31,836] [LogListener] [WARNING] [loggerModule.py:warning:287] 지원하지 않는 모델명 (birefnet-general-lite). bria-rmbg-1.4로 대체 사용
[2025-10-24 00:33:31,864] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 안전한 임시 파일 생성: C:\Users\ADMINI~1\AppData\Local\Temp\rembg_8d817431.png (크기: 736863 bytes)
[2025-10-24 00:33:31,865] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 2단계 저장 완료: 임시 파일 복사 → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_cjds1u2w\02_temp_file_copy.png
[2025-10-24 00:33:31,865] [LogListener] [DEBUG] [loggerModule.py:debug:275] 백업 rembg 모듈로 배경 제거 시작: bria-rmbg-1.4
[2025-10-24 00:33:31,865] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 DirectML GPU 모드로 배경 제거 실행
[2025-10-24 00:33:31,865] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI ONNX 모델 로딩 시도 (원본 providers): D:\py\img_worker\modules\rembg_models
[2025-10-24 00:33:31,867] [LogListener] [WARNING] [loggerModule.py:warning:287] BriaAI ONNX 모델 로딩 실패 (원본 providers): [ONNXRuntimeError] : 1 : FAIL : Load model from D:\py\img_worker\modules\rembg_models failed:system error number 13
[2025-10-24 00:33:31,867] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI ONNX 모델 로딩 시도 (CPU 폴백): D:\py\img_worker\modules\rembg_models
[2025-10-24 00:33:31,867] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 CPU 안전 모드: 모든 최적화 비활성화
[2025-10-24 00:33:31,868] [LogListener] [ERROR] [loggerModule.py:error:293] BriaAI ONNX 모델 로딩 실패 (CPU 폴백): [ONNXRuntimeError] : 1 : FAIL : Load model from D:\py\img_worker\modules\rembg_models failed:system error number 13
[2025-10-24 00:33:31,868] [LogListener] [ERROR] [loggerModule.py:error:293] 모든 provider에서 BriaAI ONNX 모델 로딩 실패
[2025-10-24 00:33:31,868] [LogListener] [ERROR] [loggerModule.py:error:293] 내장 rembg 모듈(bria-rmbg-1.4) 처리 실패
[2025-10-24 00:33:31,868] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 파일 삭제 완료: C:\Users\ADMINI~1\AppData\Local\Temp\rembg_8d817431.png
[2025-10-24 00:33:31,868] [LogListener] [ERROR] [loggerModule.py:error:293] RemoveBG 실패
[2025-10-24 00:33:31,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] remove_background 호출 완료
[2025-10-24 00:33:31,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=0e9d4375-a1fb-409d-903e-1d482dd43ed7
[2025-10-24 00:33:31,869] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 00:33:31,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=0e9d4375-a1fb-409d-903e-1d482dd43ed7
[2025-10-24 00:33:31,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:33:31,869] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 00:33:31,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 6808)
[2025-10-24 00:33:31,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:33:31,870] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 00:33:33,196] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=14840
[2025-10-24 00:33:33,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=14840, Name=ImageWorkerProcess)
[2025-10-24 00:33:33,659] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 00:33:33,659] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 00:33:33,665] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 00:33:33,665] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 00:33:33,665] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 00:33:33,666] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 00:33:33,666] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 00:33:33,666] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 00:33:33,666] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 00:33:33,666] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 00:33:33,666] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 00:33:33,666] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 00:33:33,666] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:33:33,666] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:33:33,666] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 00:33:33,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:33:33,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:33:33,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 00:33:33,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 00:33:33,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 00:33:33,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 00:33:33,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 00:33:33,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 00:33:33,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 00:33:33,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 00:33:33,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 00:33:33,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:33:33,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:33:35,224] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 00:33:35,307] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 00:33:35,307] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 00:33:35,307] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 00:33:35,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 00:33:35,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 00:33:35,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 00:33:35,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 00:33:35,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:33:35,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 00:33:35,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:33:35,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 00:33:35,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] local_rembg_model_path: D:\py\img_worker\modules\rembg_models
[2025-10-24 00:33:35,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 00:33:35,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 00:33:35,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 00:33:35,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 00:33:35,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 00:33:35,554] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 00:33:35,555] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:33:35,555] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 00:33:35,555] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:33:35,555] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:33:35,555] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:33:35,555] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:33:35,556] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:33:35,556] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 00:33:35,556] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:33:35,556] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 00:33:35,556] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x00000234D3C7A050>
[2025-10-24 00:33:35,556] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x00000234D3C7A050>
[2025-10-24 00:33:35,556] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 00:33:35,556] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:33:35,560] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.7ms
[2025-10-24 00:33:35,560] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.1ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 00:33:35,561] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 00:33:35,563] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 00:33:35,564] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 00:33:35,564] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:33:35,564] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:33:35,564] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 00:33:35,564] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:33:35,564] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 14840)
[2025-10-24 00:33:56,204] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:33:56,205] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=8c6e84e5-2e73-4af6-b3e8-c88181c463b4
[2025-10-24 00:33:56,205] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:33:56,205] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 00:33:56,205] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 00:33:56,207] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 00:33:56,435] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 처리 시작: D:\py\img_worker\modules\test\1.jpg - 전체 번역 모드
[2025-10-24 00:33:56,435] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\test\1.jpg
[2025-10-24 00:33:56,437] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 원본 크기: 816x1200
[2025-10-24 00:33:56,442] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 가로 크기 조정: 816x1200 → 860x1264
[2025-10-24 00:33:56,449] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 크기 조정 완료: 860x1264
[2025-10-24 00:33:56,450] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 로컬 저장위치(상세페이지 전처리 완료): D:\py\img_worker\modules\test\1_resized.jpg
[2025-10-24 00:33:56,452] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:33:56,625] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 171.0ms
[2025-10-24 00:33:56,638] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 85.0ms, 인식: 80.0ms, 분류: 4.0ms
[2025-10-24 00:33:56,654] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 33736.0MB -> 33871.0MB (+134.9MB, +0.4%) - 이미지 2
[2025-10-24 00:33:56,654] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '现代极简风格', 'confidence': 0.9960710406303406, 'polygon': [[232.0, 72.0], [581.0, 72.0], [581.0, 122.0], [232.0, 122.0]], 'bbox': (232, 72, 350, 51), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9952024221420288, 'polygon': [[160.0, 149.0], [656.0, 149.0], [656.0, 190.0], [160.0, 190.0]], 'bbox': (160, 149, 497, 42), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9976122379302979, 'polygon': [[93.0, 304.0], [488.0, 304.0], [488.0, 363.0], [93.0, 363.0]], 'bbox': (93, 304, 396, 60), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9930798411369324, 'polygon': [[91.0, 388.0], [486.0, 388.0], [486.0, 448.0], [91.0, 448.0]], 'bbox': (91, 388, 396, 61), 'method': 'polygon'}]
[2025-10-24 00:33:56,660] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR raw 데이터 메모리 저장 완료: 4개 텍스트
[2025-10-24 00:33:56,660] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '现代极简风格'
[2025-10-24 00:33:56,660] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.5%): '更易搭配各种使用场景'
[2025-10-24 00:33:56,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '半圆两端设计'
[2025-10-24 00:33:56,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.3%): '承载各种欢乐'
[2025-10-24 00:33:56,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 4/4개 (신뢰도 + & 중국어)
[2025-10-24 00:33:56,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '现代极简风格', 'confidence': 0.9960710406303406, 'polygon': [[232.0, 72.0], [581.0, 72.0], [581.0, 122.0], [232.0, 122.0]], 'bbox': (232, 72, 350, 51), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9952024221420288, 'polygon': [[160.0, 149.0], [656.0, 149.0], [656.0, 190.0], [160.0, 190.0]], 'bbox': (160, 149, 497, 42), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9976122379302979, 'polygon': [[93.0, 304.0], [488.0, 304.0], [488.0, 363.0], [93.0, 363.0]], 'bbox': (93, 304, 396, 60), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9930798411369324, 'polygon': [[91.0, 388.0], [486.0, 388.0], [486.0, 448.0], [91.0, 448.0]], 'bbox': (91, 388, 396, 61), 'method': 'polygon'}]
[2025-10-24 00:33:56,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 4개 필터링 완료
[2025-10-24 00:33:56,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 00:33:57,190] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고']
[2025-10-24 00:33:57,190] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 00:33:57,190] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR 권한 없음, 전체 번역 모드
[2025-10-24 00:33:57,197] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.136, comps=2, min_center_dist=0.174 → request
[2025-10-24 00:33:57,197] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 4
[2025-10-24 00:33:57,197] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:33:57,198] [LogListener] [DEBUG] [loggerModule.py:debug:275] [set_inpaint_method] prefix=detail, target_key=detail_IMGTrans_type, trans_type=GPU → inpaint_method=migan
[2025-10-24 00:33:57,198] [LogListener] [DEBUG] [loggerModule.py:debug:275] 최종 inpaint_method: migan
[2025-10-24 00:33:57,198] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 00:33:57,201] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 1264, 860), 마스크: (1, 1, 1264, 860)
[2025-10-24 00:33:57,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (1264, 860, 3), dtype: uint8
[2025-10-24 00:33:57,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 459.25 ms
[2025-10-24 00:33:57,669] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 00:33:57,669] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 33893.7MB -> 34077.5MB (+183.8MB, +0.5%) - 방법: migan
[2025-10-24 00:33:57,669] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 00:33:57,714] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 00:33:57,715] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 00:33:57,715] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 00:33:58,028] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:33:58,029] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 번역 완료: C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:33:58,029] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 1823.5ms | download=0.3ms | ocr=181.0ms | translate=528.5ms | mask=528.5ms | inpaint=477.2ms(migan/DirectML) | render=45.0ms | save=281.0ms
[2025-10-24 00:33:58,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 00:33:58,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=8c6e84e5-2e73-4af6-b3e8-c88181c463b4
[2025-10-24 00:33:58,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=8c6e84e5-2e73-4af6-b3e8-c88181c463b4
[2025-10-24 00:33:58,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:33:58,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 14840)
[2025-10-24 00:34:31,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:34:31,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=remove_background, uid=32bb78ef-42f8-4bbc-a295-9452e2c1446c
[2025-10-24 00:34:31,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:34:31,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=remove_background
[2025-10-24 00:34:31,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] remove_background 호출 직전
[2025-10-24 00:34:31,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] request_rembg 호출: use_local_rembg=True, local_model_name=birefnet-general-lite
[2025-10-24 00:34:31,998] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 백업 rembg 시작: model_name=birefnet-general-lite, object_ratio=0.75, debug_save=True, force_cpu=False
[2025-10-24 00:34:31,999] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📁 디버그 이미지 저장 디렉토리: C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_3_rs6gc7
[2025-10-24 00:34:32,016] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 1단계 저장 완료: 입력 이미지 (1200, 816, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_3_rs6gc7\01_input_image.png
[2025-10-24 00:34:32,016] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 모듈 초기화 시작
[2025-10-24 00:34:32,016] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX Runtime 사용 가능한 프로바이더: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:34:32,016] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI CPU 모드로 설정
[2025-10-24 00:34:32,017] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 모듈 초기화 완료
[2025-10-24 00:34:32,017] [LogListener] [DEBUG] [loggerModule.py:debug:275] 백업용 내장 rembg 모듈 초기화됨
[2025-10-24 00:34:32,017] [LogListener] [WARNING] [loggerModule.py:warning:287] 지원하지 않는 모델명 (birefnet-general-lite). bria-rmbg-1.4로 대체 사용
[2025-10-24 00:34:32,044] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 안전한 임시 파일 생성: C:\Users\ADMINI~1\AppData\Local\Temp\rembg_84e224b3.png (크기: 736863 bytes)
[2025-10-24 00:34:32,045] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 2단계 저장 완료: 임시 파일 복사 → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_3_rs6gc7\02_temp_file_copy.png
[2025-10-24 00:34:32,045] [LogListener] [DEBUG] [loggerModule.py:debug:275] 백업 rembg 모듈로 배경 제거 시작: bria-rmbg-1.4
[2025-10-24 00:34:32,045] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 DirectML GPU 모드로 배경 제거 실행
[2025-10-24 00:34:32,045] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI ONNX 모델 로딩 시도 (원본 providers): D:\py\img_worker\modules\rembg_models
[2025-10-24 00:34:32,047] [LogListener] [WARNING] [loggerModule.py:warning:287] BriaAI ONNX 모델 로딩 실패 (원본 providers): [ONNXRuntimeError] : 1 : FAIL : Load model from D:\py\img_worker\modules\rembg_models failed:system error number 13
[2025-10-24 00:34:32,047] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI ONNX 모델 로딩 시도 (CPU 폴백): D:\py\img_worker\modules\rembg_models
[2025-10-24 00:34:32,047] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 CPU 안전 모드: 모든 최적화 비활성화
[2025-10-24 00:34:32,048] [LogListener] [ERROR] [loggerModule.py:error:293] BriaAI ONNX 모델 로딩 실패 (CPU 폴백): [ONNXRuntimeError] : 1 : FAIL : Load model from D:\py\img_worker\modules\rembg_models failed:system error number 13
[2025-10-24 00:34:32,048] [LogListener] [ERROR] [loggerModule.py:error:293] 모든 provider에서 BriaAI ONNX 모델 로딩 실패
[2025-10-24 00:34:32,048] [LogListener] [ERROR] [loggerModule.py:error:293] 내장 rembg 모듈(bria-rmbg-1.4) 처리 실패
[2025-10-24 00:34:32,048] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 파일 삭제 완료: C:\Users\ADMINI~1\AppData\Local\Temp\rembg_84e224b3.png
[2025-10-24 00:34:32,048] [LogListener] [ERROR] [loggerModule.py:error:293] RemoveBG 실패
[2025-10-24 00:34:32,049] [LogListener] [DEBUG] [loggerModule.py:debug:275] remove_background 호출 완료
[2025-10-24 00:34:32,049] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=32bb78ef-42f8-4bbc-a295-9452e2c1446c
[2025-10-24 00:34:32,049] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 00:34:32,049] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=32bb78ef-42f8-4bbc-a295-9452e2c1446c
[2025-10-24 00:34:32,049] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:34:32,049] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 00:34:32,049] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 14840)
[2025-10-24 00:34:32,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:34:32,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 00:34:33,346] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=13068
[2025-10-24 00:34:33,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=13068, Name=ImageWorkerProcess)
[2025-10-24 00:34:33,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 00:34:33,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 00:34:33,795] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 00:34:33,795] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 00:34:33,795] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 00:34:33,795] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 00:34:33,796] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 00:34:33,796] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 00:34:33,796] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 00:34:33,796] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 00:34:33,796] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 00:34:33,796] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 00:34:33,796] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:34:33,796] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:34:33,796] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 00:34:33,797] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:34:33,797] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:34:33,797] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 00:34:33,797] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 00:34:33,797] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 00:34:33,797] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 00:34:33,797] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 00:34:33,797] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 00:34:33,797] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 00:34:33,797] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 00:34:33,797] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 00:34:33,797] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:34:33,797] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:34:35,316] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 00:34:35,401] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 00:34:35,401] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 00:34:35,401] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 00:34:35,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 00:34:35,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 00:34:35,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 00:34:35,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 00:34:35,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:34:35,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 00:34:35,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:34:35,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 00:34:35,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] local_rembg_model_path: D:\py\img_worker\modules\rembg_models
[2025-10-24 00:34:35,403] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 00:34:35,403] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 00:34:35,403] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 00:34:35,403] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 00:34:35,403] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 00:34:35,636] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 00:34:35,636] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:34:35,636] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 00:34:35,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:34:35,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:34:35,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:34:35,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:34:35,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:34:35,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 00:34:35,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:34:35,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 00:34:35,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x000001E6770EFFD0>
[2025-10-24 00:34:35,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x000001E6770EFFD0>
[2025-10-24 00:34:35,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 00:34:35,638] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:34:35,642] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 5.0ms
[2025-10-24 00:34:35,642] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 2.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 00:34:35,642] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 00:34:35,645] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 00:34:35,646] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 00:34:35,646] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:34:35,646] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:34:35,646] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 00:34:35,646] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:34:35,646] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 13068)
[2025-10-24 00:35:35,654] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:35:35,654] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:35:35,654] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 13068)
[2025-10-24 00:36:35,657] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:36:35,657] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:36:35,657] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 13068)
[2025-10-24 00:37:35,671] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:37:35,671] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:37:35,671] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 13068)
[2025-10-24 00:38:35,679] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:38:35,679] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:38:35,679] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 13068)
[2025-10-24 00:39:35,681] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:39:35,681] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:39:35,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 13068)
[2025-10-24 00:40:25,766] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 종료
[2025-10-24 00:40:26,214] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 종료
[2025-10-24 00:40:28,078] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 시작
[2025-10-24 00:40:28,084] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=8648
[2025-10-24 00:40:28,521] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=8648, Name=ImageWorkerProcess)
[2025-10-24 00:40:28,521] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 00:40:28,521] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 00:40:28,528] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 00:40:28,528] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 00:40:28,528] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 00:40:28,528] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 00:40:28,528] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 00:40:28,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 00:40:28,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 00:40:28,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 00:40:28,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 00:40:28,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 00:40:28,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:40:28,530] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:40:28,530] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 00:40:28,530] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:40:28,530] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:40:28,530] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 00:40:28,530] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 00:40:28,530] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 00:40:28,530] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 00:40:28,530] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 00:40:28,531] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 00:40:28,531] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 00:40:28,531] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 00:40:28,531] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 00:40:28,531] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:40:28,531] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:40:30,046] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 00:40:30,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 00:40:30,132] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 00:40:30,132] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 00:40:30,132] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 00:40:30,132] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 00:40:30,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 00:40:30,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 00:40:30,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:40:30,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 00:40:30,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:40:30,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 00:40:30,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 00:40:30,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 00:40:30,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 00:40:30,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 00:40:30,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 00:40:30,151] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 00:40:30,353] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:40:30,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 00:40:30,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:40:30,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:40:30,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:40:30,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:40:30,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:40:30,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 00:40:30,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:40:30,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 00:40:30,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x00000296E7A1DD90>
[2025-10-24 00:40:30,355] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x00000296E7A1DD90>
[2025-10-24 00:40:30,355] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 00:40:30,355] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:40:30,359] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 00:40:30,359] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 00:40:30,360] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 00:40:30,363] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 00:40:30,363] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 00:40:30,363] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:40:30,363] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:40:30,364] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 00:40:30,364] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:40:30,364] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 8648)
[2025-10-24 00:40:30,364] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:40:30,364] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=__PING__, uid=949fa4bd-49d4-487f-a7e0-066e5a1b6292
[2025-10-24 00:40:30,364] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=__PING__
[2025-10-24 00:40:30,365] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=949fa4bd-49d4-487f-a7e0-066e5a1b6292
[2025-10-24 00:40:30,365] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=949fa4bd-49d4-487f-a7e0-066e5a1b6292
[2025-10-24 00:40:30,365] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:40:30,365] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 8648)
[2025-10-24 00:40:31,635] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:40:31,635] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=remove_background, uid=60d8cd56-db30-431b-8958-3467fde93bb9
[2025-10-24 00:40:31,635] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:40:31,635] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=remove_background
[2025-10-24 00:40:31,635] [LogListener] [DEBUG] [loggerModule.py:debug:275] remove_background 호출 직전
[2025-10-24 00:40:31,635] [LogListener] [DEBUG] [loggerModule.py:debug:275] request_rembg 호출: use_local_rembg=True, local_model_name=birefnet-general-lite
[2025-10-24 00:40:31,638] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 백업 rembg 시작: model_name=birefnet-general-lite, object_ratio=0.75, debug_save=True, force_cpu=False
[2025-10-24 00:40:31,638] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📁 디버그 이미지 저장 디렉토리: C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_sp6854pc
[2025-10-24 00:40:31,655] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 1단계 저장 완료: 입력 이미지 (1200, 816, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_sp6854pc\01_input_image.png
[2025-10-24 00:40:31,655] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 모듈 초기화 시작
[2025-10-24 00:40:31,655] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX Runtime 사용 가능한 프로바이더: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:40:31,655] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI CPU 모드로 설정
[2025-10-24 00:40:31,656] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 모듈 초기화 완료
[2025-10-24 00:40:31,656] [LogListener] [DEBUG] [loggerModule.py:debug:275] 백업용 내장 rembg 모듈 초기화됨
[2025-10-24 00:40:31,656] [LogListener] [WARNING] [loggerModule.py:warning:287] 지원하지 않는 모델명 (birefnet-general-lite). bria-rmbg-1.4로 대체 사용
[2025-10-24 00:40:31,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 안전한 임시 파일 생성: C:\Users\ADMINI~1\AppData\Local\Temp\rembg_729bfa7f.png (크기: 736863 bytes)
[2025-10-24 00:40:31,684] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 2단계 저장 완료: 임시 파일 복사 → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_sp6854pc\02_temp_file_copy.png
[2025-10-24 00:40:31,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] 백업 rembg 모듈로 배경 제거 시작: bria-rmbg-1.4
[2025-10-24 00:40:31,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 DirectML GPU 모드로 배경 제거 실행
[2025-10-24 00:40:31,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI ONNX 모델 로딩 시도 (원본 providers): D:\py\img_worker\modules\rembg_models
[2025-10-24 00:40:31,687] [LogListener] [WARNING] [loggerModule.py:warning:287] BriaAI ONNX 모델 로딩 실패 (원본 providers): [ONNXRuntimeError] : 1 : FAIL : Load model from D:\py\img_worker\modules\rembg_models failed:system error number 13
[2025-10-24 00:40:31,688] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI ONNX 모델 로딩 시도 (CPU 폴백): D:\py\img_worker\modules\rembg_models
[2025-10-24 00:40:31,688] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 CPU 안전 모드: 모든 최적화 비활성화
[2025-10-24 00:40:31,689] [LogListener] [ERROR] [loggerModule.py:error:293] BriaAI ONNX 모델 로딩 실패 (CPU 폴백): [ONNXRuntimeError] : 1 : FAIL : Load model from D:\py\img_worker\modules\rembg_models failed:system error number 13
[2025-10-24 00:40:31,689] [LogListener] [ERROR] [loggerModule.py:error:293] 모든 provider에서 BriaAI ONNX 모델 로딩 실패
[2025-10-24 00:40:31,689] [LogListener] [ERROR] [loggerModule.py:error:293] 내장 rembg 모듈(bria-rmbg-1.4) 처리 실패
[2025-10-24 00:40:31,689] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 파일 삭제 완료: C:\Users\ADMINI~1\AppData\Local\Temp\rembg_729bfa7f.png
[2025-10-24 00:40:31,689] [LogListener] [ERROR] [loggerModule.py:error:293] RemoveBG 실패
[2025-10-24 00:40:31,689] [LogListener] [DEBUG] [loggerModule.py:debug:275] remove_background 호출 완료
[2025-10-24 00:40:31,690] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=60d8cd56-db30-431b-8958-3467fde93bb9
[2025-10-24 00:40:31,690] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=60d8cd56-db30-431b-8958-3467fde93bb9
[2025-10-24 00:40:31,690] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:40:31,690] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 8648)
[2025-10-24 00:41:24,807] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 종료
[2025-10-24 00:41:25,223] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 종료
[2025-10-24 00:41:26,891] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 시작
[2025-10-24 00:41:26,896] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=10156
[2025-10-24 00:41:27,357] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=10156, Name=ImageWorkerProcess)
[2025-10-24 00:41:27,357] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 00:41:27,357] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 00:41:27,365] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 00:41:27,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 00:41:27,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 00:41:27,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 00:41:27,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 00:41:27,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 00:41:27,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 00:41:27,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 00:41:27,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 00:41:27,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 00:41:27,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:41:27,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:41:27,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 00:41:27,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:41:27,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:41:27,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 00:41:27,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 00:41:27,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 00:41:27,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 00:41:27,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 00:41:27,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 00:41:27,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 00:41:27,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 00:41:27,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 00:41:27,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:41:27,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:41:28,908] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 00:41:28,993] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 00:41:28,994] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 00:41:28,994] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 00:41:28,994] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 00:41:28,994] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 00:41:28,994] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 00:41:28,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 00:41:28,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:41:28,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 00:41:28,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:41:28,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 00:41:28,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 00:41:28,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 00:41:28,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 00:41:28,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 00:41:28,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 00:41:29,017] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 00:41:29,238] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:41:29,239] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 00:41:29,239] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:41:29,239] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:41:29,239] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:41:29,239] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:41:29,239] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:41:29,239] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 00:41:29,239] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:41:29,240] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 00:41:29,240] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x0000023ACEF8ABD0>
[2025-10-24 00:41:29,240] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x0000023ACEF8ABD0>
[2025-10-24 00:41:29,240] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 00:41:29,240] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:41:29,245] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 00:41:29,245] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 00:41:29,245] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 00:41:29,248] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 00:41:29,248] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 00:41:29,248] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:41:29,249] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:41:29,249] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 00:41:29,249] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:41:29,249] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10156)
[2025-10-24 00:41:29,250] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:41:29,250] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=__PING__, uid=c1bdaa2a-14ce-4d0b-a57b-9278e393bb94
[2025-10-24 00:41:29,250] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=__PING__
[2025-10-24 00:41:29,250] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=c1bdaa2a-14ce-4d0b-a57b-9278e393bb94
[2025-10-24 00:41:29,250] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=c1bdaa2a-14ce-4d0b-a57b-9278e393bb94
[2025-10-24 00:41:29,250] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:41:29,250] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10156)
[2025-10-24 00:41:29,902] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:41:29,902] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=remove_background, uid=52608b8c-1f3b-4e93-aca4-4949d943051b
[2025-10-24 00:41:29,902] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:41:29,902] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=remove_background
[2025-10-24 00:41:29,903] [LogListener] [DEBUG] [loggerModule.py:debug:275] remove_background 호출 직전
[2025-10-24 00:41:29,903] [LogListener] [DEBUG] [loggerModule.py:debug:275] request_rembg 호출: use_local_rembg=True, local_model_name=birefnet-general-lite
[2025-10-24 00:41:29,905] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 백업 rembg 시작: model_name=birefnet-general-lite, object_ratio=0.75, debug_save=True, force_cpu=False
[2025-10-24 00:41:29,905] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📁 디버그 이미지 저장 디렉토리: C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_p9jvrk4k
[2025-10-24 00:41:29,923] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 1단계 저장 완료: 입력 이미지 (1200, 816, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_p9jvrk4k\01_input_image.png
[2025-10-24 00:41:29,923] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 모듈 초기화 시작
[2025-10-24 00:41:29,923] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX Runtime 사용 가능한 프로바이더: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:41:29,923] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI CPU 모드로 설정
[2025-10-24 00:41:29,923] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 모듈 초기화 완료
[2025-10-24 00:41:29,924] [LogListener] [DEBUG] [loggerModule.py:debug:275] 백업용 내장 rembg 모듈 초기화됨
[2025-10-24 00:41:29,924] [LogListener] [WARNING] [loggerModule.py:warning:287] 지원하지 않는 모델명 (birefnet-general-lite). bria-rmbg-1.4로 대체 사용
[2025-10-24 00:41:29,951] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 안전한 임시 파일 생성: C:\Users\ADMINI~1\AppData\Local\Temp\rembg_91cc4e38.png (크기: 736863 bytes)
[2025-10-24 00:41:29,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 2단계 저장 완료: 임시 파일 복사 → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_p9jvrk4k\02_temp_file_copy.png
[2025-10-24 00:41:29,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] 백업 rembg 모듈로 배경 제거 시작: bria-rmbg-1.4
[2025-10-24 00:41:29,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 DirectML GPU 모드로 배경 제거 실행
[2025-10-24 00:41:29,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI ONNX 모델 로딩 시도 (원본 providers): D:\py\img_worker\modules\rembg_models\BriaRMBG1.4_model_fp16.onnx
[2025-10-24 00:41:30,070] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ BriaAI ONNX 모델 로딩 완료 (원본 providers) | Providers: ['CPUExecutionProvider'] | Input: input | Output: output
[2025-10-24 00:41:30,081] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 시작: bria-rmbg-1.4 (aggressiveness=0.5)
[2025-10-24 00:41:30,093] [LogListener] [DEBUG] [loggerModule.py:debug:275] 전처리 완료: (1200, 816, 3) -> (1, 3, 1024, 1024), 값 범위: [-0.500, 0.500]
[2025-10-24 00:41:30,495] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 출력 개수: 1, 첫 번째 출력 shape: (1, 1, 1024, 1024)
[2025-10-24 00:41:30,495] [LogListener] [DEBUG] [loggerModule.py:debug:275] 추론 완료: (1024, 1024), 값 범위: [0.000, 1.000]
[2025-10-24 00:41:30,514] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ BriaAI 배경제거 성공: bria-rmbg-1.4 (CPU, 0.43초)
[2025-10-24 00:41:30,516] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 마스크 통계: {'min': 0, 'max': 255, 'mean': 39.34437806372549, 'nonzero_count': 163870}
[2025-10-24 00:41:30,516] [LogListener] [DEBUG] [loggerModule.py:debug:275] DirectML GPU 모드로 배경 제거 성공
[2025-10-24 00:41:30,516] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 백업 rembg 처리 성공: RGB, 크기: (816, 1200)
[2025-10-24 00:41:30,546] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 3단계 저장 완료: PIL 결과 RGB (816, 1200) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_p9jvrk4k\03_pil_result.png
[2025-10-24 00:41:30,546] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 PIL 결과 분석: mode=RGB, size=(816, 1200), format=None
[2025-10-24 00:41:30,546] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 PIL 밴드: ('R', 'G', 'B')
[2025-10-24 00:41:30,547] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔄 RGB → BGR 변환: (1200, 816, 3)
[2025-10-24 00:41:30,554] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 4단계 저장 완료: numpy 변환 결과 (1200, 816, 3) (흰배경 합성 완료) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_p9jvrk4k\04_numpy_result.png
[2025-10-24 00:41:30,554] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 후처리 시작: object_ratio=0.75
[2025-10-24 00:41:30,555] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎨 후처리 시작: 입력 이미지 크기 (1200, 816, 3), object_ratio=0.75
[2025-10-24 00:41:30,556] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ BGR 이미지 처리: 그레이 < 250인 픽셀 수: 158674
[2025-10-24 00:41:30,566] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 5단계 저장: 초기 마스크 (158674개 픽셀) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_p9jvrk4k\05_initial_mask.png
[2025-10-24 00:41:30,567] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 마스크 정제: 정제 전 158674개 → 정제 후 168500개 픽셀
[2025-10-24 00:41:30,569] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 6단계 저장: 정제된 마스크 (168500개 픽셀) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_p9jvrk4k\06_refined_mask.png
[2025-10-24 00:41:30,570] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 연결 요소 분석: 1개 객체 발견
[2025-10-24 00:41:30,572] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 최대 연결 요소 선택: 168500개 픽셀
[2025-10-24 00:41:30,574] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 7단계 저장: 연결 요소 마스크 (168500개 픽셀) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_p9jvrk4k\07_component_mask.png
[2025-10-24 00:41:30,576] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📐 바운딩 박스 계산: 유효 픽셀 168500개
[2025-10-24 00:41:30,576] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✂️ 크롭 영역: (33,635) ~ (761,1179), 크기: (545, 729, 3)
[2025-10-24 00:41:30,581] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 9단계 저장: 바운딩 박스 크롭 (545, 729, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_p9jvrk4k\09_bbox_crop.png
[2025-10-24 00:41:30,582] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📏 마진 추가: 7px, 최종 크기: (559, 743, 3)
[2025-10-24 00:41:30,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 10단계 저장: 마진 추가 (559, 743, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_p9jvrk4k\10_with_margin.png
[2025-10-24 00:41:30,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 이미지 처리 완료 (이미 흰배경 합성됨): (559, 743, 3)
[2025-10-24 00:41:30,592] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 11단계 저장: 흰 배경 합성 (559, 743, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_p9jvrk4k\11_white_background.png
[2025-10-24 00:41:30,593] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 1000x1000 리사이즈 시작: object_ratio=0.75, final_img.shape=(559, 743, 3)
[2025-10-24 00:41:30,593] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 정사각형 캔버스 생성 시작: 입력=559x743, 목표=1000x1000, 객체비율=0.75
[2025-10-24 00:41:30,594] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 이미지 리사이즈 완료: 559x743 → 564x750 (scale_factor=1.009)
[2025-10-24 00:41:30,594] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 정사각형 캔버스 생성: (1000, 1000, 3)
[2025-10-24 00:41:30,594] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 이미지 배치 완료: offset=(125,218), size=(750,564)
[2025-10-24 00:41:30,599] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 정사각형 캔버스 완성: 75% 스케일링, 1000x1000, DPI 72
[2025-10-24 00:41:30,599] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 1000x1000 리사이즈 완료: (1000, 1000, 3)
[2025-10-24 00:41:30,599] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 백업 rembg 후처리 완료: (1000, 1000, 3)
[2025-10-24 00:41:30,607] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 최종 결과 저장: (1000, 1000, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_p9jvrk4k\99_final_result.png
[2025-10-24 00:41:30,607] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 파일 삭제 완료: C:\Users\ADMINI~1\AppData\Local\Temp\rembg_91cc4e38.png
[2025-10-24 00:41:30,615] [LogListener] [DEBUG] [loggerModule.py:debug:275] 배경제거 이미지 저장: C:\ProgramData\ImgWorker\work\nobg_thumb_1.png
[2025-10-24 00:41:30,622] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:41:30,752] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 130.0ms
[2025-10-24 00:41:30,771] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 128.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 00:41:30,777] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 00:41:30,777] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 결과 없음 - 정상 케이스 (NO_TEXT): C:\ProgramData\ImgWorker\work\nobg_thumb_1.png
[2025-10-24 00:41:30,777] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 0/0개 (신뢰도 + & 중국어)
[2025-10-24 00:41:30,777] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 0개 필터링 완료
[2025-10-24 00:41:30,777] [LogListener] [DEBUG] [loggerModule.py:debug:275] remove_background 호출 완료
[2025-10-24 00:41:30,778] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=52608b8c-1f3b-4e93-aca4-4949d943051b
[2025-10-24 00:41:30,778] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=52608b8c-1f3b-4e93-aca4-4949d943051b
[2025-10-24 00:41:30,778] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:41:30,778] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10156)
[2025-10-24 00:41:46,329] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:41:46,329] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=remove_background, uid=c5c964f0-1b07-4c93-a100-2e561efd3753
[2025-10-24 00:41:46,329] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:41:46,329] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=remove_background
[2025-10-24 00:41:46,329] [LogListener] [DEBUG] [loggerModule.py:debug:275] remove_background 호출 직전
[2025-10-24 00:41:46,329] [LogListener] [DEBUG] [loggerModule.py:debug:275] request_rembg 호출: use_local_rembg=True, local_model_name=birefnet-general-lite
[2025-10-24 00:41:46,331] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 백업 rembg 시작: model_name=birefnet-general-lite, object_ratio=0.75, debug_save=True, force_cpu=False
[2025-10-24 00:41:46,332] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📁 디버그 이미지 저장 디렉토리: C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_s814ku47
[2025-10-24 00:41:46,348] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 1단계 저장 완료: 입력 이미지 (1200, 816, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_s814ku47\01_input_image.png
[2025-10-24 00:41:46,348] [LogListener] [WARNING] [loggerModule.py:warning:287] 지원하지 않는 모델명 (birefnet-general-lite). bria-rmbg-1.4로 대체 사용
[2025-10-24 00:41:46,376] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 안전한 임시 파일 생성: C:\Users\ADMINI~1\AppData\Local\Temp\rembg_db2a6c03.png (크기: 736863 bytes)
[2025-10-24 00:41:46,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 2단계 저장 완료: 임시 파일 복사 → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_s814ku47\02_temp_file_copy.png
[2025-10-24 00:41:46,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] 백업 rembg 모듈로 배경 제거 시작: bria-rmbg-1.4
[2025-10-24 00:41:46,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 DirectML GPU 모드로 배경 제거 실행
[2025-10-24 00:41:46,387] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 시작: bria-rmbg-1.4 (aggressiveness=0.5)
[2025-10-24 00:41:46,395] [LogListener] [DEBUG] [loggerModule.py:debug:275] 전처리 완료: (1200, 816, 3) -> (1, 3, 1024, 1024), 값 범위: [-0.500, 0.500]
[2025-10-24 00:41:46,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 출력 개수: 1, 첫 번째 출력 shape: (1, 1, 1024, 1024)
[2025-10-24 00:41:46,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] 추론 완료: (1024, 1024), 값 범위: [0.000, 1.000]
[2025-10-24 00:41:46,804] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ BriaAI 배경제거 성공: bria-rmbg-1.4 (CPU, 0.42초)
[2025-10-24 00:41:46,806] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 마스크 통계: {'min': 0, 'max': 255, 'mean': 39.34437806372549, 'nonzero_count': 163870}
[2025-10-24 00:41:46,806] [LogListener] [DEBUG] [loggerModule.py:debug:275] DirectML GPU 모드로 배경 제거 성공
[2025-10-24 00:41:46,806] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 백업 rembg 처리 성공: RGB, 크기: (816, 1200)
[2025-10-24 00:41:46,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 3단계 저장 완료: PIL 결과 RGB (816, 1200) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_s814ku47\03_pil_result.png
[2025-10-24 00:41:46,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 PIL 결과 분석: mode=RGB, size=(816, 1200), format=None
[2025-10-24 00:41:46,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 PIL 밴드: ('R', 'G', 'B')
[2025-10-24 00:41:46,822] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔄 RGB → BGR 변환: (1200, 816, 3)
[2025-10-24 00:41:46,829] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 4단계 저장 완료: numpy 변환 결과 (1200, 816, 3) (흰배경 합성 완료) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_s814ku47\04_numpy_result.png
[2025-10-24 00:41:46,829] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 후처리 시작: object_ratio=0.75
[2025-10-24 00:41:46,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎨 후처리 시작: 입력 이미지 크기 (1200, 816, 3), object_ratio=0.75
[2025-10-24 00:41:46,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ BGR 이미지 처리: 그레이 < 250인 픽셀 수: 158674
[2025-10-24 00:41:46,839] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 5단계 저장: 초기 마스크 (158674개 픽셀) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_s814ku47\05_initial_mask.png
[2025-10-24 00:41:46,840] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 마스크 정제: 정제 전 158674개 → 정제 후 168500개 픽셀
[2025-10-24 00:41:46,842] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 6단계 저장: 정제된 마스크 (168500개 픽셀) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_s814ku47\06_refined_mask.png
[2025-10-24 00:41:46,843] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 연결 요소 분석: 1개 객체 발견
[2025-10-24 00:41:46,844] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 최대 연결 요소 선택: 168500개 픽셀
[2025-10-24 00:41:46,846] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 7단계 저장: 연결 요소 마스크 (168500개 픽셀) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_s814ku47\07_component_mask.png
[2025-10-24 00:41:46,848] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📐 바운딩 박스 계산: 유효 픽셀 168500개
[2025-10-24 00:41:46,848] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✂️ 크롭 영역: (33,635) ~ (761,1179), 크기: (545, 729, 3)
[2025-10-24 00:41:46,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 9단계 저장: 바운딩 박스 크롭 (545, 729, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_s814ku47\09_bbox_crop.png
[2025-10-24 00:41:46,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📏 마진 추가: 7px, 최종 크기: (559, 743, 3)
[2025-10-24 00:41:46,859] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 10단계 저장: 마진 추가 (559, 743, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_s814ku47\10_with_margin.png
[2025-10-24 00:41:46,860] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 이미지 처리 완료 (이미 흰배경 합성됨): (559, 743, 3)
[2025-10-24 00:41:46,866] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 11단계 저장: 흰 배경 합성 (559, 743, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_s814ku47\11_white_background.png
[2025-10-24 00:41:46,866] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 1000x1000 리사이즈 시작: object_ratio=0.75, final_img.shape=(559, 743, 3)
[2025-10-24 00:41:46,866] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 정사각형 캔버스 생성 시작: 입력=559x743, 목표=1000x1000, 객체비율=0.75
[2025-10-24 00:41:46,867] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 이미지 리사이즈 완료: 559x743 → 564x750 (scale_factor=1.009)
[2025-10-24 00:41:46,868] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 정사각형 캔버스 생성: (1000, 1000, 3)
[2025-10-24 00:41:46,868] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 이미지 배치 완료: offset=(125,218), size=(750,564)
[2025-10-24 00:41:46,872] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 정사각형 캔버스 완성: 75% 스케일링, 1000x1000, DPI 72
[2025-10-24 00:41:46,872] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 1000x1000 리사이즈 완료: (1000, 1000, 3)
[2025-10-24 00:41:46,872] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 백업 rembg 후처리 완료: (1000, 1000, 3)
[2025-10-24 00:41:46,881] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 최종 결과 저장: (1000, 1000, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_s814ku47\99_final_result.png
[2025-10-24 00:41:46,881] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 파일 삭제 완료: C:\Users\ADMINI~1\AppData\Local\Temp\rembg_db2a6c03.png
[2025-10-24 00:41:46,889] [LogListener] [DEBUG] [loggerModule.py:debug:275] 배경제거 이미지 저장: C:\ProgramData\ImgWorker\work\nobg_thumb_1.png
[2025-10-24 00:41:46,896] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:41:47,020] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 124.0ms
[2025-10-24 00:41:47,021] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 122.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 00:41:47,021] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 00:41:47,021] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 결과 없음 - 정상 케이스 (NO_TEXT): C:\ProgramData\ImgWorker\work\nobg_thumb_1.png
[2025-10-24 00:41:47,021] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 0/0개 (신뢰도 + & 중국어)
[2025-10-24 00:41:47,021] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 0개 필터링 완료
[2025-10-24 00:41:47,021] [LogListener] [DEBUG] [loggerModule.py:debug:275] remove_background 호출 완료
[2025-10-24 00:41:47,021] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 00:41:47,021] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=c5c964f0-1b07-4c93-a100-2e561efd3753
[2025-10-24 00:41:47,022] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=c5c964f0-1b07-4c93-a100-2e561efd3753
[2025-10-24 00:41:47,022] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 00:41:47,022] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:41:47,022] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10156)
[2025-10-24 00:41:47,071] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:41:47,071] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 00:41:47,071] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 00:41:47,071] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 00:41:47,105] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 00:41:47,105] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 00:41:48,316] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=30640
[2025-10-24 00:41:48,755] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=30640, Name=ImageWorkerProcess)
[2025-10-24 00:41:48,755] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 00:41:48,755] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 00:41:48,762] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 00:41:48,762] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 00:41:48,762] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 00:41:48,762] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 00:41:48,762] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 00:41:48,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 00:41:48,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 00:41:48,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 00:41:48,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 00:41:48,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 00:41:48,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:41:48,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:41:48,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 00:41:48,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:41:48,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:41:48,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 00:41:48,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 00:41:48,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 00:41:48,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 00:41:48,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 00:41:48,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 00:41:48,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 00:41:48,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 00:41:48,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 00:41:48,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:41:48,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:41:50,270] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 00:41:50,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 00:41:50,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 00:41:50,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 00:41:50,355] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 00:41:50,355] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 00:41:50,355] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 00:41:50,355] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 00:41:50,355] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:41:50,355] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 00:41:50,355] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:41:50,356] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 00:41:50,356] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 00:41:50,356] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 00:41:50,356] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 00:41:50,356] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 00:41:50,356] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 00:41:50,376] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 00:41:50,631] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:41:50,631] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 00:41:50,632] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:41:50,632] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:41:50,632] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:41:50,632] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:41:50,632] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:41:50,632] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 00:41:50,632] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:41:50,632] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 00:41:50,632] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x00000288B4971910>
[2025-10-24 00:41:50,632] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x00000288B4971910>
[2025-10-24 00:41:50,632] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 00:41:50,633] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:41:50,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 5.0ms
[2025-10-24 00:41:50,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 00:41:50,637] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 00:41:50,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 00:41:50,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 00:41:50,642] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:41:50,642] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:41:50,642] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 00:41:50,642] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:41:50,642] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 30640)
[2025-10-24 00:42:40,877] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 종료
[2025-10-24 00:42:41,335] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 종료
[2025-10-24 00:42:43,035] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 시작
[2025-10-24 00:42:43,040] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=13224
[2025-10-24 00:42:43,475] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=13224, Name=ImageWorkerProcess)
[2025-10-24 00:42:43,475] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 00:42:43,475] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 00:42:43,482] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 00:42:43,482] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 00:42:43,482] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 00:42:43,482] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 00:42:43,482] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 00:42:43,482] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 00:42:43,482] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 00:42:43,482] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 00:42:43,483] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 00:42:43,483] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 00:42:43,483] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:42:43,483] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:42:43,483] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 00:42:43,483] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:42:43,483] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:42:43,483] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 00:42:43,483] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 00:42:43,483] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 00:42:43,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 00:42:43,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 00:42:43,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 00:42:43,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 00:42:43,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 00:42:43,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 00:42:43,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:42:43,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:42:45,008] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 00:42:45,094] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 00:42:45,094] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 00:42:45,094] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 00:42:45,094] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 00:42:45,095] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 00:42:45,095] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 00:42:45,095] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 00:42:45,095] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:42:45,095] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 00:42:45,095] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:42:45,095] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 00:42:45,095] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 00:42:45,095] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 00:42:45,095] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 00:42:45,095] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 00:42:45,096] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 00:42:45,115] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 00:42:45,334] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:42:45,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 00:42:45,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:42:45,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:42:45,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:42:45,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:42:45,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:42:45,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 00:42:45,336] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:42:45,336] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 00:42:45,336] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x000002A7552A9050>
[2025-10-24 00:42:45,336] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x000002A7552A9050>
[2025-10-24 00:42:45,336] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 00:42:45,336] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:42:45,340] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 00:42:45,340] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 00:42:45,340] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 00:42:45,344] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 00:42:45,344] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 00:42:45,344] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:42:45,344] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:42:45,345] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 00:42:45,345] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:42:45,345] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 13224)
[2025-10-24 00:42:45,345] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:42:45,345] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=__PING__, uid=50a56506-b66d-4f07-9013-4f2186e27401
[2025-10-24 00:42:45,345] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=__PING__
[2025-10-24 00:42:45,345] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=50a56506-b66d-4f07-9013-4f2186e27401
[2025-10-24 00:42:45,346] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=50a56506-b66d-4f07-9013-4f2186e27401
[2025-10-24 00:42:45,346] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:42:45,346] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 13224)
[2025-10-24 00:42:45,608] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:42:45,609] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=remove_background, uid=94eb59f4-2250-486b-88af-27d30fc6c57c
[2025-10-24 00:42:45,609] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:42:45,609] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=remove_background
[2025-10-24 00:42:45,609] [LogListener] [DEBUG] [loggerModule.py:debug:275] remove_background 호출 직전
[2025-10-24 00:42:45,609] [LogListener] [DEBUG] [loggerModule.py:debug:275] request_rembg 호출: use_local_rembg=True, local_model_name=birefnet-general-lite
[2025-10-24 00:42:45,611] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 백업 rembg 시작: model_name=birefnet-general-lite, object_ratio=0.95, debug_save=True, force_cpu=False
[2025-10-24 00:42:45,612] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📁 디버그 이미지 저장 디렉토리: C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_vn2hi9qy
[2025-10-24 00:42:45,628] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 1단계 저장 완료: 입력 이미지 (1200, 816, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_vn2hi9qy\01_input_image.png
[2025-10-24 00:42:45,629] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 모듈 초기화 시작
[2025-10-24 00:42:45,629] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX Runtime 사용 가능한 프로바이더: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:42:45,629] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI CPU 모드로 설정
[2025-10-24 00:42:45,629] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 모듈 초기화 완료
[2025-10-24 00:42:45,629] [LogListener] [DEBUG] [loggerModule.py:debug:275] 백업용 내장 rembg 모듈 초기화됨
[2025-10-24 00:42:45,629] [LogListener] [WARNING] [loggerModule.py:warning:287] 지원하지 않는 모델명 (birefnet-general-lite). bria-rmbg-1.4로 대체 사용
[2025-10-24 00:42:45,657] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 안전한 임시 파일 생성: C:\Users\ADMINI~1\AppData\Local\Temp\rembg_31f07fc3.png (크기: 736863 bytes)
[2025-10-24 00:42:45,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 2단계 저장 완료: 임시 파일 복사 → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_vn2hi9qy\02_temp_file_copy.png
[2025-10-24 00:42:45,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] 백업 rembg 모듈로 배경 제거 시작: bria-rmbg-1.4
[2025-10-24 00:42:45,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 DirectML GPU 모드로 배경 제거 실행
[2025-10-24 00:42:45,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI ONNX 모델 로딩 시도 (원본 providers): D:\py\img_worker\modules\rembg_models\BriaRMBG1.4_model_fp16.onnx
[2025-10-24 00:42:45,776] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ BriaAI ONNX 모델 로딩 완료 (원본 providers) | Providers: ['CPUExecutionProvider'] | Input: input | Output: output
[2025-10-24 00:42:45,787] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 시작: bria-rmbg-1.4 (aggressiveness=0.5)
[2025-10-24 00:42:45,798] [LogListener] [DEBUG] [loggerModule.py:debug:275] 전처리 완료: (1200, 816, 3) -> (1, 3, 1024, 1024), 값 범위: [-0.500, 0.500]
[2025-10-24 00:42:46,212] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 출력 개수: 1, 첫 번째 출력 shape: (1, 1, 1024, 1024)
[2025-10-24 00:42:46,213] [LogListener] [DEBUG] [loggerModule.py:debug:275] 추론 완료: (1024, 1024), 값 범위: [0.000, 1.000]
[2025-10-24 00:42:46,233] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ BriaAI 배경제거 성공: bria-rmbg-1.4 (CPU, 0.45초)
[2025-10-24 00:42:46,234] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 마스크 통계: {'min': 0, 'max': 255, 'mean': 39.34437806372549, 'nonzero_count': 163870}
[2025-10-24 00:42:46,234] [LogListener] [DEBUG] [loggerModule.py:debug:275] DirectML GPU 모드로 배경 제거 성공
[2025-10-24 00:42:46,234] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 백업 rembg 처리 성공: RGB, 크기: (816, 1200)
[2025-10-24 00:42:46,264] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 3단계 저장 완료: PIL 결과 RGB (816, 1200) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_vn2hi9qy\03_pil_result.png
[2025-10-24 00:42:46,264] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 PIL 결과 분석: mode=RGB, size=(816, 1200), format=None
[2025-10-24 00:42:46,264] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 PIL 밴드: ('R', 'G', 'B')
[2025-10-24 00:42:46,265] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔄 RGB → BGR 변환: (1200, 816, 3)
[2025-10-24 00:42:46,272] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 4단계 저장 완료: numpy 변환 결과 (1200, 816, 3) (흰배경 합성 완료) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_vn2hi9qy\04_numpy_result.png
[2025-10-24 00:42:46,272] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 후처리 시작: object_ratio=0.95
[2025-10-24 00:42:46,272] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎨 후처리 시작: 입력 이미지 크기 (1200, 816, 3), object_ratio=0.95
[2025-10-24 00:42:46,273] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ BGR 이미지 처리: 그레이 < 250인 픽셀 수: 158674
[2025-10-24 00:42:46,282] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 5단계 저장: 초기 마스크 (158674개 픽셀) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_vn2hi9qy\05_initial_mask.png
[2025-10-24 00:42:46,283] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 마스크 정제: 정제 전 158674개 → 정제 후 168500개 픽셀
[2025-10-24 00:42:46,285] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 6단계 저장: 정제된 마스크 (168500개 픽셀) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_vn2hi9qy\06_refined_mask.png
[2025-10-24 00:42:46,286] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 연결 요소 분석: 1개 객체 발견
[2025-10-24 00:42:46,288] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 최대 연결 요소 선택: 168500개 픽셀
[2025-10-24 00:42:46,290] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 7단계 저장: 연결 요소 마스크 (168500개 픽셀) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_vn2hi9qy\07_component_mask.png
[2025-10-24 00:42:46,291] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📐 바운딩 박스 계산: 유효 픽셀 168500개
[2025-10-24 00:42:46,292] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✂️ 크롭 영역: (33,635) ~ (761,1179), 크기: (545, 729, 3)
[2025-10-24 00:42:46,297] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 9단계 저장: 바운딩 박스 크롭 (545, 729, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_vn2hi9qy\09_bbox_crop.png
[2025-10-24 00:42:46,298] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📏 마진 추가: 7px, 최종 크기: (559, 743, 3)
[2025-10-24 00:42:46,304] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 10단계 저장: 마진 추가 (559, 743, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_vn2hi9qy\10_with_margin.png
[2025-10-24 00:42:46,304] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 이미지 처리 완료 (이미 흰배경 합성됨): (559, 743, 3)
[2025-10-24 00:42:46,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 11단계 저장: 흰 배경 합성 (559, 743, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_vn2hi9qy\11_white_background.png
[2025-10-24 00:42:46,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 1000x1000 리사이즈 시작: object_ratio=0.95, final_img.shape=(559, 743, 3)
[2025-10-24 00:42:46,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 정사각형 캔버스 생성 시작: 입력=559x743, 목표=1000x1000, 객체비율=0.95
[2025-10-24 00:42:46,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 이미지 리사이즈 완료: 559x743 → 714x949 (scale_factor=1.279)
[2025-10-24 00:42:46,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 정사각형 캔버스 생성: (1000, 1000, 3)
[2025-10-24 00:42:46,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 이미지 배치 완료: offset=(25,143), size=(949,714)
[2025-10-24 00:42:46,316] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 정사각형 캔버스 완성: 95% 스케일링, 1000x1000, DPI 72
[2025-10-24 00:42:46,316] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 1000x1000 리사이즈 완료: (1000, 1000, 3)
[2025-10-24 00:42:46,316] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 백업 rembg 후처리 완료: (1000, 1000, 3)
[2025-10-24 00:42:46,326] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 최종 결과 저장: (1000, 1000, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_vn2hi9qy\99_final_result.png
[2025-10-24 00:42:46,326] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 파일 삭제 완료: C:\Users\ADMINI~1\AppData\Local\Temp\rembg_31f07fc3.png
[2025-10-24 00:42:46,336] [LogListener] [DEBUG] [loggerModule.py:debug:275] 배경제거 이미지 저장: C:\ProgramData\ImgWorker\work\nobg_thumb_1.png
[2025-10-24 00:42:46,344] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:42:46,504] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 159.6ms
[2025-10-24 00:42:46,528] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 134.6ms, 인식: 20.0ms, 분류: 2.0ms
[2025-10-24 00:42:46,528] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 00:42:46,528] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 결과 없음 - 정상 케이스 (NO_TEXT): C:\ProgramData\ImgWorker\work\nobg_thumb_1.png
[2025-10-24 00:42:46,528] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 0/0개 (신뢰도 + & 중국어)
[2025-10-24 00:42:46,528] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 0개 필터링 완료
[2025-10-24 00:42:46,528] [LogListener] [DEBUG] [loggerModule.py:debug:275] remove_background 호출 완료
[2025-10-24 00:42:46,528] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=94eb59f4-2250-486b-88af-27d30fc6c57c
[2025-10-24 00:42:46,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=94eb59f4-2250-486b-88af-27d30fc6c57c
[2025-10-24 00:42:46,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:42:46,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 13224)
[2025-10-24 00:43:41,951] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:43:41,951] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=0f69b9e1-7f89-4a54-8985-241126b9b2a1
[2025-10-24 00:43:41,951] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:43:41,951] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 00:43:41,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 00:43:41,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 00:43:42,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 처리 시작: D:\py\img_worker\modules\test\1.jpg - 전체 번역 모드
[2025-10-24 00:43:42,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\test\1.jpg
[2025-10-24 00:43:42,369] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 원본 크기: 816x1200
[2025-10-24 00:43:42,371] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 가로 크기 조정: 816x1200 → 860x1264
[2025-10-24 00:43:42,379] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 크기 조정 완료: 860x1264
[2025-10-24 00:43:42,379] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 로컬 저장위치(상세페이지 전처리 완료): D:\py\img_worker\modules\test\1_resized.jpg
[2025-10-24 00:43:42,382] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:43:42,541] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 158.0ms
[2025-10-24 00:43:42,541] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 83.0ms, 인식: 69.0ms, 분류: 4.0ms
[2025-10-24 00:43:42,551] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 33892.8MB -> 33914.1MB (+21.2MB, +0.1%) - 이미지 2
[2025-10-24 00:43:42,552] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '现代极简风格', 'confidence': 0.9960710406303406, 'polygon': [[232.0, 72.0], [581.0, 72.0], [581.0, 122.0], [232.0, 122.0]], 'bbox': (232, 72, 350, 51), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9952024221420288, 'polygon': [[160.0, 149.0], [656.0, 149.0], [656.0, 190.0], [160.0, 190.0]], 'bbox': (160, 149, 497, 42), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9976122379302979, 'polygon': [[93.0, 304.0], [488.0, 304.0], [488.0, 363.0], [93.0, 363.0]], 'bbox': (93, 304, 396, 60), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9930798411369324, 'polygon': [[91.0, 388.0], [486.0, 388.0], [486.0, 448.0], [91.0, 448.0]], 'bbox': (91, 388, 396, 61), 'method': 'polygon'}]
[2025-10-24 00:43:42,552] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR raw 데이터 메모리 저장 완료: 4개 텍스트
[2025-10-24 00:43:42,552] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '现代极简风格'
[2025-10-24 00:43:42,552] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.5%): '更易搭配各种使用场景'
[2025-10-24 00:43:42,552] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '半圆两端设计'
[2025-10-24 00:43:42,552] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.3%): '承载各种欢乐'
[2025-10-24 00:43:42,552] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 4/4개 (신뢰도 + & 중국어)
[2025-10-24 00:43:42,553] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '现代极简风格', 'confidence': 0.9960710406303406, 'polygon': [[232.0, 72.0], [581.0, 72.0], [581.0, 122.0], [232.0, 122.0]], 'bbox': (232, 72, 350, 51), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9952024221420288, 'polygon': [[160.0, 149.0], [656.0, 149.0], [656.0, 190.0], [160.0, 190.0]], 'bbox': (160, 149, 497, 42), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9976122379302979, 'polygon': [[93.0, 304.0], [488.0, 304.0], [488.0, 363.0], [93.0, 363.0]], 'bbox': (93, 304, 396, 60), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9930798411369324, 'polygon': [[91.0, 388.0], [486.0, 388.0], [486.0, 448.0], [91.0, 448.0]], 'bbox': (91, 388, 396, 61), 'method': 'polygon'}]
[2025-10-24 00:43:42,553] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 4개 필터링 완료
[2025-10-24 00:43:42,553] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 00:43:43,019] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고']
[2025-10-24 00:43:43,020] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 00:43:43,020] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR 권한 없음, 전체 번역 모드
[2025-10-24 00:43:43,026] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.136, comps=2, min_center_dist=0.174 → request
[2025-10-24 00:43:43,027] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 4
[2025-10-24 00:43:43,027] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:43:43,027] [LogListener] [DEBUG] [loggerModule.py:debug:275] [set_inpaint_method] prefix=detail, target_key=detail_IMGTrans_type, trans_type=GPU → inpaint_method=migan
[2025-10-24 00:43:43,027] [LogListener] [DEBUG] [loggerModule.py:debug:275] 최종 inpaint_method: migan
[2025-10-24 00:43:43,027] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 00:43:43,030] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 1264, 860), 마스크: (1, 1, 1264, 860)
[2025-10-24 00:43:43,356] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (1264, 860, 3), dtype: uint8
[2025-10-24 00:43:43,357] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 325.66 ms
[2025-10-24 00:43:43,365] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 00:43:43,365] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 33934.6MB -> 34152.7MB (+218.1MB, +0.6%) - 방법: migan
[2025-10-24 00:43:43,365] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 00:43:43,407] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 00:43:43,408] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 00:43:43,408] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 00:43:43,717] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:43:43,718] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 번역 완료: C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:43:43,719] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 1765.9ms | download=0.0ms | ocr=167.0ms | translate=468.0ms | mask=468.0ms | inpaint=343.7ms(migan/DirectML) | render=41.5ms | save=275.6ms
[2025-10-24 00:43:43,719] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 00:43:43,720] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 00:43:43,720] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 00:43:43,720] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=0f69b9e1-7f89-4a54-8985-241126b9b2a1
[2025-10-24 00:43:43,720] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=0f69b9e1-7f89-4a54-8985-241126b9b2a1
[2025-10-24 00:43:43,720] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:43:43,720] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 13224)
[2025-10-24 00:43:43,720] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:43:43,720] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=e7cf1f9a-ad17-4b8c-9c51-8548de9cfd0f
[2025-10-24 00:43:43,720] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:43:43,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 00:43:43,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 00:43:43,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 00:43:43,988] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 처리 시작: D:\py\img_worker\modules\test\2.jpg - 전체 번역 모드
[2025-10-24 00:43:43,988] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\test\2.jpg
[2025-10-24 00:43:43,990] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 원본 크기: 640x640
[2025-10-24 00:43:43,991] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 가로 크기 조정: 640x640 → 860x860
[2025-10-24 00:43:43,998] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 크기 조정 완료: 860x860
[2025-10-24 00:43:43,998] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 로컬 저장위치(상세페이지 전처리 완료): D:\py\img_worker\modules\test\2_resized.jpg
[2025-10-24 00:43:44,001] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:43:44,915] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 911.3ms
[2025-10-24 00:43:44,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 114.0ms, 인식: 767.3ms, 분류: 23.0ms
[2025-10-24 00:43:44,945] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 34166.8MB -> 34376.4MB (+209.7MB, +0.6%) - 이미지 2
[2025-10-24 00:43:44,945] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '科尔诺', 'confidence': 0.9992308616638184, 'polygon': [[96.0, 27.0], [211.0, 25.0], [212.0, 63.0], [97.0, 66.0]], 'bbox': (96, 25, 117, 42), 'method': 'polygon'}, {'text': 'PA', 'confidence': 0.9930515289306641, 'polygon': [[414.0, 28.0], [470.0, 32.0], [468.0, 59.0], [413.0, 55.0]], 'bbox': (413, 28, 58, 32), 'method': 'polygon'}, {'text': 'CE', 'confidence': 0.9594120979309082, 'polygon': [[665.0, 24.0], [728.0, 24.0], [728.0, 66.0], [665.0, 66.0]], 'bbox': (665, 24, 64, 43), 'method': 'polygon'}, {'text': 'SGS', 'confidence': 0.9917036890983582, 'polygon': [[751.0, 24.0], [821.0, 24.0], [821.0, 61.0], [751.0, 61.0]], 'bbox': (751, 24, 71, 38), 'method': 'polygon'}, {'text': 'CNEX', 'confidence': 0.9931035041809082, 'polygon': [[500.0, 34.0], [569.0, 34.0], [569.0, 55.0], [500.0, 55.0]], 'bbox': (500, 34, 70, 22), 'method': 'polygon'}, {'text': 'S', 'confidence': 0.8341087698936462, 'polygon': [[595.0, 37.0], [618.0, 37.0], [618.0, 48.0], [595.0, 48.0]], 'bbox': (595, 37, 24, 12), 'method': 'polygon'}, {'text': 'KORNO', 'confidence': 0.9965640306472778, 'polygon': [[103.0, 73.0], [211.0, 73.0], [211.0, 98.0], [103.0, 98.0]], 'bbox': (103, 73, 109, 26), 'method': 'polygon'}, {'text': 'CMC认证', 'confidence': 0.9940687417984009, 'polygon': [[321.0, 77.0], [389.0, 77.0], [389.0, 94.0], [321.0, 94.0]], 'bbox': (321, 77, 69, 18), 'method': 'polygon'}, {'text': 'CPA认证', 'confidence': 0.9973182678222656, 'polygon': [[412.0, 78.0], [475.0, 78.0], [475.0, 95.0], [412.0, 95.0]], 'bbox': (412, 78, 64, 18), 'method': 'polygon'}, {'text': '国家防爆', 'confidence': 0.9939618110656738, 'polygon': [[498.0, 79.0], [560.0, 79.0], [560.0, 96.0], [498.0, 96.0]], 'bbox': (498, 79, 63, 18), 'method': 'polygon'}, {'text': 'ISO认证', 'confidence': 0.9970961809158325, 'polygon': [[585.0, 78.0], [644.0, 78.0], [644.0, 95.0], [585.0, 95.0]], 'bbox': (585, 78, 60, 18), 'method': 'polygon'}, {'text': 'CE认证', 'confidence': 0.998458206653595, 'polygon': [[672.0, 77.0], [724.0, 77.0], [724.0, 95.0], [672.0, 95.0]], 'bbox': (672, 77, 53, 19), 'method': 'polygon'}, {'text': 'SGS认证', 'confidence': 0.9989465475082397, 'polygon': [[755.0, 78.0], [816.0, 78.0], [816.0, 96.0], [755.0, 96.0]], 'bbox': (755, 78, 62, 19), 'method': 'polygon'}, {'text': 'GT-1000', 'confidence': 0.9943559765815735, 'polygon': [[60.0, 132.0], [380.0, 135.0], [380.0, 196.0], [60.0, 194.0]], 'bbox': (60, 132, 321, 65), 'method': 'polygon'}, {'text': '激光粉尘检测仪', 'confidence': 0.9930281639099121, 'polygon': [[61.0, 223.0], [546.0, 223.0], [546.0, 284.0], [61.0, 284.0]], 'bbox': (61, 223, 486, 62), 'method': 'polygon'}, {'text': 'MO.5', 'confidence': 0.5840951204299927, 'polygon': [[663.0, 297.0], [685.0, 297.0], [685.0, 304.0], [663.0, 304.0]], 'bbox': (663, 297, 23, 8), 'method': 'polygon'}, {'text': '精度≤±5%F.S', 'confidence': 0.9796085357666016, 'polygon': [[40.0, 322.0], [291.0, 319.0], [292.0, 356.0], [40.0, 358.0]], 'bbox': (40, 319, 253, 40), 'method': 'polygon'}, {'text': 'PMLO', 'confidence': 0.825086236000061, 'polygon': [[659.0, 314.0], [686.0, 314.0], [686.0, 324.0], [659.0, 324.0]], 'bbox': (659, 314, 28, 11), 'method': 'polygon'}, {'text': 'PU2.5', 'confidence': 0.679347813129425, 'polygon': [[658.0, 331.0], [687.0, 331.0], [687.0, 341.0], [658.0, 341.0]], 'bbox': (658, 331, 30, 11), 'method': 'polygon'}, {'text': 'PLSO', 'confidence': 0.6640250086784363, 'polygon': [[658.0, 349.0], [687.0, 349.0], [687.0, 360.0], [658.0, 360.0]], 'bbox': (658, 349, 30, 12), 'method': 'polygon'}, {'text': 'P10', 'confidence': 0.6683804988861084, 'polygon': [[659.0, 368.0], [684.0, 368.0], [684.0, 379.0], [659.0, 379.0]], 'bbox': (659, 368, 26, 12), 'method': 'polygon'}, {'text': '防护等级IP65', 'confidence': 0.9956157207489014, 'polygon': [[39.0, 399.0], [318.0, 396.0], [319.0, 433.0], [39.0, 436.0]], 'bbox': (39, 396, 281, 41), 'method': 'polygon'}, {'text': '过压保护/声光报警/存储打印', 'confidence': 0.9742894768714905, 'polygon': [[31.0, 478.0], [566.0, 478.0], [566.0, 512.0], [31.0, 512.0]], 'bbox': (31, 478, 536, 35), 'method': 'polygon'}, {'text': 'PM0.3/0.5/1.0/2.5/5.0/10um', 'confidence': 0.9763215780258179, 'polygon': [[29.0, 552.0], [572.0, 555.0], [572.0, 589.0], [29.0, 586.0]], 'bbox': (29, 552, 544, 38), 'method': 'polygon'}, {'text': '可同时监测多种粒径尘埃粒子数', 'confidence': 0.9920802116394043, 'polygon': [[42.0, 631.0], [497.0, 631.0], [497.0, 658.0], [42.0, 658.0]], 'bbox': (42, 631, 456, 28), 'method': 'polygon'}, {'text': '适合十万级以上洁净室', 'confidence': 0.9910793304443359, 'polygon': [[41.0, 679.0], [365.0, 679.0], [365.0, 706.0], [41.0, 706.0]], 'bbox': (41, 679, 325, 28), 'method': 'polygon'}, {'text': '全国', 'confidence': 0.9995953440666199, 'polygon': [[21.0, 720.0], [158.0, 720.0], [158.0, 791.0], [21.0, 791.0]], 'bbox': (21, 720, 138, 72), 'method': 'polygon'}, {'text': '7天无理由退货', 'confidence': 0.9959755539894104, 'polygon': [[263.0, 731.0], [524.0, 733.0], [523.0, 767.0], [263.0, 764.0]], 'bbox': (263, 731, 262, 37), 'method': 'polygon'}, {'text': '赠运险费', 'confidence': 0.9984970688819885, 'polygon': [[571.0, 731.0], [727.0, 731.0], [727.0, 768.0], [571.0, 768.0]], 'bbox': (571, 731, 157, 38), 'method': 'polygon'}, {'text': '包邮', 'confidence': 0.9996557235717773, 'polygon': [[22.0, 789.0], [161.0, 789.0], [161.0, 859.0], [22.0, 859.0]], 'bbox': (22, 789, 140, 71), 'method': 'polygon'}, {'text': '原厂正品/可开发票/质保一年', 'confidence': 0.9892104268074036, 'polygon': [[185.0, 789.0], [837.0, 787.0], [837.0, 828.0], [185.0, 830.0]], 'bbox': (185, 787, 653, 44), 'method': 'polygon'}]
[2025-10-24 00:43:44,946] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR raw 데이터 메모리 저장 완료: 31개 텍스트
[2025-10-24 00:43:44,946] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '科尔诺'
[2025-10-24 00:43:44,946] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PA'
[2025-10-24 00:43:44,946] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'CE'
[2025-10-24 00:43:44,947] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'SGS'
[2025-10-24 00:43:44,947] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'CNEX'
[2025-10-24 00:43:44,947] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'S'
[2025-10-24 00:43:44,947] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'KORNO'
[2025-10-24 00:43:44,947] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.4%): 'CMC认证'
[2025-10-24 00:43:44,947] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): 'CPA认证'
[2025-10-24 00:43:44,947] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.4%): '国家防爆'
[2025-10-24 00:43:44,947] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): 'ISO认证'
[2025-10-24 00:43:44,947] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): 'CE认证'
[2025-10-24 00:43:44,947] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): 'SGS认证'
[2025-10-24 00:43:44,947] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'GT-1000'
[2025-10-24 00:43:44,947] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.3%): '激光粉尘检测仪'
[2025-10-24 00:43:44,947] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MO.5'
[2025-10-24 00:43:44,947] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.0%): '精度≤±5%F.S'
[2025-10-24 00:43:44,948] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PMLO'
[2025-10-24 00:43:44,948] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PU2.5'
[2025-10-24 00:43:44,948] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PLSO'
[2025-10-24 00:43:44,948] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'P10'
[2025-10-24 00:43:44,948] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '防护等级IP65'
[2025-10-24 00:43:44,948] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 97.4%): '过压保护/声光报警/存储打印'
[2025-10-24 00:43:44,948] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PM0.3/0.5/1.0/2.5/5.0/10um'
[2025-10-24 00:43:44,948] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.2%): '可同时监测多种粒径尘埃粒子数'
[2025-10-24 00:43:44,948] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.1%): '适合十万级以上洁净室'
[2025-10-24 00:43:44,948] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '全国'
[2025-10-24 00:43:44,948] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '7天无理由退货'
[2025-10-24 00:43:44,949] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '赠运险费'
[2025-10-24 00:43:44,949] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '包邮'
[2025-10-24 00:43:44,949] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.9%): '原厂正品/可开发票/质保一年'
[2025-10-24 00:43:44,949] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 18/31개 (신뢰도 + & 중국어)
[2025-10-24 00:43:44,949] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '科尔诺', 'confidence': 0.9992308616638184, 'polygon': [[96.0, 27.0], [211.0, 25.0], [212.0, 63.0], [97.0, 66.0]], 'bbox': (96, 25, 117, 42), 'method': 'polygon'}, {'text': 'CMC认证', 'confidence': 0.9940687417984009, 'polygon': [[321.0, 77.0], [389.0, 77.0], [389.0, 94.0], [321.0, 94.0]], 'bbox': (321, 77, 69, 18), 'method': 'polygon'}, {'text': 'CPA认证', 'confidence': 0.9973182678222656, 'polygon': [[412.0, 78.0], [475.0, 78.0], [475.0, 95.0], [412.0, 95.0]], 'bbox': (412, 78, 64, 18), 'method': 'polygon'}, {'text': '国家防爆', 'confidence': 0.9939618110656738, 'polygon': [[498.0, 79.0], [560.0, 79.0], [560.0, 96.0], [498.0, 96.0]], 'bbox': (498, 79, 63, 18), 'method': 'polygon'}, {'text': 'ISO认证', 'confidence': 0.9970961809158325, 'polygon': [[585.0, 78.0], [644.0, 78.0], [644.0, 95.0], [585.0, 95.0]], 'bbox': (585, 78, 60, 18), 'method': 'polygon'}, {'text': 'CE认证', 'confidence': 0.998458206653595, 'polygon': [[672.0, 77.0], [724.0, 77.0], [724.0, 95.0], [672.0, 95.0]], 'bbox': (672, 77, 53, 19), 'method': 'polygon'}, {'text': 'SGS认证', 'confidence': 0.9989465475082397, 'polygon': [[755.0, 78.0], [816.0, 78.0], [816.0, 96.0], [755.0, 96.0]], 'bbox': (755, 78, 62, 19), 'method': 'polygon'}, {'text': '激光粉尘检测仪', 'confidence': 0.9930281639099121, 'polygon': [[61.0, 223.0], [546.0, 223.0], [546.0, 284.0], [61.0, 284.0]], 'bbox': (61, 223, 486, 62), 'method': 'polygon'}, {'text': '精度≤±5%F.S', 'confidence': 0.9796085357666016, 'polygon': [[40.0, 322.0], [291.0, 319.0], [292.0, 356.0], [40.0, 358.0]], 'bbox': (40, 319, 253, 40), 'method': 'polygon'}, {'text': '防护等级IP65', 'confidence': 0.9956157207489014, 'polygon': [[39.0, 399.0], [318.0, 396.0], [319.0, 433.0], [39.0, 436.0]], 'bbox': (39, 396, 281, 41), 'method': 'polygon'}, {'text': '过压保护/声光报警/存储打印', 'confidence': 0.9742894768714905, 'polygon': [[31.0, 478.0], [566.0, 478.0], [566.0, 512.0], [31.0, 512.0]], 'bbox': (31, 478, 536, 35), 'method': 'polygon'}, {'text': '可同时监测多种粒径尘埃粒子数', 'confidence': 0.9920802116394043, 'polygon': [[42.0, 631.0], [497.0, 631.0], [497.0, 658.0], [42.0, 658.0]], 'bbox': (42, 631, 456, 28), 'method': 'polygon'}, {'text': '适合十万级以上洁净室', 'confidence': 0.9910793304443359, 'polygon': [[41.0, 679.0], [365.0, 679.0], [365.0, 706.0], [41.0, 706.0]], 'bbox': (41, 679, 325, 28), 'method': 'polygon'}, {'text': '全国', 'confidence': 0.9995953440666199, 'polygon': [[21.0, 720.0], [158.0, 720.0], [158.0, 791.0], [21.0, 791.0]], 'bbox': (21, 720, 138, 72), 'method': 'polygon'}, {'text': '7天无理由退货', 'confidence': 0.9959755539894104, 'polygon': [[263.0, 731.0], [524.0, 733.0], [523.0, 767.0], [263.0, 764.0]], 'bbox': (263, 731, 262, 37), 'method': 'polygon'}, {'text': '赠运险费', 'confidence': 0.9984970688819885, 'polygon': [[571.0, 731.0], [727.0, 731.0], [727.0, 768.0], [571.0, 768.0]], 'bbox': (571, 731, 157, 38), 'method': 'polygon'}, {'text': '包邮', 'confidence': 0.9996557235717773, 'polygon': [[22.0, 789.0], [161.0, 789.0], [161.0, 859.0], [22.0, 859.0]], 'bbox': (22, 789, 140, 71), 'method': 'polygon'}, {'text': '原厂正品/可开发票/质保一年', 'confidence': 0.9892104268074036, 'polygon': [[185.0, 789.0], [837.0, 787.0], [837.0, 828.0], [185.0, 830.0]], 'bbox': (185, 787, 653, 44), 'method': 'polygon'}]
[2025-10-24 00:43:44,949] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 18개 필터링 완료
[2025-10-24 00:43:44,949] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 00:43:47,471] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['코르노', 'CMC 인증', 'CPA 자격증', '국가 방폭형', 'ISO 인증', 'CE 인증', 'SGS 인증', '레이저 먼지 감지기', '정확도≤±5%F.S', '보호 수준: IP65', '과전압 보호 / 소리와 빛 경보 / 매장 인쇄', '다양한 입자 크기의 먼지 입자 수를 동시에 모니터링 가능', '클래스 100,000 이상의 클린룸에 적합', '전국', '7일이면 반품할 이유가 없습니다.', '무료 배송 보험', '무료 배송', '오리지널 정품 / 청구 가능 / 1년 보증']
[2025-10-24 00:43:47,471] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 00:43:47,472] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR 권한 없음, 전체 번역 모드
[2025-10-24 00:43:47,479] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.350, comps=14, min_center_dist=0.064 → request
[2025-10-24 00:43:47,479] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 18
[2025-10-24 00:43:47,479] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:43:47,479] [LogListener] [DEBUG] [loggerModule.py:debug:275] [set_inpaint_method] prefix=detail, target_key=detail_IMGTrans_type, trans_type=GPU → inpaint_method=migan
[2025-10-24 00:43:47,479] [LogListener] [DEBUG] [loggerModule.py:debug:275] 최종 inpaint_method: migan
[2025-10-24 00:43:47,479] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 00:43:47,482] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 860, 860), 마스크: (1, 1, 860, 860)
[2025-10-24 00:43:47,617] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (860, 860, 3), dtype: uint8
[2025-10-24 00:43:47,617] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 133.66 ms
[2025-10-24 00:43:47,625] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 00:43:47,625] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 31985.8MB -> 31993.5MB (+7.7MB, +0.0%) - 방법: migan
[2025-10-24 00:43:47,625] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 00:43:47,709] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 00:43:47,709] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 00:43:47,709] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 00:43:47,940] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:43:47,941] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 번역 완료: C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:43:47,941] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 4219.7ms | download=0.0ms | ocr=923.3ms | translate=2525.0ms | mask=2525.0ms | inpaint=150.7ms(migan/DirectML) | render=83.6ms | save=200.0ms
[2025-10-24 00:43:47,942] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 00:43:47,943] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=e7cf1f9a-ad17-4b8c-9c51-8548de9cfd0f
[2025-10-24 00:43:47,943] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=e7cf1f9a-ad17-4b8c-9c51-8548de9cfd0f
[2025-10-24 00:43:47,943] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:43:47,943] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 13224)
[2025-10-24 00:43:47,943] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:43:47,943] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=4506f4e0-2d3d-4f5a-9280-30d18d8994f7
[2025-10-24 00:43:47,944] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:43:47,944] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 00:43:47,944] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 00:43:47,944] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 00:43:48,136] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 처리 시작: D:\py\img_worker\modules\test\5.jpg - 전체 번역 모드
[2025-10-24 00:43:48,136] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\test\5.jpg
[2025-10-24 00:43:48,141] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 3 원본 크기: 1200x1857
[2025-10-24 00:43:48,144] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 3 가로 크기 조정: 1200x1857 → 860x1330
[2025-10-24 00:43:48,151] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 3 크기 조정 완료: 860x1330
[2025-10-24 00:43:48,151] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 로컬 저장위치(상세페이지 전처리 완료): D:\py\img_worker\modules\test\5_resized.jpg
[2025-10-24 00:43:48,154] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:43:48,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 230.0ms
[2025-10-24 00:43:48,391] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 80.0ms, 인식: 142.0ms, 분류: 5.0ms
[2025-10-24 00:43:48,398] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 31999.3MB -> 31994.1MB (-5.2MB, -0.0%) - 이미지 3
[2025-10-24 00:43:48,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '现代极简风格', 'confidence': 0.9961185455322266, 'polygon': [[245.0, 75.0], [614.0, 75.0], [614.0, 132.0], [245.0, 132.0]], 'bbox': (245, 75, 370, 58), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9973940849304199, 'polygon': [[168.0, 157.0], [690.0, 157.0], [690.0, 200.0], [168.0, 200.0]], 'bbox': (168, 157, 523, 44), 'method': 'polygon'}, {'text': '★WELLOME', 'confidence': 0.8410268425941467, 'polygon': [[342.0, 521.0], [465.0, 521.0], [465.0, 546.0], [342.0, 546.0]], 'bbox': (342, 521, 124, 26), 'method': 'polygon'}, {'text': '欢迎光临', 'confidence': 0.9999395608901978, 'polygon': [[291.0, 544.0], [519.0, 544.0], [519.0, 612.0], [291.0, 612.0]], 'bbox': (291, 544, 229, 69), 'method': 'polygon'}, {'text': '聚时促销礼惠全城', 'confidence': 0.9192686676979065, 'polygon': [[339.0, 615.0], [447.0, 618.0], [446.0, 643.0], [338.0, 640.0]], 'bbox': (338, 615, 110, 29), 'method': 'polygon'}, {'text': '满499减200满999减500', 'confidence': 0.9207867383956909, 'polygon': [[320.0, 678.0], [459.0, 689.0], [457.0, 713.0], [318.0, 702.0]], 'bbox': (318, 678, 142, 36), 'method': 'polygon'}, {'text': '活动的间6.1·6.7', 'confidence': 0.7784561514854431, 'polygon': [[345.0, 702.0], [426.0, 710.0], [425.0, 728.0], [343.0, 720.0]], 'bbox': (343, 702, 84, 27), 'method': 'polygon'}]
[2025-10-24 00:43:48,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 OCR raw 데이터 메모리 저장 완료: 7개 텍스트
[2025-10-24 00:43:48,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '现代极简风格'
[2025-10-24 00:43:48,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '更易搭配各种使用场景'
[2025-10-24 00:43:48,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '★WELLOME'
[2025-10-24 00:43:48,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '欢迎光临'
[2025-10-24 00:43:48,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 91.9%): '聚时促销礼惠全城'
[2025-10-24 00:43:48,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 92.1%): '满499减200满999减500'
[2025-10-24 00:43:48,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 77.8%): '活动的间6.1·6.7'
[2025-10-24 00:43:48,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 6/7개 (신뢰도 + & 중국어)
[2025-10-24 00:43:48,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '现代极简风格', 'confidence': 0.9961185455322266, 'polygon': [[245.0, 75.0], [614.0, 75.0], [614.0, 132.0], [245.0, 132.0]], 'bbox': (245, 75, 370, 58), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9973940849304199, 'polygon': [[168.0, 157.0], [690.0, 157.0], [690.0, 200.0], [168.0, 200.0]], 'bbox': (168, 157, 523, 44), 'method': 'polygon'}, {'text': '欢迎光临', 'confidence': 0.9999395608901978, 'polygon': [[291.0, 544.0], [519.0, 544.0], [519.0, 612.0], [291.0, 612.0]], 'bbox': (291, 544, 229, 69), 'method': 'polygon'}, {'text': '聚时促销礼惠全城', 'confidence': 0.9192686676979065, 'polygon': [[339.0, 615.0], [447.0, 618.0], [446.0, 643.0], [338.0, 640.0]], 'bbox': (338, 615, 110, 29), 'method': 'polygon'}, {'text': '满499减200满999减500', 'confidence': 0.9207867383956909, 'polygon': [[320.0, 678.0], [459.0, 689.0], [457.0, 713.0], [318.0, 702.0]], 'bbox': (318, 678, 142, 36), 'method': 'polygon'}, {'text': '活动的间6.1·6.7', 'confidence': 0.7784561514854431, 'polygon': [[345.0, 702.0], [426.0, 710.0], [425.0, 728.0], [343.0, 720.0]], 'bbox': (343, 702, 84, 27), 'method': 'polygon'}]
[2025-10-24 00:43:48,400] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 6개 필터링 완료
[2025-10-24 00:43:48,400] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 00:43:50,572] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '환영', '도시 전역에서 판촉 선물 이용 가능', '499/500 이상 지출 시 200 할인 999 이상 지출 시 할인', '액티브룸 6.1 / 6.7']
[2025-10-24 00:43:50,572] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 00:43:50,572] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 OCR 권한 없음, 전체 번역 모드
[2025-10-24 00:43:50,580] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.100, comps=3, min_center_dist=0.073 → request
[2025-10-24 00:43:50,580] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 6
[2025-10-24 00:43:50,580] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:43:50,580] [LogListener] [DEBUG] [loggerModule.py:debug:275] [set_inpaint_method] prefix=detail, target_key=detail_IMGTrans_type, trans_type=GPU → inpaint_method=migan
[2025-10-24 00:43:50,581] [LogListener] [DEBUG] [loggerModule.py:debug:275] 최종 inpaint_method: migan
[2025-10-24 00:43:50,581] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 00:43:50,584] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 1330, 860), 마스크: (1, 1, 1330, 860)
[2025-10-24 00:43:50,670] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (1330, 860, 3), dtype: uint8
[2025-10-24 00:43:50,671] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 87.00 ms
[2025-10-24 00:43:50,680] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 00:43:50,680] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 32027.0MB -> 32047.0MB (+20.0MB, +0.1%) - 방법: migan
[2025-10-24 00:43:50,681] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 00:43:50,715] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 00:43:50,715] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 00:43:50,715] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 00:43:51,033] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_detail_img_3.webp
[2025-10-24 00:43:51,034] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 번역 완료: C:\ProgramData\ImgWorker\work\translated_detail_img_3.webp
[2025-10-24 00:43:51,034] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 3089.2ms | download=0.0ms | ocr=240.0ms | translate=2172.4ms | mask=2172.4ms | inpaint=106.0ms(migan/DirectML) | render=34.0ms | save=286.3ms
[2025-10-24 00:43:51,035] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 00:43:51,035] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=4506f4e0-2d3d-4f5a-9280-30d18d8994f7
[2025-10-24 00:43:51,083] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=4506f4e0-2d3d-4f5a-9280-30d18d8994f7
[2025-10-24 00:43:51,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:43:51,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 13224)
[2025-10-24 00:43:51,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:43:51,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 00:43:51,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 00:43:51,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 00:43:51,108] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 00:43:51,109] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 00:43:52,318] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=29272
[2025-10-24 00:43:52,748] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=29272, Name=ImageWorkerProcess)
[2025-10-24 00:43:52,748] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 00:43:52,748] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 00:43:52,755] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 00:43:52,755] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 00:43:52,755] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 00:43:52,755] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 00:43:52,755] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 00:43:52,756] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 00:43:52,756] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 00:43:52,756] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 00:43:52,756] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 00:43:52,756] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 00:43:52,756] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:43:52,756] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:43:52,756] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 00:43:52,757] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:43:52,757] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:43:52,757] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 00:43:52,757] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 00:43:52,757] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 00:43:52,757] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 00:43:52,757] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 00:43:52,757] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 00:43:52,757] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 00:43:52,757] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 00:43:52,758] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 00:43:52,758] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:43:52,758] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:43:54,315] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 00:43:54,401] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 00:43:54,401] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 00:43:54,401] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 00:43:54,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 00:43:54,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 00:43:54,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 00:43:54,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 00:43:54,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:43:54,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 00:43:54,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:43:54,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 00:43:54,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 00:43:54,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 00:43:54,403] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 00:43:54,403] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 00:43:54,403] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 00:43:54,422] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 00:43:54,633] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:43:54,634] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 00:43:54,634] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:43:54,634] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:43:54,634] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:43:54,634] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:43:54,635] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:43:54,635] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 00:43:54,635] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:43:54,635] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 00:43:54,635] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x0000023DF97BDA50>
[2025-10-24 00:43:54,635] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x0000023DF97BDA50>
[2025-10-24 00:43:54,635] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 00:43:54,635] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:43:54,640] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 00:43:54,640] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 00:43:54,640] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 00:43:54,643] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 00:43:54,643] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 00:43:54,644] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:43:54,644] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:43:54,644] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 00:43:54,644] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:43:54,644] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 29272)
[2025-10-24 00:44:30,653] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:44:30,653] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=825918eb-0f01-41dd-ae26-4b37c6b06865
[2025-10-24 00:44:30,653] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:44:30,653] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 00:44:30,653] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 00:44:30,655] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 00:44:30,966] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 처리 시작: D:\py\img_worker\modules\test\1.jpg - 전체 번역 모드
[2025-10-24 00:44:30,966] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\test\1.jpg
[2025-10-24 00:44:30,968] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 원본 크기: 816x1200
[2025-10-24 00:44:30,973] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 가로 크기 조정: 816x1200 → 860x1264
[2025-10-24 00:44:30,981] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 크기 조정 완료: 860x1264
[2025-10-24 00:44:30,981] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 로컬 저장위치(상세페이지 전처리 완료): D:\py\img_worker\modules\test\1_resized.jpg
[2025-10-24 00:44:30,983] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:44:31,170] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 186.0ms
[2025-10-24 00:44:31,171] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 85.0ms, 인식: 93.0ms, 분류: 4.0ms
[2025-10-24 00:44:31,189] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 31809.1MB -> 31964.8MB (+155.7MB, +0.5%) - 이미지 2
[2025-10-24 00:44:31,210] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '现代极简风格', 'confidence': 0.9960710406303406, 'polygon': [[232.0, 72.0], [581.0, 72.0], [581.0, 122.0], [232.0, 122.0]], 'bbox': (232, 72, 350, 51), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9952024221420288, 'polygon': [[160.0, 149.0], [656.0, 149.0], [656.0, 190.0], [160.0, 190.0]], 'bbox': (160, 149, 497, 42), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9976122379302979, 'polygon': [[93.0, 304.0], [488.0, 304.0], [488.0, 363.0], [93.0, 363.0]], 'bbox': (93, 304, 396, 60), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9930798411369324, 'polygon': [[91.0, 388.0], [486.0, 388.0], [486.0, 448.0], [91.0, 448.0]], 'bbox': (91, 388, 396, 61), 'method': 'polygon'}]
[2025-10-24 00:44:31,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR raw 데이터 메모리 저장 완료: 4개 텍스트
[2025-10-24 00:44:31,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '现代极简风格'
[2025-10-24 00:44:31,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.5%): '更易搭配各种使用场景'
[2025-10-24 00:44:31,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '半圆两端设计'
[2025-10-24 00:44:31,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.3%): '承载各种欢乐'
[2025-10-24 00:44:31,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 4/4개 (신뢰도 + & 중국어)
[2025-10-24 00:44:31,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '现代极简风格', 'confidence': 0.9960710406303406, 'polygon': [[232.0, 72.0], [581.0, 72.0], [581.0, 122.0], [232.0, 122.0]], 'bbox': (232, 72, 350, 51), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9952024221420288, 'polygon': [[160.0, 149.0], [656.0, 149.0], [656.0, 190.0], [160.0, 190.0]], 'bbox': (160, 149, 497, 42), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9976122379302979, 'polygon': [[93.0, 304.0], [488.0, 304.0], [488.0, 363.0], [93.0, 363.0]], 'bbox': (93, 304, 396, 60), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9930798411369324, 'polygon': [[91.0, 388.0], [486.0, 388.0], [486.0, 448.0], [91.0, 448.0]], 'bbox': (91, 388, 396, 61), 'method': 'polygon'}]
[2025-10-24 00:44:31,212] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 4개 필터링 완료
[2025-10-24 00:44:31,212] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 00:44:31,595] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고']
[2025-10-24 00:44:31,595] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 00:44:31,595] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR 권한 없음, 전체 번역 모드
[2025-10-24 00:44:31,601] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.136, comps=2, min_center_dist=0.174 → request
[2025-10-24 00:44:31,602] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 4
[2025-10-24 00:44:31,602] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:44:31,602] [LogListener] [DEBUG] [loggerModule.py:debug:275] [set_inpaint_method] prefix=detail, target_key=detail_IMGTrans_type, trans_type=GPU → inpaint_method=migan
[2025-10-24 00:44:31,602] [LogListener] [DEBUG] [loggerModule.py:debug:275] 최종 inpaint_method: migan
[2025-10-24 00:44:31,602] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 00:44:31,605] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 1264, 860), 마스크: (1, 1, 1264, 860)
[2025-10-24 00:44:31,937] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (1264, 860, 3), dtype: uint8
[2025-10-24 00:44:31,937] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 330.54 ms
[2025-10-24 00:44:31,946] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 00:44:31,946] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 31946.1MB -> 32136.6MB (+190.6MB, +0.6%) - 방법: migan
[2025-10-24 00:44:31,947] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 00:44:31,992] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 00:44:31,993] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 00:44:31,993] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 00:44:32,302] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:44:32,303] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 번역 완료: C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:44:32,304] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 1649.5ms | download=0.0ms | ocr=195.0ms | translate=384.1ms | mask=384.1ms | inpaint=348.5ms(migan/DirectML) | render=46.8ms | save=280.0ms
[2025-10-24 00:44:32,305] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 00:44:32,305] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=825918eb-0f01-41dd-ae26-4b37c6b06865
[2025-10-24 00:44:32,305] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=825918eb-0f01-41dd-ae26-4b37c6b06865
[2025-10-24 00:44:32,305] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:44:32,305] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 29272)
[2025-10-24 00:44:45,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:44:45,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=195b346e-8af0-4212-9402-019454522bc9
[2025-10-24 00:44:45,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:44:45,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 00:44:45,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 00:44:45,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 00:44:45,768] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 처리 시작: D:\py\img_worker\modules\test\2.jpg - 전체 번역 모드
[2025-10-24 00:44:45,768] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\test\2.jpg
[2025-10-24 00:44:45,770] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 원본 크기: 640x640
[2025-10-24 00:44:45,771] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 가로 크기 조정: 640x640 → 860x860
[2025-10-24 00:44:45,778] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 크기 조정 완료: 860x860
[2025-10-24 00:44:45,778] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 로컬 저장위치(상세페이지 전처리 완료): D:\py\img_worker\modules\test\2_resized.jpg
[2025-10-24 00:44:45,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:44:46,670] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 885.4ms
[2025-10-24 00:44:46,689] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 112.0ms, 인식: 743.4ms, 분류: 22.0ms
[2025-10-24 00:44:46,699] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 32355.4MB -> 32550.0MB (+194.5MB, +0.6%) - 이미지 2
[2025-10-24 00:44:46,699] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '科尔诺', 'confidence': 0.9992308616638184, 'polygon': [[96.0, 27.0], [211.0, 25.0], [212.0, 63.0], [97.0, 66.0]], 'bbox': (96, 25, 117, 42), 'method': 'polygon'}, {'text': 'PA', 'confidence': 0.9930515289306641, 'polygon': [[414.0, 28.0], [470.0, 32.0], [468.0, 59.0], [413.0, 55.0]], 'bbox': (413, 28, 58, 32), 'method': 'polygon'}, {'text': 'CE', 'confidence': 0.9594120979309082, 'polygon': [[665.0, 24.0], [728.0, 24.0], [728.0, 66.0], [665.0, 66.0]], 'bbox': (665, 24, 64, 43), 'method': 'polygon'}, {'text': 'SGS', 'confidence': 0.9917036890983582, 'polygon': [[751.0, 24.0], [821.0, 24.0], [821.0, 61.0], [751.0, 61.0]], 'bbox': (751, 24, 71, 38), 'method': 'polygon'}, {'text': 'CNEX', 'confidence': 0.9931035041809082, 'polygon': [[500.0, 34.0], [569.0, 34.0], [569.0, 55.0], [500.0, 55.0]], 'bbox': (500, 34, 70, 22), 'method': 'polygon'}, {'text': 'S', 'confidence': 0.8341087698936462, 'polygon': [[595.0, 37.0], [618.0, 37.0], [618.0, 48.0], [595.0, 48.0]], 'bbox': (595, 37, 24, 12), 'method': 'polygon'}, {'text': 'KORNO', 'confidence': 0.9965640306472778, 'polygon': [[103.0, 73.0], [211.0, 73.0], [211.0, 98.0], [103.0, 98.0]], 'bbox': (103, 73, 109, 26), 'method': 'polygon'}, {'text': 'CMC认证', 'confidence': 0.9940687417984009, 'polygon': [[321.0, 77.0], [389.0, 77.0], [389.0, 94.0], [321.0, 94.0]], 'bbox': (321, 77, 69, 18), 'method': 'polygon'}, {'text': 'CPA认证', 'confidence': 0.9973182678222656, 'polygon': [[412.0, 78.0], [475.0, 78.0], [475.0, 95.0], [412.0, 95.0]], 'bbox': (412, 78, 64, 18), 'method': 'polygon'}, {'text': '国家防爆', 'confidence': 0.9939618110656738, 'polygon': [[498.0, 79.0], [560.0, 79.0], [560.0, 96.0], [498.0, 96.0]], 'bbox': (498, 79, 63, 18), 'method': 'polygon'}, {'text': 'ISO认证', 'confidence': 0.9970961809158325, 'polygon': [[585.0, 78.0], [644.0, 78.0], [644.0, 95.0], [585.0, 95.0]], 'bbox': (585, 78, 60, 18), 'method': 'polygon'}, {'text': 'CE认证', 'confidence': 0.998458206653595, 'polygon': [[672.0, 77.0], [724.0, 77.0], [724.0, 95.0], [672.0, 95.0]], 'bbox': (672, 77, 53, 19), 'method': 'polygon'}, {'text': 'SGS认证', 'confidence': 0.9989465475082397, 'polygon': [[755.0, 78.0], [816.0, 78.0], [816.0, 96.0], [755.0, 96.0]], 'bbox': (755, 78, 62, 19), 'method': 'polygon'}, {'text': 'GT-1000', 'confidence': 0.9943559765815735, 'polygon': [[60.0, 132.0], [380.0, 135.0], [380.0, 196.0], [60.0, 194.0]], 'bbox': (60, 132, 321, 65), 'method': 'polygon'}, {'text': '激光粉尘检测仪', 'confidence': 0.9930281639099121, 'polygon': [[61.0, 223.0], [546.0, 223.0], [546.0, 284.0], [61.0, 284.0]], 'bbox': (61, 223, 486, 62), 'method': 'polygon'}, {'text': 'MO.5', 'confidence': 0.5840951204299927, 'polygon': [[663.0, 297.0], [685.0, 297.0], [685.0, 304.0], [663.0, 304.0]], 'bbox': (663, 297, 23, 8), 'method': 'polygon'}, {'text': '精度≤±5%F.S', 'confidence': 0.9796085357666016, 'polygon': [[40.0, 322.0], [291.0, 319.0], [292.0, 356.0], [40.0, 358.0]], 'bbox': (40, 319, 253, 40), 'method': 'polygon'}, {'text': 'PMLO', 'confidence': 0.825086236000061, 'polygon': [[659.0, 314.0], [686.0, 314.0], [686.0, 324.0], [659.0, 324.0]], 'bbox': (659, 314, 28, 11), 'method': 'polygon'}, {'text': 'PU2.5', 'confidence': 0.679347813129425, 'polygon': [[658.0, 331.0], [687.0, 331.0], [687.0, 341.0], [658.0, 341.0]], 'bbox': (658, 331, 30, 11), 'method': 'polygon'}, {'text': 'PLSO', 'confidence': 0.6640250086784363, 'polygon': [[658.0, 349.0], [687.0, 349.0], [687.0, 360.0], [658.0, 360.0]], 'bbox': (658, 349, 30, 12), 'method': 'polygon'}, {'text': 'P10', 'confidence': 0.6683804988861084, 'polygon': [[659.0, 368.0], [684.0, 368.0], [684.0, 379.0], [659.0, 379.0]], 'bbox': (659, 368, 26, 12), 'method': 'polygon'}, {'text': '防护等级IP65', 'confidence': 0.9956157207489014, 'polygon': [[39.0, 399.0], [318.0, 396.0], [319.0, 433.0], [39.0, 436.0]], 'bbox': (39, 396, 281, 41), 'method': 'polygon'}, {'text': '过压保护/声光报警/存储打印', 'confidence': 0.9742894768714905, 'polygon': [[31.0, 478.0], [566.0, 478.0], [566.0, 512.0], [31.0, 512.0]], 'bbox': (31, 478, 536, 35), 'method': 'polygon'}, {'text': 'PM0.3/0.5/1.0/2.5/5.0/10um', 'confidence': 0.9763215780258179, 'polygon': [[29.0, 552.0], [572.0, 555.0], [572.0, 589.0], [29.0, 586.0]], 'bbox': (29, 552, 544, 38), 'method': 'polygon'}, {'text': '可同时监测多种粒径尘埃粒子数', 'confidence': 0.9920802116394043, 'polygon': [[42.0, 631.0], [497.0, 631.0], [497.0, 658.0], [42.0, 658.0]], 'bbox': (42, 631, 456, 28), 'method': 'polygon'}, {'text': '适合十万级以上洁净室', 'confidence': 0.9910793304443359, 'polygon': [[41.0, 679.0], [365.0, 679.0], [365.0, 706.0], [41.0, 706.0]], 'bbox': (41, 679, 325, 28), 'method': 'polygon'}, {'text': '全国', 'confidence': 0.9995953440666199, 'polygon': [[21.0, 720.0], [158.0, 720.0], [158.0, 791.0], [21.0, 791.0]], 'bbox': (21, 720, 138, 72), 'method': 'polygon'}, {'text': '7天无理由退货', 'confidence': 0.9959755539894104, 'polygon': [[263.0, 731.0], [524.0, 733.0], [523.0, 767.0], [263.0, 764.0]], 'bbox': (263, 731, 262, 37), 'method': 'polygon'}, {'text': '赠运险费', 'confidence': 0.9984970688819885, 'polygon': [[571.0, 731.0], [727.0, 731.0], [727.0, 768.0], [571.0, 768.0]], 'bbox': (571, 731, 157, 38), 'method': 'polygon'}, {'text': '包邮', 'confidence': 0.9996557235717773, 'polygon': [[22.0, 789.0], [161.0, 789.0], [161.0, 859.0], [22.0, 859.0]], 'bbox': (22, 789, 140, 71), 'method': 'polygon'}, {'text': '原厂正品/可开发票/质保一年', 'confidence': 0.9892104268074036, 'polygon': [[185.0, 789.0], [837.0, 787.0], [837.0, 828.0], [185.0, 830.0]], 'bbox': (185, 787, 653, 44), 'method': 'polygon'}]
[2025-10-24 00:44:46,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR raw 데이터 메모리 저장 완료: 31개 텍스트
[2025-10-24 00:44:46,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '科尔诺'
[2025-10-24 00:44:46,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PA'
[2025-10-24 00:44:46,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'CE'
[2025-10-24 00:44:46,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'SGS'
[2025-10-24 00:44:46,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'CNEX'
[2025-10-24 00:44:46,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'S'
[2025-10-24 00:44:46,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'KORNO'
[2025-10-24 00:44:46,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.4%): 'CMC认证'
[2025-10-24 00:44:46,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): 'CPA认证'
[2025-10-24 00:44:46,701] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.4%): '国家防爆'
[2025-10-24 00:44:46,701] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): 'ISO认证'
[2025-10-24 00:44:46,701] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): 'CE认证'
[2025-10-24 00:44:46,701] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): 'SGS认证'
[2025-10-24 00:44:46,701] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'GT-1000'
[2025-10-24 00:44:46,701] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.3%): '激光粉尘检测仪'
[2025-10-24 00:44:46,701] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MO.5'
[2025-10-24 00:44:46,701] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.0%): '精度≤±5%F.S'
[2025-10-24 00:44:46,701] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PMLO'
[2025-10-24 00:44:46,701] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PU2.5'
[2025-10-24 00:44:46,701] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PLSO'
[2025-10-24 00:44:46,701] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'P10'
[2025-10-24 00:44:46,701] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '防护等级IP65'
[2025-10-24 00:44:46,701] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 97.4%): '过压保护/声光报警/存储打印'
[2025-10-24 00:44:46,701] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PM0.3/0.5/1.0/2.5/5.0/10um'
[2025-10-24 00:44:46,701] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.2%): '可同时监测多种粒径尘埃粒子数'
[2025-10-24 00:44:46,702] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.1%): '适合十万级以上洁净室'
[2025-10-24 00:44:46,702] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '全国'
[2025-10-24 00:44:46,702] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '7天无理由退货'
[2025-10-24 00:44:46,702] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '赠运险费'
[2025-10-24 00:44:46,702] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '包邮'
[2025-10-24 00:44:46,702] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.9%): '原厂正品/可开发票/质保一年'
[2025-10-24 00:44:46,702] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 18/31개 (신뢰도 + & 중국어)
[2025-10-24 00:44:46,702] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '科尔诺', 'confidence': 0.9992308616638184, 'polygon': [[96.0, 27.0], [211.0, 25.0], [212.0, 63.0], [97.0, 66.0]], 'bbox': (96, 25, 117, 42), 'method': 'polygon'}, {'text': 'CMC认证', 'confidence': 0.9940687417984009, 'polygon': [[321.0, 77.0], [389.0, 77.0], [389.0, 94.0], [321.0, 94.0]], 'bbox': (321, 77, 69, 18), 'method': 'polygon'}, {'text': 'CPA认证', 'confidence': 0.9973182678222656, 'polygon': [[412.0, 78.0], [475.0, 78.0], [475.0, 95.0], [412.0, 95.0]], 'bbox': (412, 78, 64, 18), 'method': 'polygon'}, {'text': '国家防爆', 'confidence': 0.9939618110656738, 'polygon': [[498.0, 79.0], [560.0, 79.0], [560.0, 96.0], [498.0, 96.0]], 'bbox': (498, 79, 63, 18), 'method': 'polygon'}, {'text': 'ISO认证', 'confidence': 0.9970961809158325, 'polygon': [[585.0, 78.0], [644.0, 78.0], [644.0, 95.0], [585.0, 95.0]], 'bbox': (585, 78, 60, 18), 'method': 'polygon'}, {'text': 'CE认证', 'confidence': 0.998458206653595, 'polygon': [[672.0, 77.0], [724.0, 77.0], [724.0, 95.0], [672.0, 95.0]], 'bbox': (672, 77, 53, 19), 'method': 'polygon'}, {'text': 'SGS认证', 'confidence': 0.9989465475082397, 'polygon': [[755.0, 78.0], [816.0, 78.0], [816.0, 96.0], [755.0, 96.0]], 'bbox': (755, 78, 62, 19), 'method': 'polygon'}, {'text': '激光粉尘检测仪', 'confidence': 0.9930281639099121, 'polygon': [[61.0, 223.0], [546.0, 223.0], [546.0, 284.0], [61.0, 284.0]], 'bbox': (61, 223, 486, 62), 'method': 'polygon'}, {'text': '精度≤±5%F.S', 'confidence': 0.9796085357666016, 'polygon': [[40.0, 322.0], [291.0, 319.0], [292.0, 356.0], [40.0, 358.0]], 'bbox': (40, 319, 253, 40), 'method': 'polygon'}, {'text': '防护等级IP65', 'confidence': 0.9956157207489014, 'polygon': [[39.0, 399.0], [318.0, 396.0], [319.0, 433.0], [39.0, 436.0]], 'bbox': (39, 396, 281, 41), 'method': 'polygon'}, {'text': '过压保护/声光报警/存储打印', 'confidence': 0.9742894768714905, 'polygon': [[31.0, 478.0], [566.0, 478.0], [566.0, 512.0], [31.0, 512.0]], 'bbox': (31, 478, 536, 35), 'method': 'polygon'}, {'text': '可同时监测多种粒径尘埃粒子数', 'confidence': 0.9920802116394043, 'polygon': [[42.0, 631.0], [497.0, 631.0], [497.0, 658.0], [42.0, 658.0]], 'bbox': (42, 631, 456, 28), 'method': 'polygon'}, {'text': '适合十万级以上洁净室', 'confidence': 0.9910793304443359, 'polygon': [[41.0, 679.0], [365.0, 679.0], [365.0, 706.0], [41.0, 706.0]], 'bbox': (41, 679, 325, 28), 'method': 'polygon'}, {'text': '全国', 'confidence': 0.9995953440666199, 'polygon': [[21.0, 720.0], [158.0, 720.0], [158.0, 791.0], [21.0, 791.0]], 'bbox': (21, 720, 138, 72), 'method': 'polygon'}, {'text': '7天无理由退货', 'confidence': 0.9959755539894104, 'polygon': [[263.0, 731.0], [524.0, 733.0], [523.0, 767.0], [263.0, 764.0]], 'bbox': (263, 731, 262, 37), 'method': 'polygon'}, {'text': '赠运险费', 'confidence': 0.9984970688819885, 'polygon': [[571.0, 731.0], [727.0, 731.0], [727.0, 768.0], [571.0, 768.0]], 'bbox': (571, 731, 157, 38), 'method': 'polygon'}, {'text': '包邮', 'confidence': 0.9996557235717773, 'polygon': [[22.0, 789.0], [161.0, 789.0], [161.0, 859.0], [22.0, 859.0]], 'bbox': (22, 789, 140, 71), 'method': 'polygon'}, {'text': '原厂正品/可开发票/质保一年', 'confidence': 0.9892104268074036, 'polygon': [[185.0, 789.0], [837.0, 787.0], [837.0, 828.0], [185.0, 830.0]], 'bbox': (185, 787, 653, 44), 'method': 'polygon'}]
[2025-10-24 00:44:46,702] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 18개 필터링 완료
[2025-10-24 00:44:46,702] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 00:44:46,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['코르노', 'CMC 인증', 'CPA 자격증', '국가 방폭형', 'ISO 인증', 'CE 인증', 'SGS 인증', '레이저 먼지 감지기', '정확도≤±5%F.S', '보호 수준: IP65', '과전압 보호 / 소리와 빛 경보 / 매장 인쇄', '다양한 입자 크기의 먼지 입자 수를 동시에 모니터링 가능', '클래스 100,000 이상의 클린룸에 적합', '전국', '7일이면 반품할 이유가 없습니다.', '무료 배송 보험', '무료 배송', '오리지널 정품 / 청구 가능 / 1년 보증']
[2025-10-24 00:44:46,855] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 00:44:46,855] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR 권한 없음, 전체 번역 모드
[2025-10-24 00:44:46,862] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.350, comps=14, min_center_dist=0.064 → request
[2025-10-24 00:44:46,862] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 18
[2025-10-24 00:44:46,862] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:44:46,863] [LogListener] [DEBUG] [loggerModule.py:debug:275] [set_inpaint_method] prefix=detail, target_key=detail_IMGTrans_type, trans_type=GPU → inpaint_method=migan
[2025-10-24 00:44:46,863] [LogListener] [DEBUG] [loggerModule.py:debug:275] 최종 inpaint_method: migan
[2025-10-24 00:44:46,863] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 00:44:46,865] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 860, 860), 마스크: (1, 1, 860, 860)
[2025-10-24 00:44:46,949] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (860, 860, 3), dtype: uint8
[2025-10-24 00:44:46,949] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 83.00 ms
[2025-10-24 00:44:46,956] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 00:44:46,956] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 32532.8MB -> 32536.6MB (+3.8MB, +0.0%) - 방법: migan
[2025-10-24 00:44:46,957] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 00:44:47,040] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 00:44:47,040] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 00:44:47,040] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 00:44:47,278] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:44:47,279] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 번역 완료: C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:44:47,279] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 1968.8ms | download=0.0ms | ocr=896.4ms | translate=156.0ms | mask=156.0ms | inpaint=99.0ms(migan/DirectML) | render=83.5ms | save=201.5ms
[2025-10-24 00:44:47,280] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 00:44:47,280] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 00:44:47,281] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=195b346e-8af0-4212-9402-019454522bc9
[2025-10-24 00:44:47,281] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=195b346e-8af0-4212-9402-019454522bc9
[2025-10-24 00:44:47,281] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 00:44:47,281] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:44:47,281] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 29272)
[2025-10-24 00:44:47,298] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:44:47,331] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 00:44:47,332] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 00:44:47,332] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 00:44:47,333] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 00:44:47,333] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 00:44:48,510] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=10156
[2025-10-24 00:44:48,945] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=10156, Name=ImageWorkerProcess)
[2025-10-24 00:44:48,945] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 00:44:48,945] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 00:44:48,951] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 00:44:48,951] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 00:44:48,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 00:44:48,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 00:44:48,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 00:44:48,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 00:44:48,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 00:44:48,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 00:44:48,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 00:44:48,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 00:44:48,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:44:48,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:44:48,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 00:44:48,953] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:44:48,953] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:44:48,953] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 00:44:48,953] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 00:44:48,953] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 00:44:48,953] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 00:44:48,953] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 00:44:48,953] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 00:44:48,953] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 00:44:48,953] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 00:44:48,953] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 00:44:48,953] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:44:48,953] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:44:50,444] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 00:44:50,527] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 00:44:50,527] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 00:44:50,527] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 00:44:50,528] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 00:44:50,528] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 00:44:50,528] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 00:44:50,528] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 00:44:50,528] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:44:50,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 00:44:50,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:44:50,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 00:44:50,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 00:44:50,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 00:44:50,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 00:44:50,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 00:44:50,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 00:44:50,548] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 00:44:50,762] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:44:50,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 00:44:50,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:44:50,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:44:50,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:44:50,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:44:50,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:44:50,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 00:44:50,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:44:50,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 00:44:50,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x0000028473C37ED0>
[2025-10-24 00:44:50,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x0000028473C37ED0>
[2025-10-24 00:44:50,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 00:44:50,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:44:50,768] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 00:44:50,768] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 00:44:50,769] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 00:44:50,772] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 00:44:50,772] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 00:44:50,772] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:44:50,773] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:44:50,773] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 00:44:50,773] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:44:50,773] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10156)
[2025-10-24 00:45:04,423] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:45:04,423] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=a05535ea-073d-4dcc-8336-6e419eb2fa8f
[2025-10-24 00:45:04,424] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:45:04,424] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 00:45:04,424] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 00:45:04,426] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 00:45:04,840] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 처리 시작: D:\py\img_worker\modules\test\2.jpg - 전체 번역 모드
[2025-10-24 00:45:04,840] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\test\2.jpg
[2025-10-24 00:45:04,841] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 원본 크기: 640x640
[2025-10-24 00:45:04,845] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 가로 크기 조정: 640x640 → 860x860
[2025-10-24 00:45:04,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 크기 조정 완료: 860x860
[2025-10-24 00:45:04,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 로컬 저장위치(상세페이지 전처리 완료): D:\py\img_worker\modules\test\2_resized.jpg
[2025-10-24 00:45:04,855] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:45:05,797] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 938.3ms
[2025-10-24 00:45:05,798] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 129.0ms, 인식: 778.3ms, 분류: 24.0ms
[2025-10-24 00:45:05,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 32436.8MB -> 32778.2MB (+341.4MB, +1.1%) - 이미지 2
[2025-10-24 00:45:05,837] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '科尔诺', 'confidence': 0.9992308616638184, 'polygon': [[96.0, 27.0], [211.0, 25.0], [212.0, 63.0], [97.0, 66.0]], 'bbox': (96, 25, 117, 42), 'method': 'polygon'}, {'text': 'PA', 'confidence': 0.9930515289306641, 'polygon': [[414.0, 28.0], [470.0, 32.0], [468.0, 59.0], [413.0, 55.0]], 'bbox': (413, 28, 58, 32), 'method': 'polygon'}, {'text': 'CE', 'confidence': 0.9594120979309082, 'polygon': [[665.0, 24.0], [728.0, 24.0], [728.0, 66.0], [665.0, 66.0]], 'bbox': (665, 24, 64, 43), 'method': 'polygon'}, {'text': 'SGS', 'confidence': 0.9917036890983582, 'polygon': [[751.0, 24.0], [821.0, 24.0], [821.0, 61.0], [751.0, 61.0]], 'bbox': (751, 24, 71, 38), 'method': 'polygon'}, {'text': 'CNEX', 'confidence': 0.9931035041809082, 'polygon': [[500.0, 34.0], [569.0, 34.0], [569.0, 55.0], [500.0, 55.0]], 'bbox': (500, 34, 70, 22), 'method': 'polygon'}, {'text': 'S', 'confidence': 0.8341087698936462, 'polygon': [[595.0, 37.0], [618.0, 37.0], [618.0, 48.0], [595.0, 48.0]], 'bbox': (595, 37, 24, 12), 'method': 'polygon'}, {'text': 'KORNO', 'confidence': 0.9965640306472778, 'polygon': [[103.0, 73.0], [211.0, 73.0], [211.0, 98.0], [103.0, 98.0]], 'bbox': (103, 73, 109, 26), 'method': 'polygon'}, {'text': 'CMC认证', 'confidence': 0.9940687417984009, 'polygon': [[321.0, 77.0], [389.0, 77.0], [389.0, 94.0], [321.0, 94.0]], 'bbox': (321, 77, 69, 18), 'method': 'polygon'}, {'text': 'CPA认证', 'confidence': 0.9973182678222656, 'polygon': [[412.0, 78.0], [475.0, 78.0], [475.0, 95.0], [412.0, 95.0]], 'bbox': (412, 78, 64, 18), 'method': 'polygon'}, {'text': '国家防爆', 'confidence': 0.9939618110656738, 'polygon': [[498.0, 79.0], [560.0, 79.0], [560.0, 96.0], [498.0, 96.0]], 'bbox': (498, 79, 63, 18), 'method': 'polygon'}, {'text': 'ISO认证', 'confidence': 0.9970961809158325, 'polygon': [[585.0, 78.0], [644.0, 78.0], [644.0, 95.0], [585.0, 95.0]], 'bbox': (585, 78, 60, 18), 'method': 'polygon'}, {'text': 'CE认证', 'confidence': 0.998458206653595, 'polygon': [[672.0, 77.0], [724.0, 77.0], [724.0, 95.0], [672.0, 95.0]], 'bbox': (672, 77, 53, 19), 'method': 'polygon'}, {'text': 'SGS认证', 'confidence': 0.9989465475082397, 'polygon': [[755.0, 78.0], [816.0, 78.0], [816.0, 96.0], [755.0, 96.0]], 'bbox': (755, 78, 62, 19), 'method': 'polygon'}, {'text': 'GT-1000', 'confidence': 0.9943559765815735, 'polygon': [[60.0, 132.0], [380.0, 135.0], [380.0, 196.0], [60.0, 194.0]], 'bbox': (60, 132, 321, 65), 'method': 'polygon'}, {'text': '激光粉尘检测仪', 'confidence': 0.9930281639099121, 'polygon': [[61.0, 223.0], [546.0, 223.0], [546.0, 284.0], [61.0, 284.0]], 'bbox': (61, 223, 486, 62), 'method': 'polygon'}, {'text': 'MO.5', 'confidence': 0.5840951204299927, 'polygon': [[663.0, 297.0], [685.0, 297.0], [685.0, 304.0], [663.0, 304.0]], 'bbox': (663, 297, 23, 8), 'method': 'polygon'}, {'text': '精度≤±5%F.S', 'confidence': 0.9796085357666016, 'polygon': [[40.0, 322.0], [291.0, 319.0], [292.0, 356.0], [40.0, 358.0]], 'bbox': (40, 319, 253, 40), 'method': 'polygon'}, {'text': 'PMLO', 'confidence': 0.825086236000061, 'polygon': [[659.0, 314.0], [686.0, 314.0], [686.0, 324.0], [659.0, 324.0]], 'bbox': (659, 314, 28, 11), 'method': 'polygon'}, {'text': 'PU2.5', 'confidence': 0.679347813129425, 'polygon': [[658.0, 331.0], [687.0, 331.0], [687.0, 341.0], [658.0, 341.0]], 'bbox': (658, 331, 30, 11), 'method': 'polygon'}, {'text': 'PLSO', 'confidence': 0.6640250086784363, 'polygon': [[658.0, 349.0], [687.0, 349.0], [687.0, 360.0], [658.0, 360.0]], 'bbox': (658, 349, 30, 12), 'method': 'polygon'}, {'text': 'P10', 'confidence': 0.6683804988861084, 'polygon': [[659.0, 368.0], [684.0, 368.0], [684.0, 379.0], [659.0, 379.0]], 'bbox': (659, 368, 26, 12), 'method': 'polygon'}, {'text': '防护等级IP65', 'confidence': 0.9956157207489014, 'polygon': [[39.0, 399.0], [318.0, 396.0], [319.0, 433.0], [39.0, 436.0]], 'bbox': (39, 396, 281, 41), 'method': 'polygon'}, {'text': '过压保护/声光报警/存储打印', 'confidence': 0.9742894768714905, 'polygon': [[31.0, 478.0], [566.0, 478.0], [566.0, 512.0], [31.0, 512.0]], 'bbox': (31, 478, 536, 35), 'method': 'polygon'}, {'text': 'PM0.3/0.5/1.0/2.5/5.0/10um', 'confidence': 0.9763215780258179, 'polygon': [[29.0, 552.0], [572.0, 555.0], [572.0, 589.0], [29.0, 586.0]], 'bbox': (29, 552, 544, 38), 'method': 'polygon'}, {'text': '可同时监测多种粒径尘埃粒子数', 'confidence': 0.9920802116394043, 'polygon': [[42.0, 631.0], [497.0, 631.0], [497.0, 658.0], [42.0, 658.0]], 'bbox': (42, 631, 456, 28), 'method': 'polygon'}, {'text': '适合十万级以上洁净室', 'confidence': 0.9910793304443359, 'polygon': [[41.0, 679.0], [365.0, 679.0], [365.0, 706.0], [41.0, 706.0]], 'bbox': (41, 679, 325, 28), 'method': 'polygon'}, {'text': '全国', 'confidence': 0.9995953440666199, 'polygon': [[21.0, 720.0], [158.0, 720.0], [158.0, 791.0], [21.0, 791.0]], 'bbox': (21, 720, 138, 72), 'method': 'polygon'}, {'text': '7天无理由退货', 'confidence': 0.9959755539894104, 'polygon': [[263.0, 731.0], [524.0, 733.0], [523.0, 767.0], [263.0, 764.0]], 'bbox': (263, 731, 262, 37), 'method': 'polygon'}, {'text': '赠运险费', 'confidence': 0.9984970688819885, 'polygon': [[571.0, 731.0], [727.0, 731.0], [727.0, 768.0], [571.0, 768.0]], 'bbox': (571, 731, 157, 38), 'method': 'polygon'}, {'text': '包邮', 'confidence': 0.9996557235717773, 'polygon': [[22.0, 789.0], [161.0, 789.0], [161.0, 859.0], [22.0, 859.0]], 'bbox': (22, 789, 140, 71), 'method': 'polygon'}, {'text': '原厂正品/可开发票/质保一年', 'confidence': 0.9892104268074036, 'polygon': [[185.0, 789.0], [837.0, 787.0], [837.0, 828.0], [185.0, 830.0]], 'bbox': (185, 787, 653, 44), 'method': 'polygon'}]
[2025-10-24 00:45:05,849] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR raw 데이터 메모리 저장 완료: 31개 텍스트
[2025-10-24 00:45:05,849] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '科尔诺'
[2025-10-24 00:45:05,850] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PA'
[2025-10-24 00:45:05,850] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'CE'
[2025-10-24 00:45:05,850] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'SGS'
[2025-10-24 00:45:05,850] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'CNEX'
[2025-10-24 00:45:05,850] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'S'
[2025-10-24 00:45:05,850] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'KORNO'
[2025-10-24 00:45:05,850] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.4%): 'CMC认证'
[2025-10-24 00:45:05,850] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): 'CPA认证'
[2025-10-24 00:45:05,850] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.4%): '国家防爆'
[2025-10-24 00:45:05,850] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): 'ISO认证'
[2025-10-24 00:45:05,850] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): 'CE认证'
[2025-10-24 00:45:05,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): 'SGS认证'
[2025-10-24 00:45:05,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'GT-1000'
[2025-10-24 00:45:05,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.3%): '激光粉尘检测仪'
[2025-10-24 00:45:05,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MO.5'
[2025-10-24 00:45:05,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.0%): '精度≤±5%F.S'
[2025-10-24 00:45:05,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PMLO'
[2025-10-24 00:45:05,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PU2.5'
[2025-10-24 00:45:05,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PLSO'
[2025-10-24 00:45:05,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'P10'
[2025-10-24 00:45:05,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '防护等级IP65'
[2025-10-24 00:45:05,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 97.4%): '过压保护/声光报警/存储打印'
[2025-10-24 00:45:05,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PM0.3/0.5/1.0/2.5/5.0/10um'
[2025-10-24 00:45:05,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.2%): '可同时监测多种粒径尘埃粒子数'
[2025-10-24 00:45:05,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.1%): '适合十万级以上洁净室'
[2025-10-24 00:45:05,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '全国'
[2025-10-24 00:45:05,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '7天无理由退货'
[2025-10-24 00:45:05,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '赠运险费'
[2025-10-24 00:45:05,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '包邮'
[2025-10-24 00:45:05,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.9%): '原厂正品/可开发票/质保一年'
[2025-10-24 00:45:05,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 18/31개 (신뢰도 + & 중국어)
[2025-10-24 00:45:05,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '科尔诺', 'confidence': 0.9992308616638184, 'polygon': [[96.0, 27.0], [211.0, 25.0], [212.0, 63.0], [97.0, 66.0]], 'bbox': (96, 25, 117, 42), 'method': 'polygon'}, {'text': 'CMC认证', 'confidence': 0.9940687417984009, 'polygon': [[321.0, 77.0], [389.0, 77.0], [389.0, 94.0], [321.0, 94.0]], 'bbox': (321, 77, 69, 18), 'method': 'polygon'}, {'text': 'CPA认证', 'confidence': 0.9973182678222656, 'polygon': [[412.0, 78.0], [475.0, 78.0], [475.0, 95.0], [412.0, 95.0]], 'bbox': (412, 78, 64, 18), 'method': 'polygon'}, {'text': '国家防爆', 'confidence': 0.9939618110656738, 'polygon': [[498.0, 79.0], [560.0, 79.0], [560.0, 96.0], [498.0, 96.0]], 'bbox': (498, 79, 63, 18), 'method': 'polygon'}, {'text': 'ISO认证', 'confidence': 0.9970961809158325, 'polygon': [[585.0, 78.0], [644.0, 78.0], [644.0, 95.0], [585.0, 95.0]], 'bbox': (585, 78, 60, 18), 'method': 'polygon'}, {'text': 'CE认证', 'confidence': 0.998458206653595, 'polygon': [[672.0, 77.0], [724.0, 77.0], [724.0, 95.0], [672.0, 95.0]], 'bbox': (672, 77, 53, 19), 'method': 'polygon'}, {'text': 'SGS认证', 'confidence': 0.9989465475082397, 'polygon': [[755.0, 78.0], [816.0, 78.0], [816.0, 96.0], [755.0, 96.0]], 'bbox': (755, 78, 62, 19), 'method': 'polygon'}, {'text': '激光粉尘检测仪', 'confidence': 0.9930281639099121, 'polygon': [[61.0, 223.0], [546.0, 223.0], [546.0, 284.0], [61.0, 284.0]], 'bbox': (61, 223, 486, 62), 'method': 'polygon'}, {'text': '精度≤±5%F.S', 'confidence': 0.9796085357666016, 'polygon': [[40.0, 322.0], [291.0, 319.0], [292.0, 356.0], [40.0, 358.0]], 'bbox': (40, 319, 253, 40), 'method': 'polygon'}, {'text': '防护等级IP65', 'confidence': 0.9956157207489014, 'polygon': [[39.0, 399.0], [318.0, 396.0], [319.0, 433.0], [39.0, 436.0]], 'bbox': (39, 396, 281, 41), 'method': 'polygon'}, {'text': '过压保护/声光报警/存储打印', 'confidence': 0.9742894768714905, 'polygon': [[31.0, 478.0], [566.0, 478.0], [566.0, 512.0], [31.0, 512.0]], 'bbox': (31, 478, 536, 35), 'method': 'polygon'}, {'text': '可同时监测多种粒径尘埃粒子数', 'confidence': 0.9920802116394043, 'polygon': [[42.0, 631.0], [497.0, 631.0], [497.0, 658.0], [42.0, 658.0]], 'bbox': (42, 631, 456, 28), 'method': 'polygon'}, {'text': '适合十万级以上洁净室', 'confidence': 0.9910793304443359, 'polygon': [[41.0, 679.0], [365.0, 679.0], [365.0, 706.0], [41.0, 706.0]], 'bbox': (41, 679, 325, 28), 'method': 'polygon'}, {'text': '全国', 'confidence': 0.9995953440666199, 'polygon': [[21.0, 720.0], [158.0, 720.0], [158.0, 791.0], [21.0, 791.0]], 'bbox': (21, 720, 138, 72), 'method': 'polygon'}, {'text': '7天无理由退货', 'confidence': 0.9959755539894104, 'polygon': [[263.0, 731.0], [524.0, 733.0], [523.0, 767.0], [263.0, 764.0]], 'bbox': (263, 731, 262, 37), 'method': 'polygon'}, {'text': '赠运险费', 'confidence': 0.9984970688819885, 'polygon': [[571.0, 731.0], [727.0, 731.0], [727.0, 768.0], [571.0, 768.0]], 'bbox': (571, 731, 157, 38), 'method': 'polygon'}, {'text': '包邮', 'confidence': 0.9996557235717773, 'polygon': [[22.0, 789.0], [161.0, 789.0], [161.0, 859.0], [22.0, 859.0]], 'bbox': (22, 789, 140, 71), 'method': 'polygon'}, {'text': '原厂正品/可开发票/质保一年', 'confidence': 0.9892104268074036, 'polygon': [[185.0, 789.0], [837.0, 787.0], [837.0, 828.0], [185.0, 830.0]], 'bbox': (185, 787, 653, 44), 'method': 'polygon'}]
[2025-10-24 00:45:05,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 18개 필터링 완료
[2025-10-24 00:45:05,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 00:45:06,352] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['코르노', 'CMC 인증', 'CPA 자격증', '국가 방폭형', 'ISO 인증', 'CE 인증', 'SGS 인증', '레이저 먼지 감지기', '정확도≤±5%F.S', '보호 수준: IP65', '과전압 보호 / 소리와 빛 경보 / 매장 인쇄', '다양한 입자 크기의 먼지 입자 수를 동시에 모니터링 가능', '클래스 100,000 이상의 클린룸에 적합', '전국', '7일이면 반품할 이유가 없습니다.', '무료 배송 보험', '무료 배송', '오리지널 정품 / 청구 가능 / 1년 보증']
[2025-10-24 00:45:06,352] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 00:45:06,352] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR 권한 없음, 전체 번역 모드
[2025-10-24 00:45:06,360] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.350, comps=14, min_center_dist=0.064 → request
[2025-10-24 00:45:06,360] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 18
[2025-10-24 00:45:06,360] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:45:06,360] [LogListener] [DEBUG] [loggerModule.py:debug:275] [set_inpaint_method] prefix=detail, target_key=detail_IMGTrans_type, trans_type=GPU → inpaint_method=migan
[2025-10-24 00:45:06,360] [LogListener] [DEBUG] [loggerModule.py:debug:275] 최종 inpaint_method: migan
[2025-10-24 00:45:06,360] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 00:45:06,363] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 860, 860), 마스크: (1, 1, 860, 860)
[2025-10-24 00:45:06,928] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (860, 860, 3), dtype: uint8
[2025-10-24 00:45:06,928] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 564.81 ms
[2025-10-24 00:45:06,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 00:45:06,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 32807.7MB -> 33003.4MB (+195.7MB, +0.6%) - 방법: migan
[2025-10-24 00:45:06,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 00:45:07,030] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 00:45:07,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 00:45:07,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 00:45:07,262] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:45:07,263] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 번역 완료: C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:45:07,263] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 2837.4ms | download=0.0ms | ocr=950.3ms | translate=502.0ms | mask=502.0ms | inpaint=580.8ms(migan/DirectML) | render=94.0ms | save=200.0ms
[2025-10-24 00:45:07,264] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 00:45:07,264] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=a05535ea-073d-4dcc-8336-6e419eb2fa8f
[2025-10-24 00:45:07,264] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=a05535ea-073d-4dcc-8336-6e419eb2fa8f
[2025-10-24 00:45:07,264] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:45:07,264] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10156)
[2025-10-24 00:45:07,264] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:45:07,265] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=024282c9-a0fa-43a7-9392-55af0d636164
[2025-10-24 00:45:07,265] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:45:07,265] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 00:45:07,265] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 00:45:07,265] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 00:45:07,595] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 처리 시작: D:\py\img_worker\modules\test\1.jpg - 전체 번역 모드
[2025-10-24 00:45:07,595] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\test\1.jpg
[2025-10-24 00:45:07,597] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 원본 크기: 816x1200
[2025-10-24 00:45:07,599] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 가로 크기 조정: 816x1200 → 860x1264
[2025-10-24 00:45:07,606] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 크기 조정 완료: 860x1264
[2025-10-24 00:45:07,606] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 로컬 저장위치(상세페이지 전처리 완료): D:\py\img_worker\modules\test\1_resized.jpg
[2025-10-24 00:45:07,609] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:45:07,776] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 166.0ms
[2025-10-24 00:45:07,783] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 88.0ms, 인식: 72.0ms, 분류: 3.0ms
[2025-10-24 00:45:07,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 33063.3MB -> 33061.1MB (-2.2MB, -0.0%) - 이미지 2
[2025-10-24 00:45:07,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '现代极简风格', 'confidence': 0.9960710406303406, 'polygon': [[232.0, 72.0], [581.0, 72.0], [581.0, 122.0], [232.0, 122.0]], 'bbox': (232, 72, 350, 51), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9952024221420288, 'polygon': [[160.0, 149.0], [656.0, 149.0], [656.0, 190.0], [160.0, 190.0]], 'bbox': (160, 149, 497, 42), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9976122379302979, 'polygon': [[93.0, 304.0], [488.0, 304.0], [488.0, 363.0], [93.0, 363.0]], 'bbox': (93, 304, 396, 60), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9930798411369324, 'polygon': [[91.0, 388.0], [486.0, 388.0], [486.0, 448.0], [91.0, 448.0]], 'bbox': (91, 388, 396, 61), 'method': 'polygon'}]
[2025-10-24 00:45:07,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR raw 데이터 메모리 저장 완료: 4개 텍스트
[2025-10-24 00:45:07,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '现代极简风格'
[2025-10-24 00:45:07,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.5%): '更易搭配各种使用场景'
[2025-10-24 00:45:07,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '半圆两端设计'
[2025-10-24 00:45:07,787] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.3%): '承载各种欢乐'
[2025-10-24 00:45:07,787] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 4/4개 (신뢰도 + & 중국어)
[2025-10-24 00:45:07,787] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '现代极简风格', 'confidence': 0.9960710406303406, 'polygon': [[232.0, 72.0], [581.0, 72.0], [581.0, 122.0], [232.0, 122.0]], 'bbox': (232, 72, 350, 51), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9952024221420288, 'polygon': [[160.0, 149.0], [656.0, 149.0], [656.0, 190.0], [160.0, 190.0]], 'bbox': (160, 149, 497, 42), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9976122379302979, 'polygon': [[93.0, 304.0], [488.0, 304.0], [488.0, 363.0], [93.0, 363.0]], 'bbox': (93, 304, 396, 60), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9930798411369324, 'polygon': [[91.0, 388.0], [486.0, 388.0], [486.0, 448.0], [91.0, 448.0]], 'bbox': (91, 388, 396, 61), 'method': 'polygon'}]
[2025-10-24 00:45:07,787] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 4개 필터링 완료
[2025-10-24 00:45:07,787] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 00:45:07,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '반원형 끝 디자인', '온갖 기쁨을 안고']
[2025-10-24 00:45:07,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 00:45:07,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR 권한 없음, 전체 번역 모드
[2025-10-24 00:45:07,945] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.136, comps=2, min_center_dist=0.174 → request
[2025-10-24 00:45:07,946] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 4
[2025-10-24 00:45:07,946] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:45:07,946] [LogListener] [DEBUG] [loggerModule.py:debug:275] [set_inpaint_method] prefix=detail, target_key=detail_IMGTrans_type, trans_type=GPU → inpaint_method=migan
[2025-10-24 00:45:07,946] [LogListener] [DEBUG] [loggerModule.py:debug:275] 최종 inpaint_method: migan
[2025-10-24 00:45:07,946] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 00:45:07,949] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 1264, 860), 마스크: (1, 1, 1264, 860)
[2025-10-24 00:45:08,030] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (1264, 860, 3), dtype: uint8
[2025-10-24 00:45:08,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 80.60 ms
[2025-10-24 00:45:08,039] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 00:45:08,039] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 33068.3MB -> 33070.2MB (+1.9MB, +0.0%) - 방법: migan
[2025-10-24 00:45:08,039] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 00:45:08,067] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 00:45:08,067] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 00:45:08,068] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 00:45:08,373] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:45:08,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 번역 완료: C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:45:08,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 1108.0ms | download=0.0ms | ocr=175.0ms | translate=151.9ms | mask=151.9ms | inpaint=98.6ms(migan/DirectML) | render=28.0ms | save=276.0ms
[2025-10-24 00:45:08,375] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 00:45:08,375] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 00:45:08,375] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=024282c9-a0fa-43a7-9392-55af0d636164
[2025-10-24 00:45:08,376] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 00:45:08,376] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=024282c9-a0fa-43a7-9392-55af0d636164
[2025-10-24 00:45:08,376] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:45:08,376] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10156)
[2025-10-24 00:45:08,376] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:45:08,376] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=758a6e8c-013a-4992-a09f-88bfb4086403
[2025-10-24 00:45:08,376] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:45:08,376] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 00:45:08,376] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 00:45:08,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 00:45:08,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 처리 시작: D:\py\img_worker\modules\test\5.jpg - 전체 번역 모드
[2025-10-24 00:45:08,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\test\5.jpg
[2025-10-24 00:45:08,804] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 3 원본 크기: 1200x1857
[2025-10-24 00:45:08,807] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 3 가로 크기 조정: 1200x1857 → 860x1330
[2025-10-24 00:45:08,814] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 3 크기 조정 완료: 860x1330
[2025-10-24 00:45:08,815] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 로컬 저장위치(상세페이지 전처리 완료): D:\py\img_worker\modules\test\5_resized.jpg
[2025-10-24 00:45:08,817] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:45:09,056] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 238.0ms
[2025-10-24 00:45:09,069] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 84.0ms, 인식: 145.0ms, 분류: 6.0ms
[2025-10-24 00:45:09,069] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 33097.2MB -> 33090.9MB (-6.3MB, -0.0%) - 이미지 3
[2025-10-24 00:45:09,069] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '现代极简风格', 'confidence': 0.9961185455322266, 'polygon': [[245.0, 75.0], [614.0, 75.0], [614.0, 132.0], [245.0, 132.0]], 'bbox': (245, 75, 370, 58), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9973940849304199, 'polygon': [[168.0, 157.0], [690.0, 157.0], [690.0, 200.0], [168.0, 200.0]], 'bbox': (168, 157, 523, 44), 'method': 'polygon'}, {'text': '★WELLOME', 'confidence': 0.8410268425941467, 'polygon': [[342.0, 521.0], [465.0, 521.0], [465.0, 546.0], [342.0, 546.0]], 'bbox': (342, 521, 124, 26), 'method': 'polygon'}, {'text': '欢迎光临', 'confidence': 0.9999395608901978, 'polygon': [[291.0, 544.0], [519.0, 544.0], [519.0, 612.0], [291.0, 612.0]], 'bbox': (291, 544, 229, 69), 'method': 'polygon'}, {'text': '聚时促销礼惠全城', 'confidence': 0.9192686676979065, 'polygon': [[339.0, 615.0], [447.0, 618.0], [446.0, 643.0], [338.0, 640.0]], 'bbox': (338, 615, 110, 29), 'method': 'polygon'}, {'text': '满499减200满999减500', 'confidence': 0.9207867383956909, 'polygon': [[320.0, 678.0], [459.0, 689.0], [457.0, 713.0], [318.0, 702.0]], 'bbox': (318, 678, 142, 36), 'method': 'polygon'}, {'text': '活动的间6.1·6.7', 'confidence': 0.7784561514854431, 'polygon': [[345.0, 702.0], [426.0, 710.0], [425.0, 728.0], [343.0, 720.0]], 'bbox': (343, 702, 84, 27), 'method': 'polygon'}]
[2025-10-24 00:45:09,069] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 OCR raw 데이터 메모리 저장 완료: 7개 텍스트
[2025-10-24 00:45:09,070] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '现代极简风格'
[2025-10-24 00:45:09,070] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '更易搭配各种使用场景'
[2025-10-24 00:45:09,070] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '★WELLOME'
[2025-10-24 00:45:09,070] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '欢迎光临'
[2025-10-24 00:45:09,070] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 91.9%): '聚时促销礼惠全城'
[2025-10-24 00:45:09,070] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 92.1%): '满499减200满999减500'
[2025-10-24 00:45:09,070] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 77.8%): '活动的间6.1·6.7'
[2025-10-24 00:45:09,070] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 6/7개 (신뢰도 + & 중국어)
[2025-10-24 00:45:09,071] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '现代极简风格', 'confidence': 0.9961185455322266, 'polygon': [[245.0, 75.0], [614.0, 75.0], [614.0, 132.0], [245.0, 132.0]], 'bbox': (245, 75, 370, 58), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9973940849304199, 'polygon': [[168.0, 157.0], [690.0, 157.0], [690.0, 200.0], [168.0, 200.0]], 'bbox': (168, 157, 523, 44), 'method': 'polygon'}, {'text': '欢迎光临', 'confidence': 0.9999395608901978, 'polygon': [[291.0, 544.0], [519.0, 544.0], [519.0, 612.0], [291.0, 612.0]], 'bbox': (291, 544, 229, 69), 'method': 'polygon'}, {'text': '聚时促销礼惠全城', 'confidence': 0.9192686676979065, 'polygon': [[339.0, 615.0], [447.0, 618.0], [446.0, 643.0], [338.0, 640.0]], 'bbox': (338, 615, 110, 29), 'method': 'polygon'}, {'text': '满499减200满999减500', 'confidence': 0.9207867383956909, 'polygon': [[320.0, 678.0], [459.0, 689.0], [457.0, 713.0], [318.0, 702.0]], 'bbox': (318, 678, 142, 36), 'method': 'polygon'}, {'text': '活动的间6.1·6.7', 'confidence': 0.7784561514854431, 'polygon': [[345.0, 702.0], [426.0, 710.0], [425.0, 728.0], [343.0, 720.0]], 'bbox': (343, 702, 84, 27), 'method': 'polygon'}]
[2025-10-24 00:45:09,071] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 6개 필터링 완료
[2025-10-24 00:45:09,071] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 00:45:11,541] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['모던한 미니멀 스타일', '다양한 사용 시나리오에 더 쉽게 일치', '환영', '도시 전역에서 판촉 선물 이용 가능', '499/500 이상 지출 시 200 할인 999 이상 지출 시 할인', '액티브룸 6.1 / 6.7']
[2025-10-24 00:45:11,541] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 00:45:11,541] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 OCR 권한 없음, 전체 번역 모드
[2025-10-24 00:45:11,548] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.100, comps=3, min_center_dist=0.073 → request
[2025-10-24 00:45:11,549] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 6
[2025-10-24 00:45:11,549] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:45:11,549] [LogListener] [DEBUG] [loggerModule.py:debug:275] [set_inpaint_method] prefix=detail, target_key=detail_IMGTrans_type, trans_type=GPU → inpaint_method=migan
[2025-10-24 00:45:11,549] [LogListener] [DEBUG] [loggerModule.py:debug:275] 최종 inpaint_method: migan
[2025-10-24 00:45:11,549] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 00:45:11,552] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 1330, 860), 마스크: (1, 1, 1330, 860)
[2025-10-24 00:45:11,793] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (1330, 860, 3), dtype: uint8
[2025-10-24 00:45:11,793] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 241.00 ms
[2025-10-24 00:45:11,802] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 00:45:11,802] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 33131.4MB -> 33140.5MB (+9.1MB, +0.0%) - 방법: migan
[2025-10-24 00:45:11,802] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 00:45:11,835] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 00:45:11,835] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 00:45:11,835] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 00:45:12,153] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_detail_img_3.webp
[2025-10-24 00:45:12,154] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 번역 완료: C:\ProgramData\ImgWorker\work\translated_detail_img_3.webp
[2025-10-24 00:45:12,154] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 3777.5ms | download=0.0ms | ocr=247.0ms | translate=2471.8ms | mask=2471.8ms | inpaint=259.0ms(migan/DirectML) | render=33.0ms | save=287.0ms
[2025-10-24 00:45:12,155] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 00:45:12,156] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=758a6e8c-013a-4992-a09f-88bfb4086403
[2025-10-24 00:45:12,171] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=758a6e8c-013a-4992-a09f-88bfb4086403
[2025-10-24 00:45:12,171] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:45:12,171] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10156)
[2025-10-24 00:45:12,171] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:45:12,171] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 00:45:12,205] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 00:45:12,205] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 00:45:12,206] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 00:45:12,206] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 00:45:13,361] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=26488
[2025-10-24 00:45:13,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=26488, Name=ImageWorkerProcess)
[2025-10-24 00:45:13,801] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 00:45:13,801] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 00:45:13,807] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 00:45:13,807] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 00:45:13,807] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 00:45:13,807] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 00:45:13,807] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 00:45:13,808] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 00:45:13,808] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 00:45:13,808] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 00:45:13,808] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 00:45:13,808] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 00:45:13,808] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:45:13,808] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:45:13,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 00:45:13,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:45:13,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:45:13,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 00:45:13,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 00:45:13,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 00:45:13,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 00:45:13,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 00:45:13,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 00:45:13,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 00:45:13,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 00:45:13,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 00:45:13,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:45:13,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 00:45:15,371] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 00:45:15,463] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 00:45:15,463] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 00:45:15,463] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 00:45:15,464] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 00:45:15,464] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 00:45:15,464] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 00:45:15,464] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 00:45:15,464] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:45:15,464] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 00:45:15,464] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 00:45:15,464] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 00:45:15,464] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 00:45:15,465] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 00:45:15,465] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 00:45:15,465] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 00:45:15,465] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 00:45:15,486] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 00:45:15,720] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:45:15,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 00:45:15,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:45:15,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 00:45:15,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:45:15,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:45:15,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 00:45:15,722] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 00:45:15,722] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 00:45:15,722] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 00:45:15,722] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x000001B354497550>
[2025-10-24 00:45:15,722] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x000001B354497550>
[2025-10-24 00:45:15,722] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 00:45:15,722] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:45:15,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 5.0ms
[2025-10-24 00:45:15,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 00:45:15,727] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 00:45:15,731] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 00:45:15,731] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 00:45:15,731] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:45:15,731] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 00:45:15,731] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 00:45:15,732] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:45:15,732] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 00:45:48,423] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 00:45:48,423] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=7e676549-f091-44e5-aeef-5942d0cc4e49
[2025-10-24 00:45:48,423] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 00:45:48,423] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 00:45:48,423] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 00:45:48,425] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 00:45:48,757] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 처리 시작: D:\py\img_worker\modules\test\2.jpg - 전체 번역 모드
[2025-10-24 00:45:48,757] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\test\2.jpg
[2025-10-24 00:45:48,759] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 원본 크기: 640x640
[2025-10-24 00:45:48,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 가로 크기 조정: 640x640 → 860x860
[2025-10-24 00:45:48,770] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 크기 조정 완료: 860x860
[2025-10-24 00:45:48,770] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 로컬 저장위치(상세페이지 전처리 완료): D:\py\img_worker\modules\test\2_resized.jpg
[2025-10-24 00:45:48,773] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 00:45:49,674] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 898.0ms
[2025-10-24 00:45:49,675] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 121.0ms, 인식: 745.0ms, 분류: 24.0ms
[2025-10-24 00:45:49,694] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 33538.7MB -> 33859.1MB (+320.4MB, +1.0%) - 이미지 2
[2025-10-24 00:45:49,704] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '科尔诺', 'confidence': 0.9992308616638184, 'polygon': [[96.0, 27.0], [211.0, 25.0], [212.0, 63.0], [97.0, 66.0]], 'bbox': (96, 25, 117, 42), 'method': 'polygon'}, {'text': 'PA', 'confidence': 0.9930515289306641, 'polygon': [[414.0, 28.0], [470.0, 32.0], [468.0, 59.0], [413.0, 55.0]], 'bbox': (413, 28, 58, 32), 'method': 'polygon'}, {'text': 'CE', 'confidence': 0.9594120979309082, 'polygon': [[665.0, 24.0], [728.0, 24.0], [728.0, 66.0], [665.0, 66.0]], 'bbox': (665, 24, 64, 43), 'method': 'polygon'}, {'text': 'SGS', 'confidence': 0.9917036890983582, 'polygon': [[751.0, 24.0], [821.0, 24.0], [821.0, 61.0], [751.0, 61.0]], 'bbox': (751, 24, 71, 38), 'method': 'polygon'}, {'text': 'CNEX', 'confidence': 0.9931035041809082, 'polygon': [[500.0, 34.0], [569.0, 34.0], [569.0, 55.0], [500.0, 55.0]], 'bbox': (500, 34, 70, 22), 'method': 'polygon'}, {'text': 'S', 'confidence': 0.8341087698936462, 'polygon': [[595.0, 37.0], [618.0, 37.0], [618.0, 48.0], [595.0, 48.0]], 'bbox': (595, 37, 24, 12), 'method': 'polygon'}, {'text': 'KORNO', 'confidence': 0.9965640306472778, 'polygon': [[103.0, 73.0], [211.0, 73.0], [211.0, 98.0], [103.0, 98.0]], 'bbox': (103, 73, 109, 26), 'method': 'polygon'}, {'text': 'CMC认证', 'confidence': 0.9940687417984009, 'polygon': [[321.0, 77.0], [389.0, 77.0], [389.0, 94.0], [321.0, 94.0]], 'bbox': (321, 77, 69, 18), 'method': 'polygon'}, {'text': 'CPA认证', 'confidence': 0.9973182678222656, 'polygon': [[412.0, 78.0], [475.0, 78.0], [475.0, 95.0], [412.0, 95.0]], 'bbox': (412, 78, 64, 18), 'method': 'polygon'}, {'text': '国家防爆', 'confidence': 0.9939618110656738, 'polygon': [[498.0, 79.0], [560.0, 79.0], [560.0, 96.0], [498.0, 96.0]], 'bbox': (498, 79, 63, 18), 'method': 'polygon'}, {'text': 'ISO认证', 'confidence': 0.9970961809158325, 'polygon': [[585.0, 78.0], [644.0, 78.0], [644.0, 95.0], [585.0, 95.0]], 'bbox': (585, 78, 60, 18), 'method': 'polygon'}, {'text': 'CE认证', 'confidence': 0.998458206653595, 'polygon': [[672.0, 77.0], [724.0, 77.0], [724.0, 95.0], [672.0, 95.0]], 'bbox': (672, 77, 53, 19), 'method': 'polygon'}, {'text': 'SGS认证', 'confidence': 0.9989465475082397, 'polygon': [[755.0, 78.0], [816.0, 78.0], [816.0, 96.0], [755.0, 96.0]], 'bbox': (755, 78, 62, 19), 'method': 'polygon'}, {'text': 'GT-1000', 'confidence': 0.9943559765815735, 'polygon': [[60.0, 132.0], [380.0, 135.0], [380.0, 196.0], [60.0, 194.0]], 'bbox': (60, 132, 321, 65), 'method': 'polygon'}, {'text': '激光粉尘检测仪', 'confidence': 0.9930281639099121, 'polygon': [[61.0, 223.0], [546.0, 223.0], [546.0, 284.0], [61.0, 284.0]], 'bbox': (61, 223, 486, 62), 'method': 'polygon'}, {'text': 'MO.5', 'confidence': 0.5840951204299927, 'polygon': [[663.0, 297.0], [685.0, 297.0], [685.0, 304.0], [663.0, 304.0]], 'bbox': (663, 297, 23, 8), 'method': 'polygon'}, {'text': '精度≤±5%F.S', 'confidence': 0.9796085357666016, 'polygon': [[40.0, 322.0], [291.0, 319.0], [292.0, 356.0], [40.0, 358.0]], 'bbox': (40, 319, 253, 40), 'method': 'polygon'}, {'text': 'PMLO', 'confidence': 0.825086236000061, 'polygon': [[659.0, 314.0], [686.0, 314.0], [686.0, 324.0], [659.0, 324.0]], 'bbox': (659, 314, 28, 11), 'method': 'polygon'}, {'text': 'PU2.5', 'confidence': 0.679347813129425, 'polygon': [[658.0, 331.0], [687.0, 331.0], [687.0, 341.0], [658.0, 341.0]], 'bbox': (658, 331, 30, 11), 'method': 'polygon'}, {'text': 'PLSO', 'confidence': 0.6640250086784363, 'polygon': [[658.0, 349.0], [687.0, 349.0], [687.0, 360.0], [658.0, 360.0]], 'bbox': (658, 349, 30, 12), 'method': 'polygon'}, {'text': 'P10', 'confidence': 0.6683804988861084, 'polygon': [[659.0, 368.0], [684.0, 368.0], [684.0, 379.0], [659.0, 379.0]], 'bbox': (659, 368, 26, 12), 'method': 'polygon'}, {'text': '防护等级IP65', 'confidence': 0.9956157207489014, 'polygon': [[39.0, 399.0], [318.0, 396.0], [319.0, 433.0], [39.0, 436.0]], 'bbox': (39, 396, 281, 41), 'method': 'polygon'}, {'text': '过压保护/声光报警/存储打印', 'confidence': 0.9742894768714905, 'polygon': [[31.0, 478.0], [566.0, 478.0], [566.0, 512.0], [31.0, 512.0]], 'bbox': (31, 478, 536, 35), 'method': 'polygon'}, {'text': 'PM0.3/0.5/1.0/2.5/5.0/10um', 'confidence': 0.9763215780258179, 'polygon': [[29.0, 552.0], [572.0, 555.0], [572.0, 589.0], [29.0, 586.0]], 'bbox': (29, 552, 544, 38), 'method': 'polygon'}, {'text': '可同时监测多种粒径尘埃粒子数', 'confidence': 0.9920802116394043, 'polygon': [[42.0, 631.0], [497.0, 631.0], [497.0, 658.0], [42.0, 658.0]], 'bbox': (42, 631, 456, 28), 'method': 'polygon'}, {'text': '适合十万级以上洁净室', 'confidence': 0.9910793304443359, 'polygon': [[41.0, 679.0], [365.0, 679.0], [365.0, 706.0], [41.0, 706.0]], 'bbox': (41, 679, 325, 28), 'method': 'polygon'}, {'text': '全国', 'confidence': 0.9995953440666199, 'polygon': [[21.0, 720.0], [158.0, 720.0], [158.0, 791.0], [21.0, 791.0]], 'bbox': (21, 720, 138, 72), 'method': 'polygon'}, {'text': '7天无理由退货', 'confidence': 0.9959755539894104, 'polygon': [[263.0, 731.0], [524.0, 733.0], [523.0, 767.0], [263.0, 764.0]], 'bbox': (263, 731, 262, 37), 'method': 'polygon'}, {'text': '赠运险费', 'confidence': 0.9984970688819885, 'polygon': [[571.0, 731.0], [727.0, 731.0], [727.0, 768.0], [571.0, 768.0]], 'bbox': (571, 731, 157, 38), 'method': 'polygon'}, {'text': '包邮', 'confidence': 0.9996557235717773, 'polygon': [[22.0, 789.0], [161.0, 789.0], [161.0, 859.0], [22.0, 859.0]], 'bbox': (22, 789, 140, 71), 'method': 'polygon'}, {'text': '原厂正品/可开发票/质保一年', 'confidence': 0.9892104268074036, 'polygon': [[185.0, 789.0], [837.0, 787.0], [837.0, 828.0], [185.0, 830.0]], 'bbox': (185, 787, 653, 44), 'method': 'polygon'}]
[2025-10-24 00:45:49,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR raw 데이터 메모리 저장 완료: 31개 텍스트
[2025-10-24 00:45:49,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '科尔诺'
[2025-10-24 00:45:49,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PA'
[2025-10-24 00:45:49,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'CE'
[2025-10-24 00:45:49,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'SGS'
[2025-10-24 00:45:49,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'CNEX'
[2025-10-24 00:45:49,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'S'
[2025-10-24 00:45:49,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'KORNO'
[2025-10-24 00:45:49,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.4%): 'CMC认证'
[2025-10-24 00:45:49,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): 'CPA认证'
[2025-10-24 00:45:49,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.4%): '国家防爆'
[2025-10-24 00:45:49,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): 'ISO认证'
[2025-10-24 00:45:49,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): 'CE认证'
[2025-10-24 00:45:49,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): 'SGS认证'
[2025-10-24 00:45:49,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'GT-1000'
[2025-10-24 00:45:49,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.3%): '激光粉尘检测仪'
[2025-10-24 00:45:49,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MO.5'
[2025-10-24 00:45:49,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.0%): '精度≤±5%F.S'
[2025-10-24 00:45:49,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PMLO'
[2025-10-24 00:45:49,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PU2.5'
[2025-10-24 00:45:49,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PLSO'
[2025-10-24 00:45:49,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'P10'
[2025-10-24 00:45:49,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '防护等级IP65'
[2025-10-24 00:45:49,729] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 97.4%): '过压保护/声光报警/存储打印'
[2025-10-24 00:45:49,729] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PM0.3/0.5/1.0/2.5/5.0/10um'
[2025-10-24 00:45:49,729] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.2%): '可同时监测多种粒径尘埃粒子数'
[2025-10-24 00:45:49,729] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.1%): '适合十万级以上洁净室'
[2025-10-24 00:45:49,729] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '全国'
[2025-10-24 00:45:49,735] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '7天无理由退货'
[2025-10-24 00:45:49,751] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '赠运险费'
[2025-10-24 00:45:49,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '包邮'
[2025-10-24 00:45:49,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.9%): '原厂正品/可开发票/质保一年'
[2025-10-24 00:45:49,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 18/31개 (신뢰도 + & 중국어)
[2025-10-24 00:45:49,765] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '科尔诺', 'confidence': 0.9992308616638184, 'polygon': [[96.0, 27.0], [211.0, 25.0], [212.0, 63.0], [97.0, 66.0]], 'bbox': (96, 25, 117, 42), 'method': 'polygon'}, {'text': 'CMC认证', 'confidence': 0.9940687417984009, 'polygon': [[321.0, 77.0], [389.0, 77.0], [389.0, 94.0], [321.0, 94.0]], 'bbox': (321, 77, 69, 18), 'method': 'polygon'}, {'text': 'CPA认证', 'confidence': 0.9973182678222656, 'polygon': [[412.0, 78.0], [475.0, 78.0], [475.0, 95.0], [412.0, 95.0]], 'bbox': (412, 78, 64, 18), 'method': 'polygon'}, {'text': '国家防爆', 'confidence': 0.9939618110656738, 'polygon': [[498.0, 79.0], [560.0, 79.0], [560.0, 96.0], [498.0, 96.0]], 'bbox': (498, 79, 63, 18), 'method': 'polygon'}, {'text': 'ISO认证', 'confidence': 0.9970961809158325, 'polygon': [[585.0, 78.0], [644.0, 78.0], [644.0, 95.0], [585.0, 95.0]], 'bbox': (585, 78, 60, 18), 'method': 'polygon'}, {'text': 'CE认证', 'confidence': 0.998458206653595, 'polygon': [[672.0, 77.0], [724.0, 77.0], [724.0, 95.0], [672.0, 95.0]], 'bbox': (672, 77, 53, 19), 'method': 'polygon'}, {'text': 'SGS认证', 'confidence': 0.9989465475082397, 'polygon': [[755.0, 78.0], [816.0, 78.0], [816.0, 96.0], [755.0, 96.0]], 'bbox': (755, 78, 62, 19), 'method': 'polygon'}, {'text': '激光粉尘检测仪', 'confidence': 0.9930281639099121, 'polygon': [[61.0, 223.0], [546.0, 223.0], [546.0, 284.0], [61.0, 284.0]], 'bbox': (61, 223, 486, 62), 'method': 'polygon'}, {'text': '精度≤±5%F.S', 'confidence': 0.9796085357666016, 'polygon': [[40.0, 322.0], [291.0, 319.0], [292.0, 356.0], [40.0, 358.0]], 'bbox': (40, 319, 253, 40), 'method': 'polygon'}, {'text': '防护等级IP65', 'confidence': 0.9956157207489014, 'polygon': [[39.0, 399.0], [318.0, 396.0], [319.0, 433.0], [39.0, 436.0]], 'bbox': (39, 396, 281, 41), 'method': 'polygon'}, {'text': '过压保护/声光报警/存储打印', 'confidence': 0.9742894768714905, 'polygon': [[31.0, 478.0], [566.0, 478.0], [566.0, 512.0], [31.0, 512.0]], 'bbox': (31, 478, 536, 35), 'method': 'polygon'}, {'text': '可同时监测多种粒径尘埃粒子数', 'confidence': 0.9920802116394043, 'polygon': [[42.0, 631.0], [497.0, 631.0], [497.0, 658.0], [42.0, 658.0]], 'bbox': (42, 631, 456, 28), 'method': 'polygon'}, {'text': '适合十万级以上洁净室', 'confidence': 0.9910793304443359, 'polygon': [[41.0, 679.0], [365.0, 679.0], [365.0, 706.0], [41.0, 706.0]], 'bbox': (41, 679, 325, 28), 'method': 'polygon'}, {'text': '全国', 'confidence': 0.9995953440666199, 'polygon': [[21.0, 720.0], [158.0, 720.0], [158.0, 791.0], [21.0, 791.0]], 'bbox': (21, 720, 138, 72), 'method': 'polygon'}, {'text': '7天无理由退货', 'confidence': 0.9959755539894104, 'polygon': [[263.0, 731.0], [524.0, 733.0], [523.0, 767.0], [263.0, 764.0]], 'bbox': (263, 731, 262, 37), 'method': 'polygon'}, {'text': '赠运险费', 'confidence': 0.9984970688819885, 'polygon': [[571.0, 731.0], [727.0, 731.0], [727.0, 768.0], [571.0, 768.0]], 'bbox': (571, 731, 157, 38), 'method': 'polygon'}, {'text': '包邮', 'confidence': 0.9996557235717773, 'polygon': [[22.0, 789.0], [161.0, 789.0], [161.0, 859.0], [22.0, 859.0]], 'bbox': (22, 789, 140, 71), 'method': 'polygon'}, {'text': '原厂正品/可开发票/质保一年', 'confidence': 0.9892104268074036, 'polygon': [[185.0, 789.0], [837.0, 787.0], [837.0, 828.0], [185.0, 830.0]], 'bbox': (185, 787, 653, 44), 'method': 'polygon'}]
[2025-10-24 00:45:49,765] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 18개 필터링 완료
[2025-10-24 00:45:49,765] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 00:45:51,867] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['코르노', 'CMC 인증', 'CPA 자격증', '국가 방폭형', 'ISO 인증', 'CE 인증', 'SGS 인증', '레이저 먼지 감지기', '정확도≤±5%F.S', '보호 수준: IP65', '과전압 보호 / 소리와 빛 경보 / 매장 인쇄', '다양한 입자 크기의 먼지 입자 수를 동시에 모니터링 가능', '클래스 100,000 이상의 클린룸에 적합', '전국', '7일이면 반품할 이유가 없습니다.', '무료 배송 보험', '무료 배송', '오리지널 정품 / 청구 가능 / 1년 보증']
[2025-10-24 00:45:51,867] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 00:45:51,867] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR 권한 없음, 전체 번역 모드
[2025-10-24 00:45:51,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.350, comps=14, min_center_dist=0.064 → request
[2025-10-24 00:45:51,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 18
[2025-10-24 00:45:51,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 00:45:51,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] [set_inpaint_method] prefix=detail, target_key=detail_IMGTrans_type, trans_type=GPU → inpaint_method=migan
[2025-10-24 00:45:51,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] 최종 inpaint_method: migan
[2025-10-24 00:45:51,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 00:45:51,878] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 860, 860), 마스크: (1, 1, 860, 860)
[2025-10-24 00:45:52,506] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (860, 860, 3), dtype: uint8
[2025-10-24 00:45:52,507] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 628.99 ms
[2025-10-24 00:45:52,514] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 00:45:52,514] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 33918.0MB -> 34173.3MB (+255.3MB, +0.8%) - 방법: migan
[2025-10-24 00:45:52,514] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 00:45:52,615] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 00:45:52,617] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 00:45:52,617] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 00:45:52,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:45:52,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 번역 완료: C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 00:45:52,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 4428.6ms | download=0.0ms | ocr=910.0ms | translate=2138.7ms | mask=2138.7ms | inpaint=644.0ms(migan/DirectML) | render=101.9ms | save=202.5ms
[2025-10-24 00:45:52,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 00:45:52,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=7e676549-f091-44e5-aeef-5942d0cc4e49
[2025-10-24 00:45:52,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=7e676549-f091-44e5-aeef-5942d0cc4e49
[2025-10-24 00:45:52,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:45:52,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 00:46:52,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:46:52,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:46:52,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 00:47:52,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:47:52,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:47:52,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 00:48:52,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:48:52,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:48:52,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 00:49:52,878] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:49:52,878] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:49:52,878] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 00:50:52,891] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:50:52,891] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:50:52,891] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 00:51:52,892] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:51:52,892] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:51:52,892] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 00:52:52,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:52:52,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:52:52,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 00:53:52,908] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:53:52,908] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:53:52,908] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 00:54:52,923] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:54:52,923] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:54:52,923] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 00:55:52,931] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:55:52,931] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:55:52,931] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 00:56:52,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:56:52,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:56:52,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 00:57:52,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:57:52,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:57:52,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 00:58:52,947] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:58:52,947] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:58:52,947] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 00:59:52,960] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 00:59:52,960] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 00:59:52,960] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:00:52,963] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:00:52,963] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:00:52,963] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:01:52,969] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:01:52,969] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:01:52,969] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:02:52,972] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:02:52,972] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:02:52,972] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:03:52,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:03:52,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:03:52,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:04:52,981] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:04:52,981] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:04:52,981] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:05:52,993] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:05:52,993] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:05:52,993] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:06:53,009] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:06:53,009] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:06:53,009] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:07:53,012] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:07:53,012] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:07:53,012] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:08:53,021] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:08:53,021] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:08:53,021] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:09:53,033] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:09:53,033] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:09:53,033] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:10:53,035] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:10:53,035] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:10:53,035] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:11:53,037] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:11:53,037] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:11:53,037] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:12:53,038] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:12:53,038] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:12:53,038] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:13:53,042] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:13:53,042] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:13:53,042] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:14:53,042] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:14:53,042] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:14:53,042] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:15:53,055] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:15:53,055] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:15:53,055] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:16:53,065] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:16:53,065] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:16:53,066] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:17:53,069] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:17:53,069] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:17:53,069] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:18:53,078] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:18:53,078] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:18:53,078] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:19:53,081] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:19:53,081] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:19:53,081] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:20:53,091] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:20:53,091] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:20:53,091] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:21:53,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:21:53,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:21:53,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:22:53,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:22:53,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:22:53,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:23:53,102] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:23:53,102] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:23:53,102] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:24:53,116] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:24:53,116] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:24:53,116] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:25:53,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:25:53,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:25:53,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:26:53,136] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:26:53,136] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:26:53,136] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:27:53,141] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:27:53,141] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:27:53,141] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:28:53,156] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:28:53,156] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:28:53,156] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:29:53,171] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:29:53,171] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:29:53,171] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:30:53,179] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:30:53,179] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:30:53,179] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:31:53,179] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:31:53,179] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:31:53,179] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:32:53,189] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:32:53,189] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:32:53,189] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:33:53,204] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:33:53,204] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:33:53,204] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:34:53,206] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:34:53,206] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:34:53,206] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:35:53,207] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:35:53,207] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:35:53,207] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:36:53,213] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:36:53,213] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:36:53,213] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:37:53,219] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:37:53,219] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:37:53,219] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:38:53,225] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:38:53,225] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:38:53,225] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:39:53,240] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:39:53,240] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:39:53,240] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:40:53,254] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:40:53,254] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:40:53,254] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:41:53,261] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:41:53,261] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:41:53,261] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:42:53,263] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:42:53,263] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:42:53,263] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:43:53,270] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:43:53,270] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:43:53,270] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:44:53,273] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:44:53,273] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:44:53,273] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:45:53,288] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:45:53,288] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:45:53,288] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:46:53,303] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:46:53,303] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:46:53,303] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:47:53,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:47:53,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:47:53,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:48:53,325] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:48:53,325] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:48:53,325] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:49:53,330] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:49:53,330] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:49:53,330] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:50:53,331] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:50:53,331] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:50:53,331] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:51:53,333] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:51:53,333] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:51:53,333] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:52:53,334] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:52:53,334] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:52:53,334] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:53:53,338] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:53:53,338] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:53:53,338] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:54:53,340] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:54:53,340] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:54:53,340] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:55:53,346] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:55:53,346] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:55:53,346] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:56:53,352] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:56:53,352] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:56:53,352] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:57:53,357] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:57:53,358] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:57:53,358] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:58:53,362] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:58:53,362] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:58:53,362] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 01:59:53,370] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 01:59:53,370] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 01:59:53,371] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:00:53,373] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:00:53,373] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:00:53,373] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:01:53,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:01:53,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:01:53,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:02:53,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:02:53,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:02:53,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:03:53,413] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:03:53,413] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:03:53,413] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:13:20,664] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:13:20,664] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:13:20,664] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:14:20,677] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:14:20,677] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:14:20,677] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:15:20,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:15:20,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:15:20,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:16:20,687] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:16:20,687] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:16:20,687] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:17:20,696] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:17:20,696] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:17:20,696] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:18:20,697] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:18:20,697] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:18:20,697] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:19:20,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:19:20,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:19:20,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:20:20,724] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:20:20,724] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:20:20,724] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:21:20,739] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:21:20,739] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:21:20,739] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:22:20,749] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:22:20,749] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:22:20,750] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:23:20,756] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:23:20,756] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:23:20,756] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:24:20,768] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:24:20,768] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:24:20,768] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:25:20,773] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:25:20,773] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:25:20,773] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:26:20,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:26:20,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:26:20,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:27:20,783] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:27:20,783] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:27:20,783] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:28:20,796] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:28:20,796] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:28:20,796] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:29:20,803] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:29:20,803] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:29:20,803] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:30:20,806] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:30:20,806] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:30:20,806] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:31:20,812] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:31:20,812] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:31:20,812] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:32:20,823] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:32:20,823] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:32:20,823] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:33:20,829] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:33:20,829] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:33:20,829] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:34:20,837] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:34:20,837] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:34:20,837] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:35:20,845] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:35:20,845] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:35:20,845] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:36:20,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:36:20,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:36:20,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:37:20,865] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:37:20,865] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:37:20,865] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:38:20,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:38:20,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:38:20,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:39:20,878] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:39:20,878] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:39:20,878] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:40:20,891] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:40:20,891] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:40:20,891] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:41:20,893] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:41:20,893] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:41:20,893] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:42:20,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:42:20,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:42:20,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:43:20,906] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:43:20,906] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:43:20,906] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:44:20,920] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:44:20,920] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:44:20,920] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26488)
[2025-10-24 02:45:16,868] [MemMonitor] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=uptime-threshold
[2025-10-24 02:45:16,868] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: uptime-threshold
[2025-10-24 02:45:16,885] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 02:45:16,923] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 02:45:16,923] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 02:45:16,923] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 02:45:16,925] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 02:45:16,925] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 02:45:17,352] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=33324
[2025-10-24 02:45:17,955] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=33324, Name=ImageWorkerProcess)
[2025-10-24 02:45:17,955] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 02:45:17,955] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 02:45:17,961] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 02:45:17,961] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 02:45:17,961] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 02:45:17,962] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 02:45:17,962] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 02:45:17,962] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 02:45:17,962] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 02:45:17,962] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 02:45:17,962] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 02:45:17,962] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 02:45:17,962] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 02:45:17,962] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 02:45:17,962] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 02:45:17,962] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 02:45:17,962] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 02:45:17,962] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 02:45:17,962] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 02:45:17,963] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 02:45:17,963] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 02:45:17,963] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 02:45:17,963] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 02:45:17,963] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 02:45:17,963] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 02:45:17,963] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 02:45:17,963] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 02:45:17,963] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 02:45:19,599] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 02:45:19,686] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 02:45:19,686] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 02:45:19,687] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 02:45:19,687] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 02:45:19,687] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 02:45:19,687] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 02:45:19,687] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 02:45:19,688] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 02:45:19,688] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 02:45:19,688] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 02:45:19,688] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 02:45:19,688] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 02:45:19,688] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 02:45:19,688] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 02:45:19,688] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 02:45:19,689] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 02:45:19,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 02:45:19,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 02:45:19,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 02:45:19,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 02:45:19,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 02:45:19,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 02:45:19,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 02:45:19,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 02:45:19,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 02:45:19,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 02:45:19,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 02:45:19,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x000001FD7F93EED0>
[2025-10-24 02:45:19,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x000001FD7F93EED0>
[2025-10-24 02:45:19,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 02:45:19,940] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 02:45:19,944] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 02:45:19,945] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 02:45:19,945] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 02:45:19,948] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 02:45:19,948] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 02:45:19,948] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 02:45:19,948] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 02:45:19,949] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 02:45:19,949] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:45:19,949] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 02:46:19,954] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:46:19,954] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:46:19,954] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 02:47:19,962] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:47:19,962] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:47:19,962] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 02:48:19,975] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:48:19,975] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:48:19,975] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 02:49:19,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:49:19,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:49:19,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 02:50:19,991] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:50:19,991] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:50:19,991] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 02:51:20,000] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:51:20,000] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:51:20,000] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 02:52:20,005] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:52:20,005] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:52:20,005] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 02:53:20,015] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:53:20,015] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:53:20,015] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 02:54:20,020] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:54:20,020] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:54:20,020] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 02:55:20,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:55:20,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:55:20,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 02:56:20,037] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:56:20,037] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:56:20,037] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 02:57:20,040] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:57:20,040] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:57:20,040] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 02:58:20,044] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:58:20,044] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:58:20,044] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 02:59:20,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 02:59:20,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 02:59:20,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:00:20,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:00:20,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:00:20,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:01:20,055] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:01:20,055] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:01:20,055] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:02:20,069] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:02:20,069] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:02:20,069] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:03:20,072] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:03:20,072] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:03:20,072] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:04:20,080] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:04:20,080] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:04:20,080] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:05:20,095] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:05:20,095] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:05:20,095] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:06:20,098] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:06:20,098] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:06:20,098] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:07:20,113] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:07:20,113] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:07:20,113] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:08:20,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:08:20,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:08:20,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:09:20,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:09:20,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:09:20,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:10:20,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:10:20,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:10:20,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:11:20,144] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:11:20,144] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:11:20,144] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:12:20,154] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:12:20,154] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:12:20,154] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:13:20,159] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:13:20,159] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:13:20,159] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:14:20,162] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:14:20,162] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:14:20,162] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:15:20,177] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:15:20,177] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:15:20,177] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:16:20,180] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:16:20,180] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:16:20,180] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:17:20,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:17:20,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:17:20,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:18:20,189] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:18:20,189] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:18:20,189] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:19:20,201] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:19:20,201] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:19:20,201] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:20:20,214] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:20:20,214] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:20:20,214] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:21:20,219] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:21:20,219] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:21:20,219] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:22:20,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:22:20,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:22:20,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:23:20,243] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:23:20,243] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:23:20,243] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:24:20,255] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:24:20,255] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:24:20,255] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:25:20,262] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:25:20,262] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:25:20,262] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:26:20,265] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:26:20,265] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:26:20,265] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:27:20,269] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:27:20,269] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:27:20,269] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:28:20,273] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:28:20,273] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:28:20,273] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:29:20,282] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:29:20,282] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:29:20,282] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:30:20,286] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:30:20,286] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:30:20,286] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:31:20,296] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:31:20,296] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:31:20,296] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:32:20,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:32:20,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:32:20,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:33:20,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:33:20,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:33:20,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:34:20,321] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:34:20,321] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:34:20,321] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:35:20,333] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:35:20,333] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:35:20,333] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:36:20,336] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:36:20,336] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:36:20,336] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:37:20,342] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:37:20,342] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:37:20,342] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:38:20,350] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:38:20,350] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:38:20,350] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:39:20,358] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:39:20,358] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:39:20,358] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:40:20,371] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:40:20,371] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:40:20,371] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:41:20,381] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:41:20,381] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:41:20,381] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:42:20,383] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:42:20,383] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:42:20,383] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:43:20,385] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:43:20,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:43:20,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:44:20,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:44:20,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:44:20,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:45:20,409] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:45:20,409] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:45:20,409] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:46:20,411] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:46:20,411] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:46:20,411] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:47:20,427] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:47:20,427] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:47:20,427] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:48:20,442] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:48:20,442] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:48:20,442] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:49:20,453] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:49:20,453] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:49:20,453] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:50:20,461] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:50:20,461] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:50:20,461] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:51:20,469] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:51:20,469] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:51:20,469] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:52:20,482] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:52:20,482] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:52:20,482] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:53:20,486] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:53:20,486] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:53:20,486] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:54:20,488] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:54:20,488] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:54:20,488] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:55:20,493] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:55:20,493] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:55:20,493] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:56:20,493] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:56:20,494] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:56:20,494] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:57:20,494] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:57:20,494] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:57:20,494] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:58:20,504] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:58:20,505] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:58:20,505] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 03:59:20,507] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 03:59:20,507] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 03:59:20,507] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:00:20,511] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:00:20,511] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:00:20,511] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:01:20,525] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:01:20,525] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:01:20,525] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:02:20,540] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:02:20,540] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:02:20,540] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:03:20,550] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:03:20,550] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:03:20,550] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:04:20,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:04:20,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:04:20,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:05:20,575] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:05:20,575] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:05:20,575] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:06:20,583] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:06:20,583] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:06:20,583] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:07:20,594] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:07:20,594] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:07:20,594] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:08:20,594] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:08:20,594] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:08:20,594] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:09:20,608] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:09:20,608] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:09:20,608] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:10:20,619] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:10:20,619] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:10:20,619] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:11:20,624] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:11:20,624] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:11:20,624] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:12:20,626] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:12:20,626] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:12:20,626] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:13:20,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:13:20,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:13:20,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:14:20,642] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:14:20,642] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:14:20,642] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:15:20,644] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:15:20,644] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:15:20,644] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:16:20,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:16:20,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:16:20,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:17:20,666] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:17:20,666] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:17:20,666] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:18:20,681] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:18:20,681] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:18:20,681] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:19:20,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:19:20,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:19:20,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:20:20,691] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:20:20,691] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:20:20,691] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:21:20,699] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:21:20,699] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:21:20,699] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:22:20,708] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:22:20,708] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:22:20,708] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:23:20,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:23:20,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:23:20,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:24:20,717] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:24:20,717] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:24:20,717] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:25:20,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:25:20,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:25:20,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:26:20,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:26:20,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:26:20,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:27:20,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:27:20,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:27:20,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:28:20,743] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:28:20,743] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:28:20,743] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:29:20,758] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:29:20,758] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:29:20,758] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:30:20,760] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:30:20,760] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:30:20,760] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:31:20,771] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:31:20,771] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:31:20,771] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:32:20,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:32:20,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:32:20,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:33:20,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:33:20,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:33:20,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:34:20,803] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:34:20,803] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:34:20,803] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:35:20,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:35:20,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:35:20,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:36:20,818] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:36:20,818] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:36:20,818] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:37:20,827] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:37:20,827] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:37:20,827] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:38:20,831] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:38:20,831] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:38:20,831] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:39:20,838] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:39:20,838] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:39:20,838] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:40:20,848] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:40:20,848] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:40:20,848] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:41:20,850] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:41:20,850] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:41:20,850] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:42:20,856] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:42:20,856] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:42:20,857] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:43:20,860] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:43:20,860] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:43:20,860] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:44:20,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:44:20,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:44:20,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:45:20,865] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:45:20,865] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:45:20,865] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33324)
[2025-10-24 04:45:21,224] [MemMonitor] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=uptime-threshold
[2025-10-24 04:45:21,224] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: uptime-threshold
[2025-10-24 04:45:21,263] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 04:45:21,263] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 04:45:21,263] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 04:45:21,263] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 04:45:21,263] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 04:45:21,263] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 04:45:21,528] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=9300
[2025-10-24 04:45:21,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=9300, Name=ImageWorkerProcess)
[2025-10-24 04:45:21,979] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 04:45:21,979] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 04:45:21,985] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 04:45:21,986] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 04:45:21,986] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 04:45:21,986] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 04:45:21,986] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 04:45:21,986] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 04:45:21,986] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 04:45:21,986] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 04:45:21,986] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 04:45:21,986] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 04:45:21,986] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 04:45:21,987] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 04:45:21,987] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 04:45:21,987] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 04:45:21,987] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 04:45:21,987] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 04:45:21,987] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 04:45:21,987] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 04:45:21,987] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 04:45:21,987] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 04:45:21,987] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 04:45:21,987] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 04:45:21,987] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 04:45:21,987] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 04:45:21,987] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 04:45:21,987] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 04:45:23,514] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 04:45:23,598] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 04:45:23,598] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 04:45:23,599] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 04:45:23,599] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 04:45:23,599] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 04:45:23,599] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 04:45:23,600] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 04:45:23,600] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 04:45:23,600] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 04:45:23,600] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 04:45:23,600] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 04:45:23,600] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 04:45:23,600] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 04:45:23,601] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 04:45:23,601] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 04:45:23,601] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 04:45:23,620] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 04:45:23,844] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 04:45:23,844] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 04:45:23,845] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 04:45:23,845] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 04:45:23,845] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 04:45:23,845] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 04:45:23,845] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 04:45:23,845] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 04:45:23,845] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 04:45:23,845] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 04:45:23,846] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x00000155E8B393D0>
[2025-10-24 04:45:23,846] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x00000155E8B393D0>
[2025-10-24 04:45:23,846] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 04:45:23,846] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 04:45:23,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 6.0ms
[2025-10-24 04:45:23,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 04:45:23,851] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 04:45:23,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 04:45:23,855] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 04:45:23,855] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 04:45:23,855] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 04:45:23,855] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 04:45:23,855] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:45:23,855] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 04:46:23,856] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:46:23,856] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:46:23,856] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 04:47:23,857] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:47:23,857] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:47:23,857] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 04:48:23,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:48:23,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:48:23,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 04:49:23,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:49:23,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:49:23,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 04:50:23,884] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:50:23,885] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:50:23,885] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 04:51:23,893] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:51:23,893] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:51:23,893] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 04:52:23,908] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:52:23,908] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:52:23,908] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 04:53:23,920] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:53:23,920] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:53:23,920] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 04:54:23,934] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:54:23,934] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:54:23,934] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 04:55:23,946] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:55:23,946] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:55:23,946] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 04:56:23,959] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:56:23,959] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:56:23,959] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 04:57:23,965] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:57:23,965] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:57:23,965] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 04:58:23,971] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:58:23,971] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:58:23,971] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 04:59:23,981] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 04:59:23,981] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 04:59:23,981] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:00:23,992] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:00:23,992] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:00:23,992] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:01:23,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:01:23,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:01:23,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:02:24,000] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:02:24,000] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:02:24,000] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:03:24,007] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:03:24,007] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:03:24,007] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:04:24,011] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:04:24,011] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:04:24,011] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:05:24,019] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:05:24,019] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:05:24,019] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:06:24,026] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:06:24,026] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:06:24,026] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:07:24,030] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:07:24,030] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:07:24,030] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:08:24,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:08:24,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:08:24,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:09:24,047] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:09:24,047] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:09:24,047] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:10:24,051] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:10:24,051] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:10:24,051] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:11:24,064] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:11:24,064] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:11:24,064] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:12:24,073] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:12:24,073] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:12:24,073] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:13:24,085] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:13:24,085] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:13:24,085] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:14:24,087] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:14:24,087] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:14:24,087] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:15:24,097] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:15:24,097] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:15:24,097] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:16:24,099] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:16:24,099] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:16:24,099] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:17:24,111] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:17:24,111] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:17:24,111] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:18:24,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:18:24,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:18:24,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:19:24,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:19:24,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:19:24,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:20:24,147] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:20:24,147] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:20:24,147] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:21:24,158] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:21:24,158] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:21:24,158] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:22:24,173] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:22:24,173] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:22:24,173] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:23:24,182] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:23:24,182] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:23:24,182] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:24:24,190] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:24:24,190] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:24:24,190] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:25:24,204] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:25:24,204] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:25:24,204] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:26:24,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:26:24,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:26:24,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:27:24,218] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:27:24,218] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:27:24,218] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:28:24,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:28:24,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:28:24,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:29:24,242] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:29:24,242] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:29:24,242] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:30:24,256] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:30:24,256] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:30:24,256] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:31:24,271] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:31:24,271] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:31:24,271] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:32:24,280] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:32:24,280] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:32:24,280] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:33:24,294] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:33:24,294] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:33:24,294] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:34:24,303] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:34:24,303] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:34:24,303] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:35:24,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:35:24,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:35:24,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:36:24,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:36:24,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:36:24,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:37:24,319] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:37:24,319] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:37:24,319] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:38:24,331] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:38:24,331] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:38:24,331] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:39:24,332] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:39:24,332] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:39:24,332] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:40:24,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:40:24,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:40:24,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:41:24,339] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:41:24,339] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:41:24,339] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:42:24,344] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:42:24,344] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:42:24,344] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:43:24,350] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:43:24,350] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:43:24,350] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:44:24,360] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:44:24,360] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:44:24,360] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:45:24,372] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:45:24,372] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:45:24,372] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:46:24,373] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:46:24,373] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:46:24,373] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:47:24,385] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:47:24,385] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:47:24,385] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:48:24,398] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:48:24,398] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:48:24,398] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:49:24,404] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:49:24,404] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:49:24,404] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:50:24,416] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:50:24,416] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:50:24,416] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:51:24,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:51:24,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:51:24,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:52:24,423] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:52:24,423] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:52:24,423] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:53:24,436] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:53:24,436] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:53:24,436] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:54:24,450] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:54:24,450] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:54:24,450] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:55:24,455] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:55:24,455] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:55:24,455] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:56:24,459] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:56:24,459] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:56:24,459] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:57:24,467] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:57:24,467] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:57:24,467] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:58:24,475] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:58:24,475] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:58:24,475] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 05:59:24,481] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 05:59:24,481] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 05:59:24,481] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:00:24,482] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:00:24,482] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:00:24,482] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:01:24,492] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:01:24,492] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:01:24,492] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:02:24,504] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:02:24,504] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:02:24,504] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:03:24,511] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:03:24,511] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:03:24,511] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:04:24,514] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:04:24,514] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:04:24,514] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:05:24,520] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:05:24,520] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:05:24,520] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:06:24,521] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:06:24,521] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:06:24,521] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:07:24,533] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:07:24,533] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:07:24,533] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:08:24,543] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:08:24,543] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:08:24,543] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:09:24,547] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:09:24,547] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:09:24,547] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:10:24,559] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:10:24,559] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:10:24,559] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:11:24,571] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:11:24,571] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:11:24,571] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:12:24,572] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:12:24,572] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:12:24,572] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:13:24,583] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:13:24,583] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:13:24,583] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:14:24,588] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:14:24,588] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:14:24,588] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:15:24,600] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:15:24,600] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:15:24,600] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:16:24,606] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:16:24,606] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:16:24,606] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:17:24,620] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:17:24,620] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:17:24,620] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:18:24,626] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:18:24,626] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:18:24,626] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:19:24,640] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:19:24,640] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:19:24,640] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:20:24,647] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:20:24,647] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:20:24,647] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:21:24,656] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:21:24,656] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:21:24,656] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:22:24,663] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:22:24,663] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:22:24,663] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:23:24,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:23:24,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:23:24,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:24:24,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:24:24,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:24:24,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:25:24,697] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:25:24,697] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:25:24,697] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:26:24,697] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:26:24,697] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:26:24,697] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:27:24,705] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:27:24,705] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:27:24,705] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:28:24,707] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:28:24,707] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:28:24,707] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:29:24,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:29:24,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:29:24,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:30:24,732] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:30:24,732] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:30:24,732] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:31:24,740] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:31:24,740] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:31:24,740] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:32:24,746] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:32:24,746] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:32:24,746] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:33:24,747] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:33:24,747] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:33:24,747] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:34:24,747] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:34:24,747] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:34:24,747] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:35:24,751] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:35:24,751] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:35:24,751] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:36:24,761] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:36:24,761] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:36:24,761] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:37:24,765] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:37:24,765] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:37:24,765] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:38:24,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:38:24,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:38:24,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:39:24,796] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:39:24,796] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:39:24,796] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:40:24,804] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:40:24,804] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:40:24,804] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:41:24,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:41:24,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:41:24,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:42:24,815] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:42:24,815] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:42:24,815] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:43:24,826] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:43:24,826] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:43:24,826] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:44:24,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:44:24,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:44:24,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:45:24,841] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:45:24,841] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:45:24,841] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 9300)
[2025-10-24 06:45:25,565] [MemMonitor] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=uptime-threshold
[2025-10-24 06:45:25,565] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: uptime-threshold
[2025-10-24 06:45:25,604] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 06:45:25,605] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 06:45:25,605] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 06:45:25,605] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 06:45:25,605] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 06:45:25,605] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 06:45:25,854] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=27968
[2025-10-24 06:45:26,305] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=27968, Name=ImageWorkerProcess)
[2025-10-24 06:45:26,305] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 06:45:26,305] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 06:45:26,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 06:45:26,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 06:45:26,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 06:45:26,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 06:45:26,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 06:45:26,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 06:45:26,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 06:45:26,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 06:45:26,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 06:45:26,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 06:45:26,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 06:45:26,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 06:45:26,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 06:45:26,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 06:45:26,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 06:45:26,313] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 06:45:26,313] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 06:45:26,313] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 06:45:26,313] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 06:45:26,313] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 06:45:26,313] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 06:45:26,313] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 06:45:26,313] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 06:45:26,313] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 06:45:26,313] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 06:45:26,313] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 06:45:27,850] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 06:45:27,933] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 06:45:27,934] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 06:45:27,934] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 06:45:27,934] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 06:45:27,934] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 06:45:27,934] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 06:45:27,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 06:45:27,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 06:45:27,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 06:45:27,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 06:45:27,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 06:45:27,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 06:45:27,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 06:45:27,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 06:45:27,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 06:45:27,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 06:45:27,953] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 06:45:28,168] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 06:45:28,169] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 06:45:28,169] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 06:45:28,169] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 06:45:28,169] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 06:45:28,169] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 06:45:28,169] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 06:45:28,169] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 06:45:28,169] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 06:45:28,170] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 06:45:28,170] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x0000016C7036BD50>
[2025-10-24 06:45:28,170] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x0000016C7036BD50>
[2025-10-24 06:45:28,170] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 06:45:28,170] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 06:45:28,174] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 06:45:28,174] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 06:45:28,174] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 06:45:28,178] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 06:45:28,178] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 06:45:28,178] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 06:45:28,178] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 06:45:28,178] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 06:45:28,178] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:45:28,178] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 06:46:28,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:46:28,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:46:28,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 06:47:28,188] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:47:28,188] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:47:28,188] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 06:48:28,193] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:48:28,193] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:48:28,193] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 06:49:28,208] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:49:28,208] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:49:28,208] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 06:50:28,222] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:50:28,222] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:50:28,222] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 06:51:28,230] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:51:28,230] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:51:28,230] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 06:52:28,235] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:52:28,236] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:52:28,236] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 06:53:28,236] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:53:28,236] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:53:28,236] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 06:54:28,239] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:54:28,239] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:54:28,239] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 06:55:28,242] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:55:28,242] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:55:28,242] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 06:56:28,254] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:56:28,254] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:56:28,254] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 06:57:28,263] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:57:28,263] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:57:28,263] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 06:58:28,264] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:58:28,264] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:58:28,264] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 06:59:28,265] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 06:59:28,265] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 06:59:28,265] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:00:28,278] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:00:28,278] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:00:28,278] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:01:28,292] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:01:28,292] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:01:28,292] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:02:28,300] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:02:28,300] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:02:28,300] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:03:28,313] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:03:28,313] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:03:28,313] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:04:28,321] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:04:28,321] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:04:28,321] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:05:28,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:05:28,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:05:28,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:06:28,350] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:06:28,350] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:06:28,350] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:07:28,365] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:07:28,365] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:07:28,365] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:08:28,372] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:08:28,372] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:08:28,372] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:09:28,375] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:09:28,375] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:09:28,375] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:10:28,383] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:10:28,383] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:10:28,383] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:11:28,389] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:11:28,389] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:11:28,389] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:12:28,389] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:12:28,389] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:12:28,389] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:13:28,394] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:13:28,394] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:13:28,394] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:14:28,395] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:14:28,395] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:14:28,395] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:15:28,403] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:15:28,403] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:15:28,403] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:16:28,414] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:16:28,414] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:16:28,414] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:17:28,417] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:17:28,417] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:17:28,417] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:18:28,425] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:18:28,425] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:18:28,425] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:19:28,437] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:19:28,437] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:19:28,437] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:20:28,446] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:20:28,446] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:20:28,446] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:21:28,447] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:21:28,448] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:21:28,448] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:22:28,454] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:22:28,454] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:22:28,454] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:23:28,462] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:23:28,462] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:23:28,462] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:24:28,474] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:24:28,474] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:24:28,474] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:25:28,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:25:28,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:25:28,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:26:28,490] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:26:28,490] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:26:28,490] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:27:28,492] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:27:28,492] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:27:28,492] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:28:28,507] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:28:28,507] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:28:28,507] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:29:28,521] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:29:28,521] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:29:28,521] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:30:28,526] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:30:28,526] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:30:28,526] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:31:28,526] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:31:28,526] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:31:28,526] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:32:28,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:32:28,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:32:28,529] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:33:28,535] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:33:28,535] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:33:28,535] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:34:28,536] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:34:28,536] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:34:28,536] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:35:28,537] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:35:28,537] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:35:28,537] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:36:28,539] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:36:28,539] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:36:28,539] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:37:28,543] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:37:28,543] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:37:28,543] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:38:28,554] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:38:28,554] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:38:28,554] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:39:28,567] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:39:28,567] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:39:28,567] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:40:28,575] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:40:28,575] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:40:28,575] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:41:28,584] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:41:28,584] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:41:28,584] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:42:28,586] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:42:28,586] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:42:28,586] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:43:28,600] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:43:28,600] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:43:28,600] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:44:28,602] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:44:28,602] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:44:28,602] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:45:28,604] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:45:28,604] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:45:28,604] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:46:28,615] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:46:28,615] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:46:28,615] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:47:28,627] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:47:28,627] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:47:28,627] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:48:28,633] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:48:28,633] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:48:28,633] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:49:28,645] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:49:28,646] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:49:28,646] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:50:28,647] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:50:28,647] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:50:28,647] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:51:28,648] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:51:28,648] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:51:28,648] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:52:28,656] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:52:28,657] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:52:28,657] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:53:28,672] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:53:28,672] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:53:28,672] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:54:28,687] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:54:28,687] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:54:28,687] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:55:28,691] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:55:28,691] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:55:28,691] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:56:28,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:56:28,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:56:28,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:57:28,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:57:28,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:57:28,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:58:28,710] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:58:28,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:58:28,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 07:59:28,714] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 07:59:28,714] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 07:59:28,714] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:00:28,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:00:28,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:00:28,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:01:28,732] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:01:28,732] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:01:28,732] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:02:28,741] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:02:28,741] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:02:28,741] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:03:28,756] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:03:28,756] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:03:28,756] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:04:28,769] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:04:28,770] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:04:28,770] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:05:28,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:05:28,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:05:28,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:06:28,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:06:28,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:06:28,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:07:28,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:07:28,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:07:28,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:08:28,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:08:28,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:08:28,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:09:28,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:09:28,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:09:28,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:10:28,816] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:10:28,816] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:10:28,816] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:11:28,822] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:11:28,822] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:11:28,822] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:12:28,826] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:12:28,826] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:12:28,826] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:13:28,829] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:13:28,829] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:13:28,829] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:14:28,840] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:14:28,841] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:14:28,841] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:15:28,849] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:15:28,849] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:15:28,849] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:16:28,863] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:16:28,863] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:16:28,863] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:17:28,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:17:28,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:17:28,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:18:28,879] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:18:28,879] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:18:28,879] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:19:28,883] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:19:28,883] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:19:28,883] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:20:28,895] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:20:28,895] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:20:28,895] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:21:28,897] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:21:28,897] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:21:28,897] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:22:28,901] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:22:28,901] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:22:28,901] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:23:28,904] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:23:28,904] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:23:28,904] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:24:28,906] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:24:28,906] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:24:28,906] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:25:28,913] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:25:28,913] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:25:28,913] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:26:28,920] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:26:28,920] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:26:28,920] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:27:28,922] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:27:28,922] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:27:28,922] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:28:28,922] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:28:28,922] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:28:28,922] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:29:28,930] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:29:28,930] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:29:28,930] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:30:28,942] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:30:28,942] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:30:28,942] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:31:28,945] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:31:28,945] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:31:28,945] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:32:28,954] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:32:28,954] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:32:28,954] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:33:06,992] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 08:33:06,992] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=cd96bcdd-e4c5-472c-8b8c-c67f1eb3c8ff
[2025-10-24 08:33:06,992] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 08:33:06,993] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 08:33:06,993] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 08:33:06,993] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 08:33:07,218] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 처리 시작: D:\py\img_worker\modules\test\2.jpg - 전체 번역 모드
[2025-10-24 08:33:07,219] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: D:\py\img_worker\modules\test\2.jpg
[2025-10-24 08:33:07,220] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 원본 크기: 640x640
[2025-10-24 08:33:07,226] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 가로 크기 조정: 640x640 → 860x860
[2025-10-24 08:33:07,233] [LogListener] [DEBUG] [loggerModule.py:debug:275] 상세페이지 이미지 2 크기 조정 완료: 860x860
[2025-10-24 08:33:07,234] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 로컬 저장위치(상세페이지 전처리 완료): D:\py\img_worker\modules\test\2_resized.jpg
[2025-10-24 08:33:07,236] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 08:33:08,218] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 979.0ms
[2025-10-24 08:33:08,218] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 126.0ms, 인식: 823.0ms, 분류: 23.0ms
[2025-10-24 08:33:08,237] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 38935.1MB -> 39276.6MB (+341.5MB, +0.9%) - 이미지 2
[2025-10-24 08:33:08,245] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '科尔诺', 'confidence': 0.9992308616638184, 'polygon': [[96.0, 27.0], [211.0, 25.0], [212.0, 63.0], [97.0, 66.0]], 'bbox': (96, 25, 117, 42), 'method': 'polygon'}, {'text': 'PA', 'confidence': 0.9930515289306641, 'polygon': [[414.0, 28.0], [470.0, 32.0], [468.0, 59.0], [413.0, 55.0]], 'bbox': (413, 28, 58, 32), 'method': 'polygon'}, {'text': 'CE', 'confidence': 0.9594120979309082, 'polygon': [[665.0, 24.0], [728.0, 24.0], [728.0, 66.0], [665.0, 66.0]], 'bbox': (665, 24, 64, 43), 'method': 'polygon'}, {'text': 'SGS', 'confidence': 0.9917036890983582, 'polygon': [[751.0, 24.0], [821.0, 24.0], [821.0, 61.0], [751.0, 61.0]], 'bbox': (751, 24, 71, 38), 'method': 'polygon'}, {'text': 'CNEX', 'confidence': 0.9931035041809082, 'polygon': [[500.0, 34.0], [569.0, 34.0], [569.0, 55.0], [500.0, 55.0]], 'bbox': (500, 34, 70, 22), 'method': 'polygon'}, {'text': 'S', 'confidence': 0.8341087698936462, 'polygon': [[595.0, 37.0], [618.0, 37.0], [618.0, 48.0], [595.0, 48.0]], 'bbox': (595, 37, 24, 12), 'method': 'polygon'}, {'text': 'KORNO', 'confidence': 0.9965640306472778, 'polygon': [[103.0, 73.0], [211.0, 73.0], [211.0, 98.0], [103.0, 98.0]], 'bbox': (103, 73, 109, 26), 'method': 'polygon'}, {'text': 'CMC认证', 'confidence': 0.9940687417984009, 'polygon': [[321.0, 77.0], [389.0, 77.0], [389.0, 94.0], [321.0, 94.0]], 'bbox': (321, 77, 69, 18), 'method': 'polygon'}, {'text': 'CPA认证', 'confidence': 0.9973182678222656, 'polygon': [[412.0, 78.0], [475.0, 78.0], [475.0, 95.0], [412.0, 95.0]], 'bbox': (412, 78, 64, 18), 'method': 'polygon'}, {'text': '国家防爆', 'confidence': 0.9939618110656738, 'polygon': [[498.0, 79.0], [560.0, 79.0], [560.0, 96.0], [498.0, 96.0]], 'bbox': (498, 79, 63, 18), 'method': 'polygon'}, {'text': 'ISO认证', 'confidence': 0.9970961809158325, 'polygon': [[585.0, 78.0], [644.0, 78.0], [644.0, 95.0], [585.0, 95.0]], 'bbox': (585, 78, 60, 18), 'method': 'polygon'}, {'text': 'CE认证', 'confidence': 0.998458206653595, 'polygon': [[672.0, 77.0], [724.0, 77.0], [724.0, 95.0], [672.0, 95.0]], 'bbox': (672, 77, 53, 19), 'method': 'polygon'}, {'text': 'SGS认证', 'confidence': 0.9989465475082397, 'polygon': [[755.0, 78.0], [816.0, 78.0], [816.0, 96.0], [755.0, 96.0]], 'bbox': (755, 78, 62, 19), 'method': 'polygon'}, {'text': 'GT-1000', 'confidence': 0.9943559765815735, 'polygon': [[60.0, 132.0], [380.0, 135.0], [380.0, 196.0], [60.0, 194.0]], 'bbox': (60, 132, 321, 65), 'method': 'polygon'}, {'text': '激光粉尘检测仪', 'confidence': 0.9930281639099121, 'polygon': [[61.0, 223.0], [546.0, 223.0], [546.0, 284.0], [61.0, 284.0]], 'bbox': (61, 223, 486, 62), 'method': 'polygon'}, {'text': 'MO.5', 'confidence': 0.5840951204299927, 'polygon': [[663.0, 297.0], [685.0, 297.0], [685.0, 304.0], [663.0, 304.0]], 'bbox': (663, 297, 23, 8), 'method': 'polygon'}, {'text': '精度≤±5%F.S', 'confidence': 0.9796085357666016, 'polygon': [[40.0, 322.0], [291.0, 319.0], [292.0, 356.0], [40.0, 358.0]], 'bbox': (40, 319, 253, 40), 'method': 'polygon'}, {'text': 'PMLO', 'confidence': 0.825086236000061, 'polygon': [[659.0, 314.0], [686.0, 314.0], [686.0, 324.0], [659.0, 324.0]], 'bbox': (659, 314, 28, 11), 'method': 'polygon'}, {'text': 'PU2.5', 'confidence': 0.679347813129425, 'polygon': [[658.0, 331.0], [687.0, 331.0], [687.0, 341.0], [658.0, 341.0]], 'bbox': (658, 331, 30, 11), 'method': 'polygon'}, {'text': 'PLSO', 'confidence': 0.6640250086784363, 'polygon': [[658.0, 349.0], [687.0, 349.0], [687.0, 360.0], [658.0, 360.0]], 'bbox': (658, 349, 30, 12), 'method': 'polygon'}, {'text': 'P10', 'confidence': 0.6683804988861084, 'polygon': [[659.0, 368.0], [684.0, 368.0], [684.0, 379.0], [659.0, 379.0]], 'bbox': (659, 368, 26, 12), 'method': 'polygon'}, {'text': '防护等级IP65', 'confidence': 0.9956157207489014, 'polygon': [[39.0, 399.0], [318.0, 396.0], [319.0, 433.0], [39.0, 436.0]], 'bbox': (39, 396, 281, 41), 'method': 'polygon'}, {'text': '过压保护/声光报警/存储打印', 'confidence': 0.9742894768714905, 'polygon': [[31.0, 478.0], [566.0, 478.0], [566.0, 512.0], [31.0, 512.0]], 'bbox': (31, 478, 536, 35), 'method': 'polygon'}, {'text': 'PM0.3/0.5/1.0/2.5/5.0/10um', 'confidence': 0.9763215780258179, 'polygon': [[29.0, 552.0], [572.0, 555.0], [572.0, 589.0], [29.0, 586.0]], 'bbox': (29, 552, 544, 38), 'method': 'polygon'}, {'text': '可同时监测多种粒径尘埃粒子数', 'confidence': 0.9920802116394043, 'polygon': [[42.0, 631.0], [497.0, 631.0], [497.0, 658.0], [42.0, 658.0]], 'bbox': (42, 631, 456, 28), 'method': 'polygon'}, {'text': '适合十万级以上洁净室', 'confidence': 0.9910793304443359, 'polygon': [[41.0, 679.0], [365.0, 679.0], [365.0, 706.0], [41.0, 706.0]], 'bbox': (41, 679, 325, 28), 'method': 'polygon'}, {'text': '全国', 'confidence': 0.9995953440666199, 'polygon': [[21.0, 720.0], [158.0, 720.0], [158.0, 791.0], [21.0, 791.0]], 'bbox': (21, 720, 138, 72), 'method': 'polygon'}, {'text': '7天无理由退货', 'confidence': 0.9959755539894104, 'polygon': [[263.0, 731.0], [524.0, 733.0], [523.0, 767.0], [263.0, 764.0]], 'bbox': (263, 731, 262, 37), 'method': 'polygon'}, {'text': '赠运险费', 'confidence': 0.9984970688819885, 'polygon': [[571.0, 731.0], [727.0, 731.0], [727.0, 768.0], [571.0, 768.0]], 'bbox': (571, 731, 157, 38), 'method': 'polygon'}, {'text': '包邮', 'confidence': 0.9996557235717773, 'polygon': [[22.0, 789.0], [161.0, 789.0], [161.0, 859.0], [22.0, 859.0]], 'bbox': (22, 789, 140, 71), 'method': 'polygon'}, {'text': '原厂正品/可开发票/质保一年', 'confidence': 0.9892104268074036, 'polygon': [[185.0, 789.0], [837.0, 787.0], [837.0, 828.0], [185.0, 830.0]], 'bbox': (185, 787, 653, 44), 'method': 'polygon'}]
[2025-10-24 08:33:08,261] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR raw 데이터 메모리 저장 완료: 31개 텍스트
[2025-10-24 08:33:08,270] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '科尔诺'
[2025-10-24 08:33:08,270] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PA'
[2025-10-24 08:33:08,270] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'CE'
[2025-10-24 08:33:08,270] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'SGS'
[2025-10-24 08:33:08,270] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'CNEX'
[2025-10-24 08:33:08,271] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'S'
[2025-10-24 08:33:08,271] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'KORNO'
[2025-10-24 08:33:08,271] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.4%): 'CMC认证'
[2025-10-24 08:33:08,271] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): 'CPA认证'
[2025-10-24 08:33:08,271] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.4%): '国家防爆'
[2025-10-24 08:33:08,271] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): 'ISO认证'
[2025-10-24 08:33:08,271] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): 'CE认证'
[2025-10-24 08:33:08,271] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): 'SGS认证'
[2025-10-24 08:33:08,271] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'GT-1000'
[2025-10-24 08:33:08,271] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.3%): '激光粉尘检测仪'
[2025-10-24 08:33:08,271] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MO.5'
[2025-10-24 08:33:08,271] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.0%): '精度≤±5%F.S'
[2025-10-24 08:33:08,271] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PMLO'
[2025-10-24 08:33:08,271] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PU2.5'
[2025-10-24 08:33:08,271] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PLSO'
[2025-10-24 08:33:08,272] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'P10'
[2025-10-24 08:33:08,272] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '防护等级IP65'
[2025-10-24 08:33:08,272] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 97.4%): '过压保护/声光报警/存储打印'
[2025-10-24 08:33:08,272] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PM0.3/0.5/1.0/2.5/5.0/10um'
[2025-10-24 08:33:08,272] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.2%): '可同时监测多种粒径尘埃粒子数'
[2025-10-24 08:33:08,272] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.1%): '适合十万级以上洁净室'
[2025-10-24 08:33:08,272] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '全国'
[2025-10-24 08:33:08,272] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '7天无理由退货'
[2025-10-24 08:33:08,272] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '赠运险费'
[2025-10-24 08:33:08,272] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '包邮'
[2025-10-24 08:33:08,272] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.9%): '原厂正品/可开发票/质保一年'
[2025-10-24 08:33:08,272] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 18/31개 (신뢰도 + & 중국어)
[2025-10-24 08:33:08,272] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '科尔诺', 'confidence': 0.9992308616638184, 'polygon': [[96.0, 27.0], [211.0, 25.0], [212.0, 63.0], [97.0, 66.0]], 'bbox': (96, 25, 117, 42), 'method': 'polygon'}, {'text': 'CMC认证', 'confidence': 0.9940687417984009, 'polygon': [[321.0, 77.0], [389.0, 77.0], [389.0, 94.0], [321.0, 94.0]], 'bbox': (321, 77, 69, 18), 'method': 'polygon'}, {'text': 'CPA认证', 'confidence': 0.9973182678222656, 'polygon': [[412.0, 78.0], [475.0, 78.0], [475.0, 95.0], [412.0, 95.0]], 'bbox': (412, 78, 64, 18), 'method': 'polygon'}, {'text': '国家防爆', 'confidence': 0.9939618110656738, 'polygon': [[498.0, 79.0], [560.0, 79.0], [560.0, 96.0], [498.0, 96.0]], 'bbox': (498, 79, 63, 18), 'method': 'polygon'}, {'text': 'ISO认证', 'confidence': 0.9970961809158325, 'polygon': [[585.0, 78.0], [644.0, 78.0], [644.0, 95.0], [585.0, 95.0]], 'bbox': (585, 78, 60, 18), 'method': 'polygon'}, {'text': 'CE认证', 'confidence': 0.998458206653595, 'polygon': [[672.0, 77.0], [724.0, 77.0], [724.0, 95.0], [672.0, 95.0]], 'bbox': (672, 77, 53, 19), 'method': 'polygon'}, {'text': 'SGS认证', 'confidence': 0.9989465475082397, 'polygon': [[755.0, 78.0], [816.0, 78.0], [816.0, 96.0], [755.0, 96.0]], 'bbox': (755, 78, 62, 19), 'method': 'polygon'}, {'text': '激光粉尘检测仪', 'confidence': 0.9930281639099121, 'polygon': [[61.0, 223.0], [546.0, 223.0], [546.0, 284.0], [61.0, 284.0]], 'bbox': (61, 223, 486, 62), 'method': 'polygon'}, {'text': '精度≤±5%F.S', 'confidence': 0.9796085357666016, 'polygon': [[40.0, 322.0], [291.0, 319.0], [292.0, 356.0], [40.0, 358.0]], 'bbox': (40, 319, 253, 40), 'method': 'polygon'}, {'text': '防护等级IP65', 'confidence': 0.9956157207489014, 'polygon': [[39.0, 399.0], [318.0, 396.0], [319.0, 433.0], [39.0, 436.0]], 'bbox': (39, 396, 281, 41), 'method': 'polygon'}, {'text': '过压保护/声光报警/存储打印', 'confidence': 0.9742894768714905, 'polygon': [[31.0, 478.0], [566.0, 478.0], [566.0, 512.0], [31.0, 512.0]], 'bbox': (31, 478, 536, 35), 'method': 'polygon'}, {'text': '可同时监测多种粒径尘埃粒子数', 'confidence': 0.9920802116394043, 'polygon': [[42.0, 631.0], [497.0, 631.0], [497.0, 658.0], [42.0, 658.0]], 'bbox': (42, 631, 456, 28), 'method': 'polygon'}, {'text': '适合十万级以上洁净室', 'confidence': 0.9910793304443359, 'polygon': [[41.0, 679.0], [365.0, 679.0], [365.0, 706.0], [41.0, 706.0]], 'bbox': (41, 679, 325, 28), 'method': 'polygon'}, {'text': '全国', 'confidence': 0.9995953440666199, 'polygon': [[21.0, 720.0], [158.0, 720.0], [158.0, 791.0], [21.0, 791.0]], 'bbox': (21, 720, 138, 72), 'method': 'polygon'}, {'text': '7天无理由退货', 'confidence': 0.9959755539894104, 'polygon': [[263.0, 731.0], [524.0, 733.0], [523.0, 767.0], [263.0, 764.0]], 'bbox': (263, 731, 262, 37), 'method': 'polygon'}, {'text': '赠运险费', 'confidence': 0.9984970688819885, 'polygon': [[571.0, 731.0], [727.0, 731.0], [727.0, 768.0], [571.0, 768.0]], 'bbox': (571, 731, 157, 38), 'method': 'polygon'}, {'text': '包邮', 'confidence': 0.9996557235717773, 'polygon': [[22.0, 789.0], [161.0, 789.0], [161.0, 859.0], [22.0, 859.0]], 'bbox': (22, 789, 140, 71), 'method': 'polygon'}, {'text': '原厂正品/可开发票/质保一年', 'confidence': 0.9892104268074036, 'polygon': [[185.0, 789.0], [837.0, 787.0], [837.0, 828.0], [185.0, 830.0]], 'bbox': (185, 787, 653, 44), 'method': 'polygon'}]
[2025-10-24 08:33:08,276] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 18개 필터링 완료
[2025-10-24 08:33:08,292] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 08:33:09,907] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['코르노', 'CMC 인증', 'CPA 자격증', '국가 방폭형', 'ISO 인증', 'CE 인증', 'SGS 인증', '레이저 먼지 감지기', '정확도≤±5%F.S', '보호 수준: IP65', '과전압 보호 / 소리와 빛 경보 / 매장 인쇄', '다양한 입자 크기의 먼지 입자 수를 동시에 모니터링 가능', '클래스 100,000 이상의 클린룸에 적합', '전국', '7일이면 반품할 이유가 없습니다.', '무료 배송 보험', '무료 배송', '오리지널 정품 / 청구 가능 / 1년 보증']
[2025-10-24 08:33:09,907] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 08:33:09,907] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR 권한 없음, 전체 번역 모드
[2025-10-24 08:33:09,914] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.350, comps=14, min_center_dist=0.064 → request
[2025-10-24 08:33:09,915] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 18
[2025-10-24 08:33:09,915] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 08:33:09,915] [LogListener] [DEBUG] [loggerModule.py:debug:275] [set_inpaint_method] prefix=detail, target_key=detail_IMGTrans_type, trans_type=GPU → inpaint_method=migan
[2025-10-24 08:33:09,915] [LogListener] [DEBUG] [loggerModule.py:debug:275] 최종 inpaint_method: migan
[2025-10-24 08:33:09,915] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 08:33:09,918] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 860, 860), 마스크: (1, 1, 860, 860)
[2025-10-24 08:33:10,361] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (860, 860, 3), dtype: uint8
[2025-10-24 08:33:10,361] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 442.90 ms
[2025-10-24 08:33:10,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 08:33:10,375] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 39260.7MB -> 39479.5MB (+218.8MB, +0.6%) - 방법: migan
[2025-10-24 08:33:10,375] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 08:33:10,478] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 08:33:10,479] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 08:33:10,480] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 08:33:10,713] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 08:33:10,714] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 번역 완료: C:\ProgramData\ImgWorker\work\translated_detail_img_2.webp
[2025-10-24 08:33:10,714] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 3721.5ms | download=0.0ms | ocr=991.0ms | translate=1636.2ms | mask=1636.2ms | inpaint=465.6ms(migan/DirectML) | render=103.5ms | save=204.6ms
[2025-10-24 08:33:10,715] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 08:33:10,715] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=cd96bcdd-e4c5-472c-8b8c-c67f1eb3c8ff
[2025-10-24 08:33:10,715] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=cd96bcdd-e4c5-472c-8b8c-c67f1eb3c8ff
[2025-10-24 08:33:10,715] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:33:10,716] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:34:10,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:34:10,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:34:10,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:35:10,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:35:10,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:35:10,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:36:10,743] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:36:10,743] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:36:10,743] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:37:10,747] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:37:10,747] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:37:10,747] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:38:10,750] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:38:10,750] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:38:10,750] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:39:10,762] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:39:10,762] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:39:10,762] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:40:10,777] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:40:10,777] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:40:10,777] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:41:10,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:41:10,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:41:10,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:42:10,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:42:10,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:42:10,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:43:10,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:43:10,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:43:10,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:44:10,802] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:44:10,802] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:44:10,803] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:45:10,812] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:45:10,812] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:45:10,812] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 27968)
[2025-10-24 08:45:29,923] [MemMonitor] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=uptime-threshold
[2025-10-24 08:45:29,923] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: uptime-threshold
[2025-10-24 08:45:29,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 08:45:29,974] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 08:45:29,975] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 08:45:29,975] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 08:45:29,976] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 08:45:29,976] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 08:45:30,341] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=33480
[2025-10-24 08:45:30,793] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=33480, Name=ImageWorkerProcess)
[2025-10-24 08:45:30,793] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 08:45:30,793] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 08:45:30,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 08:45:30,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 08:45:30,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 08:45:30,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 08:45:30,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 08:45:30,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 08:45:30,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 08:45:30,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 08:45:30,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 08:45:30,801] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 08:45:30,801] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 08:45:30,801] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 08:45:30,801] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 08:45:30,801] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 08:45:30,801] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 08:45:30,801] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 08:45:30,801] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 08:45:30,801] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 08:45:30,801] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 08:45:30,801] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 08:45:30,801] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 08:45:30,801] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 08:45:30,802] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 08:45:30,802] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 08:45:30,802] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 08:45:30,802] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 08:45:32,336] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 08:45:32,419] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 08:45:32,419] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 08:45:32,419] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 08:45:32,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 08:45:32,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 08:45:32,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 08:45:32,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 08:45:32,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 08:45:32,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 08:45:32,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 08:45:32,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 08:45:32,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 08:45:32,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 08:45:32,421] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 08:45:32,421] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 08:45:32,421] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 08:45:32,439] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 08:45:32,644] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 08:45:32,644] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 08:45:32,645] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 08:45:32,645] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 08:45:32,645] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 08:45:32,645] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 08:45:32,645] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 08:45:32,645] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 08:45:32,645] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 08:45:32,645] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 08:45:32,645] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x000001C1A6BF3E90>
[2025-10-24 08:45:32,645] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x000001C1A6BF3E90>
[2025-10-24 08:45:32,646] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 08:45:32,646] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 08:45:32,650] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 08:45:32,651] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 08:45:32,651] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 08:45:32,654] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 08:45:32,654] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 08:45:32,654] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 08:45:32,655] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 08:45:32,655] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 08:45:32,655] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:45:32,655] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33480)
[2025-10-24 08:46:32,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:46:32,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:46:32,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33480)
[2025-10-24 08:47:32,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:47:32,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:47:32,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33480)
[2025-10-24 08:48:32,671] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:48:32,671] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:48:32,671] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33480)
[2025-10-24 08:49:32,686] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:49:32,686] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:49:32,686] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33480)
[2025-10-24 08:50:32,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:50:32,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:50:32,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33480)
[2025-10-24 08:51:26,436] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 08:51:26,436] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=f740071c-e962-44b6-bc6e-d0299d8eaff0
[2025-10-24 08:51:26,436] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 08:51:26,437] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 08:51:26,437] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 08:51:26,439] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 08:51:26,842] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 1 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_cbb9790c5d8b.jpg - 전체 번역 모드
[2025-10-24 08:51:26,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_cbb9790c5d8b.jpg
[2025-10-24 08:51:26,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 08:51:26,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 1 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_cbb9790c5d8b.jpg
[2025-10-24 08:51:26,855] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 08:51:27,726] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 867.9ms
[2025-10-24 08:51:27,726] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 137.7ms, 인식: 700.1ms, 분류: 24.0ms
[2025-10-24 08:51:27,746] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 43423.5MB -> 43783.2MB (+359.7MB, +0.8%) - 이미지 1
[2025-10-24 08:51:27,760] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '暴走兔', 'confidence': 0.9030442237854004, 'polygon': [[136.0, 21.0], [270.0, 23.0], [269.0, 63.0], [135.0, 61.0]], 'bbox': (135, 21, 136, 43), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.9928661584854126, 'polygon': [[134.0, 73.0], [273.0, 73.0], [273.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 140, 15), 'method': 'polygon'}, {'text': 'AM', 'confidence': 0.9390634298324585, 'polygon': [[471.0, 146.0], [481.0, 146.0], [481.0, 154.0], [471.0, 154.0]], 'bbox': (471, 146, 11, 9), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9978317618370056, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '1500', 'confidence': 0.8749780058860779, 'polygon': [[469.0, 192.0], [482.0, 192.0], [482.0, 209.0], [469.0, 209.0]], 'bbox': (469, 192, 14, 18), 'method': 'polygon'}, {'text': '蓝牙音', 'confidence': 0.9984228610992432, 'polygon': [[79.0, 213.0], [273.0, 213.0], [273.0, 248.0], [79.0, 248.0]], 'bbox': (79, 213, 195, 36), 'method': 'polygon'}, {'text': '响', 'confidence': 0.9996689558029175, 'polygon': [[259.0, 219.0], [290.0, 219.0], [290.0, 244.0], [259.0, 244.0]], 'bbox': (259, 219, 32, 26), 'method': 'polygon'}, {'text': 'R11', 'confidence': 0.9946306347846985, 'polygon': [[457.0, 245.0], [490.0, 245.0], [490.0, 256.0], [457.0, 256.0]], 'bbox': (457, 245, 34, 12), 'method': 'polygon'}, {'text': 'RADIO/BT/MUSIC PLAYER', 'confidence': 0.9764536619186401, 'polygon': [[505.0, 245.0], [633.0, 245.0], [633.0, 255.0], [505.0, 255.0]], 'bbox': (505, 245, 129, 11), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9978349208831787, 'polygon': [[82.0, 279.0], [289.0, 279.0], [289.0, 303.0], [82.0, 303.0]], 'bbox': (82, 279, 208, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999611377716064, 'polygon': [[80.0, 335.0], [113.0, 335.0], [113.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 34, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9988621473312378, 'polygon': [[168.0, 336.0], [204.0, 336.0], [204.0, 365.0], [168.0, 365.0]], 'bbox': (168, 336, 37, 30), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.998289167881012, 'polygon': [[263.0, 336.0], [290.0, 336.0], [290.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 28, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9654105305671692, 'polygon': [[81.0, 398.0], [288.0, 398.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 398, 208, 28), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.98994380235672, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9858887195587158, 'polygon': [[82.0, 518.0], [290.0, 518.0], [290.0, 545.0], [82.0, 545.0]], 'bbox': (82, 518, 209, 28), 'method': 'polygon'}, {'text': '嘉走兔', 'confidence': 0.5901210904121399, 'polygon': [[538.0, 523.0], [583.0, 523.0], [583.0, 538.0], [538.0, 538.0]], 'bbox': (538, 523, 46, 16), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9985836148262024, 'polygon': [[18.0, 659.0], [150.0, 661.0], [149.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 134, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996605515480042, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '军工包', 'confidence': 0.9985788464546204, 'polygon': [[205.0, 768.0], [264.0, 768.0], [264.0, 790.0], [205.0, 790.0]], 'bbox': (205, 768, 60, 23), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9989600777626038, 'polygon': [[284.0, 769.0], [362.0, 769.0], [362.0, 790.0], [284.0, 790.0]], 'bbox': (284, 769, 79, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9994489550590515, 'polygon': [[386.0, 769.0], [445.0, 769.0], [445.0, 790.0], [386.0, 790.0]], 'bbox': (386, 769, 60, 22), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9984410405158997, 'polygon': [[472.0, 767.0], [531.0, 767.0], [531.0, 792.0], [472.0, 792.0]], 'bbox': (472, 767, 60, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9991092681884766, 'polygon': [[558.0, 769.0], [617.0, 769.0], [617.0, 790.0], [558.0, 790.0]], 'bbox': (558, 769, 60, 22), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9988925457000732, 'polygon': [[637.0, 769.0], [714.0, 769.0], [714.0, 790.0], [637.0, 790.0]], 'bbox': (637, 769, 78, 22), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9975659251213074, 'polygon': [[735.0, 767.0], [794.0, 767.0], [794.0, 792.0], [735.0, 792.0]], 'bbox': (735, 767, 60, 26), 'method': 'polygon'}]
[2025-10-24 08:51:27,783] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 90.3%): '暴走兔'
[2025-10-24 08:51:27,784] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 08:51:27,784] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'AM'
[2025-10-24 08:51:27,784] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '全波段收音机'
[2025-10-24 08:51:27,784] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '1500'
[2025-10-24 08:51:27,784] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '蓝牙音'
[2025-10-24 08:51:27,784] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '响'
[2025-10-24 08:51:27,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'R11'
[2025-10-24 08:51:27,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'RADIO/BT/MUSIC PLAYER'
[2025-10-24 08:51:27,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '4000毫安锂电池'
[2025-10-24 08:51:27,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '手'
[2025-10-24 08:51:27,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '电'
[2025-10-24 08:51:27,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '筒'
[2025-10-24 08:51:27,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 96.5%): 'SOS警报/指南针'
[2025-10-24 08:51:27,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.0%): '手摇/太阳能发电'
[2025-10-24 08:51:27,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.6%): '可插U盘/TF卡'
[2025-10-24 08:51:27,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 59.0%): '嘉走兔'
[2025-10-24 08:51:27,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '限时'
[2025-10-24 08:51:27,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '赠送'
[2025-10-24 08:51:27,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '军工包'
[2025-10-24 08:51:27,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '延长天线'
[2025-10-24 08:51:27,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '内存卡'
[2025-10-24 08:51:27,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '读卡器'
[2025-10-24 08:51:27,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '充电线'
[2025-10-24 08:51:27,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '礼盒礼袋'
[2025-10-24 08:51:27,787] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '充电头'
[2025-10-24 08:51:27,787] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 21/26개 (신뢰도 + & 중국어)
[2025-10-24 08:51:27,787] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '暴走兔', 'confidence': 0.9030442237854004, 'polygon': [[136.0, 21.0], [270.0, 23.0], [269.0, 63.0], [135.0, 61.0]], 'bbox': (135, 21, 136, 43), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9978317618370056, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '蓝牙音', 'confidence': 0.9984228610992432, 'polygon': [[79.0, 213.0], [273.0, 213.0], [273.0, 248.0], [79.0, 248.0]], 'bbox': (79, 213, 195, 36), 'method': 'polygon'}, {'text': '响', 'confidence': 0.9996689558029175, 'polygon': [[259.0, 219.0], [290.0, 219.0], [290.0, 244.0], [259.0, 244.0]], 'bbox': (259, 219, 32, 26), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9978349208831787, 'polygon': [[82.0, 279.0], [289.0, 279.0], [289.0, 303.0], [82.0, 303.0]], 'bbox': (82, 279, 208, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999611377716064, 'polygon': [[80.0, 335.0], [113.0, 335.0], [113.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 34, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9988621473312378, 'polygon': [[168.0, 336.0], [204.0, 336.0], [204.0, 365.0], [168.0, 365.0]], 'bbox': (168, 336, 37, 30), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.998289167881012, 'polygon': [[263.0, 336.0], [290.0, 336.0], [290.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 28, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9654105305671692, 'polygon': [[81.0, 398.0], [288.0, 398.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 398, 208, 28), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.98994380235672, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9858887195587158, 'polygon': [[82.0, 518.0], [290.0, 518.0], [290.0, 545.0], [82.0, 545.0]], 'bbox': (82, 518, 209, 28), 'method': 'polygon'}, {'text': '嘉走兔', 'confidence': 0.5901210904121399, 'polygon': [[538.0, 523.0], [583.0, 523.0], [583.0, 538.0], [538.0, 538.0]], 'bbox': (538, 523, 46, 16), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9985836148262024, 'polygon': [[18.0, 659.0], [150.0, 661.0], [149.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 134, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996605515480042, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '军工包', 'confidence': 0.9985788464546204, 'polygon': [[205.0, 768.0], [264.0, 768.0], [264.0, 790.0], [205.0, 790.0]], 'bbox': (205, 768, 60, 23), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9989600777626038, 'polygon': [[284.0, 769.0], [362.0, 769.0], [362.0, 790.0], [284.0, 790.0]], 'bbox': (284, 769, 79, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9994489550590515, 'polygon': [[386.0, 769.0], [445.0, 769.0], [445.0, 790.0], [386.0, 790.0]], 'bbox': (386, 769, 60, 22), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9984410405158997, 'polygon': [[472.0, 767.0], [531.0, 767.0], [531.0, 792.0], [472.0, 792.0]], 'bbox': (472, 767, 60, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9991092681884766, 'polygon': [[558.0, 769.0], [617.0, 769.0], [617.0, 790.0], [558.0, 790.0]], 'bbox': (558, 769, 60, 22), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9988925457000732, 'polygon': [[637.0, 769.0], [714.0, 769.0], [714.0, 790.0], [637.0, 790.0]], 'bbox': (637, 769, 78, 22), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9975659251213074, 'polygon': [[735.0, 767.0], [794.0, 767.0], [794.0, 792.0], [735.0, 792.0]], 'bbox': (735, 767, 60, 26), 'method': 'polygon'}]
[2025-10-24 08:51:27,788] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 21개 필터링 완료
[2025-10-24 08:51:27,788] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 08:51:30,868] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['도망친 토끼', '풀 밴드 라디오', '블루투스 사운드', '반지', '4000mAh 리튬 배터리', '손', '전기', '실린더', 'SOS 경보 / 나침반', '핸드 크랭크 / 태양광 발전', 'U 디스크 삽입 가능 / TF 카드', '지아 주이투', '제한된 시간', '포기하다', '군사 가방', '확장 안테나', '메모리 카드', '카드 리더', '충전 케이블', '선물 상자 선물 가방', '충전 헤드']
[2025-10-24 08:51:30,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 08:51:30,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 1 OCR 권한 없음, 전체 번역 모드
[2025-10-24 08:51:30,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.264, comps=5, min_center_dist=0.224 → request
[2025-10-24 08:51:30,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 21
[2025-10-24 08:51:30,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 08:51:30,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] [set_inpaint_method] prefix=option, target_key=optionIMGTrans_type, trans_type=GPU → inpaint_method=migan
[2025-10-24 08:51:30,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] 최종 inpaint_method: migan
[2025-10-24 08:51:30,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 08:51:30,877] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 08:51:31,306] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 08:51:31,306] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 428.68 ms
[2025-10-24 08:51:31,314] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 08:51:31,314] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 43865.0MB -> 44083.1MB (+218.1MB, +0.5%) - 방법: migan
[2025-10-24 08:51:31,314] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 08:51:31,394] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 08:51:31,394] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 08:51:31,395] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 08:51:31,709] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_1.webp
[2025-10-24 08:51:31,710] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 1 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_1.webp
[2025-10-24 08:51:31,710] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 5271.9ms | download=0.0ms | ocr=883.4ms | translate=3085.3ms | mask=3085.3ms | inpaint=442.7ms(migan/DirectML) | render=80.0ms | save=279.0ms
[2025-10-24 08:51:31,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 08:51:31,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=f740071c-e962-44b6-bc6e-d0299d8eaff0
[2025-10-24 08:51:31,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=f740071c-e962-44b6-bc6e-d0299d8eaff0
[2025-10-24 08:51:31,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:51:31,712] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33480)
[2025-10-24 08:51:33,653] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 08:51:33,653] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=8c8fcf75-b20d-427f-b09d-ad9334c172d9
[2025-10-24 08:51:33,653] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 08:51:33,654] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 08:51:33,654] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 08:51:33,654] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 08:51:33,983] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_5921e6c9b70d.jpg - 전체 번역 모드
[2025-10-24 08:51:33,988] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_5921e6c9b70d.jpg
[2025-10-24 08:51:33,988] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 08:51:33,988] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_5921e6c9b70d.jpg
[2025-10-24 08:51:33,990] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 08:51:34,654] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 660.7ms
[2025-10-24 08:51:34,672] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 103.0ms, 인식: 526.7ms, 분류: 24.0ms
[2025-10-24 08:51:34,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 44134.3MB -> 44152.1MB (+17.9MB, +0.0%) - 이미지 2
[2025-10-24 08:51:34,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '暴走兔', 'confidence': 0.9055703282356262, 'polygon': [[136.0, 21.0], [270.0, 23.0], [269.0, 63.0], [135.0, 61.0]], 'bbox': (135, 21, 136, 43), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.9931483268737793, 'polygon': [[134.0, 73.0], [273.0, 73.0], [273.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 140, 15), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9979420304298401, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '104', 'confidence': 0.7842115759849548, 'polygon': [[449.0, 200.0], [460.0, 193.0], [467.0, 204.0], [456.0, 211.0]], 'bbox': (449, 193, 19, 19), 'method': 'polygon'}, {'text': '150', 'confidence': 0.981334924697876, 'polygon': [[469.0, 193.0], [482.0, 193.0], [482.0, 208.0], [469.0, 208.0]], 'bbox': (469, 193, 14, 16), 'method': 'polygon'}, {'text': '蓝牙音', 'confidence': 0.9982023239135742, 'polygon': [[79.0, 213.0], [273.0, 213.0], [273.0, 248.0], [79.0, 248.0]], 'bbox': (79, 213, 195, 36), 'method': 'polygon'}, {'text': '响', 'confidence': 0.9996689558029175, 'polygon': [[259.0, 219.0], [290.0, 219.0], [290.0, 244.0], [259.0, 244.0]], 'bbox': (259, 219, 32, 26), 'method': 'polygon'}, {'text': '1400', 'confidence': 0.7393448948860168, 'polygon': [[470.0, 212.0], [483.0, 212.0], [483.0, 225.0], [470.0, 225.0]], 'bbox': (470, 212, 14, 14), 'method': 'polygon'}, {'text': 'R11', 'confidence': 0.9951024055480957, 'polygon': [[459.0, 245.0], [490.0, 245.0], [490.0, 256.0], [459.0, 256.0]], 'bbox': (459, 245, 32, 12), 'method': 'polygon'}, {'text': 'RADIO/BT/MUSIC', 'confidence': 0.9551190733909607, 'polygon': [[506.0, 247.0], [593.0, 247.0], [593.0, 254.0], [506.0, 254.0]], 'bbox': (506, 247, 88, 8), 'method': 'polygon'}, {'text': 'PLAYER', 'confidence': 0.9937713742256165, 'polygon': [[592.0, 243.0], [634.0, 245.0], [634.0, 256.0], [592.0, 254.0]], 'bbox': (592, 243, 43, 14), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9979369640350342, 'polygon': [[82.0, 279.0], [289.0, 279.0], [289.0, 303.0], [82.0, 303.0]], 'bbox': (82, 279, 208, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999611377716064, 'polygon': [[80.0, 335.0], [113.0, 335.0], [113.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 34, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9988621473312378, 'polygon': [[168.0, 336.0], [204.0, 336.0], [204.0, 365.0], [168.0, 365.0]], 'bbox': (168, 336, 37, 30), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.998289167881012, 'polygon': [[263.0, 336.0], [290.0, 336.0], [290.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 28, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9694029688835144, 'polygon': [[81.0, 398.0], [288.0, 398.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 398, 208, 28), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9906120300292969, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9860914945602417, 'polygon': [[82.0, 518.0], [290.0, 518.0], [290.0, 545.0], [82.0, 545.0]], 'bbox': (82, 518, 209, 28), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9985836148262024, 'polygon': [[18.0, 659.0], [150.0, 661.0], [149.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 134, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996605515480042, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '军工包', 'confidence': 0.9986985325813293, 'polygon': [[206.0, 768.0], [265.0, 768.0], [265.0, 790.0], [206.0, 790.0]], 'bbox': (206, 768, 60, 23), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9988996982574463, 'polygon': [[284.0, 769.0], [362.0, 769.0], [362.0, 790.0], [284.0, 790.0]], 'bbox': (284, 769, 79, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9992824196815491, 'polygon': [[386.0, 769.0], [445.0, 769.0], [445.0, 790.0], [386.0, 790.0]], 'bbox': (386, 769, 60, 22), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9984410405158997, 'polygon': [[472.0, 767.0], [531.0, 767.0], [531.0, 792.0], [472.0, 792.0]], 'bbox': (472, 767, 60, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9992697834968567, 'polygon': [[558.0, 769.0], [617.0, 769.0], [617.0, 790.0], [558.0, 790.0]], 'bbox': (558, 769, 60, 22), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9986759424209595, 'polygon': [[637.0, 769.0], [714.0, 769.0], [714.0, 790.0], [637.0, 790.0]], 'bbox': (637, 769, 78, 22), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9975659251213074, 'polygon': [[735.0, 767.0], [794.0, 767.0], [794.0, 792.0], [735.0, 792.0]], 'bbox': (735, 767, 60, 26), 'method': 'polygon'}]
[2025-10-24 08:51:34,684] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 90.6%): '暴走兔'
[2025-10-24 08:51:34,684] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 08:51:34,684] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '全波段收音机'
[2025-10-24 08:51:34,684] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '104'
[2025-10-24 08:51:34,684] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '150'
[2025-10-24 08:51:34,684] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '蓝牙音'
[2025-10-24 08:51:34,684] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '响'
[2025-10-24 08:51:34,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '1400'
[2025-10-24 08:51:34,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'R11'
[2025-10-24 08:51:34,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'RADIO/BT/MUSIC'
[2025-10-24 08:51:34,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PLAYER'
[2025-10-24 08:51:34,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '4000毫安锂电池'
[2025-10-24 08:51:34,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '手'
[2025-10-24 08:51:34,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '电'
[2025-10-24 08:51:34,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '筒'
[2025-10-24 08:51:34,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 96.9%): 'SOS警报/指南针'
[2025-10-24 08:51:34,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.1%): '手摇/太阳能发电'
[2025-10-24 08:51:34,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.6%): '可插U盘/TF卡'
[2025-10-24 08:51:34,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '限时'
[2025-10-24 08:51:34,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '赠送'
[2025-10-24 08:51:34,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '军工包'
[2025-10-24 08:51:34,686] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '延长天线'
[2025-10-24 08:51:34,686] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '内存卡'
[2025-10-24 08:51:34,686] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '读卡器'
[2025-10-24 08:51:34,686] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '充电线'
[2025-10-24 08:51:34,686] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '礼盒礼袋'
[2025-10-24 08:51:34,686] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '充电头'
[2025-10-24 08:51:34,686] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 20/27개 (신뢰도 + & 중국어)
[2025-10-24 08:51:34,686] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '暴走兔', 'confidence': 0.9055703282356262, 'polygon': [[136.0, 21.0], [270.0, 23.0], [269.0, 63.0], [135.0, 61.0]], 'bbox': (135, 21, 136, 43), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9979420304298401, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '蓝牙音', 'confidence': 0.9982023239135742, 'polygon': [[79.0, 213.0], [273.0, 213.0], [273.0, 248.0], [79.0, 248.0]], 'bbox': (79, 213, 195, 36), 'method': 'polygon'}, {'text': '响', 'confidence': 0.9996689558029175, 'polygon': [[259.0, 219.0], [290.0, 219.0], [290.0, 244.0], [259.0, 244.0]], 'bbox': (259, 219, 32, 26), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9979369640350342, 'polygon': [[82.0, 279.0], [289.0, 279.0], [289.0, 303.0], [82.0, 303.0]], 'bbox': (82, 279, 208, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999611377716064, 'polygon': [[80.0, 335.0], [113.0, 335.0], [113.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 34, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9988621473312378, 'polygon': [[168.0, 336.0], [204.0, 336.0], [204.0, 365.0], [168.0, 365.0]], 'bbox': (168, 336, 37, 30), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.998289167881012, 'polygon': [[263.0, 336.0], [290.0, 336.0], [290.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 28, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9694029688835144, 'polygon': [[81.0, 398.0], [288.0, 398.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 398, 208, 28), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9906120300292969, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9860914945602417, 'polygon': [[82.0, 518.0], [290.0, 518.0], [290.0, 545.0], [82.0, 545.0]], 'bbox': (82, 518, 209, 28), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9985836148262024, 'polygon': [[18.0, 659.0], [150.0, 661.0], [149.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 134, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996605515480042, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '军工包', 'confidence': 0.9986985325813293, 'polygon': [[206.0, 768.0], [265.0, 768.0], [265.0, 790.0], [206.0, 790.0]], 'bbox': (206, 768, 60, 23), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9988996982574463, 'polygon': [[284.0, 769.0], [362.0, 769.0], [362.0, 790.0], [284.0, 790.0]], 'bbox': (284, 769, 79, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9992824196815491, 'polygon': [[386.0, 769.0], [445.0, 769.0], [445.0, 790.0], [386.0, 790.0]], 'bbox': (386, 769, 60, 22), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9984410405158997, 'polygon': [[472.0, 767.0], [531.0, 767.0], [531.0, 792.0], [472.0, 792.0]], 'bbox': (472, 767, 60, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9992697834968567, 'polygon': [[558.0, 769.0], [617.0, 769.0], [617.0, 790.0], [558.0, 790.0]], 'bbox': (558, 769, 60, 22), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9986759424209595, 'polygon': [[637.0, 769.0], [714.0, 769.0], [714.0, 790.0], [637.0, 790.0]], 'bbox': (637, 769, 78, 22), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9975659251213074, 'polygon': [[735.0, 767.0], [794.0, 767.0], [794.0, 792.0], [735.0, 792.0]], 'bbox': (735, 767, 60, 26), 'method': 'polygon'}]
[2025-10-24 08:51:34,687] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 20개 필터링 완료
[2025-10-24 08:51:34,687] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 08:51:35,182] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['도망친 토끼', '풀 밴드 라디오', '블루투스 사운드', '반지', '4000mAh 리튬 배터리', '손', '전기', '실린더', 'SOS 경보 / 나침반', '핸드 크랭크 / 태양광 발전', 'U 디스크 삽입 가능 / TF 카드', '제한된 시간', '포기하다', '군사 가방', '확장 안테나', '메모리 카드', '카드 리더', '충전 케이블', '선물 상자 선물 가방', '충전 헤드']
[2025-10-24 08:51:35,183] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 08:51:35,183] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR 권한 없음, 전체 번역 모드
[2025-10-24 08:51:35,191] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.258, comps=4, min_center_dist=0.274 → request
[2025-10-24 08:51:35,191] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 20
[2025-10-24 08:51:35,191] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 08:51:35,191] [LogListener] [DEBUG] [loggerModule.py:debug:275] [set_inpaint_method] prefix=option, target_key=optionIMGTrans_type, trans_type=GPU → inpaint_method=migan
[2025-10-24 08:51:35,191] [LogListener] [DEBUG] [loggerModule.py:debug:275] 최종 inpaint_method: migan
[2025-10-24 08:51:35,192] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 08:51:35,193] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 08:51:35,407] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 08:51:35,407] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 213.10 ms
[2025-10-24 08:51:35,415] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 08:51:35,415] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 44161.0MB -> 44187.3MB (+26.3MB, +0.1%) - 방법: migan
[2025-10-24 08:51:35,415] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 08:51:35,488] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 08:51:35,488] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 08:51:35,488] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 08:51:35,815] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_2.webp
[2025-10-24 08:51:35,816] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_2.webp
[2025-10-24 08:51:35,817] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 2161.4ms | download=0.0ms | ocr=670.7ms | translate=499.3ms | mask=499.3ms | inpaint=231.1ms(migan/DirectML) | render=71.8ms | save=295.6ms
[2025-10-24 08:51:35,818] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 08:51:35,818] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 08:51:35,818] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=8c8fcf75-b20d-427f-b09d-ad9334c172d9
[2025-10-24 08:51:35,818] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=8c8fcf75-b20d-427f-b09d-ad9334c172d9
[2025-10-24 08:51:35,818] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 08:51:35,818] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:51:35,818] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33480)
[2025-10-24 08:51:35,864] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 08:51:35,865] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 08:51:35,865] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 08:51:35,865] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 08:51:35,866] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 08:51:35,866] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 08:51:36,271] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=23704
[2025-10-24 08:51:36,776] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=23704, Name=ImageWorkerProcess)
[2025-10-24 08:51:36,776] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 08:51:36,776] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 08:51:36,783] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 08:51:36,783] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 08:51:36,783] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 08:51:36,783] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 08:51:36,784] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 08:51:36,784] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 08:51:36,784] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 08:51:36,784] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 08:51:36,784] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 08:51:36,784] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 08:51:36,784] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 08:51:36,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 08:51:36,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 08:51:36,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 08:51:36,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 08:51:36,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 08:51:36,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 08:51:36,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 08:51:36,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 08:51:36,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 08:51:36,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 08:51:36,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 08:51:36,785] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 08:51:36,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 08:51:36,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 08:51:36,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 08:51:38,372] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 08:51:38,458] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 08:51:38,459] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 08:51:38,459] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 08:51:38,459] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 08:51:38,459] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 08:51:38,459] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 08:51:38,459] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 08:51:38,459] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 08:51:38,460] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 08:51:38,460] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 08:51:38,460] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 08:51:38,460] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 08:51:38,460] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 08:51:38,460] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 08:51:38,460] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 08:51:38,460] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 08:51:38,491] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 08:51:38,724] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 08:51:38,724] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 08:51:38,724] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 08:51:38,724] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 08:51:38,725] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 08:51:38,725] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 08:51:38,725] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 08:51:38,725] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 08:51:38,725] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 08:51:38,725] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 08:51:38,725] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x0000019A438093D0>
[2025-10-24 08:51:38,725] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x0000019A438093D0>
[2025-10-24 08:51:38,725] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 08:51:38,725] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 08:51:38,730] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 5.0ms
[2025-10-24 08:51:38,730] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 08:51:38,730] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 08:51:38,733] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 08:51:38,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 08:51:38,734] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 08:51:38,734] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 08:51:38,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 08:51:38,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:51:38,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 23704)
[2025-10-24 08:52:38,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:52:38,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:52:38,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 23704)
[2025-10-24 08:53:08,417] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 종료
[2025-10-24 08:53:08,651] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 종료
[2025-10-24 08:53:10,303] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 시작
[2025-10-24 08:53:10,320] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=11384
[2025-10-24 08:53:10,772] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=11384, Name=ImageWorkerProcess)
[2025-10-24 08:53:10,773] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 08:53:10,773] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 08:53:10,779] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 08:53:10,779] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 08:53:10,779] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 08:53:10,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 08:53:10,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 08:53:10,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 08:53:10,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 08:53:10,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 08:53:10,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 08:53:10,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 08:53:10,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 08:53:10,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 08:53:10,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 08:53:10,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 08:53:10,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 08:53:10,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 08:53:10,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 08:53:10,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 08:53:10,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 08:53:10,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 08:53:10,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 08:53:10,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 08:53:10,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 08:53:10,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 08:53:10,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 08:53:10,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 08:53:12,340] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 08:53:12,424] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 08:53:12,424] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 08:53:12,424] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 08:53:12,425] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 08:53:12,425] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 08:53:12,425] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 08:53:12,425] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 08:53:12,425] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 08:53:12,425] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 08:53:12,426] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 08:53:12,426] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 08:53:12,426] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 08:53:12,426] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 08:53:12,426] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 08:53:12,426] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 08:53:12,426] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 08:53:12,445] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 08:53:12,656] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 08:53:12,656] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 08:53:12,656] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 08:53:12,656] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 08:53:12,657] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 08:53:12,657] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 08:53:12,657] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 08:53:12,657] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 08:53:12,657] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 08:53:12,657] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 08:53:12,657] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x000002325470A610>
[2025-10-24 08:53:12,657] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x000002325470A610>
[2025-10-24 08:53:12,657] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 08:53:12,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 08:53:12,662] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 5.0ms
[2025-10-24 08:53:12,662] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 08:53:12,662] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 08:53:12,665] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 08:53:12,666] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 08:53:12,666] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 08:53:12,666] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 08:53:12,666] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 08:53:12,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:53:12,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 08:53:12,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 08:53:12,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=__PING__, uid=acc04e4f-333e-4bbe-9214-8c6893255d26
[2025-10-24 08:53:12,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=__PING__
[2025-10-24 08:53:12,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=acc04e4f-333e-4bbe-9214-8c6893255d26
[2025-10-24 08:53:12,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=acc04e4f-333e-4bbe-9214-8c6893255d26
[2025-10-24 08:53:12,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:53:12,668] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 08:54:12,672] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:54:12,672] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:54:12,672] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 08:55:12,687] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:55:12,687] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:55:12,687] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 08:56:12,691] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:56:12,691] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:56:12,691] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 08:57:12,693] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:57:12,693] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:57:12,693] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 08:58:12,703] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:58:12,703] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:58:12,703] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 08:59:12,710] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 08:59:12,710] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 08:59:12,710] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:00:12,717] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:00:12,717] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:00:12,717] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:01:12,723] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:01:12,723] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:01:12,723] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:02:12,735] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:02:12,735] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:02:12,735] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:03:12,742] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:03:12,742] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:03:12,742] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:04:12,744] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:04:12,744] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:04:12,744] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:05:12,751] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:05:12,751] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:05:12,751] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:06:12,758] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:06:12,758] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:06:12,758] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:07:12,769] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:07:12,769] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:07:12,769] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:08:12,772] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:08:12,772] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:08:12,772] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:09:12,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:09:12,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:09:12,786] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:10:12,799] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:10:12,799] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:10:12,799] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:11:12,808] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:11:12,808] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:11:12,808] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:12:12,820] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:12:12,820] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:12:12,820] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:13:12,827] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:13:12,827] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:13:12,827] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:14:12,835] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:14:12,835] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:14:12,835] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:15:12,838] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:15:12,838] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:15:12,838] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:16:12,839] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:16:12,839] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:16:12,839] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:17:12,844] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:17:12,844] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:17:12,844] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:18:12,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:18:12,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:18:12,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:19:12,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:19:12,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:19:12,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:20:12,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:20:12,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:20:12,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:21:12,885] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:21:12,885] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:21:12,885] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:22:12,897] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:22:12,897] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:22:12,897] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:23:12,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:23:12,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:23:12,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:24:12,903] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:24:12,903] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:24:12,903] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:25:12,907] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:25:12,907] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:25:12,907] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:26:12,916] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:26:12,916] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:26:12,916] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:27:12,924] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:27:12,924] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:27:12,924] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:28:12,928] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:28:12,928] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:28:12,928] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:29:12,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:29:12,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:29:12,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:30:12,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:30:12,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:30:12,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:31:12,966] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:31:12,966] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:31:12,966] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:32:12,979] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:32:12,979] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:32:12,979] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:33:12,983] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:33:12,983] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:33:12,983] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:34:12,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:34:12,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:34:12,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:35:13,000] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:35:13,000] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:35:13,000] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:36:13,001] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:36:13,001] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:36:13,001] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:37:13,009] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:37:13,009] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:37:13,009] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 11384)
[2025-10-24 09:37:46,237] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 종료
[2025-10-24 09:37:46,410] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 종료
[2025-10-24 09:37:47,753] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 시작
[2025-10-24 09:37:47,759] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=18028
[2025-10-24 09:37:48,192] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=18028, Name=ImageWorkerProcess)
[2025-10-24 09:37:48,192] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 09:37:48,192] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 09:37:48,199] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 09:37:48,199] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 09:37:48,199] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 09:37:48,199] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 09:37:48,199] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 09:37:48,199] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 09:37:48,199] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 09:37:48,199] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 09:37:48,199] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 09:37:48,199] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 09:37:48,200] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 09:37:48,200] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:37:48,200] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 09:37:48,200] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:37:48,200] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:37:48,200] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 09:37:48,200] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 09:37:48,200] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 09:37:48,201] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 09:37:48,201] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 09:37:48,201] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 09:37:48,201] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 09:37:48,201] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 09:37:48,201] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 09:37:48,201] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:37:48,201] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:37:49,791] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 09:37:49,890] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 09:37:49,890] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 09:37:49,890] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 09:37:49,891] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 09:37:49,891] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 09:37:49,891] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 09:37:49,891] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 09:37:49,891] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:37:49,891] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 09:37:49,891] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:37:49,891] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 09:37:49,892] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 09:37:49,892] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 09:37:49,892] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 09:37:49,892] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 09:37:49,892] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 09:37:49,913] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 09:37:50,143] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:37:50,144] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 09:37:50,144] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:37:50,144] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:37:50,144] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:37:50,145] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:37:50,145] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:37:50,145] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 09:37:50,145] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:37:50,145] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 09:37:50,145] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x00000236611C26D0>
[2025-10-24 09:37:50,145] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x00000236611C26D0>
[2025-10-24 09:37:50,145] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 09:37:50,146] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:37:50,150] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 5.0ms
[2025-10-24 09:37:50,150] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 4.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 09:37:50,151] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 09:37:50,155] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 09:37:50,155] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 09:37:50,155] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:37:50,156] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:37:50,156] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 09:37:50,156] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:37:50,156] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 18028)
[2025-10-24 09:37:50,157] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:37:50,157] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=__PING__, uid=b18bc3a5-ac67-4468-9352-772056495338
[2025-10-24 09:37:50,157] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=__PING__
[2025-10-24 09:37:50,157] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=b18bc3a5-ac67-4468-9352-772056495338
[2025-10-24 09:37:50,157] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=b18bc3a5-ac67-4468-9352-772056495338
[2025-10-24 09:37:50,157] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:37:50,157] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 18028)
[2025-10-24 09:38:50,173] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:38:50,173] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:38:50,173] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 18028)
[2025-10-24 09:39:50,173] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:39:50,173] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:39:50,173] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 18028)
[2025-10-24 09:39:53,836] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:39:53,836] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=8ea800bc-173a-42f4-9e44-706e70996eaf
[2025-10-24 09:39:53,836] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:39:53,836] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:39:53,836] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:39:53,838] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:39:54,257] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 1 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_f724b55c694d.jpg - 전체 번역 모드
[2025-10-24 09:39:54,263] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_f724b55c694d.jpg
[2025-10-24 09:39:54,263] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 09:39:54,263] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 1 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_f724b55c694d.jpg
[2025-10-24 09:39:54,265] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:39:54,897] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 629.0ms
[2025-10-24 09:39:54,915] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 118.0ms, 인식: 484.0ms, 분류: 21.0ms
[2025-10-24 09:39:54,949] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 41327.8MB -> 41608.3MB (+280.5MB, +0.7%) - 이미지 1
[2025-10-24 09:39:54,949] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '暴走免', 'confidence': 0.8268830180168152, 'polygon': [[137.0, 21.0], [270.0, 23.0], [269.0, 63.0], [136.0, 61.0]], 'bbox': (136, 21, 135, 43), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.9928860068321228, 'polygon': [[134.0, 73.0], [273.0, 73.0], [273.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 140, 15), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9983271956443787, 'polygon': [[82.0, 158.0], [288.0, 158.0], [288.0, 185.0], [82.0, 185.0]], 'bbox': (82, 158, 207, 28), 'method': 'polygon'}, {'text': 'FMAMBTTFUSB', 'confidence': 0.9194031357765198, 'polygon': [[520.0, 159.0], [646.0, 151.0], [647.0, 164.0], [521.0, 172.0]], 'bbox': (520, 151, 128, 22), 'method': 'polygon'}, {'text': 'SWWB', 'confidence': 0.9913822412490845, 'polygon': [[524.0, 184.0], [554.0, 184.0], [554.0, 195.0], [524.0, 195.0]], 'bbox': (524, 184, 31, 12), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.9982503652572632, 'polygon': [[78.0, 213.0], [294.0, 213.0], [294.0, 248.0], [78.0, 248.0]], 'bbox': (78, 213, 217, 36), 'method': 'polygon'}, {'text': 'TUNE', 'confidence': 0.9709067344665527, 'polygon': [[649.0, 216.0], [669.0, 213.0], [670.0, 221.0], [650.0, 224.0]], 'bbox': (649, 213, 22, 12), 'method': 'polygon'}, {'text': '47', 'confidence': 0.7534564733505249, 'polygon': [[642.0, 226.0], [658.0, 226.0], [658.0, 234.0], [642.0, 234.0]], 'bbox': (642, 226, 17, 9), 'method': 'polygon'}, {'text': '·R11·RADIO/BT/MUSICPLAYER', 'confidence': 0.9210416674613953, 'polygon': [[531.0, 260.0], [670.0, 247.0], [671.0, 261.0], [532.0, 274.0]], 'bbox': (531, 247, 141, 28), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9972505569458008, 'polygon': [[82.0, 278.0], [290.0, 278.0], [290.0, 305.0], [82.0, 305.0]], 'bbox': (82, 278, 209, 28), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999576807022095, 'polygon': [[80.0, 335.0], [113.0, 335.0], [113.0, 366.0], [80.0, 366.0]], 'bbox': (80, 335, 34, 32), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9995966553688049, 'polygon': [[171.0, 338.0], [204.0, 338.0], [204.0, 364.0], [171.0, 364.0]], 'bbox': (171, 338, 34, 27), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9986861348152161, 'polygon': [[263.0, 337.0], [290.0, 337.0], [290.0, 365.0], [263.0, 365.0]], 'bbox': (263, 337, 28, 29), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9744207859039307, 'polygon': [[81.0, 398.0], [288.0, 398.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 398, 208, 28), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.982049822807312, 'polygon': [[81.0, 456.0], [289.0, 458.0], [289.0, 486.0], [81.0, 484.0]], 'bbox': (81, 456, 209, 31), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.996004581451416, 'polygon': [[83.0, 519.0], [290.0, 519.0], [290.0, 543.0], [83.0, 543.0]], 'bbox': (83, 519, 208, 25), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9984755516052246, 'polygon': [[18.0, 659.0], [150.0, 661.0], [149.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 134, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996578693389893, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9981918334960938, 'polygon': [[211.0, 769.0], [288.0, 769.0], [288.0, 790.0], [211.0, 790.0]], 'bbox': (211, 769, 78, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9986286163330078, 'polygon': [[324.0, 766.0], [383.0, 766.0], [383.0, 791.0], [324.0, 791.0]], 'bbox': (324, 766, 60, 26), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9983436465263367, 'polygon': [[423.0, 767.0], [483.0, 767.0], [483.0, 792.0], [423.0, 792.0]], 'bbox': (423, 767, 61, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9990179538726807, 'polygon': [[523.0, 767.0], [584.0, 767.0], [584.0, 792.0], [523.0, 792.0]], 'bbox': (523, 767, 62, 26), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.997372031211853, 'polygon': [[617.0, 767.0], [696.0, 767.0], [696.0, 792.0], [617.0, 792.0]], 'bbox': (617, 767, 80, 26), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9958818554878235, 'polygon': [[725.0, 767.0], [785.0, 767.0], [785.0, 792.0], [725.0, 792.0]], 'bbox': (725, 767, 61, 26), 'method': 'polygon'}]
[2025-10-24 09:39:54,950] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 82.7%): '暴走免'
[2025-10-24 09:39:54,950] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 09:39:54,950] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '全波段收音机'
[2025-10-24 09:39:54,950] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'FMAMBTTFUSB'
[2025-10-24 09:39:54,950] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'SWWB'
[2025-10-24 09:39:54,951] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '蓝牙音响'
[2025-10-24 09:39:54,951] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'TUNE'
[2025-10-24 09:39:54,951] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '47'
[2025-10-24 09:39:54,951] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '·R11·RADIO/BT/MUSICPLAYER'
[2025-10-24 09:39:54,951] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '4000毫安锂电池'
[2025-10-24 09:39:54,951] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '手'
[2025-10-24 09:39:54,951] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '电'
[2025-10-24 09:39:54,951] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '筒'
[2025-10-24 09:39:54,951] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 97.4%): 'SOS警报/指南针'
[2025-10-24 09:39:54,951] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.2%): '手摇/太阳能发电'
[2025-10-24 09:39:54,973] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '可插U盘/TF卡'
[2025-10-24 09:39:54,988] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '限时'
[2025-10-24 09:39:54,988] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '赠送'
[2025-10-24 09:39:54,988] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '延长天线'
[2025-10-24 09:39:54,988] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '内存卡'
[2025-10-24 09:39:54,988] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '读卡器'
[2025-10-24 09:39:54,989] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '充电线'
[2025-10-24 09:39:54,989] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '礼盒礼袋'
[2025-10-24 09:39:54,989] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '充电头'
[2025-10-24 09:39:54,989] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 18/24개 (신뢰도 + & 중국어)
[2025-10-24 09:39:54,989] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '暴走免', 'confidence': 0.8268830180168152, 'polygon': [[137.0, 21.0], [270.0, 23.0], [269.0, 63.0], [136.0, 61.0]], 'bbox': (136, 21, 135, 43), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9983271956443787, 'polygon': [[82.0, 158.0], [288.0, 158.0], [288.0, 185.0], [82.0, 185.0]], 'bbox': (82, 158, 207, 28), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.9982503652572632, 'polygon': [[78.0, 213.0], [294.0, 213.0], [294.0, 248.0], [78.0, 248.0]], 'bbox': (78, 213, 217, 36), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9972505569458008, 'polygon': [[82.0, 278.0], [290.0, 278.0], [290.0, 305.0], [82.0, 305.0]], 'bbox': (82, 278, 209, 28), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999576807022095, 'polygon': [[80.0, 335.0], [113.0, 335.0], [113.0, 366.0], [80.0, 366.0]], 'bbox': (80, 335, 34, 32), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9995966553688049, 'polygon': [[171.0, 338.0], [204.0, 338.0], [204.0, 364.0], [171.0, 364.0]], 'bbox': (171, 338, 34, 27), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9986861348152161, 'polygon': [[263.0, 337.0], [290.0, 337.0], [290.0, 365.0], [263.0, 365.0]], 'bbox': (263, 337, 28, 29), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9744207859039307, 'polygon': [[81.0, 398.0], [288.0, 398.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 398, 208, 28), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.982049822807312, 'polygon': [[81.0, 456.0], [289.0, 458.0], [289.0, 486.0], [81.0, 484.0]], 'bbox': (81, 456, 209, 31), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.996004581451416, 'polygon': [[83.0, 519.0], [290.0, 519.0], [290.0, 543.0], [83.0, 543.0]], 'bbox': (83, 519, 208, 25), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9984755516052246, 'polygon': [[18.0, 659.0], [150.0, 661.0], [149.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 134, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996578693389893, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9981918334960938, 'polygon': [[211.0, 769.0], [288.0, 769.0], [288.0, 790.0], [211.0, 790.0]], 'bbox': (211, 769, 78, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9986286163330078, 'polygon': [[324.0, 766.0], [383.0, 766.0], [383.0, 791.0], [324.0, 791.0]], 'bbox': (324, 766, 60, 26), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9983436465263367, 'polygon': [[423.0, 767.0], [483.0, 767.0], [483.0, 792.0], [423.0, 792.0]], 'bbox': (423, 767, 61, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9990179538726807, 'polygon': [[523.0, 767.0], [584.0, 767.0], [584.0, 792.0], [523.0, 792.0]], 'bbox': (523, 767, 62, 26), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.997372031211853, 'polygon': [[617.0, 767.0], [696.0, 767.0], [696.0, 792.0], [617.0, 792.0]], 'bbox': (617, 767, 80, 26), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9958818554878235, 'polygon': [[725.0, 767.0], [785.0, 767.0], [785.0, 792.0], [725.0, 792.0]], 'bbox': (725, 767, 61, 26), 'method': 'polygon'}]
[2025-10-24 09:39:54,990] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 18개 필터링 완료
[2025-10-24 09:39:54,990] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:39:58,191] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['무료', '풀 밴드 라디오', '블루투스 스피커', '4000mAh 리튬 배터리', '손', '전기', '실린더', 'SOS 경보 / 나침반', '핸드 크랭크 / 태양광 발전', 'U 디스크 삽입 가능 / TF 카드', '제한된 시간', '포기하다', '확장 안테나', '메모리 카드', '카드 리더', '충전 케이블', '선물 상자 선물 가방', '충전 헤드']
[2025-10-24 09:39:58,191] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:39:58,191] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 1 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:39:58,199] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.202, comps=17, min_center_dist=0.052 → request
[2025-10-24 09:39:58,200] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 18
[2025-10-24 09:39:58,200] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:39:58,200] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:39:58,202] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:39:58,636] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:39:58,636] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 433.37 ms
[2025-10-24 09:39:58,644] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:39:58,644] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 41690.4MB -> 41872.3MB (+181.9MB, +0.4%) - 방법: migan
[2025-10-24 09:39:58,644] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:39:58,713] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:39:58,714] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:39:58,714] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:39:59,004] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_1.webp
[2025-10-24 09:39:59,005] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 1 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_1.webp
[2025-10-24 09:39:59,005] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 5167.5ms | download=0.0ms | ocr=640.0ms | translate=3241.0ms | mask=3241.0ms | inpaint=450.4ms(migan/DirectML) | render=69.0ms | save=257.0ms
[2025-10-24 09:39:59,006] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:39:59,007] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=8ea800bc-173a-42f4-9e44-706e70996eaf
[2025-10-24 09:39:59,007] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=8ea800bc-173a-42f4-9e44-706e70996eaf
[2025-10-24 09:39:59,007] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:39:59,007] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 18028)
[2025-10-24 09:40:00,822] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:40:00,822] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=15fc8408-5bd8-47ef-8fa9-5912b605ce2d
[2025-10-24 09:40:00,822] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:40:00,823] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:40:00,823] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:40:00,823] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:40:01,318] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_c967904fe153.jpg - 전체 번역 모드
[2025-10-24 09:40:01,323] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_c967904fe153.jpg
[2025-10-24 09:40:01,323] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 09:40:01,323] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_c967904fe153.jpg
[2025-10-24 09:40:01,325] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:40:01,767] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 439.9ms
[2025-10-24 09:40:01,791] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 97.6ms, 인식: 321.4ms, 분류: 14.0ms
[2025-10-24 09:40:01,792] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 41997.8MB -> 42024.1MB (+26.3MB, +0.1%) - 이미지 2
[2025-10-24 09:40:01,792] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '暴走兔', 'confidence': 0.9217319488525391, 'polygon': [[136.0, 21.0], [270.0, 23.0], [269.0, 63.0], [135.0, 61.0]], 'bbox': (135, 21, 136, 43), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.9930073022842407, 'polygon': [[134.0, 73.0], [273.0, 73.0], [273.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 140, 15), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9983155131340027, 'polygon': [[82.0, 158.0], [288.0, 158.0], [288.0, 185.0], [82.0, 185.0]], 'bbox': (82, 158, 207, 28), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.9986387491226196, 'polygon': [[78.0, 213.0], [294.0, 213.0], [294.0, 248.0], [78.0, 248.0]], 'bbox': (78, 213, 217, 36), 'method': 'polygon'}, {'text': '·R11·RADIO/BT/MUSICPLAYER', 'confidence': 0.9367609620094299, 'polygon': [[531.0, 257.0], [672.0, 245.0], [673.0, 259.0], [532.0, 271.0]], 'bbox': (531, 245, 143, 27), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9972565770149231, 'polygon': [[82.0, 278.0], [290.0, 278.0], [290.0, 305.0], [82.0, 305.0]], 'bbox': (82, 278, 209, 28), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999576807022095, 'polygon': [[80.0, 335.0], [113.0, 335.0], [113.0, 366.0], [80.0, 366.0]], 'bbox': (80, 335, 34, 32), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9995966553688049, 'polygon': [[171.0, 338.0], [204.0, 338.0], [204.0, 364.0], [171.0, 364.0]], 'bbox': (171, 338, 34, 27), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.997241735458374, 'polygon': [[261.0, 337.0], [290.0, 337.0], [290.0, 365.0], [261.0, 365.0]], 'bbox': (261, 337, 30, 29), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.973926305770874, 'polygon': [[81.0, 398.0], [288.0, 398.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 398, 208, 28), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9819984436035156, 'polygon': [[81.0, 456.0], [289.0, 458.0], [289.0, 486.0], [81.0, 484.0]], 'bbox': (81, 456, 209, 31), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.995929479598999, 'polygon': [[83.0, 519.0], [290.0, 519.0], [290.0, 543.0], [83.0, 543.0]], 'bbox': (83, 519, 208, 25), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9984755516052246, 'polygon': [[18.0, 659.0], [150.0, 661.0], [149.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 134, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996578693389893, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9986213445663452, 'polygon': [[212.0, 769.0], [288.0, 769.0], [288.0, 790.0], [212.0, 790.0]], 'bbox': (212, 769, 77, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9986286163330078, 'polygon': [[324.0, 766.0], [383.0, 766.0], [383.0, 791.0], [324.0, 791.0]], 'bbox': (324, 766, 60, 26), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9984023571014404, 'polygon': [[424.0, 767.0], [483.0, 767.0], [483.0, 792.0], [424.0, 792.0]], 'bbox': (424, 767, 60, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9990179538726807, 'polygon': [[523.0, 767.0], [584.0, 767.0], [584.0, 792.0], [523.0, 792.0]], 'bbox': (523, 767, 62, 26), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9980711340904236, 'polygon': [[618.0, 766.0], [698.0, 768.0], [697.0, 793.0], [617.0, 791.0]], 'bbox': (617, 766, 82, 28), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9979567527770996, 'polygon': [[727.0, 767.0], [786.0, 767.0], [786.0, 792.0], [727.0, 792.0]], 'bbox': (727, 767, 60, 26), 'method': 'polygon'}]
[2025-10-24 09:40:01,793] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 92.2%): '暴走兔'
[2025-10-24 09:40:01,793] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 09:40:01,793] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '全波段收音机'
[2025-10-24 09:40:01,793] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '蓝牙音响'
[2025-10-24 09:40:01,793] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '·R11·RADIO/BT/MUSICPLAYER'
[2025-10-24 09:40:01,793] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '4000毫安锂电池'
[2025-10-24 09:40:01,793] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '手'
[2025-10-24 09:40:01,793] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '电'
[2025-10-24 09:40:01,793] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '筒'
[2025-10-24 09:40:01,793] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 97.4%): 'SOS警报/指南针'
[2025-10-24 09:40:01,793] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.2%): '手摇/太阳能发电'
[2025-10-24 09:40:01,793] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '可插U盘/TF卡'
[2025-10-24 09:40:01,793] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '限时'
[2025-10-24 09:40:01,794] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '赠送'
[2025-10-24 09:40:01,794] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '延长天线'
[2025-10-24 09:40:01,794] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '内存卡'
[2025-10-24 09:40:01,794] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '读卡器'
[2025-10-24 09:40:01,794] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '充电线'
[2025-10-24 09:40:01,794] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '礼盒礼袋'
[2025-10-24 09:40:01,794] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '充电头'
[2025-10-24 09:40:01,795] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 18/20개 (신뢰도 + & 중국어)
[2025-10-24 09:40:01,795] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '暴走兔', 'confidence': 0.9217319488525391, 'polygon': [[136.0, 21.0], [270.0, 23.0], [269.0, 63.0], [135.0, 61.0]], 'bbox': (135, 21, 136, 43), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9983155131340027, 'polygon': [[82.0, 158.0], [288.0, 158.0], [288.0, 185.0], [82.0, 185.0]], 'bbox': (82, 158, 207, 28), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.9986387491226196, 'polygon': [[78.0, 213.0], [294.0, 213.0], [294.0, 248.0], [78.0, 248.0]], 'bbox': (78, 213, 217, 36), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9972565770149231, 'polygon': [[82.0, 278.0], [290.0, 278.0], [290.0, 305.0], [82.0, 305.0]], 'bbox': (82, 278, 209, 28), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999576807022095, 'polygon': [[80.0, 335.0], [113.0, 335.0], [113.0, 366.0], [80.0, 366.0]], 'bbox': (80, 335, 34, 32), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9995966553688049, 'polygon': [[171.0, 338.0], [204.0, 338.0], [204.0, 364.0], [171.0, 364.0]], 'bbox': (171, 338, 34, 27), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.997241735458374, 'polygon': [[261.0, 337.0], [290.0, 337.0], [290.0, 365.0], [261.0, 365.0]], 'bbox': (261, 337, 30, 29), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.973926305770874, 'polygon': [[81.0, 398.0], [288.0, 398.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 398, 208, 28), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9819984436035156, 'polygon': [[81.0, 456.0], [289.0, 458.0], [289.0, 486.0], [81.0, 484.0]], 'bbox': (81, 456, 209, 31), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.995929479598999, 'polygon': [[83.0, 519.0], [290.0, 519.0], [290.0, 543.0], [83.0, 543.0]], 'bbox': (83, 519, 208, 25), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9984755516052246, 'polygon': [[18.0, 659.0], [150.0, 661.0], [149.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 134, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996578693389893, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9986213445663452, 'polygon': [[212.0, 769.0], [288.0, 769.0], [288.0, 790.0], [212.0, 790.0]], 'bbox': (212, 769, 77, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9986286163330078, 'polygon': [[324.0, 766.0], [383.0, 766.0], [383.0, 791.0], [324.0, 791.0]], 'bbox': (324, 766, 60, 26), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9984023571014404, 'polygon': [[424.0, 767.0], [483.0, 767.0], [483.0, 792.0], [424.0, 792.0]], 'bbox': (424, 767, 60, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9990179538726807, 'polygon': [[523.0, 767.0], [584.0, 767.0], [584.0, 792.0], [523.0, 792.0]], 'bbox': (523, 767, 62, 26), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9980711340904236, 'polygon': [[618.0, 766.0], [698.0, 768.0], [697.0, 793.0], [617.0, 791.0]], 'bbox': (617, 766, 82, 28), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9979567527770996, 'polygon': [[727.0, 767.0], [786.0, 767.0], [786.0, 792.0], [727.0, 792.0]], 'bbox': (727, 767, 60, 26), 'method': 'polygon'}]
[2025-10-24 09:40:01,795] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 18개 필터링 완료
[2025-10-24 09:40:01,795] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:40:02,283] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['도망친 토끼', '풀 밴드 라디오', '블루투스 스피커', '4000mAh 리튬 배터리', '손', '전기', '실린더', 'SOS 경보 / 나침반', '핸드 크랭크 / 태양광 발전', 'U 디스크 삽입 가능 / TF 카드', '제한된 시간', '포기하다', '확장 안테나', '메모리 카드', '카드 리더', '충전 케이블', '선물 상자 선물 가방', '충전 헤드']
[2025-10-24 09:40:02,283] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:40:02,283] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:40:02,291] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.202, comps=17, min_center_dist=0.052 → request
[2025-10-24 09:40:02,291] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 18
[2025-10-24 09:40:02,291] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:40:02,291] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:40:02,293] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:40:02,502] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:40:02,503] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 209.56 ms
[2025-10-24 09:40:02,510] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:40:02,510] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 42007.9MB -> 42013.6MB (+5.6MB, +0.0%) - 방법: migan
[2025-10-24 09:40:02,510] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:40:02,565] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:40:02,565] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:40:02,565] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:40:02,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_2.webp
[2025-10-24 09:40:02,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_2.webp
[2025-10-24 09:40:02,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 2029.1ms | download=0.0ms | ocr=448.9ms | translate=490.5ms | mask=490.5ms | inpaint=225.6ms(migan/DirectML) | render=54.0ms | save=254.5ms
[2025-10-24 09:40:02,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:40:02,854] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 09:40:02,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=15fc8408-5bd8-47ef-8fa9-5912b605ce2d
[2025-10-24 09:40:02,855] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=15fc8408-5bd8-47ef-8fa9-5912b605ce2d
[2025-10-24 09:40:02,855] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 09:40:02,855] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:40:02,855] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 18028)
[2025-10-24 09:40:02,903] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:40:02,904] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 09:40:02,904] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 09:40:02,904] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 09:40:02,904] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 09:40:02,904] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 09:40:03,358] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=31492
[2025-10-24 09:40:03,866] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=31492, Name=ImageWorkerProcess)
[2025-10-24 09:40:03,866] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 09:40:03,866] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 09:40:03,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 09:40:03,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 09:40:03,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 09:40:03,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 09:40:03,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 09:40:03,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 09:40:03,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 09:40:03,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 09:40:03,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 09:40:03,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 09:40:03,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 09:40:03,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:40:03,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 09:40:03,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:03,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:03,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 09:40:03,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 09:40:03,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 09:40:03,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 09:40:03,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 09:40:03,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 09:40:03,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 09:40:03,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 09:40:03,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 09:40:03,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:40:03,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:40:05,432] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 09:40:05,517] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 09:40:05,517] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 09:40:05,517] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 09:40:05,518] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 09:40:05,518] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 09:40:05,518] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 09:40:05,518] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 09:40:05,518] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:05,518] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 09:40:05,518] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:05,518] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 09:40:05,518] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 09:40:05,519] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 09:40:05,519] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 09:40:05,519] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 09:40:05,519] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 09:40:05,538] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 09:40:05,748] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:40:05,749] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 09:40:05,749] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:40:05,749] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:40:05,749] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:40:05,749] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:40:05,749] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:40:05,749] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 09:40:05,749] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:40:05,749] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 09:40:05,749] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x0000020AE7DA7F90>
[2025-10-24 09:40:05,749] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x0000020AE7DA7F90>
[2025-10-24 09:40:05,750] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 09:40:05,750] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:40:05,754] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 09:40:05,754] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 09:40:05,755] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 09:40:05,758] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 09:40:05,758] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 09:40:05,758] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:40:05,758] [WorkerRoller] [INFO] [loggerModule.py:info:281] 버퍼 작업 재개: 1건
[2025-10-24 09:40:05,758] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:40:05,758] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 09:40:05,759] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:40:05,759] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31492)
[2025-10-24 09:40:05,759] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:40:05,759] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=e32dce2f-165f-4da3-b388-842e84edaf4b
[2025-10-24 09:40:05,759] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:40:05,759] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:40:05,760] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:40:05,762] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:40:06,272] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_2724c99a01ea.jpg - 전체 번역 모드
[2025-10-24 09:40:06,277] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_2724c99a01ea.jpg
[2025-10-24 09:40:06,277] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 09:40:06,278] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_2724c99a01ea.jpg
[2025-10-24 09:40:06,279] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:40:07,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 851.5ms
[2025-10-24 09:40:07,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 111.6ms, 인식: 711.9ms, 분류: 23.0ms
[2025-10-24 09:40:07,159] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 41650.2MB -> 41959.8MB (+309.5MB, +0.7%) - 이미지 3
[2025-10-24 09:40:07,175] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '暴走兔', 'confidence': 0.8949251174926758, 'polygon': [[135.0, 20.0], [271.0, 22.0], [270.0, 64.0], [134.0, 62.0]], 'bbox': (134, 20, 138, 45), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.9929968118667603, 'polygon': [[134.0, 73.0], [273.0, 73.0], [273.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 140, 15), 'method': 'polygon'}, {'text': 'M', 'confidence': 0.9715226292610168, 'polygon': [[453.0, 146.0], [463.0, 146.0], [463.0, 154.0], [453.0, 154.0]], 'bbox': (453, 146, 11, 9), 'method': 'polygon'}, {'text': 'AM', 'confidence': 0.9390634298324585, 'polygon': [[471.0, 146.0], [481.0, 146.0], [481.0, 154.0], [471.0, 154.0]], 'bbox': (471, 146, 11, 9), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9977607727050781, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '1500', 'confidence': 0.8749780058860779, 'polygon': [[469.0, 192.0], [482.0, 192.0], [482.0, 209.0], [469.0, 209.0]], 'bbox': (469, 192, 14, 18), 'method': 'polygon'}, {'text': '蓝牙音', 'confidence': 0.9980747699737549, 'polygon': [[79.0, 213.0], [271.0, 213.0], [271.0, 248.0], [79.0, 248.0]], 'bbox': (79, 213, 193, 36), 'method': 'polygon'}, {'text': '响', 'confidence': 0.9996689558029175, 'polygon': [[259.0, 219.0], [290.0, 219.0], [290.0, 244.0], [259.0, 244.0]], 'bbox': (259, 219, 32, 26), 'method': 'polygon'}, {'text': '1400', 'confidence': 0.8144437074661255, 'polygon': [[470.0, 212.0], [483.0, 212.0], [483.0, 226.0], [470.0, 226.0]], 'bbox': (470, 212, 14, 15), 'method': 'polygon'}, {'text': 'R11', 'confidence': 0.9946472644805908, 'polygon': [[457.0, 245.0], [490.0, 245.0], [490.0, 256.0], [457.0, 256.0]], 'bbox': (457, 245, 34, 12), 'method': 'polygon'}, {'text': 'RADIO/BT/MUSIC PLAYER', 'confidence': 0.9756901860237122, 'polygon': [[505.0, 245.0], [634.0, 245.0], [634.0, 255.0], [505.0, 255.0]], 'bbox': (505, 245, 130, 11), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9978529810905457, 'polygon': [[82.0, 279.0], [289.0, 279.0], [289.0, 303.0], [82.0, 303.0]], 'bbox': (82, 279, 208, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999611377716064, 'polygon': [[80.0, 335.0], [113.0, 335.0], [113.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 34, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9988621473312378, 'polygon': [[168.0, 336.0], [204.0, 336.0], [204.0, 365.0], [168.0, 365.0]], 'bbox': (168, 336, 37, 30), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.998289167881012, 'polygon': [[263.0, 336.0], [290.0, 336.0], [290.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 28, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9653626680374146, 'polygon': [[81.0, 398.0], [288.0, 398.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 398, 208, 28), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9902360439300537, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9801925420761108, 'polygon': [[82.0, 518.0], [290.0, 518.0], [290.0, 545.0], [82.0, 545.0]], 'bbox': (82, 518, 209, 28), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9982037544250488, 'polygon': [[18.0, 659.0], [151.0, 661.0], [150.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 135, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996599555015564, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9983137845993042, 'polygon': [[211.0, 769.0], [288.0, 769.0], [288.0, 790.0], [211.0, 790.0]], 'bbox': (211, 769, 78, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9989700317382812, 'polygon': [[323.0, 766.0], [384.0, 766.0], [384.0, 791.0], [323.0, 791.0]], 'bbox': (323, 766, 62, 26), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.998264729976654, 'polygon': [[423.0, 767.0], [483.0, 767.0], [483.0, 792.0], [423.0, 792.0]], 'bbox': (423, 767, 61, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.997199535369873, 'polygon': [[522.0, 767.0], [583.0, 767.0], [583.0, 792.0], [522.0, 792.0]], 'bbox': (522, 767, 62, 26), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9987907409667969, 'polygon': [[618.0, 768.0], [696.0, 768.0], [696.0, 791.0], [618.0, 791.0]], 'bbox': (618, 768, 79, 24), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.997718870639801, 'polygon': [[725.0, 767.0], [785.0, 767.0], [785.0, 792.0], [725.0, 792.0]], 'bbox': (725, 767, 61, 26), 'method': 'polygon'}]
[2025-10-24 09:40:07,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 89.5%): '暴走兔'
[2025-10-24 09:40:07,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 09:40:07,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'M'
[2025-10-24 09:40:07,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'AM'
[2025-10-24 09:40:07,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '全波段收音机'
[2025-10-24 09:40:07,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '1500'
[2025-10-24 09:40:07,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '蓝牙音'
[2025-10-24 09:40:07,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '响'
[2025-10-24 09:40:07,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '1400'
[2025-10-24 09:40:07,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'R11'
[2025-10-24 09:40:07,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'RADIO/BT/MUSIC PLAYER'
[2025-10-24 09:40:07,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '4000毫安锂电池'
[2025-10-24 09:40:07,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '手'
[2025-10-24 09:40:07,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '电'
[2025-10-24 09:40:07,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '筒'
[2025-10-24 09:40:07,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 96.5%): 'SOS警报/指南针'
[2025-10-24 09:40:07,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.0%): '手摇/太阳能发电'
[2025-10-24 09:40:07,187] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.0%): '可插U盘/TF卡'
[2025-10-24 09:40:07,187] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '限时'
[2025-10-24 09:40:07,187] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '赠送'
[2025-10-24 09:40:07,187] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '延长天线'
[2025-10-24 09:40:07,187] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '内存卡'
[2025-10-24 09:40:07,187] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '读卡器'
[2025-10-24 09:40:07,187] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '充电线'
[2025-10-24 09:40:07,187] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '礼盒礼袋'
[2025-10-24 09:40:07,187] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '充电头'
[2025-10-24 09:40:07,187] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 19/26개 (신뢰도 + & 중국어)
[2025-10-24 09:40:07,187] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '暴走兔', 'confidence': 0.8949251174926758, 'polygon': [[135.0, 20.0], [271.0, 22.0], [270.0, 64.0], [134.0, 62.0]], 'bbox': (134, 20, 138, 45), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9977607727050781, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '蓝牙音', 'confidence': 0.9980747699737549, 'polygon': [[79.0, 213.0], [271.0, 213.0], [271.0, 248.0], [79.0, 248.0]], 'bbox': (79, 213, 193, 36), 'method': 'polygon'}, {'text': '响', 'confidence': 0.9996689558029175, 'polygon': [[259.0, 219.0], [290.0, 219.0], [290.0, 244.0], [259.0, 244.0]], 'bbox': (259, 219, 32, 26), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9978529810905457, 'polygon': [[82.0, 279.0], [289.0, 279.0], [289.0, 303.0], [82.0, 303.0]], 'bbox': (82, 279, 208, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999611377716064, 'polygon': [[80.0, 335.0], [113.0, 335.0], [113.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 34, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9988621473312378, 'polygon': [[168.0, 336.0], [204.0, 336.0], [204.0, 365.0], [168.0, 365.0]], 'bbox': (168, 336, 37, 30), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.998289167881012, 'polygon': [[263.0, 336.0], [290.0, 336.0], [290.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 28, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9653626680374146, 'polygon': [[81.0, 398.0], [288.0, 398.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 398, 208, 28), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9902360439300537, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9801925420761108, 'polygon': [[82.0, 518.0], [290.0, 518.0], [290.0, 545.0], [82.0, 545.0]], 'bbox': (82, 518, 209, 28), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9982037544250488, 'polygon': [[18.0, 659.0], [151.0, 661.0], [150.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 135, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996599555015564, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9983137845993042, 'polygon': [[211.0, 769.0], [288.0, 769.0], [288.0, 790.0], [211.0, 790.0]], 'bbox': (211, 769, 78, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9989700317382812, 'polygon': [[323.0, 766.0], [384.0, 766.0], [384.0, 791.0], [323.0, 791.0]], 'bbox': (323, 766, 62, 26), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.998264729976654, 'polygon': [[423.0, 767.0], [483.0, 767.0], [483.0, 792.0], [423.0, 792.0]], 'bbox': (423, 767, 61, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.997199535369873, 'polygon': [[522.0, 767.0], [583.0, 767.0], [583.0, 792.0], [522.0, 792.0]], 'bbox': (522, 767, 62, 26), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9987907409667969, 'polygon': [[618.0, 768.0], [696.0, 768.0], [696.0, 791.0], [618.0, 791.0]], 'bbox': (618, 768, 79, 24), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.997718870639801, 'polygon': [[725.0, 767.0], [785.0, 767.0], [785.0, 792.0], [725.0, 792.0]], 'bbox': (725, 767, 61, 26), 'method': 'polygon'}]
[2025-10-24 09:40:07,191] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 19개 필터링 완료
[2025-10-24 09:40:07,207] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:40:07,890] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['도망친 토끼', '풀 밴드 라디오', '블루투스 사운드', '반지', '4000mAh 리튬 배터리', '손', '전기', '실린더', 'SOS 경보 / 나침반', '핸드 크랭크 / 태양광 발전', 'U 디스크 삽입 가능 / TF 카드', '제한된 시간', '포기하다', '확장 안테나', '메모리 카드', '카드 리더', '충전 케이블', '선물 상자 선물 가방', '충전 헤드']
[2025-10-24 09:40:07,890] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:40:07,890] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:40:07,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.202, comps=17, min_center_dist=0.053 → request
[2025-10-24 09:40:07,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 19
[2025-10-24 09:40:07,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:40:07,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:40:07,901] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:40:08,248] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:40:08,248] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 346.52 ms
[2025-10-24 09:40:08,255] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:40:08,255] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 41958.2MB -> 42200.2MB (+242.0MB, +0.6%) - 방법: migan
[2025-10-24 09:40:08,255] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:40:08,325] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:40:08,326] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:40:08,326] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:40:08,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_3.webp
[2025-10-24 09:40:08,638] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_3.webp
[2025-10-24 09:40:08,638] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 2876.4ms | download=0.0ms | ocr=862.5ms | translate=704.9ms | mask=704.9ms | inpaint=362.7ms(migan/DirectML) | render=69.0ms | save=277.6ms
[2025-10-24 09:40:08,639] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:40:08,639] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=e32dce2f-165f-4da3-b388-842e84edaf4b
[2025-10-24 09:40:08,639] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=e32dce2f-165f-4da3-b388-842e84edaf4b
[2025-10-24 09:40:08,639] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:40:08,639] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31492)
[2025-10-24 09:40:10,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:40:10,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=b699469d-6874-4ce5-97a0-448b8cb2d7e0
[2025-10-24 09:40:10,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:40:10,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:40:10,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:40:10,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:40:10,558] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 4 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_48429f53895e.jpg - 전체 번역 모드
[2025-10-24 09:40:10,565] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_48429f53895e.jpg
[2025-10-24 09:40:10,565] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 09:40:10,565] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 4 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_48429f53895e.jpg
[2025-10-24 09:40:10,567] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:40:11,328] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 758.3ms
[2025-10-24 09:40:11,350] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 111.0ms, 인식: 619.4ms, 분류: 21.0ms
[2025-10-24 09:40:11,360] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 42329.9MB -> 42241.3MB (-88.6MB, -0.2%) - 이미지 4
[2025-10-24 09:40:11,361] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '暴走兔', 'confidence': 0.8941178917884827, 'polygon': [[135.0, 20.0], [271.0, 22.0], [270.0, 64.0], [134.0, 62.0]], 'bbox': (134, 20, 138, 45), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.9931483268737793, 'polygon': [[134.0, 73.0], [273.0, 73.0], [273.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 140, 15), 'method': 'polygon'}, {'text': 'AM', 'confidence': 0.9390634298324585, 'polygon': [[471.0, 146.0], [481.0, 146.0], [481.0, 154.0], [471.0, 154.0]], 'bbox': (471, 146, 11, 9), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9979420304298401, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '104', 'confidence': 0.7842115759849548, 'polygon': [[449.0, 200.0], [460.0, 193.0], [467.0, 204.0], [456.0, 211.0]], 'bbox': (449, 193, 19, 19), 'method': 'polygon'}, {'text': '150', 'confidence': 0.981334924697876, 'polygon': [[469.0, 193.0], [482.0, 193.0], [482.0, 208.0], [469.0, 208.0]], 'bbox': (469, 193, 14, 16), 'method': 'polygon'}, {'text': '蓝牙音', 'confidence': 0.9979119300842285, 'polygon': [[79.0, 213.0], [271.0, 213.0], [271.0, 248.0], [79.0, 248.0]], 'bbox': (79, 213, 193, 36), 'method': 'polygon'}, {'text': '响', 'confidence': 0.9996689558029175, 'polygon': [[259.0, 219.0], [290.0, 219.0], [290.0, 244.0], [259.0, 244.0]], 'bbox': (259, 219, 32, 26), 'method': 'polygon'}, {'text': '1400', 'confidence': 0.7393448948860168, 'polygon': [[470.0, 212.0], [483.0, 212.0], [483.0, 225.0], [470.0, 225.0]], 'bbox': (470, 212, 14, 14), 'method': 'polygon'}, {'text': '·R11', 'confidence': 0.846956193447113, 'polygon': [[458.0, 245.0], [490.0, 245.0], [490.0, 256.0], [458.0, 256.0]], 'bbox': (458, 245, 33, 12), 'method': 'polygon'}, {'text': 'RADIO/BT/MUSIC', 'confidence': 0.9952330589294434, 'polygon': [[505.0, 246.0], [594.0, 246.0], [594.0, 256.0], [505.0, 256.0]], 'bbox': (505, 246, 90, 11), 'method': 'polygon'}, {'text': 'PLAYER', 'confidence': 0.9937713742256165, 'polygon': [[592.0, 243.0], [634.0, 245.0], [634.0, 256.0], [592.0, 254.0]], 'bbox': (592, 243, 43, 14), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9979369640350342, 'polygon': [[82.0, 279.0], [289.0, 279.0], [289.0, 303.0], [82.0, 303.0]], 'bbox': (82, 279, 208, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999611377716064, 'polygon': [[80.0, 335.0], [113.0, 335.0], [113.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 34, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9988621473312378, 'polygon': [[168.0, 336.0], [204.0, 336.0], [204.0, 365.0], [168.0, 365.0]], 'bbox': (168, 336, 37, 30), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.998289167881012, 'polygon': [[263.0, 336.0], [290.0, 336.0], [290.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 28, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9697568416595459, 'polygon': [[81.0, 398.0], [288.0, 398.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 398, 208, 28), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9907045364379883, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9861011505126953, 'polygon': [[82.0, 518.0], [290.0, 518.0], [290.0, 545.0], [82.0, 545.0]], 'bbox': (82, 518, 209, 28), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9982037544250488, 'polygon': [[18.0, 659.0], [151.0, 661.0], [150.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 135, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996599555015564, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9981579780578613, 'polygon': [[211.0, 769.0], [288.0, 769.0], [288.0, 790.0], [211.0, 790.0]], 'bbox': (211, 769, 78, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9985320568084717, 'polygon': [[323.0, 766.0], [384.0, 766.0], [384.0, 791.0], [323.0, 791.0]], 'bbox': (323, 766, 62, 26), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.998264729976654, 'polygon': [[423.0, 767.0], [483.0, 767.0], [483.0, 792.0], [423.0, 792.0]], 'bbox': (423, 767, 61, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9980173110961914, 'polygon': [[522.0, 767.0], [583.0, 767.0], [583.0, 792.0], [522.0, 792.0]], 'bbox': (522, 767, 62, 26), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9984273910522461, 'polygon': [[618.0, 768.0], [696.0, 768.0], [696.0, 791.0], [618.0, 791.0]], 'bbox': (618, 768, 79, 24), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9954769611358643, 'polygon': [[725.0, 767.0], [785.0, 767.0], [785.0, 792.0], [725.0, 792.0]], 'bbox': (725, 767, 61, 26), 'method': 'polygon'}]
[2025-10-24 09:40:11,362] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 89.4%): '暴走兔'
[2025-10-24 09:40:11,362] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 09:40:11,362] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'AM'
[2025-10-24 09:40:11,362] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '全波段收音机'
[2025-10-24 09:40:11,362] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '104'
[2025-10-24 09:40:11,363] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '150'
[2025-10-24 09:40:11,363] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '蓝牙音'
[2025-10-24 09:40:11,363] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '响'
[2025-10-24 09:40:11,363] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '1400'
[2025-10-24 09:40:11,363] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '·R11'
[2025-10-24 09:40:11,363] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'RADIO/BT/MUSIC'
[2025-10-24 09:40:11,364] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PLAYER'
[2025-10-24 09:40:11,364] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '4000毫安锂电池'
[2025-10-24 09:40:11,364] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '手'
[2025-10-24 09:40:11,364] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '电'
[2025-10-24 09:40:11,364] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '筒'
[2025-10-24 09:40:11,365] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 97.0%): 'SOS警报/指南针'
[2025-10-24 09:40:11,365] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.1%): '手摇/太阳能发电'
[2025-10-24 09:40:11,365] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.6%): '可插U盘/TF卡'
[2025-10-24 09:40:11,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '限时'
[2025-10-24 09:40:11,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '赠送'
[2025-10-24 09:40:11,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '延长天线'
[2025-10-24 09:40:11,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '内存卡'
[2025-10-24 09:40:11,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '读卡器'
[2025-10-24 09:40:11,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '充电线'
[2025-10-24 09:40:11,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '礼盒礼袋'
[2025-10-24 09:40:11,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.5%): '充电头'
[2025-10-24 09:40:11,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 19/27개 (신뢰도 + & 중국어)
[2025-10-24 09:40:11,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '暴走兔', 'confidence': 0.8941178917884827, 'polygon': [[135.0, 20.0], [271.0, 22.0], [270.0, 64.0], [134.0, 62.0]], 'bbox': (134, 20, 138, 45), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9979420304298401, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '蓝牙音', 'confidence': 0.9979119300842285, 'polygon': [[79.0, 213.0], [271.0, 213.0], [271.0, 248.0], [79.0, 248.0]], 'bbox': (79, 213, 193, 36), 'method': 'polygon'}, {'text': '响', 'confidence': 0.9996689558029175, 'polygon': [[259.0, 219.0], [290.0, 219.0], [290.0, 244.0], [259.0, 244.0]], 'bbox': (259, 219, 32, 26), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9979369640350342, 'polygon': [[82.0, 279.0], [289.0, 279.0], [289.0, 303.0], [82.0, 303.0]], 'bbox': (82, 279, 208, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999611377716064, 'polygon': [[80.0, 335.0], [113.0, 335.0], [113.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 34, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9988621473312378, 'polygon': [[168.0, 336.0], [204.0, 336.0], [204.0, 365.0], [168.0, 365.0]], 'bbox': (168, 336, 37, 30), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.998289167881012, 'polygon': [[263.0, 336.0], [290.0, 336.0], [290.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 28, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9697568416595459, 'polygon': [[81.0, 398.0], [288.0, 398.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 398, 208, 28), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9907045364379883, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9861011505126953, 'polygon': [[82.0, 518.0], [290.0, 518.0], [290.0, 545.0], [82.0, 545.0]], 'bbox': (82, 518, 209, 28), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9982037544250488, 'polygon': [[18.0, 659.0], [151.0, 661.0], [150.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 135, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996599555015564, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9981579780578613, 'polygon': [[211.0, 769.0], [288.0, 769.0], [288.0, 790.0], [211.0, 790.0]], 'bbox': (211, 769, 78, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9985320568084717, 'polygon': [[323.0, 766.0], [384.0, 766.0], [384.0, 791.0], [323.0, 791.0]], 'bbox': (323, 766, 62, 26), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.998264729976654, 'polygon': [[423.0, 767.0], [483.0, 767.0], [483.0, 792.0], [423.0, 792.0]], 'bbox': (423, 767, 61, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9980173110961914, 'polygon': [[522.0, 767.0], [583.0, 767.0], [583.0, 792.0], [522.0, 792.0]], 'bbox': (522, 767, 62, 26), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9984273910522461, 'polygon': [[618.0, 768.0], [696.0, 768.0], [696.0, 791.0], [618.0, 791.0]], 'bbox': (618, 768, 79, 24), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9954769611358643, 'polygon': [[725.0, 767.0], [785.0, 767.0], [785.0, 792.0], [725.0, 792.0]], 'bbox': (725, 767, 61, 26), 'method': 'polygon'}]
[2025-10-24 09:40:11,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 19개 필터링 완료
[2025-10-24 09:40:11,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:40:11,372] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['도망친 토끼', '풀 밴드 라디오', '블루투스 사운드', '반지', '4000mAh 리튬 배터리', '손', '전기', '실린더', 'SOS 경보 / 나침반', '핸드 크랭크 / 태양광 발전', 'U 디스크 삽입 가능 / TF 카드', '제한된 시간', '포기하다', '확장 안테나', '메모리 카드', '카드 리더', '충전 케이블', '선물 상자 선물 가방', '충전 헤드']
[2025-10-24 09:40:11,372] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:40:11,372] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 4 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:40:11,382] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.202, comps=17, min_center_dist=0.053 → request
[2025-10-24 09:40:11,382] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 19
[2025-10-24 09:40:11,383] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:40:11,383] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:40:11,385] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:40:11,594] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:40:11,595] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 209.73 ms
[2025-10-24 09:40:11,604] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:40:11,604] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 42248.2MB -> 42225.1MB (-23.1MB, -0.1%) - 방법: migan
[2025-10-24 09:40:11,604] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:40:11,677] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:40:11,678] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:40:11,678] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:40:12,009] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_4.webp
[2025-10-24 09:40:12,010] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 4 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_4.webp
[2025-10-24 09:40:12,010] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 1696.8ms | download=0.0ms | ocr=771.4ms | translate=11.0ms | mask=11.0ms | inpaint=227.7ms(migan/DirectML) | render=74.0ms | save=288.0ms
[2025-10-24 09:40:12,011] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:40:12,011] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 09:40:12,012] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=b699469d-6874-4ce5-97a0-448b8cb2d7e0
[2025-10-24 09:40:12,012] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=b699469d-6874-4ce5-97a0-448b8cb2d7e0
[2025-10-24 09:40:12,012] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 09:40:12,012] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:40:12,012] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31492)
[2025-10-24 09:40:12,030] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:40:12,070] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 09:40:12,070] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 09:40:12,070] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 09:40:12,071] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 09:40:12,071] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 09:40:12,587] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=30672
[2025-10-24 09:40:13,125] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=30672, Name=ImageWorkerProcess)
[2025-10-24 09:40:13,125] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 09:40:13,126] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 09:40:13,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 09:40:13,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 09:40:13,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 09:40:13,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 09:40:13,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 09:40:13,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 09:40:13,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 09:40:13,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 09:40:13,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 09:40:13,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 09:40:13,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 09:40:13,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:40:13,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 09:40:13,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:13,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:13,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 09:40:13,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 09:40:13,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 09:40:13,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 09:40:13,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 09:40:13,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 09:40:13,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 09:40:13,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 09:40:13,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 09:40:13,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:40:13,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:40:14,698] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 09:40:14,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 09:40:14,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 09:40:14,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 09:40:14,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 09:40:14,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 09:40:14,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 09:40:14,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 09:40:14,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:14,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 09:40:14,783] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:14,783] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 09:40:14,783] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 09:40:14,783] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 09:40:14,783] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 09:40:14,783] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 09:40:14,783] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 09:40:15,007] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 09:40:15,008] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:40:15,008] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 09:40:15,008] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:40:15,008] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:40:15,008] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:40:15,008] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:40:15,008] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:40:15,009] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 09:40:15,009] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:40:15,009] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 09:40:15,009] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x000001726417ED10>
[2025-10-24 09:40:15,009] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x000001726417ED10>
[2025-10-24 09:40:15,009] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 09:40:15,009] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:40:15,014] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 5.0ms
[2025-10-24 09:40:15,014] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 4.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 09:40:15,014] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 09:40:15,017] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 09:40:15,018] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 09:40:15,018] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:40:15,018] [WorkerRoller] [INFO] [loggerModule.py:info:281] 버퍼 작업 재개: 1건
[2025-10-24 09:40:15,018] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:40:15,018] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 09:40:15,018] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:40:15,019] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 30672)
[2025-10-24 09:40:15,019] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:40:15,019] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=6f4db593-f4f0-4b46-932f-9b18ad8624ef
[2025-10-24 09:40:15,019] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:40:15,019] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:40:15,019] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:40:15,022] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:40:15,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 5 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_288fac4b3a3c.jpg - 전체 번역 모드
[2025-10-24 09:40:15,318] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_288fac4b3a3c.jpg
[2025-10-24 09:40:15,318] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 09:40:15,318] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 5 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_288fac4b3a3c.jpg
[2025-10-24 09:40:15,319] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:40:15,520] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 200.0ms
[2025-10-24 09:40:15,531] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 168.0ms, 인식: 27.0ms, 분류: 2.0ms
[2025-10-24 09:40:15,546] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 41794.1MB -> 41910.7MB (+116.5MB, +0.3%) - 이미지 5
[2025-10-24 09:40:15,551] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '霸榜收音机热销榜', 'confidence': 0.9966191053390503, 'polygon': [[225.0, 58.0], [570.0, 58.0], [570.0, 96.0], [225.0, 96.0]], 'bbox': (225, 58, 346, 39), 'method': 'polygon'}, {'text': 'TOP1', 'confidence': 0.9870726466178894, 'polygon': [[290.0, 137.0], [498.0, 137.0], [498.0, 212.0], [290.0, 212.0]], 'bbox': (290, 137, 209, 76), 'method': 'polygon'}]
[2025-10-24 09:40:15,552] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '霸榜收音机热销榜'
[2025-10-24 09:40:15,552] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'TOP1'
[2025-10-24 09:40:15,552] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 1/2개 (신뢰도 + & 중국어)
[2025-10-24 09:40:15,552] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '霸榜收音机热销榜', 'confidence': 0.9966191053390503, 'polygon': [[225.0, 58.0], [570.0, 58.0], [570.0, 96.0], [225.0, 96.0]], 'bbox': (225, 58, 346, 39), 'method': 'polygon'}]
[2025-10-24 09:40:15,552] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 1개 필터링 완료
[2025-10-24 09:40:15,552] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:40:17,725] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['라디오 베스트셀러 목록 장악']
[2025-10-24 09:40:17,725] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:40:17,725] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 5 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:40:17,732] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.045, comps=1, min_center_dist=0.000 → request
[2025-10-24 09:40:17,732] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 1
[2025-10-24 09:40:17,732] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:40:17,732] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:40:17,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 790, 790), 마스크: (1, 1, 790, 790)
[2025-10-24 09:40:18,216] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (790, 790, 3), dtype: uint8
[2025-10-24 09:40:18,217] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 482.39 ms
[2025-10-24 09:40:18,224] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:40:18,225] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 41946.8MB -> 42146.2MB (+199.5MB, +0.5%) - 방법: migan
[2025-10-24 09:40:18,225] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:40:18,239] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:40:18,240] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:40:18,240] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:40:18,519] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_5.webp
[2025-10-24 09:40:18,520] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 5 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_5.webp
[2025-10-24 09:40:18,520] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 3500.7ms | download=0.0ms | ocr=208.0ms | translate=2172.7ms | mask=2172.7ms | inpaint=498.4ms(migan/DirectML) | render=15.0ms | save=246.0ms
[2025-10-24 09:40:18,521] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:40:18,521] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=6f4db593-f4f0-4b46-932f-9b18ad8624ef
[2025-10-24 09:40:18,522] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=6f4db593-f4f0-4b46-932f-9b18ad8624ef
[2025-10-24 09:40:18,522] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:40:18,522] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 30672)
[2025-10-24 09:40:20,264] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:40:20,265] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=04d0b2d2-381b-4de0-bb84-8945a8b2934a
[2025-10-24 09:40:20,265] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:40:20,265] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:40:20,265] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:40:20,265] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:40:20,628] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 6 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_1efca929333d.jpg - 전체 번역 모드
[2025-10-24 09:40:20,636] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_1efca929333d.jpg
[2025-10-24 09:40:20,636] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 09:40:20,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 6 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_1efca929333d.jpg
[2025-10-24 09:40:20,648] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:40:21,553] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 902.6ms
[2025-10-24 09:40:21,568] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 152.0ms, 인식: 714.6ms, 분류: 29.0ms
[2025-10-24 09:40:21,572] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 42216.7MB -> 42417.8MB (+201.1MB, +0.5%) - 이미지 6
[2025-10-24 09:40:21,572] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '豆', 'confidence': 0.5328531265258789, 'polygon': [[141.0, 37.0], [273.0, 35.0], [273.0, 64.0], [141.0, 66.0]], 'bbox': (141, 35, 133, 32), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.9931097030639648, 'polygon': [[134.0, 73.0], [274.0, 73.0], [274.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 141, 15), 'method': 'polygon'}, {'text': '可门2 3丽', 'confidence': 0.5591045022010803, 'polygon': [[125.0, 155.0], [288.0, 157.0], [288.0, 195.0], [125.0, 193.0]], 'bbox': (125, 155, 164, 41), 'method': 'polygon'}, {'text': 'FM', 'confidence': 0.9867115020751953, 'polygon': [[452.0, 146.0], [464.0, 146.0], [464.0, 155.0], [452.0, 155.0]], 'bbox': (452, 146, 13, 10), 'method': 'polygon'}, {'text': 'AM', 'confidence': 0.9248346090316772, 'polygon': [[470.0, 146.0], [481.0, 146.0], [481.0, 155.0], [470.0, 155.0]], 'bbox': (470, 146, 12, 10), 'method': 'polygon'}, {'text': 'WB', 'confidence': 0.6591552495956421, 'polygon': [[466.0, 162.0], [479.0, 159.0], [484.0, 178.0], [471.0, 181.0]], 'bbox': (466, 159, 19, 23), 'method': 'polygon'}, {'text': '10', 'confidence': 0.777127742767334, 'polygon': [[458.0, 191.0], [470.0, 203.0], [460.0, 214.0], [448.0, 202.0]], 'bbox': (448, 191, 23, 24), 'method': 'polygon'}, {'text': '1500', 'confidence': 0.8680721521377563, 'polygon': [[469.0, 192.0], [482.0, 192.0], [482.0, 209.0], [469.0, 209.0]], 'bbox': (469, 192, 14, 18), 'method': 'polygon'}, {'text': '1400', 'confidence': 0.8128303289413452, 'polygon': [[470.0, 212.0], [483.0, 212.0], [483.0, 226.0], [470.0, 226.0]], 'bbox': (470, 212, 14, 15), 'method': 'polygon'}, {'text': '-R11-', 'confidence': 0.7555524110794067, 'polygon': [[457.0, 245.0], [493.0, 245.0], [493.0, 256.0], [457.0, 256.0]], 'bbox': (457, 245, 37, 12), 'method': 'polygon'}, {'text': 'RADIO/BT/MUSICPLAYER', 'confidence': 0.9919435381889343, 'polygon': [[503.0, 244.0], [634.0, 244.0], [634.0, 257.0], [503.0, 257.0]], 'bbox': (503, 244, 132, 14), 'method': 'polygon'}, {'text': '4000mAh 2l喜 Ul2l', 'confidence': 0.8267679810523987, 'polygon': [[85.0, 281.0], [281.0, 281.0], [281.0, 301.0], [85.0, 301.0]], 'bbox': (85, 281, 197, 21), 'method': 'polygon'}, {'text': 'PER', 'confidence': 0.5212163329124451, 'polygon': [[261.0, 344.0], [291.0, 344.0], [291.0, 358.0], [261.0, 358.0]], 'bbox': (261, 344, 31, 15), 'method': 'polygon'}, {'text': '丽晟N / 百昆 SOS', 'confidence': 0.7631003856658936, 'polygon': [[82.0, 398.0], [284.0, 400.0], [284.0, 424.0], [82.0, 422.0]], 'bbox': (82, 398, 203, 27), 'method': 'polygon'}, {'text': '三', 'confidence': 0.5160584449768066, 'polygon': [[85.0, 463.0], [123.0, 463.0], [123.0, 481.0], [85.0, 481.0]], 'bbox': (85, 463, 39, 19), 'method': 'polygon'}, {'text': '应易 是品 / E屁E', 'confidence': 0.8067229986190796, 'polygon': [[124.0, 461.0], [287.0, 461.0], [287.0, 482.0], [124.0, 482.0]], 'bbox': (124, 461, 164, 22), 'method': 'polygon'}, {'text': '0立10', 'confidence': 0.6267220377922058, 'polygon': [[537.0, 524.0], [583.0, 524.0], [583.0, 538.0], [537.0, 538.0]], 'bbox': (537, 524, 47, 15), 'method': 'polygon'}]
[2025-10-24 09:40:21,573] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 53.3%): '豆'
[2025-10-24 09:40:21,573] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 09:40:21,573] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 55.9%): '可门2 3丽'
[2025-10-24 09:40:21,573] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'FM'
[2025-10-24 09:40:21,573] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'AM'
[2025-10-24 09:40:21,573] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'WB'
[2025-10-24 09:40:21,573] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '10'
[2025-10-24 09:40:21,573] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '1500'
[2025-10-24 09:40:21,573] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '1400'
[2025-10-24 09:40:21,574] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '-R11-'
[2025-10-24 09:40:21,574] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'RADIO/BT/MUSICPLAYER'
[2025-10-24 09:40:21,574] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 82.7%): '4000mAh 2l喜 Ul2l'
[2025-10-24 09:40:21,574] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PER'
[2025-10-24 09:40:21,574] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 76.3%): '丽晟N / 百昆 SOS'
[2025-10-24 09:40:21,574] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 51.6%): '三'
[2025-10-24 09:40:21,574] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 80.7%): '应易 是品 / E屁E'
[2025-10-24 09:40:21,574] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 62.7%): '0立10'
[2025-10-24 09:40:21,574] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 7/17개 (신뢰도 + & 중국어)
[2025-10-24 09:40:21,574] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '豆', 'confidence': 0.5328531265258789, 'polygon': [[141.0, 37.0], [273.0, 35.0], [273.0, 64.0], [141.0, 66.0]], 'bbox': (141, 35, 133, 32), 'method': 'polygon'}, {'text': '可门2 3丽', 'confidence': 0.5591045022010803, 'polygon': [[125.0, 155.0], [288.0, 157.0], [288.0, 195.0], [125.0, 193.0]], 'bbox': (125, 155, 164, 41), 'method': 'polygon'}, {'text': '4000mAh 2l喜 Ul2l', 'confidence': 0.8267679810523987, 'polygon': [[85.0, 281.0], [281.0, 281.0], [281.0, 301.0], [85.0, 301.0]], 'bbox': (85, 281, 197, 21), 'method': 'polygon'}, {'text': '丽晟N / 百昆 SOS', 'confidence': 0.7631003856658936, 'polygon': [[82.0, 398.0], [284.0, 400.0], [284.0, 424.0], [82.0, 422.0]], 'bbox': (82, 398, 203, 27), 'method': 'polygon'}, {'text': '三', 'confidence': 0.5160584449768066, 'polygon': [[85.0, 463.0], [123.0, 463.0], [123.0, 481.0], [85.0, 481.0]], 'bbox': (85, 463, 39, 19), 'method': 'polygon'}, {'text': '应易 是品 / E屁E', 'confidence': 0.8067229986190796, 'polygon': [[124.0, 461.0], [287.0, 461.0], [287.0, 482.0], [124.0, 482.0]], 'bbox': (124, 461, 164, 22), 'method': 'polygon'}, {'text': '0立10', 'confidence': 0.6267220377922058, 'polygon': [[537.0, 524.0], [583.0, 524.0], [583.0, 538.0], [537.0, 538.0]], 'bbox': (537, 524, 47, 15), 'method': 'polygon'}]
[2025-10-24 09:40:21,574] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 7개 필터링 완료
[2025-10-24 09:40:21,574] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:40:23,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['콩', '케멘 2 3 리', '4000mAh 2l 안녕 Ul2l', '리셍 N / 바이쿤 SOS', '삼', '잉이(Ying Yi) 제품입니다 / E 방귀 E', '0~10']
[2025-10-24 09:40:23,421] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:40:23,421] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 6 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:40:23,428] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.096, comps=6, min_center_dist=0.054 → request
[2025-10-24 09:40:23,428] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 7
[2025-10-24 09:40:23,428] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:40:23,428] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:40:23,436] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:40:23,650] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:40:23,650] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 213.00 ms
[2025-10-24 09:40:23,657] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:40:23,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 42410.5MB -> 42422.5MB (+12.0MB, +0.0%) - 방법: migan
[2025-10-24 09:40:23,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:40:23,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:40:23,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:40:23,684] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:40:24,002] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_6.webp
[2025-10-24 09:40:24,003] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 6 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_6.webp
[2025-10-24 09:40:24,003] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 3736.0ms | download=0.0ms | ocr=924.6ms | translate=1848.3ms | mask=1848.3ms | inpaint=236.0ms(migan/DirectML) | render=26.0ms | save=284.7ms
[2025-10-24 09:40:24,004] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:40:24,004] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 09:40:24,004] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=04d0b2d2-381b-4de0-bb84-8945a8b2934a
[2025-10-24 09:40:24,004] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=04d0b2d2-381b-4de0-bb84-8945a8b2934a
[2025-10-24 09:40:24,004] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 09:40:24,004] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:40:24,004] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 30672)
[2025-10-24 09:40:24,020] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:40:24,058] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 09:40:24,058] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 09:40:24,058] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 09:40:24,058] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 09:40:24,058] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 09:40:24,518] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=20016
[2025-10-24 09:40:25,005] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=20016, Name=ImageWorkerProcess)
[2025-10-24 09:40:25,005] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 09:40:25,005] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 09:40:25,012] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 09:40:25,012] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 09:40:25,012] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 09:40:25,012] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 09:40:25,012] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 09:40:25,013] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 09:40:25,013] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 09:40:25,013] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 09:40:25,013] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 09:40:25,013] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 09:40:25,013] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 09:40:25,013] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:40:25,014] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 09:40:25,014] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:25,014] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:25,014] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 09:40:25,014] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 09:40:25,014] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 09:40:25,014] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 09:40:25,014] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 09:40:25,014] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 09:40:25,014] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 09:40:25,014] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 09:40:25,014] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 09:40:25,014] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:40:25,015] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:40:26,594] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 09:40:26,681] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 09:40:26,681] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 09:40:26,681] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 09:40:26,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 09:40:26,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 09:40:26,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 09:40:26,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 09:40:26,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:26,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 09:40:26,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:26,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 09:40:26,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 09:40:26,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 09:40:26,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 09:40:26,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 09:40:26,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 09:40:26,705] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 09:40:26,924] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:40:26,925] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 09:40:26,925] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:40:26,925] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:40:26,925] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:40:26,925] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:40:26,925] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:40:26,925] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 09:40:26,925] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:40:26,925] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 09:40:26,926] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x0000013E01257F90>
[2025-10-24 09:40:26,926] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x0000013E01257F90>
[2025-10-24 09:40:26,926] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 09:40:26,926] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:40:26,930] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 09:40:26,931] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 09:40:26,931] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 09:40:26,934] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 09:40:26,934] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 09:40:26,935] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:40:26,935] [WorkerRoller] [INFO] [loggerModule.py:info:281] 버퍼 작업 재개: 1건
[2025-10-24 09:40:26,935] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:40:26,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 09:40:26,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:40:26,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 20016)
[2025-10-24 09:40:26,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:40:26,936] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=96199fb5-a3dc-491d-8a38-90de7bb82a7d
[2025-10-24 09:40:26,936] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:40:26,936] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:40:26,936] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:40:26,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:40:27,174] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 7 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_535bc0a09648.jpg - 전체 번역 모드
[2025-10-24 09:40:27,180] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_535bc0a09648.jpg
[2025-10-24 09:40:27,180] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 09:40:27,180] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 7 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_535bc0a09648.jpg
[2025-10-24 09:40:27,187] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:40:27,889] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 700.0ms
[2025-10-24 09:40:27,889] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 147.0ms, 인식: 524.0ms, 분류: 24.0ms
[2025-10-24 09:40:27,915] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 42053.6MB -> 42315.5MB (+261.9MB, +0.6%) - 이미지 7
[2025-10-24 09:40:27,931] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '豆', 'confidence': 0.526243269443512, 'polygon': [[141.0, 37.0], [273.0, 35.0], [273.0, 64.0], [141.0, 66.0]], 'bbox': (141, 35, 133, 32), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.9928187131881714, 'polygon': [[134.0, 73.0], [274.0, 73.0], [274.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 141, 15), 'method': 'polygon'}, {'text': '可门2 3丽', 'confidence': 0.5601375102996826, 'polygon': [[125.0, 155.0], [288.0, 157.0], [288.0, 195.0], [125.0, 193.0]], 'bbox': (125, 155, 164, 41), 'method': 'polygon'}, {'text': 'FM', 'confidence': 0.9797648787498474, 'polygon': [[452.0, 146.0], [464.0, 146.0], [464.0, 154.0], [452.0, 154.0]], 'bbox': (452, 146, 13, 9), 'method': 'polygon'}, {'text': 'AM', 'confidence': 0.9244250059127808, 'polygon': [[470.0, 146.0], [481.0, 146.0], [481.0, 155.0], [470.0, 155.0]], 'bbox': (470, 146, 12, 10), 'method': 'polygon'}, {'text': '150', 'confidence': 0.9816107153892517, 'polygon': [[469.0, 193.0], [482.0, 193.0], [482.0, 209.0], [469.0, 209.0]], 'bbox': (469, 193, 14, 17), 'method': 'polygon'}, {'text': '02', 'confidence': 0.988524317741394, 'polygon': [[453.0, 216.0], [463.0, 213.0], [466.0, 223.0], [456.0, 226.0]], 'bbox': (453, 213, 14, 14), 'method': 'polygon'}, {'text': '1400', 'confidence': 0.8128303289413452, 'polygon': [[470.0, 212.0], [483.0, 212.0], [483.0, 226.0], [470.0, 226.0]], 'bbox': (470, 212, 14, 15), 'method': 'polygon'}, {'text': '·R11', 'confidence': 0.8661974668502808, 'polygon': [[457.0, 245.0], [490.0, 245.0], [490.0, 256.0], [457.0, 256.0]], 'bbox': (457, 245, 34, 12), 'method': 'polygon'}, {'text': 'RADIO/BT/MUSIC', 'confidence': 0.9948214888572693, 'polygon': [[505.0, 246.0], [596.0, 246.0], [596.0, 256.0], [505.0, 256.0]], 'bbox': (505, 246, 92, 11), 'method': 'polygon'}, {'text': 'PLAYER', 'confidence': 0.9902213215827942, 'polygon': [[591.0, 243.0], [634.0, 245.0], [634.0, 256.0], [591.0, 254.0]], 'bbox': (591, 243, 44, 14), 'method': 'polygon'}, {'text': '4000mAh 2l喜 圳己2l', 'confidence': 0.7981270551681519, 'polygon': [[85.0, 281.0], [281.0, 281.0], [281.0, 301.0], [85.0, 301.0]], 'bbox': (85, 281, 197, 21), 'method': 'polygon'}, {'text': 'PER', 'confidence': 0.5230967402458191, 'polygon': [[261.0, 344.0], [291.0, 344.0], [291.0, 358.0], [261.0, 358.0]], 'bbox': (261, 344, 31, 15), 'method': 'polygon'}, {'text': '丽晟N / 百昆 SOS', 'confidence': 0.763592004776001, 'polygon': [[82.0, 398.0], [284.0, 400.0], [284.0, 424.0], [82.0, 422.0]], 'bbox': (82, 398, 203, 27), 'method': 'polygon'}, {'text': '三', 'confidence': 0.5126577019691467, 'polygon': [[85.0, 463.0], [123.0, 463.0], [123.0, 481.0], [85.0, 481.0]], 'bbox': (85, 463, 39, 19), 'method': 'polygon'}, {'text': '应易 是品 / E屁E', 'confidence': 0.8057035803794861, 'polygon': [[124.0, 461.0], [287.0, 461.0], [287.0, 482.0], [124.0, 482.0]], 'bbox': (124, 461, 164, 22), 'method': 'polygon'}, {'text': '慕走', 'confidence': 0.6546781659126282, 'polygon': [[537.0, 521.0], [584.0, 521.0], [584.0, 539.0], [537.0, 539.0]], 'bbox': (537, 521, 48, 19), 'method': 'polygon'}]
[2025-10-24 09:40:27,931] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 52.6%): '豆'
[2025-10-24 09:40:27,932] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 09:40:27,932] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 56.0%): '可门2 3丽'
[2025-10-24 09:40:27,932] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'FM'
[2025-10-24 09:40:27,932] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'AM'
[2025-10-24 09:40:27,932] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '150'
[2025-10-24 09:40:27,932] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '02'
[2025-10-24 09:40:27,932] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '1400'
[2025-10-24 09:40:27,932] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '·R11'
[2025-10-24 09:40:27,932] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'RADIO/BT/MUSIC'
[2025-10-24 09:40:27,932] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PLAYER'
[2025-10-24 09:40:27,933] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 79.8%): '4000mAh 2l喜 圳己2l'
[2025-10-24 09:40:27,933] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PER'
[2025-10-24 09:40:27,933] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 76.4%): '丽晟N / 百昆 SOS'
[2025-10-24 09:40:27,933] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 51.3%): '三'
[2025-10-24 09:40:27,933] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 80.6%): '应易 是品 / E屁E'
[2025-10-24 09:40:27,933] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 65.5%): '慕走'
[2025-10-24 09:40:27,933] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 7/17개 (신뢰도 + & 중국어)
[2025-10-24 09:40:27,933] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '豆', 'confidence': 0.526243269443512, 'polygon': [[141.0, 37.0], [273.0, 35.0], [273.0, 64.0], [141.0, 66.0]], 'bbox': (141, 35, 133, 32), 'method': 'polygon'}, {'text': '可门2 3丽', 'confidence': 0.5601375102996826, 'polygon': [[125.0, 155.0], [288.0, 157.0], [288.0, 195.0], [125.0, 193.0]], 'bbox': (125, 155, 164, 41), 'method': 'polygon'}, {'text': '4000mAh 2l喜 圳己2l', 'confidence': 0.7981270551681519, 'polygon': [[85.0, 281.0], [281.0, 281.0], [281.0, 301.0], [85.0, 301.0]], 'bbox': (85, 281, 197, 21), 'method': 'polygon'}, {'text': '丽晟N / 百昆 SOS', 'confidence': 0.763592004776001, 'polygon': [[82.0, 398.0], [284.0, 400.0], [284.0, 424.0], [82.0, 422.0]], 'bbox': (82, 398, 203, 27), 'method': 'polygon'}, {'text': '三', 'confidence': 0.5126577019691467, 'polygon': [[85.0, 463.0], [123.0, 463.0], [123.0, 481.0], [85.0, 481.0]], 'bbox': (85, 463, 39, 19), 'method': 'polygon'}, {'text': '应易 是品 / E屁E', 'confidence': 0.8057035803794861, 'polygon': [[124.0, 461.0], [287.0, 461.0], [287.0, 482.0], [124.0, 482.0]], 'bbox': (124, 461, 164, 22), 'method': 'polygon'}, {'text': '慕走', 'confidence': 0.6546781659126282, 'polygon': [[537.0, 521.0], [584.0, 521.0], [584.0, 539.0], [537.0, 539.0]], 'bbox': (537, 521, 48, 19), 'method': 'polygon'}]
[2025-10-24 09:40:27,933] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 7개 필터링 완료
[2025-10-24 09:40:27,933] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:40:28,960] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['콩', '케멘 2 3 리', '4000mAh 2l HI 젠지 2l', '리셍 N / 바이쿤 SOS', '삼', '잉이(Ying Yi) 제품입니다 / E 방귀 E', '무 주오']
[2025-10-24 09:40:28,961] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:40:28,961] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 7 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:40:28,967] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.097, comps=6, min_center_dist=0.054 → request
[2025-10-24 09:40:28,967] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 7
[2025-10-24 09:40:28,967] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:40:28,967] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:40:28,974] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:40:29,316] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:40:29,316] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 341.59 ms
[2025-10-24 09:40:29,324] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:40:29,324] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 42337.9MB -> 42511.3MB (+173.4MB, +0.4%) - 방법: migan
[2025-10-24 09:40:29,324] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:40:29,355] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:40:29,356] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:40:29,356] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:40:29,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_7.webp
[2025-10-24 09:40:29,659] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 7 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_7.webp
[2025-10-24 09:40:29,659] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 2720.9ms | download=0.0ms | ocr=715.0ms | translate=1030.2ms | mask=1030.2ms | inpaint=360.6ms(migan/DirectML) | render=31.0ms | save=272.0ms
[2025-10-24 09:40:29,660] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:40:29,660] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=96199fb5-a3dc-491d-8a38-90de7bb82a7d
[2025-10-24 09:40:29,660] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=96199fb5-a3dc-491d-8a38-90de7bb82a7d
[2025-10-24 09:40:29,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:40:29,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 20016)
[2025-10-24 09:40:31,324] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:40:31,324] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=5537caac-16ee-4cdd-8f12-b4faf66293ef
[2025-10-24 09:40:31,324] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:40:31,325] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:40:31,325] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:40:31,325] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:40:31,603] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 8 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_9064bc75ebcf.jpg - 전체 번역 모드
[2025-10-24 09:40:31,608] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_9064bc75ebcf.jpg
[2025-10-24 09:40:31,608] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 09:40:31,608] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 8 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_9064bc75ebcf.jpg
[2025-10-24 09:40:31,610] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:40:32,153] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 541.0ms
[2025-10-24 09:40:32,171] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 98.0ms, 인식: 419.0ms, 분류: 18.0ms
[2025-10-24 09:40:32,182] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 42592.3MB -> 42626.4MB (+34.1MB, +0.1%) - 이미지 8
[2025-10-24 09:40:32,183] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '暴走兔', 'confidence': 0.9268935322761536, 'polygon': [[136.0, 20.0], [271.0, 22.0], [270.0, 64.0], [135.0, 62.0]], 'bbox': (135, 20, 137, 45), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.9931837320327759, 'polygon': [[134.0, 73.0], [273.0, 73.0], [273.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 140, 15), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9976252913475037, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '.R12', 'confidence': 0.862068235874176, 'polygon': [[577.0, 152.0], [614.0, 152.0], [614.0, 163.0], [577.0, 163.0]], 'bbox': (577, 152, 38, 12), 'method': 'polygon'}, {'text': '518', 'confidence': 0.9833140969276428, 'polygon': [[488.0, 174.0], [607.0, 174.0], [607.0, 240.0], [488.0, 240.0]], 'bbox': (488, 174, 120, 67), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.9984031319618225, 'polygon': [[79.0, 213.0], [294.0, 213.0], [294.0, 248.0], [79.0, 248.0]], 'bbox': (79, 213, 216, 36), 'method': 'polygon'}, {'text': 'MULTIBANDRADIO/BT/MUSICPLAYER', 'confidence': 0.9822951555252075, 'polygon': [[464.0, 244.0], [623.0, 244.0], [623.0, 257.0], [464.0, 257.0]], 'bbox': (464, 244, 160, 14), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9978502988815308, 'polygon': [[82.0, 279.0], [289.0, 279.0], [289.0, 303.0], [82.0, 303.0]], 'bbox': (82, 279, 208, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999352693557739, 'polygon': [[80.0, 336.0], [116.0, 336.0], [116.0, 365.0], [80.0, 365.0]], 'bbox': (80, 336, 37, 30), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9989959597587585, 'polygon': [[168.0, 336.0], [203.0, 336.0], [203.0, 365.0], [168.0, 365.0]], 'bbox': (168, 336, 36, 30), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9980816841125488, 'polygon': [[263.0, 336.0], [291.0, 336.0], [291.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 29, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9644944667816162, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '黑走兔', 'confidence': 0.5847620368003845, 'polygon': [[531.0, 408.0], [597.0, 412.0], [595.0, 443.0], [529.0, 439.0]], 'bbox': (529, 408, 69, 36), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9910702705383301, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9913243055343628, 'polygon': [[81.0, 516.0], [290.0, 518.0], [290.0, 546.0], [81.0, 544.0]], 'bbox': (81, 516, 210, 31), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9980169534683228, 'polygon': [[18.0, 659.0], [151.0, 661.0], [150.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 135, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996706247329712, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9980688095092773, 'polygon': [[211.0, 769.0], [288.0, 769.0], [288.0, 790.0], [211.0, 790.0]], 'bbox': (211, 769, 78, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9976118206977844, 'polygon': [[323.0, 766.0], [384.0, 766.0], [384.0, 791.0], [323.0, 791.0]], 'bbox': (323, 766, 62, 26), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.998539388179779, 'polygon': [[423.0, 767.0], [483.0, 767.0], [483.0, 792.0], [423.0, 792.0]], 'bbox': (423, 767, 61, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9986271858215332, 'polygon': [[522.0, 767.0], [583.0, 767.0], [583.0, 792.0], [522.0, 792.0]], 'bbox': (522, 767, 62, 26), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9983878135681152, 'polygon': [[619.0, 768.0], [697.0, 768.0], [697.0, 791.0], [619.0, 791.0]], 'bbox': (619, 768, 79, 24), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9977946281433105, 'polygon': [[726.0, 767.0], [786.0, 767.0], [786.0, 792.0], [726.0, 792.0]], 'bbox': (726, 767, 61, 26), 'method': 'polygon'}]
[2025-10-24 09:40:32,184] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 92.7%): '暴走兔'
[2025-10-24 09:40:32,184] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 09:40:32,184] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '全波段收音机'
[2025-10-24 09:40:32,184] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '.R12'
[2025-10-24 09:40:32,184] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '518'
[2025-10-24 09:40:32,184] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '蓝牙音响'
[2025-10-24 09:40:32,184] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MULTIBANDRADIO/BT/MUSICPLAYER'
[2025-10-24 09:40:32,184] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '4000毫安锂电池'
[2025-10-24 09:40:32,184] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '手'
[2025-10-24 09:40:32,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '电'
[2025-10-24 09:40:32,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '筒'
[2025-10-24 09:40:32,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 96.4%): 'SOS警报/指南针'
[2025-10-24 09:40:32,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 58.5%): '黑走兔'
[2025-10-24 09:40:32,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.1%): '手摇/太阳能发电'
[2025-10-24 09:40:32,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.1%): '可插U盘/TF卡'
[2025-10-24 09:40:32,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '限时'
[2025-10-24 09:40:32,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '赠送'
[2025-10-24 09:40:32,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '延长天线'
[2025-10-24 09:40:32,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '内存卡'
[2025-10-24 09:40:32,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '读卡器'
[2025-10-24 09:40:32,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '充电线'
[2025-10-24 09:40:32,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '礼盒礼袋'
[2025-10-24 09:40:32,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '充电头'
[2025-10-24 09:40:32,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 19/23개 (신뢰도 + & 중국어)
[2025-10-24 09:40:32,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '暴走兔', 'confidence': 0.9268935322761536, 'polygon': [[136.0, 20.0], [271.0, 22.0], [270.0, 64.0], [135.0, 62.0]], 'bbox': (135, 20, 137, 45), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9976252913475037, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.9984031319618225, 'polygon': [[79.0, 213.0], [294.0, 213.0], [294.0, 248.0], [79.0, 248.0]], 'bbox': (79, 213, 216, 36), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9978502988815308, 'polygon': [[82.0, 279.0], [289.0, 279.0], [289.0, 303.0], [82.0, 303.0]], 'bbox': (82, 279, 208, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999352693557739, 'polygon': [[80.0, 336.0], [116.0, 336.0], [116.0, 365.0], [80.0, 365.0]], 'bbox': (80, 336, 37, 30), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9989959597587585, 'polygon': [[168.0, 336.0], [203.0, 336.0], [203.0, 365.0], [168.0, 365.0]], 'bbox': (168, 336, 36, 30), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9980816841125488, 'polygon': [[263.0, 336.0], [291.0, 336.0], [291.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 29, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9644944667816162, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '黑走兔', 'confidence': 0.5847620368003845, 'polygon': [[531.0, 408.0], [597.0, 412.0], [595.0, 443.0], [529.0, 439.0]], 'bbox': (529, 408, 69, 36), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9910702705383301, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9913243055343628, 'polygon': [[81.0, 516.0], [290.0, 518.0], [290.0, 546.0], [81.0, 544.0]], 'bbox': (81, 516, 210, 31), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9980169534683228, 'polygon': [[18.0, 659.0], [151.0, 661.0], [150.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 135, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996706247329712, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9980688095092773, 'polygon': [[211.0, 769.0], [288.0, 769.0], [288.0, 790.0], [211.0, 790.0]], 'bbox': (211, 769, 78, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9976118206977844, 'polygon': [[323.0, 766.0], [384.0, 766.0], [384.0, 791.0], [323.0, 791.0]], 'bbox': (323, 766, 62, 26), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.998539388179779, 'polygon': [[423.0, 767.0], [483.0, 767.0], [483.0, 792.0], [423.0, 792.0]], 'bbox': (423, 767, 61, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9986271858215332, 'polygon': [[522.0, 767.0], [583.0, 767.0], [583.0, 792.0], [522.0, 792.0]], 'bbox': (522, 767, 62, 26), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9983878135681152, 'polygon': [[619.0, 768.0], [697.0, 768.0], [697.0, 791.0], [619.0, 791.0]], 'bbox': (619, 768, 79, 24), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9977946281433105, 'polygon': [[726.0, 767.0], [786.0, 767.0], [786.0, 792.0], [726.0, 792.0]], 'bbox': (726, 767, 61, 26), 'method': 'polygon'}]
[2025-10-24 09:40:32,187] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 19개 필터링 완료
[2025-10-24 09:40:32,187] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:40:33,492] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['도망친 토끼', '풀 밴드 라디오', '블루투스 스피커', '4000mAh 리튬 배터리', '손', '전기', '실린더', 'SOS 경보 / 나침반', '검은 토끼', '핸드 크랭크 / 태양광 발전', 'U 디스크 삽입 가능 / TF 카드', '제한된 시간', '포기하다', '확장 안테나', '메모리 카드', '카드 리더', '충전 케이블', '선물 상자 선물 가방', '충전 헤드']
[2025-10-24 09:40:33,493] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:40:33,493] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 8 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:40:33,501] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.211, comps=18, min_center_dist=0.053 → request
[2025-10-24 09:40:33,502] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 19
[2025-10-24 09:40:33,502] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:40:33,502] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:40:33,504] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:40:33,710] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:40:33,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 207.00 ms
[2025-10-24 09:40:33,719] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:40:33,719] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 42571.6MB -> 42595.0MB (+23.4MB, +0.1%) - 방법: migan
[2025-10-24 09:40:33,719] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:40:33,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:40:33,783] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:40:33,783] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:40:34,090] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_8.webp
[2025-10-24 09:40:34,091] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 8 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_8.webp
[2025-10-24 09:40:34,092] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 2764.4ms | download=0.0ms | ocr=550.0ms | translate=1309.5ms | mask=1309.5ms | inpaint=223.0ms(migan/DirectML) | render=64.0ms | save=277.0ms
[2025-10-24 09:40:34,092] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:40:34,093] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=5537caac-16ee-4cdd-8f12-b4faf66293ef
[2025-10-24 09:40:34,093] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=5537caac-16ee-4cdd-8f12-b4faf66293ef
[2025-10-24 09:40:34,093] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 09:40:34,093] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:40:34,093] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 20016)
[2025-10-24 09:40:34,093] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 09:40:34,108] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:40:34,142] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 09:40:34,142] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 09:40:34,142] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 09:40:34,143] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 09:40:34,143] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 09:40:34,612] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=17188
[2025-10-24 09:40:35,120] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=17188, Name=ImageWorkerProcess)
[2025-10-24 09:40:35,121] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 09:40:35,121] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 09:40:35,128] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 09:40:35,129] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 09:40:35,129] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 09:40:35,129] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 09:40:35,129] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 09:40:35,129] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 09:40:35,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 09:40:35,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 09:40:35,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 09:40:35,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 09:40:35,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 09:40:35,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:40:35,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 09:40:35,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:35,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:35,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 09:40:35,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 09:40:35,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 09:40:35,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 09:40:35,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 09:40:35,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 09:40:35,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 09:40:35,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 09:40:35,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 09:40:35,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:40:35,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:40:36,685] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 09:40:36,769] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 09:40:36,769] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 09:40:36,769] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 09:40:36,770] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 09:40:36,770] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 09:40:36,770] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 09:40:36,770] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 09:40:36,770] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:36,771] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 09:40:36,771] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:36,771] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 09:40:36,771] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 09:40:36,771] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 09:40:36,771] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 09:40:36,771] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 09:40:36,771] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 09:40:36,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 09:40:36,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:40:36,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 09:40:36,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:40:36,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:40:36,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:40:36,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:40:36,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:40:36,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 09:40:36,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:40:36,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 09:40:36,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x0000021A8DBE7F90>
[2025-10-24 09:40:36,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x0000021A8DBE7F90>
[2025-10-24 09:40:36,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 09:40:36,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:40:37,001] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 09:40:37,001] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 09:40:37,001] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 09:40:37,004] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 09:40:37,005] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 09:40:37,005] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:40:37,005] [WorkerRoller] [INFO] [loggerModule.py:info:281] 버퍼 작업 재개: 1건
[2025-10-24 09:40:37,005] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 09:40:37,005] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:40:37,005] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:40:37,005] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 17188)
[2025-10-24 09:40:37,006] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:40:37,006] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=d9f9610a-0dea-402f-a54e-7e1a52d19ce7
[2025-10-24 09:40:37,006] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:40:37,006] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:40:37,006] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:40:37,008] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:40:37,214] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 9 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_935b456a7fd9.jpg - 전체 번역 모드
[2025-10-24 09:40:37,221] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_935b456a7fd9.jpg
[2025-10-24 09:40:37,221] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 09:40:37,221] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 9 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_935b456a7fd9.jpg
[2025-10-24 09:40:37,223] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:40:37,836] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 610.6ms
[2025-10-24 09:40:37,836] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 186.0ms, 인식: 399.0ms, 분류: 19.5ms
[2025-10-24 09:40:37,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 42244.0MB -> 42444.4MB (+200.4MB, +0.5%) - 이미지 9
[2025-10-24 09:40:37,863] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '暴走兔', 'confidence': 0.9204323291778564, 'polygon': [[135.0, 20.0], [271.0, 22.0], [270.0, 64.0], [134.0, 62.0]], 'bbox': (134, 20, 138, 45), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.993258535861969, 'polygon': [[134.0, 73.0], [273.0, 73.0], [273.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 140, 15), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9974920749664307, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '.R12', 'confidence': 0.8123915791511536, 'polygon': [[579.0, 152.0], [614.0, 152.0], [614.0, 163.0], [579.0, 163.0]], 'bbox': (579, 152, 36, 12), 'method': 'polygon'}, {'text': '518', 'confidence': 0.9942043423652649, 'polygon': [[487.0, 175.0], [606.0, 175.0], [606.0, 240.0], [487.0, 240.0]], 'bbox': (487, 175, 120, 66), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.9985915422439575, 'polygon': [[79.0, 214.0], [294.0, 214.0], [294.0, 248.0], [79.0, 248.0]], 'bbox': (79, 214, 216, 35), 'method': 'polygon'}, {'text': 'H', 'confidence': 0.7371025681495667, 'polygon': [[607.0, 228.0], [622.0, 228.0], [622.0, 238.0], [607.0, 238.0]], 'bbox': (607, 228, 16, 11), 'method': 'polygon'}, {'text': 'MULTIBANDRADIO/BT/MUSICPLAYER', 'confidence': 0.9846541881561279, 'polygon': [[464.0, 243.0], [623.0, 244.0], [623.0, 258.0], [464.0, 257.0]], 'bbox': (464, 243, 160, 16), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9973577857017517, 'polygon': [[83.0, 279.0], [289.0, 279.0], [289.0, 303.0], [83.0, 303.0]], 'bbox': (83, 279, 207, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999414682388306, 'polygon': [[80.0, 335.0], [116.0, 335.0], [116.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 37, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9994295239448547, 'polygon': [[169.0, 338.0], [202.0, 338.0], [202.0, 364.0], [169.0, 364.0]], 'bbox': (169, 338, 34, 27), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9992778897285461, 'polygon': [[263.0, 336.0], [291.0, 336.0], [291.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 29, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9694313406944275, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9908651113510132, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9926060438156128, 'polygon': [[81.0, 516.0], [290.0, 518.0], [290.0, 546.0], [81.0, 544.0]], 'bbox': (81, 516, 210, 31), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9982489347457886, 'polygon': [[18.0, 659.0], [150.0, 661.0], [149.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 134, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.999593198299408, 'polygon': [[16.0, 728.0], [149.0, 728.0], [149.0, 792.0], [16.0, 792.0]], 'bbox': (16, 728, 134, 65), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.99787837266922, 'polygon': [[211.0, 769.0], [288.0, 769.0], [288.0, 790.0], [211.0, 790.0]], 'bbox': (211, 769, 78, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9972688555717468, 'polygon': [[323.0, 766.0], [384.0, 766.0], [384.0, 791.0], [323.0, 791.0]], 'bbox': (323, 766, 62, 26), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9982621669769287, 'polygon': [[423.0, 767.0], [483.0, 767.0], [483.0, 792.0], [423.0, 792.0]], 'bbox': (423, 767, 61, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9985806345939636, 'polygon': [[522.0, 767.0], [583.0, 767.0], [583.0, 792.0], [522.0, 792.0]], 'bbox': (522, 767, 62, 26), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9981387257575989, 'polygon': [[619.0, 768.0], [697.0, 768.0], [697.0, 791.0], [619.0, 791.0]], 'bbox': (619, 768, 79, 24), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9978719353675842, 'polygon': [[726.0, 767.0], [786.0, 767.0], [786.0, 792.0], [726.0, 792.0]], 'bbox': (726, 767, 61, 26), 'method': 'polygon'}]
[2025-10-24 09:40:37,885] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 92.0%): '暴走兔'
[2025-10-24 09:40:37,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 09:40:37,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '全波段收音机'
[2025-10-24 09:40:37,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '.R12'
[2025-10-24 09:40:37,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '518'
[2025-10-24 09:40:37,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '蓝牙音响'
[2025-10-24 09:40:37,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'H'
[2025-10-24 09:40:37,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MULTIBANDRADIO/BT/MUSICPLAYER'
[2025-10-24 09:40:37,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '4000毫安锂电池'
[2025-10-24 09:40:37,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '手'
[2025-10-24 09:40:37,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '电'
[2025-10-24 09:40:37,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '筒'
[2025-10-24 09:40:37,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 96.9%): 'SOS警报/指南针'
[2025-10-24 09:40:37,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.1%): '手摇/太阳能发电'
[2025-10-24 09:40:37,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.3%): '可插U盘/TF卡'
[2025-10-24 09:40:37,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '限时'
[2025-10-24 09:40:37,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '赠送'
[2025-10-24 09:40:37,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '延长天线'
[2025-10-24 09:40:37,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '内存卡'
[2025-10-24 09:40:37,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '读卡器'
[2025-10-24 09:40:37,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '充电线'
[2025-10-24 09:40:37,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '礼盒礼袋'
[2025-10-24 09:40:37,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '充电头'
[2025-10-24 09:40:37,894] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 18/23개 (신뢰도 + & 중국어)
[2025-10-24 09:40:37,894] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '暴走兔', 'confidence': 0.9204323291778564, 'polygon': [[135.0, 20.0], [271.0, 22.0], [270.0, 64.0], [134.0, 62.0]], 'bbox': (134, 20, 138, 45), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9974920749664307, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.9985915422439575, 'polygon': [[79.0, 214.0], [294.0, 214.0], [294.0, 248.0], [79.0, 248.0]], 'bbox': (79, 214, 216, 35), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9973577857017517, 'polygon': [[83.0, 279.0], [289.0, 279.0], [289.0, 303.0], [83.0, 303.0]], 'bbox': (83, 279, 207, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999414682388306, 'polygon': [[80.0, 335.0], [116.0, 335.0], [116.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 37, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9994295239448547, 'polygon': [[169.0, 338.0], [202.0, 338.0], [202.0, 364.0], [169.0, 364.0]], 'bbox': (169, 338, 34, 27), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9992778897285461, 'polygon': [[263.0, 336.0], [291.0, 336.0], [291.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 29, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9694313406944275, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9908651113510132, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9926060438156128, 'polygon': [[81.0, 516.0], [290.0, 518.0], [290.0, 546.0], [81.0, 544.0]], 'bbox': (81, 516, 210, 31), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9982489347457886, 'polygon': [[18.0, 659.0], [150.0, 661.0], [149.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 134, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.999593198299408, 'polygon': [[16.0, 728.0], [149.0, 728.0], [149.0, 792.0], [16.0, 792.0]], 'bbox': (16, 728, 134, 65), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.99787837266922, 'polygon': [[211.0, 769.0], [288.0, 769.0], [288.0, 790.0], [211.0, 790.0]], 'bbox': (211, 769, 78, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9972688555717468, 'polygon': [[323.0, 766.0], [384.0, 766.0], [384.0, 791.0], [323.0, 791.0]], 'bbox': (323, 766, 62, 26), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9982621669769287, 'polygon': [[423.0, 767.0], [483.0, 767.0], [483.0, 792.0], [423.0, 792.0]], 'bbox': (423, 767, 61, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9985806345939636, 'polygon': [[522.0, 767.0], [583.0, 767.0], [583.0, 792.0], [522.0, 792.0]], 'bbox': (522, 767, 62, 26), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9981387257575989, 'polygon': [[619.0, 768.0], [697.0, 768.0], [697.0, 791.0], [619.0, 791.0]], 'bbox': (619, 768, 79, 24), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9978719353675842, 'polygon': [[726.0, 767.0], [786.0, 767.0], [786.0, 792.0], [726.0, 792.0]], 'bbox': (726, 767, 61, 26), 'method': 'polygon'}]
[2025-10-24 09:40:37,910] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 18개 필터링 완료
[2025-10-24 09:40:37,925] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:40:38,301] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['도망친 토끼', '풀 밴드 라디오', '블루투스 스피커', '4000mAh 리튬 배터리', '손', '전기', '실린더', 'SOS 경보 / 나침반', '핸드 크랭크 / 태양광 발전', 'U 디스크 삽입 가능 / TF 카드', '제한된 시간', '포기하다', '확장 안테나', '메모리 카드', '카드 리더', '충전 케이블', '선물 상자 선물 가방', '충전 헤드']
[2025-10-24 09:40:38,301] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:40:38,301] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 9 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:40:38,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.203, comps=17, min_center_dist=0.053 → request
[2025-10-24 09:40:38,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 18
[2025-10-24 09:40:38,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:40:38,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:40:38,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:40:38,660] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:40:38,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 348.00 ms
[2025-10-24 09:40:38,668] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:40:38,669] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 42457.0MB -> 42634.1MB (+177.1MB, +0.4%) - 방법: migan
[2025-10-24 09:40:38,669] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:40:38,738] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:40:38,739] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:40:38,739] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:40:39,049] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_9.webp
[2025-10-24 09:40:39,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 9 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_9.webp
[2025-10-24 09:40:39,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 2043.1ms | download=0.0ms | ocr=622.6ms | translate=414.7ms | mask=414.7ms | inpaint=364.0ms(migan/DirectML) | render=70.0ms | save=270.0ms
[2025-10-24 09:40:39,051] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:40:39,051] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=d9f9610a-0dea-402f-a54e-7e1a52d19ce7
[2025-10-24 09:40:39,052] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=d9f9610a-0dea-402f-a54e-7e1a52d19ce7
[2025-10-24 09:40:39,052] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:40:39,052] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 17188)
[2025-10-24 09:40:40,931] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:40:40,931] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=f55ac318-c9b4-4e99-98c4-d5bdac5be388
[2025-10-24 09:40:40,931] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:40:40,932] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:40:40,932] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:40:40,932] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:40:41,324] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 10 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_f6b6cf4d0d08.jpg - 전체 번역 모드
[2025-10-24 09:40:41,330] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_f6b6cf4d0d08.jpg
[2025-10-24 09:40:41,330] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 09:40:41,330] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 10 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_f6b6cf4d0d08.jpg
[2025-10-24 09:40:41,331] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:40:41,840] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 505.7ms
[2025-10-24 09:40:41,867] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 101.1ms, 인식: 382.6ms, 분류: 17.0ms
[2025-10-24 09:40:41,867] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 42801.6MB -> 42790.8MB (-10.8MB, -0.0%) - 이미지 10
[2025-10-24 09:40:41,867] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '暴走兔', 'confidence': 0.9204323291778564, 'polygon': [[135.0, 20.0], [271.0, 22.0], [270.0, 64.0], [134.0, 62.0]], 'bbox': (134, 20, 138, 45), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.9933307766914368, 'polygon': [[134.0, 73.0], [273.0, 73.0], [273.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 140, 15), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9974386096000671, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '..R12', 'confidence': 0.7863626480102539, 'polygon': [[575.0, 152.0], [614.0, 152.0], [614.0, 163.0], [575.0, 163.0]], 'bbox': (575, 152, 40, 12), 'method': 'polygon'}, {'text': '518', 'confidence': 0.9843118190765381, 'polygon': [[487.0, 175.0], [607.0, 175.0], [607.0, 240.0], [487.0, 240.0]], 'bbox': (487, 175, 121, 66), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.9985583424568176, 'polygon': [[79.0, 214.0], [294.0, 214.0], [294.0, 248.0], [79.0, 248.0]], 'bbox': (79, 214, 216, 35), 'method': 'polygon'}, {'text': 'MULTIBANDRADIO/BT/MUSICPLAYER', 'confidence': 0.9749076962471008, 'polygon': [[463.0, 243.0], [623.0, 244.0], [623.0, 258.0], [463.0, 257.0]], 'bbox': (463, 243, 161, 16), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.997395396232605, 'polygon': [[83.0, 279.0], [289.0, 279.0], [289.0, 303.0], [83.0, 303.0]], 'bbox': (83, 279, 207, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999408721923828, 'polygon': [[80.0, 335.0], [117.0, 335.0], [117.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 38, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9994295239448547, 'polygon': [[169.0, 338.0], [202.0, 338.0], [202.0, 364.0], [169.0, 364.0]], 'bbox': (169, 338, 34, 27), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9992778897285461, 'polygon': [[263.0, 336.0], [291.0, 336.0], [291.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 29, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9678227305412292, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9910251498222351, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9926397204399109, 'polygon': [[81.0, 516.0], [290.0, 518.0], [290.0, 546.0], [81.0, 544.0]], 'bbox': (81, 516, 210, 31), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9982489347457886, 'polygon': [[18.0, 659.0], [150.0, 661.0], [149.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 134, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.999593198299408, 'polygon': [[16.0, 728.0], [149.0, 728.0], [149.0, 792.0], [16.0, 792.0]], 'bbox': (16, 728, 134, 65), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.997862696647644, 'polygon': [[211.0, 769.0], [288.0, 769.0], [288.0, 790.0], [211.0, 790.0]], 'bbox': (211, 769, 78, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9972650408744812, 'polygon': [[323.0, 766.0], [384.0, 766.0], [384.0, 791.0], [323.0, 791.0]], 'bbox': (323, 766, 62, 26), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9983422756195068, 'polygon': [[423.0, 767.0], [483.0, 767.0], [483.0, 792.0], [423.0, 792.0]], 'bbox': (423, 767, 61, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9985806345939636, 'polygon': [[522.0, 767.0], [583.0, 767.0], [583.0, 792.0], [522.0, 792.0]], 'bbox': (522, 767, 62, 26), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9976491332054138, 'polygon': [[619.0, 768.0], [697.0, 768.0], [697.0, 791.0], [619.0, 791.0]], 'bbox': (619, 768, 79, 24), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9978719353675842, 'polygon': [[726.0, 767.0], [786.0, 767.0], [786.0, 792.0], [726.0, 792.0]], 'bbox': (726, 767, 61, 26), 'method': 'polygon'}]
[2025-10-24 09:40:41,868] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 92.0%): '暴走兔'
[2025-10-24 09:40:41,868] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 09:40:41,868] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '全波段收音机'
[2025-10-24 09:40:41,868] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '..R12'
[2025-10-24 09:40:41,868] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '518'
[2025-10-24 09:40:41,868] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '蓝牙音响'
[2025-10-24 09:40:41,868] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MULTIBANDRADIO/BT/MUSICPLAYER'
[2025-10-24 09:40:41,868] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '4000毫安锂电池'
[2025-10-24 09:40:41,868] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '手'
[2025-10-24 09:40:41,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '电'
[2025-10-24 09:40:41,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '筒'
[2025-10-24 09:40:41,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 96.8%): 'SOS警报/指南针'
[2025-10-24 09:40:41,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.1%): '手摇/太阳能发电'
[2025-10-24 09:40:41,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.3%): '可插U盘/TF卡'
[2025-10-24 09:40:41,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '限时'
[2025-10-24 09:40:41,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '赠送'
[2025-10-24 09:40:41,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '延长天线'
[2025-10-24 09:40:41,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '内存卡'
[2025-10-24 09:40:41,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '读卡器'
[2025-10-24 09:40:41,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '充电线'
[2025-10-24 09:40:41,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '礼盒礼袋'
[2025-10-24 09:40:41,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '充电头'
[2025-10-24 09:40:41,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 18/22개 (신뢰도 + & 중국어)
[2025-10-24 09:40:41,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '暴走兔', 'confidence': 0.9204323291778564, 'polygon': [[135.0, 20.0], [271.0, 22.0], [270.0, 64.0], [134.0, 62.0]], 'bbox': (134, 20, 138, 45), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9974386096000671, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.9985583424568176, 'polygon': [[79.0, 214.0], [294.0, 214.0], [294.0, 248.0], [79.0, 248.0]], 'bbox': (79, 214, 216, 35), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.997395396232605, 'polygon': [[83.0, 279.0], [289.0, 279.0], [289.0, 303.0], [83.0, 303.0]], 'bbox': (83, 279, 207, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999408721923828, 'polygon': [[80.0, 335.0], [117.0, 335.0], [117.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 38, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9994295239448547, 'polygon': [[169.0, 338.0], [202.0, 338.0], [202.0, 364.0], [169.0, 364.0]], 'bbox': (169, 338, 34, 27), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9992778897285461, 'polygon': [[263.0, 336.0], [291.0, 336.0], [291.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 29, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9678227305412292, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9910251498222351, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9926397204399109, 'polygon': [[81.0, 516.0], [290.0, 518.0], [290.0, 546.0], [81.0, 544.0]], 'bbox': (81, 516, 210, 31), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9982489347457886, 'polygon': [[18.0, 659.0], [150.0, 661.0], [149.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 134, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.999593198299408, 'polygon': [[16.0, 728.0], [149.0, 728.0], [149.0, 792.0], [16.0, 792.0]], 'bbox': (16, 728, 134, 65), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.997862696647644, 'polygon': [[211.0, 769.0], [288.0, 769.0], [288.0, 790.0], [211.0, 790.0]], 'bbox': (211, 769, 78, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9972650408744812, 'polygon': [[323.0, 766.0], [384.0, 766.0], [384.0, 791.0], [323.0, 791.0]], 'bbox': (323, 766, 62, 26), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9983422756195068, 'polygon': [[423.0, 767.0], [483.0, 767.0], [483.0, 792.0], [423.0, 792.0]], 'bbox': (423, 767, 61, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9985806345939636, 'polygon': [[522.0, 767.0], [583.0, 767.0], [583.0, 792.0], [522.0, 792.0]], 'bbox': (522, 767, 62, 26), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9976491332054138, 'polygon': [[619.0, 768.0], [697.0, 768.0], [697.0, 791.0], [619.0, 791.0]], 'bbox': (619, 768, 79, 24), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9978719353675842, 'polygon': [[726.0, 767.0], [786.0, 767.0], [786.0, 792.0], [726.0, 792.0]], 'bbox': (726, 767, 61, 26), 'method': 'polygon'}]
[2025-10-24 09:40:41,870] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 18개 필터링 완료
[2025-10-24 09:40:41,870] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:40:41,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['도망친 토끼', '풀 밴드 라디오', '블루투스 스피커', '4000mAh 리튬 배터리', '손', '전기', '실린더', 'SOS 경보 / 나침반', '핸드 크랭크 / 태양광 발전', 'U 디스크 삽입 가능 / TF 카드', '제한된 시간', '포기하다', '확장 안테나', '메모리 카드', '카드 리더', '충전 케이블', '선물 상자 선물 가방', '충전 헤드']
[2025-10-24 09:40:41,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:40:41,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 10 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:40:41,884] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.203, comps=17, min_center_dist=0.053 → request
[2025-10-24 09:40:41,884] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 18
[2025-10-24 09:40:41,884] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:40:41,884] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:40:41,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:40:42,056] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:40:42,056] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 169.00 ms
[2025-10-24 09:40:42,064] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:40:42,064] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 42766.2MB -> 42762.2MB (-4.1MB, -0.0%) - 방법: migan
[2025-10-24 09:40:42,064] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:40:42,121] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:40:42,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:40:42,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:40:42,477] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_10.webp
[2025-10-24 09:40:42,479] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 10 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_10.webp
[2025-10-24 09:40:42,479] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 1545.1ms | download=0.0ms | ocr=515.7ms | translate=8.0ms | mask=8.0ms | inpaint=186.0ms(migan/DirectML) | render=57.0ms | save=310.0ms
[2025-10-24 09:40:42,480] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:40:42,480] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 09:40:42,480] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=f55ac318-c9b4-4e99-98c4-d5bdac5be388
[2025-10-24 09:40:42,480] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=f55ac318-c9b4-4e99-98c4-d5bdac5be388
[2025-10-24 09:40:42,480] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 09:40:42,481] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:40:42,481] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 17188)
[2025-10-24 09:40:42,496] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:40:42,547] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 09:40:42,547] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 09:40:42,547] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 09:40:42,548] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 09:40:42,548] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 09:40:43,094] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=7640
[2025-10-24 09:40:43,632] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=7640, Name=ImageWorkerProcess)
[2025-10-24 09:40:43,633] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 09:40:43,633] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 09:40:43,639] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 09:40:43,639] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 09:40:43,640] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 09:40:43,640] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 09:40:43,640] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 09:40:43,640] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 09:40:43,640] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 09:40:43,640] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 09:40:43,640] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 09:40:43,640] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 09:40:43,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 09:40:43,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:40:43,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 09:40:43,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:43,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:43,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 09:40:43,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 09:40:43,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 09:40:43,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 09:40:43,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 09:40:43,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 09:40:43,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 09:40:43,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 09:40:43,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 09:40:43,642] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:40:43,642] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:40:45,224] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 09:40:45,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 09:40:45,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 09:40:45,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 09:40:45,309] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 09:40:45,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 09:40:45,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 09:40:45,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 09:40:45,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:45,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 09:40:45,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:45,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 09:40:45,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 09:40:45,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 09:40:45,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 09:40:45,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 09:40:45,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 09:40:45,329] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 09:40:45,538] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:40:45,538] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 09:40:45,538] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:40:45,538] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:40:45,538] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:40:45,539] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:40:45,539] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:40:45,539] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 09:40:45,539] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:40:45,539] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 09:40:45,539] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x000001EAE7847ED0>
[2025-10-24 09:40:45,539] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x000001EAE7847ED0>
[2025-10-24 09:40:45,539] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 09:40:45,539] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:40:45,544] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 5.0ms
[2025-10-24 09:40:45,544] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 09:40:45,544] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 09:40:45,547] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 09:40:45,547] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 09:40:45,548] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:40:45,548] [WorkerRoller] [INFO] [loggerModule.py:info:281] 버퍼 작업 재개: 1건
[2025-10-24 09:40:45,548] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:40:45,548] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 09:40:45,548] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:40:45,548] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 7640)
[2025-10-24 09:40:45,549] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:40:45,549] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=46dddb84-c588-4c04-8d1e-baf7f78bed34
[2025-10-24 09:40:45,549] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:40:45,549] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:40:45,549] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:40:45,551] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:40:45,738] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 11 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_8bb75f3547cd.jpg - 전체 번역 모드
[2025-10-24 09:40:45,743] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_8bb75f3547cd.jpg
[2025-10-24 09:40:45,744] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 09:40:45,744] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 11 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_8bb75f3547cd.jpg
[2025-10-24 09:40:45,745] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:40:46,421] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 672.6ms
[2025-10-24 09:40:46,440] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 178.0ms, 인식: 467.6ms, 분류: 20.0ms
[2025-10-24 09:40:46,448] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 42428.4MB -> 42665.9MB (+237.5MB, +0.6%) - 이미지 11
[2025-10-24 09:40:46,464] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '暴走兔', 'confidence': 0.9141947627067566, 'polygon': [[136.0, 21.0], [270.0, 23.0], [269.0, 63.0], [135.0, 61.0]], 'bbox': (135, 21, 136, 43), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.9931288957595825, 'polygon': [[134.0, 73.0], [273.0, 73.0], [273.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 140, 15), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.997622013092041, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '..R12', 'confidence': 0.7803670763969421, 'polygon': [[573.0, 152.0], [616.0, 152.0], [616.0, 163.0], [573.0, 163.0]], 'bbox': (573, 152, 44, 12), 'method': 'polygon'}, {'text': '518', 'confidence': 0.9855506420135498, 'polygon': [[488.0, 174.0], [607.0, 174.0], [607.0, 240.0], [488.0, 240.0]], 'bbox': (488, 174, 120, 67), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.998444676399231, 'polygon': [[78.0, 211.0], [294.0, 213.0], [294.0, 248.0], [78.0, 246.0]], 'bbox': (78, 211, 217, 38), 'method': 'polygon'}, {'text': 'UH', 'confidence': 0.7753715515136719, 'polygon': [[608.0, 228.0], [621.0, 228.0], [621.0, 237.0], [608.0, 237.0]], 'bbox': (608, 228, 14, 10), 'method': 'polygon'}, {'text': 'MULTIBANDRADIO/BT/MUSICPLAYER', 'confidence': 0.9853014349937439, 'polygon': [[464.0, 244.0], [623.0, 244.0], [623.0, 257.0], [464.0, 257.0]], 'bbox': (464, 244, 160, 14), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9978502988815308, 'polygon': [[82.0, 279.0], [289.0, 279.0], [289.0, 303.0], [82.0, 303.0]], 'bbox': (82, 279, 208, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999699592590332, 'polygon': [[80.0, 335.0], [113.0, 335.0], [113.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 34, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9992403984069824, 'polygon': [[168.0, 336.0], [204.0, 336.0], [204.0, 365.0], [168.0, 365.0]], 'bbox': (168, 336, 37, 30), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9993694424629211, 'polygon': [[263.0, 336.0], [290.0, 336.0], [290.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 28, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.974646806716919, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '燕走兔', 'confidence': 0.5333335995674133, 'polygon': [[531.0, 409.0], [595.0, 411.0], [594.0, 441.0], [530.0, 439.0]], 'bbox': (530, 409, 66, 33), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9910641312599182, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9867974519729614, 'polygon': [[82.0, 518.0], [290.0, 518.0], [290.0, 545.0], [82.0, 545.0]], 'bbox': (82, 518, 209, 28), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9983594417572021, 'polygon': [[18.0, 659.0], [151.0, 661.0], [150.0, 728.0], [17.0, 726.0]], 'bbox': (17, 659, 135, 70), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996761679649353, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9979546070098877, 'polygon': [[211.0, 769.0], [288.0, 769.0], [288.0, 790.0], [211.0, 790.0]], 'bbox': (211, 769, 78, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9972650408744812, 'polygon': [[323.0, 766.0], [384.0, 766.0], [384.0, 791.0], [323.0, 791.0]], 'bbox': (323, 766, 62, 26), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9981095790863037, 'polygon': [[423.0, 767.0], [483.0, 767.0], [483.0, 792.0], [423.0, 792.0]], 'bbox': (423, 767, 61, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9985806345939636, 'polygon': [[522.0, 767.0], [583.0, 767.0], [583.0, 792.0], [522.0, 792.0]], 'bbox': (522, 767, 62, 26), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9975590109825134, 'polygon': [[616.0, 768.0], [694.0, 768.0], [694.0, 791.0], [616.0, 791.0]], 'bbox': (616, 768, 79, 24), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9975325465202332, 'polygon': [[726.0, 767.0], [786.0, 767.0], [786.0, 792.0], [726.0, 792.0]], 'bbox': (726, 767, 61, 26), 'method': 'polygon'}]
[2025-10-24 09:40:46,475] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 91.4%): '暴走兔'
[2025-10-24 09:40:46,475] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 09:40:46,475] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '全波段收音机'
[2025-10-24 09:40:46,475] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '..R12'
[2025-10-24 09:40:46,475] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '518'
[2025-10-24 09:40:46,475] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '蓝牙音响'
[2025-10-24 09:40:46,476] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'UH'
[2025-10-24 09:40:46,476] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MULTIBANDRADIO/BT/MUSICPLAYER'
[2025-10-24 09:40:46,476] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '4000毫安锂电池'
[2025-10-24 09:40:46,476] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '手'
[2025-10-24 09:40:46,476] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '电'
[2025-10-24 09:40:46,476] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '筒'
[2025-10-24 09:40:46,477] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 97.5%): 'SOS警报/指南针'
[2025-10-24 09:40:46,477] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 53.3%): '燕走兔'
[2025-10-24 09:40:46,477] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.1%): '手摇/太阳能发电'
[2025-10-24 09:40:46,477] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.7%): '可插U盘/TF卡'
[2025-10-24 09:40:46,477] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '限时'
[2025-10-24 09:40:46,477] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '赠送'
[2025-10-24 09:40:46,477] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '延长天线'
[2025-10-24 09:40:46,480] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '内存卡'
[2025-10-24 09:40:46,496] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '读卡器'
[2025-10-24 09:40:46,514] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '充电线'
[2025-10-24 09:40:46,514] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '礼盒礼袋'
[2025-10-24 09:40:46,514] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '充电头'
[2025-10-24 09:40:46,515] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 19/24개 (신뢰도 + & 중국어)
[2025-10-24 09:40:46,515] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '暴走兔', 'confidence': 0.9141947627067566, 'polygon': [[136.0, 21.0], [270.0, 23.0], [269.0, 63.0], [135.0, 61.0]], 'bbox': (135, 21, 136, 43), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.997622013092041, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.998444676399231, 'polygon': [[78.0, 211.0], [294.0, 213.0], [294.0, 248.0], [78.0, 246.0]], 'bbox': (78, 211, 217, 38), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9978502988815308, 'polygon': [[82.0, 279.0], [289.0, 279.0], [289.0, 303.0], [82.0, 303.0]], 'bbox': (82, 279, 208, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999699592590332, 'polygon': [[80.0, 335.0], [113.0, 335.0], [113.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 34, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9992403984069824, 'polygon': [[168.0, 336.0], [204.0, 336.0], [204.0, 365.0], [168.0, 365.0]], 'bbox': (168, 336, 37, 30), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9993694424629211, 'polygon': [[263.0, 336.0], [290.0, 336.0], [290.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 28, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.974646806716919, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '燕走兔', 'confidence': 0.5333335995674133, 'polygon': [[531.0, 409.0], [595.0, 411.0], [594.0, 441.0], [530.0, 439.0]], 'bbox': (530, 409, 66, 33), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9910641312599182, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9867974519729614, 'polygon': [[82.0, 518.0], [290.0, 518.0], [290.0, 545.0], [82.0, 545.0]], 'bbox': (82, 518, 209, 28), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9983594417572021, 'polygon': [[18.0, 659.0], [151.0, 661.0], [150.0, 728.0], [17.0, 726.0]], 'bbox': (17, 659, 135, 70), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996761679649353, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9979546070098877, 'polygon': [[211.0, 769.0], [288.0, 769.0], [288.0, 790.0], [211.0, 790.0]], 'bbox': (211, 769, 78, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9972650408744812, 'polygon': [[323.0, 766.0], [384.0, 766.0], [384.0, 791.0], [323.0, 791.0]], 'bbox': (323, 766, 62, 26), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9981095790863037, 'polygon': [[423.0, 767.0], [483.0, 767.0], [483.0, 792.0], [423.0, 792.0]], 'bbox': (423, 767, 61, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9985806345939636, 'polygon': [[522.0, 767.0], [583.0, 767.0], [583.0, 792.0], [522.0, 792.0]], 'bbox': (522, 767, 62, 26), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9975590109825134, 'polygon': [[616.0, 768.0], [694.0, 768.0], [694.0, 791.0], [616.0, 791.0]], 'bbox': (616, 768, 79, 24), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9975325465202332, 'polygon': [[726.0, 767.0], [786.0, 767.0], [786.0, 792.0], [726.0, 792.0]], 'bbox': (726, 767, 61, 26), 'method': 'polygon'}]
[2025-10-24 09:40:46,515] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 19개 필터링 완료
[2025-10-24 09:40:46,515] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:40:49,372] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['도망친 토끼', '풀 밴드 라디오', '블루투스 스피커', '4000mAh 리튬 배터리', '손', '전기', '실린더', 'SOS 경보 / 나침반', '얀 주이투', '핸드 크랭크 / 태양광 발전', 'U 디스크 삽입 가능 / TF 카드', '제한된 시간', '포기하다', '확장 안테나', '메모리 카드', '카드 리더', '충전 케이블', '선물 상자 선물 가방', '충전 헤드']
[2025-10-24 09:40:49,373] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:40:49,373] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 11 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:40:49,381] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.209, comps=18, min_center_dist=0.052 → request
[2025-10-24 09:40:49,381] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 19
[2025-10-24 09:40:49,381] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:40:49,381] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:40:49,383] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:40:49,878] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:40:49,878] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 494.00 ms
[2025-10-24 09:40:49,885] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:40:49,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 42744.3MB -> 42930.7MB (+186.4MB, +0.4%) - 방법: migan
[2025-10-24 09:40:49,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:40:49,963] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:40:49,964] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:40:49,964] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:40:50,277] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_11.webp
[2025-10-24 09:40:50,278] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 11 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_11.webp
[2025-10-24 09:40:50,279] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 4727.8ms | download=0.0ms | ocr=682.6ms | translate=2898.3ms | mask=2898.3ms | inpaint=510.0ms(migan/DirectML) | render=78.1ms | save=272.8ms
[2025-10-24 09:40:50,280] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:40:50,280] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=46dddb84-c588-4c04-8d1e-baf7f78bed34
[2025-10-24 09:40:50,280] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=46dddb84-c588-4c04-8d1e-baf7f78bed34
[2025-10-24 09:40:50,280] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:40:50,280] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 7640)
[2025-10-24 09:40:52,097] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:40:52,098] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=e43f623e-accc-4abe-8cb4-57638f049869
[2025-10-24 09:40:52,098] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:40:52,098] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:40:52,098] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:40:52,098] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:40:52,525] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 12 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_d15b50dceaeb.jpg - 전체 번역 모드
[2025-10-24 09:40:52,532] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_d15b50dceaeb.jpg
[2025-10-24 09:40:52,532] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 09:40:52,532] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 12 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_d15b50dceaeb.jpg
[2025-10-24 09:40:52,534] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:40:53,180] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 643.5ms
[2025-10-24 09:40:53,198] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 112.4ms, 인식: 506.0ms, 분류: 20.0ms
[2025-10-24 09:40:53,209] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 43148.8MB -> 43170.3MB (+21.5MB, +0.0%) - 이미지 12
[2025-10-24 09:40:53,209] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '暴走兔', 'confidence': 0.9268935322761536, 'polygon': [[136.0, 20.0], [271.0, 22.0], [270.0, 64.0], [135.0, 62.0]], 'bbox': (135, 20, 137, 45), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.9931881427764893, 'polygon': [[134.0, 73.0], [273.0, 73.0], [273.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 140, 15), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9976200461387634, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '.R12', 'confidence': 0.862068235874176, 'polygon': [[577.0, 152.0], [614.0, 152.0], [614.0, 163.0], [577.0, 163.0]], 'bbox': (577, 152, 38, 12), 'method': 'polygon'}, {'text': '518', 'confidence': 0.9833140969276428, 'polygon': [[488.0, 174.0], [607.0, 174.0], [607.0, 240.0], [488.0, 240.0]], 'bbox': (488, 174, 120, 67), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.9983958601951599, 'polygon': [[79.0, 213.0], [294.0, 213.0], [294.0, 248.0], [79.0, 248.0]], 'bbox': (79, 213, 216, 36), 'method': 'polygon'}, {'text': 'MULTIBANDRADIO/BT/MUSICPLAYER', 'confidence': 0.9756512641906738, 'polygon': [[465.0, 244.0], [623.0, 244.0], [623.0, 257.0], [465.0, 257.0]], 'bbox': (465, 244, 159, 14), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9978365302085876, 'polygon': [[82.0, 279.0], [289.0, 279.0], [289.0, 303.0], [82.0, 303.0]], 'bbox': (82, 279, 208, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999254941940308, 'polygon': [[80.0, 336.0], [117.0, 336.0], [117.0, 365.0], [80.0, 365.0]], 'bbox': (80, 336, 38, 30), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9991130232810974, 'polygon': [[168.0, 333.0], [206.0, 338.0], [202.0, 367.0], [164.0, 362.0]], 'bbox': (164, 333, 43, 35), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9980816841125488, 'polygon': [[263.0, 336.0], [291.0, 336.0], [291.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 29, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9601571559906006, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '黑走兔', 'confidence': 0.5847620368003845, 'polygon': [[531.0, 408.0], [597.0, 412.0], [595.0, 443.0], [529.0, 439.0]], 'bbox': (529, 408, 69, 36), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9916560649871826, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9924731850624084, 'polygon': [[81.0, 516.0], [290.0, 518.0], [290.0, 546.0], [81.0, 544.0]], 'bbox': (81, 516, 210, 31), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9978593587875366, 'polygon': [[18.0, 659.0], [151.0, 661.0], [150.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 135, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996343851089478, 'polygon': [[15.0, 728.0], [150.0, 728.0], [150.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 136, 65), 'method': 'polygon'}, {'text': '有线耳机', 'confidence': 0.9989824295043945, 'polygon': [[188.0, 769.0], [265.0, 769.0], [265.0, 790.0], [188.0, 790.0]], 'bbox': (188, 769, 78, 22), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9985175132751465, 'polygon': [[286.0, 769.0], [365.0, 769.0], [365.0, 790.0], [286.0, 790.0]], 'bbox': (286, 769, 80, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9982945919036865, 'polygon': [[386.0, 769.0], [446.0, 769.0], [446.0, 790.0], [386.0, 790.0]], 'bbox': (386, 769, 61, 22), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9987030625343323, 'polygon': [[472.0, 767.0], [531.0, 767.0], [531.0, 792.0], [472.0, 792.0]], 'bbox': (472, 767, 60, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9993455410003662, 'polygon': [[560.0, 769.0], [621.0, 769.0], [621.0, 790.0], [560.0, 790.0]], 'bbox': (560, 769, 62, 22), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9988080263137817, 'polygon': [[640.0, 769.0], [717.0, 769.0], [717.0, 790.0], [640.0, 790.0]], 'bbox': (640, 769, 78, 22), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9983770251274109, 'polygon': [[738.0, 767.0], [797.0, 767.0], [797.0, 792.0], [738.0, 792.0]], 'bbox': (738, 767, 60, 26), 'method': 'polygon'}]
[2025-10-24 09:40:53,210] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 92.7%): '暴走兔'
[2025-10-24 09:40:53,210] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 09:40:53,210] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '全波段收音机'
[2025-10-24 09:40:53,210] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '.R12'
[2025-10-24 09:40:53,210] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '518'
[2025-10-24 09:40:53,210] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '蓝牙音响'
[2025-10-24 09:40:53,210] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MULTIBANDRADIO/BT/MUSICPLAYER'
[2025-10-24 09:40:53,210] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '4000毫安锂电池'
[2025-10-24 09:40:53,210] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '手'
[2025-10-24 09:40:53,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '电'
[2025-10-24 09:40:53,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '筒'
[2025-10-24 09:40:53,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 96.0%): 'SOS警报/指南针'
[2025-10-24 09:40:53,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 58.5%): '黑走兔'
[2025-10-24 09:40:53,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.2%): '手摇/太阳能发电'
[2025-10-24 09:40:53,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.2%): '可插U盘/TF卡'
[2025-10-24 09:40:53,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '限时'
[2025-10-24 09:40:53,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '赠送'
[2025-10-24 09:40:53,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '有线耳机'
[2025-10-24 09:40:53,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '延长天线'
[2025-10-24 09:40:53,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '内存卡'
[2025-10-24 09:40:53,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '读卡器'
[2025-10-24 09:40:53,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '充电线'
[2025-10-24 09:40:53,211] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '礼盒礼袋'
[2025-10-24 09:40:53,212] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '充电头'
[2025-10-24 09:40:53,212] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 20/24개 (신뢰도 + & 중국어)
[2025-10-24 09:40:53,212] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '暴走兔', 'confidence': 0.9268935322761536, 'polygon': [[136.0, 20.0], [271.0, 22.0], [270.0, 64.0], [135.0, 62.0]], 'bbox': (135, 20, 137, 45), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9976200461387634, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.9983958601951599, 'polygon': [[79.0, 213.0], [294.0, 213.0], [294.0, 248.0], [79.0, 248.0]], 'bbox': (79, 213, 216, 36), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9978365302085876, 'polygon': [[82.0, 279.0], [289.0, 279.0], [289.0, 303.0], [82.0, 303.0]], 'bbox': (82, 279, 208, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999254941940308, 'polygon': [[80.0, 336.0], [117.0, 336.0], [117.0, 365.0], [80.0, 365.0]], 'bbox': (80, 336, 38, 30), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9991130232810974, 'polygon': [[168.0, 333.0], [206.0, 338.0], [202.0, 367.0], [164.0, 362.0]], 'bbox': (164, 333, 43, 35), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9980816841125488, 'polygon': [[263.0, 336.0], [291.0, 336.0], [291.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 29, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9601571559906006, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '黑走兔', 'confidence': 0.5847620368003845, 'polygon': [[531.0, 408.0], [597.0, 412.0], [595.0, 443.0], [529.0, 439.0]], 'bbox': (529, 408, 69, 36), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9916560649871826, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9924731850624084, 'polygon': [[81.0, 516.0], [290.0, 518.0], [290.0, 546.0], [81.0, 544.0]], 'bbox': (81, 516, 210, 31), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9978593587875366, 'polygon': [[18.0, 659.0], [151.0, 661.0], [150.0, 729.0], [17.0, 727.0]], 'bbox': (17, 659, 135, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996343851089478, 'polygon': [[15.0, 728.0], [150.0, 728.0], [150.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 136, 65), 'method': 'polygon'}, {'text': '有线耳机', 'confidence': 0.9989824295043945, 'polygon': [[188.0, 769.0], [265.0, 769.0], [265.0, 790.0], [188.0, 790.0]], 'bbox': (188, 769, 78, 22), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9985175132751465, 'polygon': [[286.0, 769.0], [365.0, 769.0], [365.0, 790.0], [286.0, 790.0]], 'bbox': (286, 769, 80, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9982945919036865, 'polygon': [[386.0, 769.0], [446.0, 769.0], [446.0, 790.0], [386.0, 790.0]], 'bbox': (386, 769, 61, 22), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9987030625343323, 'polygon': [[472.0, 767.0], [531.0, 767.0], [531.0, 792.0], [472.0, 792.0]], 'bbox': (472, 767, 60, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9993455410003662, 'polygon': [[560.0, 769.0], [621.0, 769.0], [621.0, 790.0], [560.0, 790.0]], 'bbox': (560, 769, 62, 22), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9988080263137817, 'polygon': [[640.0, 769.0], [717.0, 769.0], [717.0, 790.0], [640.0, 790.0]], 'bbox': (640, 769, 78, 22), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9983770251274109, 'polygon': [[738.0, 767.0], [797.0, 767.0], [797.0, 792.0], [738.0, 792.0]], 'bbox': (738, 767, 60, 26), 'method': 'polygon'}]
[2025-10-24 09:40:53,212] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 20개 필터링 완료
[2025-10-24 09:40:53,212] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:40:55,370] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['도망친 토끼', '풀 밴드 라디오', '블루투스 스피커', '4000mAh 리튬 배터리', '손', '전기', '실린더', 'SOS 경보 / 나침반', '검은 토끼', '핸드 크랭크 / 태양광 발전', 'U 디스크 삽입 가능 / TF 카드', '제한된 시간', '포기하다', '유선 헤드폰', '확장 안테나', '메모리 카드', '카드 리더', '충전 케이블', '선물 상자 선물 가방', '충전 헤드']
[2025-10-24 09:40:55,371] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:40:55,371] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 12 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:40:55,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.271, comps=5, min_center_dist=0.273 → request
[2025-10-24 09:40:55,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 20
[2025-10-24 09:40:55,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:40:55,378] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:40:55,380] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:40:55,496] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:40:55,496] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 117.02 ms
[2025-10-24 09:40:55,505] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:40:55,506] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 43189.6MB -> 43207.6MB (+18.0MB, +0.0%) - 방법: migan
[2025-10-24 09:40:55,506] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:40:55,568] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:40:55,568] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:40:55,568] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:40:55,868] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_12.webp
[2025-10-24 09:40:55,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 12 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_12.webp
[2025-10-24 09:40:55,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 3770.2ms | download=0.0ms | ocr=655.5ms | translate=2162.0ms | mask=2162.0ms | inpaint=133.0ms(migan/DirectML) | render=61.2ms | save=268.2ms
[2025-10-24 09:40:55,870] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:40:55,870] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 09:40:55,870] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=e43f623e-accc-4abe-8cb4-57638f049869
[2025-10-24 09:40:55,870] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=e43f623e-accc-4abe-8cb4-57638f049869
[2025-10-24 09:40:55,870] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 09:40:55,870] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:40:55,870] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 7640)
[2025-10-24 09:40:55,885] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:40:55,922] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 09:40:55,922] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 09:40:55,922] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 09:40:55,923] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 09:40:55,923] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 09:40:56,394] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=32504
[2025-10-24 09:40:56,903] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=32504, Name=ImageWorkerProcess)
[2025-10-24 09:40:56,903] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 09:40:56,903] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 09:40:56,910] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 09:40:56,910] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 09:40:56,910] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 09:40:56,910] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 09:40:56,910] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 09:40:56,910] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 09:40:56,911] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 09:40:56,911] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 09:40:56,911] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 09:40:56,911] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 09:40:56,911] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 09:40:56,911] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:40:56,911] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 09:40:56,911] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:56,912] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:56,912] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 09:40:56,912] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 09:40:56,912] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 09:40:56,912] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 09:40:56,912] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 09:40:56,912] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 09:40:56,912] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 09:40:56,912] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 09:40:56,912] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 09:40:56,912] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:40:56,912] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:40:58,474] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 09:40:58,560] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 09:40:58,560] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 09:40:58,560] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 09:40:58,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 09:40:58,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 09:40:58,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 09:40:58,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 09:40:58,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:58,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 09:40:58,562] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:40:58,562] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 09:40:58,562] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 09:40:58,562] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 09:40:58,562] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 09:40:58,562] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 09:40:58,562] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 09:40:58,582] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 09:40:58,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:40:58,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 09:40:58,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:40:58,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:40:58,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:40:58,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:40:58,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:40:58,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 09:40:58,791] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:40:58,791] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 09:40:58,791] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x0000019D35B69F50>
[2025-10-24 09:40:58,791] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x0000019D35B69F50>
[2025-10-24 09:40:58,791] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 09:40:58,791] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:40:58,795] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 09:40:58,796] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 09:40:58,796] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 09:40:58,799] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 09:40:58,799] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 09:40:58,799] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:40:58,799] [WorkerRoller] [INFO] [loggerModule.py:info:281] 버퍼 작업 재개: 1건
[2025-10-24 09:40:58,799] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:40:58,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 09:40:58,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:40:58,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 32504)
[2025-10-24 09:40:58,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:40:58,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=a1e59fd6-e785-482b-93df-bca41717d577
[2025-10-24 09:40:58,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:40:58,801] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:40:58,801] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:40:58,803] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:40:59,136] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 13 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_5721e6d7815a.jpg - 전체 번역 모드
[2025-10-24 09:40:59,141] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_5721e6d7815a.jpg
[2025-10-24 09:40:59,141] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 09:40:59,142] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 13 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_5721e6d7815a.jpg
[2025-10-24 09:40:59,143] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:40:59,714] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 568.0ms
[2025-10-24 09:40:59,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 110.0ms, 인식: 433.0ms, 분류: 19.0ms
[2025-10-24 09:40:59,753] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 42891.7MB -> 43084.9MB (+193.1MB, +0.5%) - 이미지 13
[2025-10-24 09:40:59,765] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '暴走兔', 'confidence': 0.9315927028656006, 'polygon': [[136.0, 20.0], [271.0, 22.0], [270.0, 64.0], [135.0, 62.0]], 'bbox': (135, 20, 137, 45), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.993258535861969, 'polygon': [[134.0, 73.0], [273.0, 73.0], [273.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 140, 15), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9974920749664307, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '.R12', 'confidence': 0.8123915791511536, 'polygon': [[579.0, 152.0], [614.0, 152.0], [614.0, 163.0], [579.0, 163.0]], 'bbox': (579, 152, 36, 12), 'method': 'polygon'}, {'text': '518', 'confidence': 0.9942043423652649, 'polygon': [[487.0, 175.0], [606.0, 175.0], [606.0, 240.0], [487.0, 240.0]], 'bbox': (487, 175, 120, 66), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.9985915422439575, 'polygon': [[79.0, 214.0], [294.0, 214.0], [294.0, 248.0], [79.0, 248.0]], 'bbox': (79, 214, 216, 35), 'method': 'polygon'}, {'text': 'H:', 'confidence': 0.5186051726341248, 'polygon': [[608.0, 228.0], [621.0, 228.0], [621.0, 237.0], [608.0, 237.0]], 'bbox': (608, 228, 14, 10), 'method': 'polygon'}, {'text': 'MULTIBANDRADIO/BT/MUSICPLAYER', 'confidence': 0.9846541881561279, 'polygon': [[464.0, 243.0], [623.0, 244.0], [623.0, 258.0], [464.0, 257.0]], 'bbox': (464, 243, 160, 16), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9973577857017517, 'polygon': [[83.0, 279.0], [289.0, 279.0], [289.0, 303.0], [83.0, 303.0]], 'bbox': (83, 279, 207, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999408721923828, 'polygon': [[80.0, 335.0], [117.0, 335.0], [117.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 38, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9993985891342163, 'polygon': [[169.0, 338.0], [203.0, 338.0], [203.0, 364.0], [169.0, 364.0]], 'bbox': (169, 338, 35, 27), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9992778897285461, 'polygon': [[263.0, 336.0], [291.0, 336.0], [291.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 29, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9673583507537842, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9900031685829163, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.990487277507782, 'polygon': [[81.0, 516.0], [290.0, 518.0], [290.0, 546.0], [81.0, 544.0]], 'bbox': (81, 516, 210, 31), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9988158941268921, 'polygon': [[17.0, 659.0], [150.0, 661.0], [149.0, 729.0], [16.0, 727.0]], 'bbox': (16, 659, 135, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996625185012817, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '有线耳机', 'confidence': 0.9988623857498169, 'polygon': [[188.0, 769.0], [265.0, 769.0], [265.0, 790.0], [188.0, 790.0]], 'bbox': (188, 769, 78, 22), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9987125396728516, 'polygon': [[286.0, 769.0], [365.0, 769.0], [365.0, 790.0], [286.0, 790.0]], 'bbox': (286, 769, 80, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9983070492744446, 'polygon': [[386.0, 769.0], [446.0, 769.0], [446.0, 790.0], [386.0, 790.0]], 'bbox': (386, 769, 61, 22), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9987971186637878, 'polygon': [[472.0, 767.0], [531.0, 767.0], [531.0, 792.0], [472.0, 792.0]], 'bbox': (472, 767, 60, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9993236064910889, 'polygon': [[560.0, 769.0], [621.0, 769.0], [621.0, 790.0], [560.0, 790.0]], 'bbox': (560, 769, 62, 22), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9986110329627991, 'polygon': [[641.0, 769.0], [718.0, 769.0], [718.0, 790.0], [641.0, 790.0]], 'bbox': (641, 769, 78, 22), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9981960654258728, 'polygon': [[738.0, 767.0], [797.0, 767.0], [797.0, 792.0], [738.0, 792.0]], 'bbox': (738, 767, 60, 26), 'method': 'polygon'}]
[2025-10-24 09:40:59,765] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 93.2%): '暴走兔'
[2025-10-24 09:40:59,765] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 09:40:59,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '全波段收音机'
[2025-10-24 09:40:59,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '.R12'
[2025-10-24 09:40:59,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '518'
[2025-10-24 09:40:59,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '蓝牙音响'
[2025-10-24 09:40:59,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'H:'
[2025-10-24 09:40:59,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MULTIBANDRADIO/BT/MUSICPLAYER'
[2025-10-24 09:40:59,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '4000毫安锂电池'
[2025-10-24 09:40:59,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '手'
[2025-10-24 09:40:59,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '电'
[2025-10-24 09:40:59,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '筒'
[2025-10-24 09:40:59,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 96.7%): 'SOS警报/指南针'
[2025-10-24 09:40:59,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.0%): '手摇/太阳能发电'
[2025-10-24 09:40:59,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.0%): '可插U盘/TF卡'
[2025-10-24 09:40:59,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '限时'
[2025-10-24 09:40:59,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '赠送'
[2025-10-24 09:40:59,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '有线耳机'
[2025-10-24 09:40:59,767] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '延长天线'
[2025-10-24 09:40:59,767] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '内存卡'
[2025-10-24 09:40:59,767] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '读卡器'
[2025-10-24 09:40:59,767] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '充电线'
[2025-10-24 09:40:59,767] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '礼盒礼袋'
[2025-10-24 09:40:59,767] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '充电头'
[2025-10-24 09:40:59,767] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 19/24개 (신뢰도 + & 중국어)
[2025-10-24 09:40:59,767] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '暴走兔', 'confidence': 0.9315927028656006, 'polygon': [[136.0, 20.0], [271.0, 22.0], [270.0, 64.0], [135.0, 62.0]], 'bbox': (135, 20, 137, 45), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9974920749664307, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.9985915422439575, 'polygon': [[79.0, 214.0], [294.0, 214.0], [294.0, 248.0], [79.0, 248.0]], 'bbox': (79, 214, 216, 35), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9973577857017517, 'polygon': [[83.0, 279.0], [289.0, 279.0], [289.0, 303.0], [83.0, 303.0]], 'bbox': (83, 279, 207, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999408721923828, 'polygon': [[80.0, 335.0], [117.0, 335.0], [117.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 38, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9993985891342163, 'polygon': [[169.0, 338.0], [203.0, 338.0], [203.0, 364.0], [169.0, 364.0]], 'bbox': (169, 338, 35, 27), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9992778897285461, 'polygon': [[263.0, 336.0], [291.0, 336.0], [291.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 29, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9673583507537842, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9900031685829163, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.990487277507782, 'polygon': [[81.0, 516.0], [290.0, 518.0], [290.0, 546.0], [81.0, 544.0]], 'bbox': (81, 516, 210, 31), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9988158941268921, 'polygon': [[17.0, 659.0], [150.0, 661.0], [149.0, 729.0], [16.0, 727.0]], 'bbox': (16, 659, 135, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996625185012817, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '有线耳机', 'confidence': 0.9988623857498169, 'polygon': [[188.0, 769.0], [265.0, 769.0], [265.0, 790.0], [188.0, 790.0]], 'bbox': (188, 769, 78, 22), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9987125396728516, 'polygon': [[286.0, 769.0], [365.0, 769.0], [365.0, 790.0], [286.0, 790.0]], 'bbox': (286, 769, 80, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9983070492744446, 'polygon': [[386.0, 769.0], [446.0, 769.0], [446.0, 790.0], [386.0, 790.0]], 'bbox': (386, 769, 61, 22), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9987971186637878, 'polygon': [[472.0, 767.0], [531.0, 767.0], [531.0, 792.0], [472.0, 792.0]], 'bbox': (472, 767, 60, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9993236064910889, 'polygon': [[560.0, 769.0], [621.0, 769.0], [621.0, 790.0], [560.0, 790.0]], 'bbox': (560, 769, 62, 22), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9986110329627991, 'polygon': [[641.0, 769.0], [718.0, 769.0], [718.0, 790.0], [641.0, 790.0]], 'bbox': (641, 769, 78, 22), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9981960654258728, 'polygon': [[738.0, 767.0], [797.0, 767.0], [797.0, 792.0], [738.0, 792.0]], 'bbox': (738, 767, 60, 26), 'method': 'polygon'}]
[2025-10-24 09:40:59,784] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 19개 필터링 완료
[2025-10-24 09:40:59,800] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:41:00,464] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['도망친 토끼', '풀 밴드 라디오', '블루투스 스피커', '4000mAh 리튬 배터리', '손', '전기', '실린더', 'SOS 경보 / 나침반', '핸드 크랭크 / 태양광 발전', 'U 디스크 삽입 가능 / TF 카드', '제한된 시간', '포기하다', '유선 헤드폰', '확장 안테나', '메모리 카드', '카드 리더', '충전 케이블', '선물 상자 선물 가방', '충전 헤드']
[2025-10-24 09:41:00,465] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:41:00,465] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 13 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:41:00,472] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.208, comps=14, min_center_dist=0.053 → request
[2025-10-24 09:41:00,472] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 19
[2025-10-24 09:41:00,472] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:41:00,472] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:41:00,474] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:41:00,831] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:41:00,831] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 356.75 ms
[2025-10-24 09:41:00,838] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:41:00,838] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 43129.7MB -> 43328.9MB (+199.2MB, +0.5%) - 방법: migan
[2025-10-24 09:41:00,838] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:41:00,912] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:41:00,913] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:41:00,913] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:41:01,227] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_13.webp
[2025-10-24 09:41:01,228] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 13 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_13.webp
[2025-10-24 09:41:01,228] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 2426.3ms | download=0.0ms | ocr=578.0ms | translate=698.3ms | mask=698.3ms | inpaint=372.7ms(migan/DirectML) | render=73.5ms | save=270.6ms
[2025-10-24 09:41:01,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:41:01,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=a1e59fd6-e785-482b-93df-bca41717d577
[2025-10-24 09:41:01,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=a1e59fd6-e785-482b-93df-bca41717d577
[2025-10-24 09:41:01,230] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:41:01,230] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 32504)
[2025-10-24 09:41:03,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:41:03,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=878dbdc9-a5ef-4427-a1df-bd59f9c14f55
[2025-10-24 09:41:03,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:41:03,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:41:03,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:41:03,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:41:03,331] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 14 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_4678f3e7b312.jpg - 전체 번역 모드
[2025-10-24 09:41:03,336] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_4678f3e7b312.jpg
[2025-10-24 09:41:03,336] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 09:41:03,337] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 14 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_4678f3e7b312.jpg
[2025-10-24 09:41:03,338] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:41:03,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 528.5ms
[2025-10-24 09:41:03,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 98.1ms, 인식: 408.0ms, 분류: 17.0ms
[2025-10-24 09:41:03,897] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 43405.4MB -> 43408.1MB (+2.7MB, +0.0%) - 이미지 14
[2025-10-24 09:41:03,897] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '暴走兔', 'confidence': 0.9232043623924255, 'polygon': [[136.0, 21.0], [270.0, 23.0], [269.0, 63.0], [135.0, 61.0]], 'bbox': (135, 21, 136, 43), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.9927327036857605, 'polygon': [[134.0, 73.0], [273.0, 73.0], [273.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 140, 15), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9977476000785828, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '.R12', 'confidence': 0.8752309083938599, 'polygon': [[577.0, 152.0], [614.0, 152.0], [614.0, 163.0], [577.0, 163.0]], 'bbox': (577, 152, 38, 12), 'method': 'polygon'}, {'text': '518', 'confidence': 0.9874899387359619, 'polygon': [[487.0, 175.0], [607.0, 175.0], [607.0, 240.0], [487.0, 240.0]], 'bbox': (487, 175, 121, 66), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.998043417930603, 'polygon': [[78.0, 214.0], [293.0, 214.0], [293.0, 248.0], [78.0, 248.0]], 'bbox': (78, 214, 216, 35), 'method': 'polygon'}, {'text': 'MULTIBANDRADIO/BT/MUSICPLAYER', 'confidence': 0.9786054491996765, 'polygon': [[464.0, 244.0], [623.0, 244.0], [623.0, 258.0], [464.0, 258.0]], 'bbox': (464, 244, 160, 15), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9973577857017517, 'polygon': [[83.0, 279.0], [289.0, 279.0], [289.0, 303.0], [83.0, 303.0]], 'bbox': (83, 279, 207, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999405145645142, 'polygon': [[80.0, 335.0], [116.0, 335.0], [116.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 37, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9990990161895752, 'polygon': [[168.0, 336.0], [203.0, 336.0], [203.0, 365.0], [168.0, 365.0]], 'bbox': (168, 336, 36, 30), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9983933568000793, 'polygon': [[263.0, 336.0], [291.0, 336.0], [291.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 29, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9725102186203003, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '燕走兔', 'confidence': 0.5099726915359497, 'polygon': [[531.0, 409.0], [595.0, 411.0], [594.0, 441.0], [530.0, 439.0]], 'bbox': (530, 409, 66, 33), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9911617636680603, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9894267320632935, 'polygon': [[81.0, 516.0], [290.0, 518.0], [290.0, 546.0], [81.0, 544.0]], 'bbox': (81, 516, 210, 31), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.998805046081543, 'polygon': [[17.0, 659.0], [150.0, 661.0], [149.0, 729.0], [16.0, 727.0]], 'bbox': (16, 659, 135, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996638894081116, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '有线耳机', 'confidence': 0.9986416101455688, 'polygon': [[189.0, 769.0], [265.0, 769.0], [265.0, 790.0], [189.0, 790.0]], 'bbox': (189, 769, 77, 22), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9986200928688049, 'polygon': [[286.0, 769.0], [365.0, 769.0], [365.0, 790.0], [286.0, 790.0]], 'bbox': (286, 769, 80, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9982127547264099, 'polygon': [[386.0, 769.0], [446.0, 769.0], [446.0, 790.0], [386.0, 790.0]], 'bbox': (386, 769, 61, 22), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9986720085144043, 'polygon': [[472.0, 767.0], [531.0, 767.0], [531.0, 792.0], [472.0, 792.0]], 'bbox': (472, 767, 60, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9993775486946106, 'polygon': [[560.0, 769.0], [621.0, 769.0], [621.0, 790.0], [560.0, 790.0]], 'bbox': (560, 769, 62, 22), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9985522031784058, 'polygon': [[640.0, 769.0], [717.0, 769.0], [717.0, 790.0], [640.0, 790.0]], 'bbox': (640, 769, 78, 22), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9980430603027344, 'polygon': [[738.0, 767.0], [797.0, 767.0], [797.0, 792.0], [738.0, 792.0]], 'bbox': (738, 767, 60, 26), 'method': 'polygon'}]
[2025-10-24 09:41:03,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 92.3%): '暴走兔'
[2025-10-24 09:41:03,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 09:41:03,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '全波段收音机'
[2025-10-24 09:41:03,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '.R12'
[2025-10-24 09:41:03,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '518'
[2025-10-24 09:41:03,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '蓝牙音响'
[2025-10-24 09:41:03,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MULTIBANDRADIO/BT/MUSICPLAYER'
[2025-10-24 09:41:03,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '4000毫安锂电池'
[2025-10-24 09:41:03,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '手'
[2025-10-24 09:41:03,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '电'
[2025-10-24 09:41:03,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '筒'
[2025-10-24 09:41:03,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 97.3%): 'SOS警报/指南针'
[2025-10-24 09:41:03,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 51.0%): '燕走兔'
[2025-10-24 09:41:03,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.1%): '手摇/太阳能发电'
[2025-10-24 09:41:03,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.9%): '可插U盘/TF卡'
[2025-10-24 09:41:03,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '限时'
[2025-10-24 09:41:03,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '赠送'
[2025-10-24 09:41:03,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '有线耳机'
[2025-10-24 09:41:03,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '延长天线'
[2025-10-24 09:41:03,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '内存卡'
[2025-10-24 09:41:03,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '读卡器'
[2025-10-24 09:41:03,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '充电线'
[2025-10-24 09:41:03,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '礼盒礼袋'
[2025-10-24 09:41:03,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '充电头'
[2025-10-24 09:41:03,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 20/24개 (신뢰도 + & 중국어)
[2025-10-24 09:41:03,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '暴走兔', 'confidence': 0.9232043623924255, 'polygon': [[136.0, 21.0], [270.0, 23.0], [269.0, 63.0], [135.0, 61.0]], 'bbox': (135, 21, 136, 43), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9977476000785828, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.998043417930603, 'polygon': [[78.0, 214.0], [293.0, 214.0], [293.0, 248.0], [78.0, 248.0]], 'bbox': (78, 214, 216, 35), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9973577857017517, 'polygon': [[83.0, 279.0], [289.0, 279.0], [289.0, 303.0], [83.0, 303.0]], 'bbox': (83, 279, 207, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999405145645142, 'polygon': [[80.0, 335.0], [116.0, 335.0], [116.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 37, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9990990161895752, 'polygon': [[168.0, 336.0], [203.0, 336.0], [203.0, 365.0], [168.0, 365.0]], 'bbox': (168, 336, 36, 30), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9983933568000793, 'polygon': [[263.0, 336.0], [291.0, 336.0], [291.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 29, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9725102186203003, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '燕走兔', 'confidence': 0.5099726915359497, 'polygon': [[531.0, 409.0], [595.0, 411.0], [594.0, 441.0], [530.0, 439.0]], 'bbox': (530, 409, 66, 33), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9911617636680603, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9894267320632935, 'polygon': [[81.0, 516.0], [290.0, 518.0], [290.0, 546.0], [81.0, 544.0]], 'bbox': (81, 516, 210, 31), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.998805046081543, 'polygon': [[17.0, 659.0], [150.0, 661.0], [149.0, 729.0], [16.0, 727.0]], 'bbox': (16, 659, 135, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996638894081116, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '有线耳机', 'confidence': 0.9986416101455688, 'polygon': [[189.0, 769.0], [265.0, 769.0], [265.0, 790.0], [189.0, 790.0]], 'bbox': (189, 769, 77, 22), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9986200928688049, 'polygon': [[286.0, 769.0], [365.0, 769.0], [365.0, 790.0], [286.0, 790.0]], 'bbox': (286, 769, 80, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9982127547264099, 'polygon': [[386.0, 769.0], [446.0, 769.0], [446.0, 790.0], [386.0, 790.0]], 'bbox': (386, 769, 61, 22), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9986720085144043, 'polygon': [[472.0, 767.0], [531.0, 767.0], [531.0, 792.0], [472.0, 792.0]], 'bbox': (472, 767, 60, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9993775486946106, 'polygon': [[560.0, 769.0], [621.0, 769.0], [621.0, 790.0], [560.0, 790.0]], 'bbox': (560, 769, 62, 22), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9985522031784058, 'polygon': [[640.0, 769.0], [717.0, 769.0], [717.0, 790.0], [640.0, 790.0]], 'bbox': (640, 769, 78, 22), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9980430603027344, 'polygon': [[738.0, 767.0], [797.0, 767.0], [797.0, 792.0], [738.0, 792.0]], 'bbox': (738, 767, 60, 26), 'method': 'polygon'}]
[2025-10-24 09:41:03,900] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 20개 필터링 완료
[2025-10-24 09:41:03,900] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:41:04,338] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['도망친 토끼', '풀 밴드 라디오', '블루투스 스피커', '4000mAh 리튬 배터리', '손', '전기', '실린더', 'SOS 경보 / 나침반', '얀 주이투', '핸드 크랭크 / 태양광 발전', 'U 디스크 삽입 가능 / TF 카드', '제한된 시간', '포기하다', '유선 헤드폰', '확장 안테나', '메모리 카드', '카드 리더', '충전 케이블', '선물 상자 선물 가방', '충전 헤드']
[2025-10-24 09:41:04,339] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:41:04,339] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 14 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:41:04,347] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.269, comps=5, min_center_dist=0.273 → request
[2025-10-24 09:41:04,347] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 20
[2025-10-24 09:41:04,347] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:41:04,347] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:41:04,349] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:41:04,576] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:41:04,576] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 227.00 ms
[2025-10-24 09:41:04,585] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:41:04,586] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 43409.2MB -> 43414.4MB (+5.1MB, +0.0%) - 방법: migan
[2025-10-24 09:41:04,586] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:41:04,662] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:41:04,662] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:41:04,662] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:41:05,019] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_14.webp
[2025-10-24 09:41:05,020] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 14 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_14.webp
[2025-10-24 09:41:05,020] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 1969.5ms | download=0.0ms | ocr=538.5ms | translate=441.0ms | mask=441.0ms | inpaint=245.0ms(migan/DirectML) | render=76.0ms | save=313.0ms
[2025-10-24 09:41:05,021] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:41:05,021] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 09:41:05,021] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=878dbdc9-a5ef-4427-a1df-bd59f9c14f55
[2025-10-24 09:41:05,022] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=878dbdc9-a5ef-4427-a1df-bd59f9c14f55
[2025-10-24 09:41:05,022] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 09:41:05,022] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:41:05,022] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 32504)
[2025-10-24 09:41:05,039] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:41:05,080] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 09:41:05,080] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 09:41:05,080] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 09:41:05,081] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 09:41:05,081] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 09:41:05,613] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=22368
[2025-10-24 09:41:06,158] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=22368, Name=ImageWorkerProcess)
[2025-10-24 09:41:06,158] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 09:41:06,159] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 09:41:06,166] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 09:41:06,166] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 09:41:06,166] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 09:41:06,166] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 09:41:06,166] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 09:41:06,166] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 09:41:06,167] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 09:41:06,167] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 09:41:06,167] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 09:41:06,167] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 09:41:06,167] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 09:41:06,167] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:41:06,167] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 09:41:06,167] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:41:06,167] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:41:06,167] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 09:41:06,167] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 09:41:06,167] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 09:41:06,168] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 09:41:06,168] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 09:41:06,168] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 09:41:06,168] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 09:41:06,168] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 09:41:06,168] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 09:41:06,168] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:41:06,168] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:41:07,767] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 09:41:07,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 09:41:07,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 09:41:07,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 09:41:07,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 09:41:07,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 09:41:07,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 09:41:07,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 09:41:07,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:41:07,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 09:41:07,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:41:07,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 09:41:07,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 09:41:07,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 09:41:07,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 09:41:07,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 09:41:07,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 09:41:07,872] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 09:41:08,083] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:41:08,083] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 09:41:08,083] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:41:08,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:41:08,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:41:08,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:41:08,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:41:08,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 09:41:08,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:41:08,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 09:41:08,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x0000026D1F0D9490>
[2025-10-24 09:41:08,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x0000026D1F0D9490>
[2025-10-24 09:41:08,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 09:41:08,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:41:08,089] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 5.0ms
[2025-10-24 09:41:08,089] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 09:41:08,089] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 09:41:08,093] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 09:41:08,093] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 09:41:08,093] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:41:08,093] [WorkerRoller] [INFO] [loggerModule.py:info:281] 버퍼 작업 재개: 1건
[2025-10-24 09:41:08,093] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:41:08,093] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 09:41:08,094] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:41:08,094] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 22368)
[2025-10-24 09:41:08,094] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:41:08,094] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=e02240bd-dc55-466c-a307-6752179e6220
[2025-10-24 09:41:08,094] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:41:08,095] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:41:08,095] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:41:08,097] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:41:08,331] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 15 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_4d024ed7f883.jpg - 전체 번역 모드
[2025-10-24 09:41:08,336] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_4d024ed7f883.jpg
[2025-10-24 09:41:08,336] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 09:41:08,337] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 15 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_4d024ed7f883.jpg
[2025-10-24 09:41:08,338] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:41:08,968] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 628.0ms
[2025-10-24 09:41:08,968] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 115.0ms, 인식: 486.0ms, 분류: 20.0ms
[2025-10-24 09:41:08,986] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 43134.2MB -> 43392.2MB (+258.0MB, +0.6%) - 이미지 15
[2025-10-24 09:41:09,000] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '暴走兔', 'confidence': 0.9141947627067566, 'polygon': [[136.0, 21.0], [270.0, 23.0], [269.0, 63.0], [135.0, 61.0]], 'bbox': (135, 21, 136, 43), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.9931288957595825, 'polygon': [[134.0, 73.0], [273.0, 73.0], [273.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 140, 15), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.997622013092041, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '..R12', 'confidence': 0.7803670763969421, 'polygon': [[573.0, 152.0], [616.0, 152.0], [616.0, 163.0], [573.0, 163.0]], 'bbox': (573, 152, 44, 12), 'method': 'polygon'}, {'text': '518', 'confidence': 0.990628719329834, 'polygon': [[488.0, 174.0], [606.0, 174.0], [606.0, 240.0], [488.0, 240.0]], 'bbox': (488, 174, 119, 67), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.998444676399231, 'polygon': [[78.0, 211.0], [294.0, 213.0], [294.0, 248.0], [78.0, 246.0]], 'bbox': (78, 211, 217, 38), 'method': 'polygon'}, {'text': 'UH', 'confidence': 0.7753715515136719, 'polygon': [[608.0, 228.0], [621.0, 228.0], [621.0, 237.0], [608.0, 237.0]], 'bbox': (608, 228, 14, 10), 'method': 'polygon'}, {'text': 'MULTIBANDRADIO/BT/MUSICPLAYER', 'confidence': 0.9853014349937439, 'polygon': [[464.0, 244.0], [623.0, 244.0], [623.0, 257.0], [464.0, 257.0]], 'bbox': (464, 244, 160, 14), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9978502988815308, 'polygon': [[82.0, 279.0], [289.0, 279.0], [289.0, 303.0], [82.0, 303.0]], 'bbox': (82, 279, 208, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999699592590332, 'polygon': [[80.0, 335.0], [113.0, 335.0], [113.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 34, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9992403984069824, 'polygon': [[168.0, 336.0], [204.0, 336.0], [204.0, 365.0], [168.0, 365.0]], 'bbox': (168, 336, 37, 30), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9993694424629211, 'polygon': [[263.0, 336.0], [290.0, 336.0], [290.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 28, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9649543762207031, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '燕走兔', 'confidence': 0.5333335995674133, 'polygon': [[531.0, 409.0], [595.0, 411.0], [594.0, 441.0], [530.0, 439.0]], 'bbox': (530, 409, 66, 33), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9916104078292847, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9921554923057556, 'polygon': [[81.0, 516.0], [290.0, 518.0], [290.0, 546.0], [81.0, 544.0]], 'bbox': (81, 516, 210, 31), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.998456597328186, 'polygon': [[18.0, 659.0], [151.0, 661.0], [150.0, 728.0], [17.0, 726.0]], 'bbox': (17, 659, 135, 70), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.999679446220398, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '有线耳机', 'confidence': 0.9987638592720032, 'polygon': [[188.0, 769.0], [265.0, 769.0], [265.0, 790.0], [188.0, 790.0]], 'bbox': (188, 769, 78, 22), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9987039566040039, 'polygon': [[286.0, 769.0], [365.0, 769.0], [365.0, 790.0], [286.0, 790.0]], 'bbox': (286, 769, 80, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9983070492744446, 'polygon': [[386.0, 769.0], [446.0, 769.0], [446.0, 790.0], [386.0, 790.0]], 'bbox': (386, 769, 61, 22), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9987214207649231, 'polygon': [[472.0, 767.0], [531.0, 767.0], [531.0, 792.0], [472.0, 792.0]], 'bbox': (472, 767, 60, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9992160797119141, 'polygon': [[560.0, 769.0], [621.0, 769.0], [621.0, 790.0], [560.0, 790.0]], 'bbox': (560, 769, 62, 22), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9988760948181152, 'polygon': [[636.0, 769.0], [716.0, 769.0], [716.0, 790.0], [636.0, 790.0]], 'bbox': (636, 769, 81, 22), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9980059266090393, 'polygon': [[738.0, 767.0], [797.0, 767.0], [797.0, 792.0], [738.0, 792.0]], 'bbox': (738, 767, 60, 26), 'method': 'polygon'}]
[2025-10-24 09:41:09,021] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 91.4%): '暴走兔'
[2025-10-24 09:41:09,022] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 09:41:09,022] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '全波段收音机'
[2025-10-24 09:41:09,022] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '..R12'
[2025-10-24 09:41:09,022] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '518'
[2025-10-24 09:41:09,022] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '蓝牙音响'
[2025-10-24 09:41:09,022] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'UH'
[2025-10-24 09:41:09,022] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MULTIBANDRADIO/BT/MUSICPLAYER'
[2025-10-24 09:41:09,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '4000毫安锂电池'
[2025-10-24 09:41:09,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '手'
[2025-10-24 09:41:09,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '电'
[2025-10-24 09:41:09,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '筒'
[2025-10-24 09:41:09,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 96.5%): 'SOS警报/指南针'
[2025-10-24 09:41:09,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 53.3%): '燕走兔'
[2025-10-24 09:41:09,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.2%): '手摇/太阳能发电'
[2025-10-24 09:41:09,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.2%): '可插U盘/TF卡'
[2025-10-24 09:41:09,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '限时'
[2025-10-24 09:41:09,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '赠送'
[2025-10-24 09:41:09,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '有线耳机'
[2025-10-24 09:41:09,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '延长天线'
[2025-10-24 09:41:09,024] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '内存卡'
[2025-10-24 09:41:09,024] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '读卡器'
[2025-10-24 09:41:09,024] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '充电线'
[2025-10-24 09:41:09,024] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '礼盒礼袋'
[2025-10-24 09:41:09,024] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '充电头'
[2025-10-24 09:41:09,024] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 20/25개 (신뢰도 + & 중국어)
[2025-10-24 09:41:09,024] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '暴走兔', 'confidence': 0.9141947627067566, 'polygon': [[136.0, 21.0], [270.0, 23.0], [269.0, 63.0], [135.0, 61.0]], 'bbox': (135, 21, 136, 43), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.997622013092041, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.998444676399231, 'polygon': [[78.0, 211.0], [294.0, 213.0], [294.0, 248.0], [78.0, 246.0]], 'bbox': (78, 211, 217, 38), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9978502988815308, 'polygon': [[82.0, 279.0], [289.0, 279.0], [289.0, 303.0], [82.0, 303.0]], 'bbox': (82, 279, 208, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999699592590332, 'polygon': [[80.0, 335.0], [113.0, 335.0], [113.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 34, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9992403984069824, 'polygon': [[168.0, 336.0], [204.0, 336.0], [204.0, 365.0], [168.0, 365.0]], 'bbox': (168, 336, 37, 30), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9993694424629211, 'polygon': [[263.0, 336.0], [290.0, 336.0], [290.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 28, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9649543762207031, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '燕走兔', 'confidence': 0.5333335995674133, 'polygon': [[531.0, 409.0], [595.0, 411.0], [594.0, 441.0], [530.0, 439.0]], 'bbox': (530, 409, 66, 33), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9916104078292847, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9921554923057556, 'polygon': [[81.0, 516.0], [290.0, 518.0], [290.0, 546.0], [81.0, 544.0]], 'bbox': (81, 516, 210, 31), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.998456597328186, 'polygon': [[18.0, 659.0], [151.0, 661.0], [150.0, 728.0], [17.0, 726.0]], 'bbox': (17, 659, 135, 70), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.999679446220398, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '有线耳机', 'confidence': 0.9987638592720032, 'polygon': [[188.0, 769.0], [265.0, 769.0], [265.0, 790.0], [188.0, 790.0]], 'bbox': (188, 769, 78, 22), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9987039566040039, 'polygon': [[286.0, 769.0], [365.0, 769.0], [365.0, 790.0], [286.0, 790.0]], 'bbox': (286, 769, 80, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9983070492744446, 'polygon': [[386.0, 769.0], [446.0, 769.0], [446.0, 790.0], [386.0, 790.0]], 'bbox': (386, 769, 61, 22), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9987214207649231, 'polygon': [[472.0, 767.0], [531.0, 767.0], [531.0, 792.0], [472.0, 792.0]], 'bbox': (472, 767, 60, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9992160797119141, 'polygon': [[560.0, 769.0], [621.0, 769.0], [621.0, 790.0], [560.0, 790.0]], 'bbox': (560, 769, 62, 22), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9988760948181152, 'polygon': [[636.0, 769.0], [716.0, 769.0], [716.0, 790.0], [636.0, 790.0]], 'bbox': (636, 769, 81, 22), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9980059266090393, 'polygon': [[738.0, 767.0], [797.0, 767.0], [797.0, 792.0], [738.0, 792.0]], 'bbox': (738, 767, 60, 26), 'method': 'polygon'}]
[2025-10-24 09:41:09,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 20개 필터링 완료
[2025-10-24 09:41:09,048] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:41:09,578] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['도망친 토끼', '풀 밴드 라디오', '블루투스 스피커', '4000mAh 리튬 배터리', '손', '전기', '실린더', 'SOS 경보 / 나침반', '얀 주이투', '핸드 크랭크 / 태양광 발전', 'U 디스크 삽입 가능 / TF 카드', '제한된 시간', '포기하다', '유선 헤드폰', '확장 안테나', '메모리 카드', '카드 리더', '충전 케이블', '선물 상자 선물 가방', '충전 헤드']
[2025-10-24 09:41:09,578] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:41:09,578] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 15 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:41:09,584] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.269, comps=5, min_center_dist=0.273 → request
[2025-10-24 09:41:09,585] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 20
[2025-10-24 09:41:09,585] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:41:09,585] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:41:09,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:41:09,937] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:41:09,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 350.35 ms
[2025-10-24 09:41:09,945] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:41:09,945] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 43422.8MB -> 43618.9MB (+196.1MB, +0.5%) - 방법: migan
[2025-10-24 09:41:09,945] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:41:10,017] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:41:10,018] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:41:10,018] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:41:10,322] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_15.webp
[2025-10-24 09:41:10,323] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 15 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_15.webp
[2025-10-24 09:41:10,323] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 2226.6ms | download=0.0ms | ocr=638.0ms | translate=555.8ms | mask=555.8ms | inpaint=366.1ms(migan/DirectML) | render=72.3ms | save=271.0ms
[2025-10-24 09:41:10,324] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:41:10,325] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=e02240bd-dc55-466c-a307-6752179e6220
[2025-10-24 09:41:10,325] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=e02240bd-dc55-466c-a307-6752179e6220
[2025-10-24 09:41:10,325] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:41:10,325] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 22368)
[2025-10-24 09:41:12,146] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:41:12,146] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=dcbda892-9f96-4f83-97e7-4f25afd93607
[2025-10-24 09:41:12,146] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:41:12,146] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:41:12,147] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:41:12,147] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:41:12,474] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 16 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_4fe277249667.jpg - 전체 번역 모드
[2025-10-24 09:41:12,480] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_4fe277249667.jpg
[2025-10-24 09:41:12,480] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 09:41:12,480] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 16 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_4fe277249667.jpg
[2025-10-24 09:41:12,481] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:41:13,092] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 608.0ms
[2025-10-24 09:41:13,110] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 101.0ms, 인식: 482.0ms, 분류: 19.0ms
[2025-10-24 09:41:13,120] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 43683.0MB -> 43714.7MB (+31.8MB, +0.1%) - 이미지 16
[2025-10-24 09:41:13,121] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '暴走兔', 'confidence': 0.9141947627067566, 'polygon': [[136.0, 21.0], [270.0, 23.0], [269.0, 63.0], [135.0, 61.0]], 'bbox': (135, 21, 136, 43), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.9931288957595825, 'polygon': [[134.0, 73.0], [273.0, 73.0], [273.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 140, 15), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.997622013092041, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '..R12', 'confidence': 0.7803670763969421, 'polygon': [[573.0, 152.0], [616.0, 152.0], [616.0, 163.0], [573.0, 163.0]], 'bbox': (573, 152, 44, 12), 'method': 'polygon'}, {'text': '518', 'confidence': 0.9855506420135498, 'polygon': [[488.0, 174.0], [607.0, 174.0], [607.0, 240.0], [488.0, 240.0]], 'bbox': (488, 174, 120, 67), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.998444676399231, 'polygon': [[78.0, 211.0], [294.0, 213.0], [294.0, 248.0], [78.0, 246.0]], 'bbox': (78, 211, 217, 38), 'method': 'polygon'}, {'text': 'UH', 'confidence': 0.7753715515136719, 'polygon': [[608.0, 228.0], [621.0, 228.0], [621.0, 237.0], [608.0, 237.0]], 'bbox': (608, 228, 14, 10), 'method': 'polygon'}, {'text': 'MULTIBANDRADIO/BT/MUSICPLAYER', 'confidence': 0.9853014349937439, 'polygon': [[464.0, 244.0], [623.0, 244.0], [623.0, 257.0], [464.0, 257.0]], 'bbox': (464, 244, 160, 14), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.997366189956665, 'polygon': [[83.0, 279.0], [289.0, 279.0], [289.0, 303.0], [83.0, 303.0]], 'bbox': (83, 279, 207, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999699592590332, 'polygon': [[80.0, 335.0], [113.0, 335.0], [113.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 34, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9992403984069824, 'polygon': [[168.0, 336.0], [204.0, 336.0], [204.0, 365.0], [168.0, 365.0]], 'bbox': (168, 336, 37, 30), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9993694424629211, 'polygon': [[263.0, 336.0], [290.0, 336.0], [290.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 28, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9649543762207031, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '燕走兔', 'confidence': 0.5333335995674133, 'polygon': [[531.0, 409.0], [595.0, 411.0], [594.0, 441.0], [530.0, 439.0]], 'bbox': (530, 409, 66, 33), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9916104078292847, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9921554923057556, 'polygon': [[81.0, 516.0], [290.0, 518.0], [290.0, 546.0], [81.0, 544.0]], 'bbox': (81, 516, 210, 31), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9986151456832886, 'polygon': [[17.0, 659.0], [151.0, 661.0], [150.0, 729.0], [16.0, 727.0]], 'bbox': (16, 659, 136, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.999679446220398, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '军工包', 'confidence': 0.9988964200019836, 'polygon': [[205.0, 768.0], [264.0, 768.0], [264.0, 790.0], [205.0, 790.0]], 'bbox': (205, 768, 60, 23), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9986525774002075, 'polygon': [[284.0, 769.0], [363.0, 769.0], [363.0, 790.0], [284.0, 790.0]], 'bbox': (284, 769, 80, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9983696937561035, 'polygon': [[385.0, 769.0], [445.0, 769.0], [445.0, 790.0], [385.0, 790.0]], 'bbox': (385, 769, 61, 22), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9987451434135437, 'polygon': [[472.0, 767.0], [531.0, 767.0], [531.0, 792.0], [472.0, 792.0]], 'bbox': (472, 767, 60, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9994004368782043, 'polygon': [[558.0, 769.0], [617.0, 769.0], [617.0, 790.0], [558.0, 790.0]], 'bbox': (558, 769, 60, 22), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9989432692527771, 'polygon': [[638.0, 769.0], [716.0, 769.0], [716.0, 790.0], [638.0, 790.0]], 'bbox': (638, 769, 79, 22), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9980294108390808, 'polygon': [[735.0, 767.0], [794.0, 767.0], [794.0, 792.0], [735.0, 792.0]], 'bbox': (735, 767, 60, 26), 'method': 'polygon'}]
[2025-10-24 09:41:13,121] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 91.4%): '暴走兔'
[2025-10-24 09:41:13,121] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 09:41:13,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '全波段收音机'
[2025-10-24 09:41:13,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '..R12'
[2025-10-24 09:41:13,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '518'
[2025-10-24 09:41:13,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '蓝牙音响'
[2025-10-24 09:41:13,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'UH'
[2025-10-24 09:41:13,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MULTIBANDRADIO/BT/MUSICPLAYER'
[2025-10-24 09:41:13,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '4000毫安锂电池'
[2025-10-24 09:41:13,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '手'
[2025-10-24 09:41:13,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '电'
[2025-10-24 09:41:13,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '筒'
[2025-10-24 09:41:13,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 96.5%): 'SOS警报/指南针'
[2025-10-24 09:41:13,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 53.3%): '燕走兔'
[2025-10-24 09:41:13,123] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.2%): '手摇/太阳能发电'
[2025-10-24 09:41:13,123] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.2%): '可插U盘/TF卡'
[2025-10-24 09:41:13,123] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '限时'
[2025-10-24 09:41:13,123] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '赠送'
[2025-10-24 09:41:13,123] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '军工包'
[2025-10-24 09:41:13,123] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '延长天线'
[2025-10-24 09:41:13,123] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '内存卡'
[2025-10-24 09:41:13,123] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '读卡器'
[2025-10-24 09:41:13,123] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '充电线'
[2025-10-24 09:41:13,123] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '礼盒礼袋'
[2025-10-24 09:41:13,123] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '充电头'
[2025-10-24 09:41:13,123] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 20/25개 (신뢰도 + & 중국어)
[2025-10-24 09:41:13,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '暴走兔', 'confidence': 0.9141947627067566, 'polygon': [[136.0, 21.0], [270.0, 23.0], [269.0, 63.0], [135.0, 61.0]], 'bbox': (135, 21, 136, 43), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.997622013092041, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.998444676399231, 'polygon': [[78.0, 211.0], [294.0, 213.0], [294.0, 248.0], [78.0, 246.0]], 'bbox': (78, 211, 217, 38), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.997366189956665, 'polygon': [[83.0, 279.0], [289.0, 279.0], [289.0, 303.0], [83.0, 303.0]], 'bbox': (83, 279, 207, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999699592590332, 'polygon': [[80.0, 335.0], [113.0, 335.0], [113.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 34, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9992403984069824, 'polygon': [[168.0, 336.0], [204.0, 336.0], [204.0, 365.0], [168.0, 365.0]], 'bbox': (168, 336, 37, 30), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9993694424629211, 'polygon': [[263.0, 336.0], [290.0, 336.0], [290.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 28, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9649543762207031, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '燕走兔', 'confidence': 0.5333335995674133, 'polygon': [[531.0, 409.0], [595.0, 411.0], [594.0, 441.0], [530.0, 439.0]], 'bbox': (530, 409, 66, 33), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9916104078292847, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.9921554923057556, 'polygon': [[81.0, 516.0], [290.0, 518.0], [290.0, 546.0], [81.0, 544.0]], 'bbox': (81, 516, 210, 31), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9986151456832886, 'polygon': [[17.0, 659.0], [151.0, 661.0], [150.0, 729.0], [16.0, 727.0]], 'bbox': (16, 659, 136, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.999679446220398, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '军工包', 'confidence': 0.9988964200019836, 'polygon': [[205.0, 768.0], [264.0, 768.0], [264.0, 790.0], [205.0, 790.0]], 'bbox': (205, 768, 60, 23), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9986525774002075, 'polygon': [[284.0, 769.0], [363.0, 769.0], [363.0, 790.0], [284.0, 790.0]], 'bbox': (284, 769, 80, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9983696937561035, 'polygon': [[385.0, 769.0], [445.0, 769.0], [445.0, 790.0], [385.0, 790.0]], 'bbox': (385, 769, 61, 22), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9987451434135437, 'polygon': [[472.0, 767.0], [531.0, 767.0], [531.0, 792.0], [472.0, 792.0]], 'bbox': (472, 767, 60, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9994004368782043, 'polygon': [[558.0, 769.0], [617.0, 769.0], [617.0, 790.0], [558.0, 790.0]], 'bbox': (558, 769, 60, 22), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9989432692527771, 'polygon': [[638.0, 769.0], [716.0, 769.0], [716.0, 790.0], [638.0, 790.0]], 'bbox': (638, 769, 79, 22), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9980294108390808, 'polygon': [[735.0, 767.0], [794.0, 767.0], [794.0, 792.0], [735.0, 792.0]], 'bbox': (735, 767, 60, 26), 'method': 'polygon'}]
[2025-10-24 09:41:13,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 20개 필터링 완료
[2025-10-24 09:41:13,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:41:13,646] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['도망친 토끼', '풀 밴드 라디오', '블루투스 스피커', '4000mAh 리튬 배터리', '손', '전기', '실린더', 'SOS 경보 / 나침반', '얀 주이투', '핸드 크랭크 / 태양광 발전', 'U 디스크 삽입 가능 / TF 카드', '제한된 시간', '포기하다', '군사 가방', '확장 안테나', '메모리 카드', '카드 리더', '충전 케이블', '선물 상자 선물 가방', '충전 헤드']
[2025-10-24 09:41:13,646] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:41:13,646] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 16 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:41:13,653] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.268, comps=5, min_center_dist=0.273 → request
[2025-10-24 09:41:13,653] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 20
[2025-10-24 09:41:13,653] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:41:13,653] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:41:13,655] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:41:13,866] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:41:13,866] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 211.64 ms
[2025-10-24 09:41:13,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:41:13,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 43718.9MB -> 43734.4MB (+15.5MB, +0.0%) - 방법: migan
[2025-10-24 09:41:13,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:41:13,955] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:41:13,955] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:41:13,956] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:41:14,288] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_16.webp
[2025-10-24 09:41:14,289] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 16 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_16.webp
[2025-10-24 09:41:14,289] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 2141.8ms | download=0.0ms | ocr=618.0ms | translate=525.0ms | mask=525.0ms | inpaint=227.6ms(migan/DirectML) | render=80.3ms | save=288.4ms
[2025-10-24 09:41:14,290] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:41:14,290] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 09:41:14,290] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=dcbda892-9f96-4f83-97e7-4f25afd93607
[2025-10-24 09:41:14,291] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=dcbda892-9f96-4f83-97e7-4f25afd93607
[2025-10-24 09:41:14,291] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 09:41:14,291] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:41:14,291] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 22368)
[2025-10-24 09:41:14,307] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:41:14,341] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 09:41:14,342] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 09:41:14,342] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 09:41:14,343] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 09:41:14,343] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 09:41:14,847] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=31976
[2025-10-24 09:41:15,376] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=31976, Name=ImageWorkerProcess)
[2025-10-24 09:41:15,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 09:41:15,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 09:41:15,384] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 09:41:15,384] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 09:41:15,384] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 09:41:15,384] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 09:41:15,384] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 09:41:15,385] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 09:41:15,385] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 09:41:15,385] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 09:41:15,385] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 09:41:15,385] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 09:41:15,385] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 09:41:15,385] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:41:15,385] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 09:41:15,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:41:15,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:41:15,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 09:41:15,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 09:41:15,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 09:41:15,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 09:41:15,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 09:41:15,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 09:41:15,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 09:41:15,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 09:41:15,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 09:41:15,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:41:15,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:41:16,983] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 09:41:17,080] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 09:41:17,081] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 09:41:17,081] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 09:41:17,081] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 09:41:17,081] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 09:41:17,082] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 09:41:17,082] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 09:41:17,082] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:41:17,082] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 09:41:17,082] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:41:17,082] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 09:41:17,082] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 09:41:17,082] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 09:41:17,083] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 09:41:17,083] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 09:41:17,083] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 09:41:17,104] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 09:41:17,352] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:41:17,353] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 09:41:17,353] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:41:17,353] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:41:17,353] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:41:17,353] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:41:17,353] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:41:17,353] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 09:41:17,353] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:41:17,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 09:41:17,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x000002247D347110>
[2025-10-24 09:41:17,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x000002247D347110>
[2025-10-24 09:41:17,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 09:41:17,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:41:17,358] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 5.0ms
[2025-10-24 09:41:17,359] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 09:41:17,359] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 09:41:17,363] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 09:41:17,363] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 09:41:17,363] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:41:17,364] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:41:17,364] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 09:41:17,364] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:41:17,364] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31976)
[2025-10-24 09:41:29,714] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:41:29,714] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=remove_background, uid=dd92af42-6277-40fe-ac44-9010e1a88c9a
[2025-10-24 09:41:29,715] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 09:41:29,715] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=remove_background
[2025-10-24 09:41:29,715] [LogListener] [DEBUG] [loggerModule.py:debug:275] remove_background 호출 직전
[2025-10-24 09:41:29,715] [LogListener] [DEBUG] [loggerModule.py:debug:275] request_rembg 호출: use_local_rembg=True, local_model_name=birefnet-general-lite
[2025-10-24 09:41:29,717] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 백업 rembg 시작: model_name=birefnet-general-lite, object_ratio=0.95, debug_save=True, force_cpu=False
[2025-10-24 09:41:29,717] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📁 디버그 이미지 저장 디렉토리: C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_l49r0pkc
[2025-10-24 09:41:29,732] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 1단계 저장 완료: 입력 이미지 (800, 800, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_l49r0pkc\01_input_image.png
[2025-10-24 09:41:29,732] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 모듈 초기화 시작
[2025-10-24 09:41:29,732] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX Runtime 사용 가능한 프로바이더: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:41:29,732] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI CPU 모드로 설정
[2025-10-24 09:41:29,733] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 모듈 초기화 완료
[2025-10-24 09:41:29,733] [LogListener] [DEBUG] [loggerModule.py:debug:275] 백업용 내장 rembg 모듈 초기화됨
[2025-10-24 09:41:29,733] [LogListener] [WARNING] [loggerModule.py:warning:287] 지원하지 않는 모델명 (birefnet-general-lite). bria-rmbg-1.4로 대체 사용
[2025-10-24 09:41:29,759] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 안전한 임시 파일 생성: C:\Users\ADMINI~1\AppData\Local\Temp\rembg_c14ea288.png (크기: 898113 bytes)
[2025-10-24 09:41:29,760] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 2단계 저장 완료: 임시 파일 복사 → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_l49r0pkc\02_temp_file_copy.png
[2025-10-24 09:41:29,760] [LogListener] [DEBUG] [loggerModule.py:debug:275] 백업 rembg 모듈로 배경 제거 시작: bria-rmbg-1.4
[2025-10-24 09:41:29,760] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 DirectML GPU 모드로 배경 제거 실행
[2025-10-24 09:41:29,760] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI ONNX 모델 로딩 시도 (원본 providers): D:\py\img_worker\modules\rembg_models\BriaRMBG1.4_model_fp16.onnx
[2025-10-24 09:41:29,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ BriaAI ONNX 모델 로딩 완료 (원본 providers) | Providers: ['CPUExecutionProvider'] | Input: input | Output: output
[2025-10-24 09:41:29,908] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 시작: bria-rmbg-1.4 (aggressiveness=0.5)
[2025-10-24 09:41:29,919] [LogListener] [DEBUG] [loggerModule.py:debug:275] 전처리 완료: (800, 800, 3) -> (1, 3, 1024, 1024), 값 범위: [-0.500, 0.500]
[2025-10-24 09:41:30,344] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 출력 개수: 1, 첫 번째 출력 shape: (1, 1, 1024, 1024)
[2025-10-24 09:41:30,344] [LogListener] [DEBUG] [loggerModule.py:debug:275] 추론 완료: (1024, 1024), 값 범위: [0.000, 1.000]
[2025-10-24 09:41:30,358] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ BriaAI 배경제거 성공: bria-rmbg-1.4 (CPU, 0.45초)
[2025-10-24 09:41:30,360] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 마스크 통계: {'min': 0, 'max': 255, 'mean': 100.32096875, 'nonzero_count': 271913}
[2025-10-24 09:41:30,361] [LogListener] [DEBUG] [loggerModule.py:debug:275] DirectML GPU 모드로 배경 제거 성공
[2025-10-24 09:41:30,361] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 백업 rembg 처리 성공: RGB, 크기: (800, 800)
[2025-10-24 09:41:30,398] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 3단계 저장 완료: PIL 결과 RGB (800, 800) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_l49r0pkc\03_pil_result.png
[2025-10-24 09:41:30,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 PIL 결과 분석: mode=RGB, size=(800, 800), format=None
[2025-10-24 09:41:30,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 PIL 밴드: ('R', 'G', 'B')
[2025-10-24 09:41:30,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔄 RGB → BGR 변환: (800, 800, 3)
[2025-10-24 09:41:30,408] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 4단계 저장 완료: numpy 변환 결과 (800, 800, 3) (흰배경 합성 완료) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_l49r0pkc\04_numpy_result.png
[2025-10-24 09:41:30,408] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 후처리 시작: object_ratio=0.95
[2025-10-24 09:41:30,408] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎨 후처리 시작: 입력 이미지 크기 (800, 800, 3), object_ratio=0.95
[2025-10-24 09:41:30,409] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ BGR 이미지 처리: 그레이 < 250인 픽셀 수: 253502
[2025-10-24 09:41:30,419] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 5단계 저장: 초기 마스크 (253502개 픽셀) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_l49r0pkc\05_initial_mask.png
[2025-10-24 09:41:30,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 마스크 정제: 정제 전 253502개 → 정제 후 270195개 픽셀
[2025-10-24 09:41:30,422] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 6단계 저장: 정제된 마스크 (270195개 픽셀) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_l49r0pkc\06_refined_mask.png
[2025-10-24 09:41:30,424] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 연결 요소 분석: 22개 객체 발견
[2025-10-24 09:41:30,425] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 최대 연결 요소 선택: 149106개 픽셀
[2025-10-24 09:41:30,427] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 7단계 저장: 연결 요소 마스크 (149106개 픽셀) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_l49r0pkc\07_component_mask.png
[2025-10-24 09:41:30,428] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📐 바운딩 박스 계산: 유효 픽셀 149106개
[2025-10-24 09:41:30,429] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✂️ 크롭 영역: (393,86) ~ (761,632), 크기: (547, 369, 3)
[2025-10-24 09:41:30,434] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 9단계 저장: 바운딩 박스 크롭 (547, 369, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_l49r0pkc\09_bbox_crop.png
[2025-10-24 09:41:30,434] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📏 마진 추가: 5px, 최종 크기: (557, 379, 3)
[2025-10-24 09:41:30,439] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 10단계 저장: 마진 추가 (557, 379, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_l49r0pkc\10_with_margin.png
[2025-10-24 09:41:30,439] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 이미지 처리 완료 (이미 흰배경 합성됨): (557, 379, 3)
[2025-10-24 09:41:30,444] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 11단계 저장: 흰 배경 합성 (557, 379, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_l49r0pkc\11_white_background.png
[2025-10-24 09:41:30,445] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 1000x1000 리사이즈 시작: object_ratio=0.95, final_img.shape=(557, 379, 3)
[2025-10-24 09:41:30,445] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 정사각형 캔버스 생성 시작: 입력=557x379, 목표=1000x1000, 객체비율=0.95
[2025-10-24 09:41:30,445] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 이미지 리사이즈 완료: 557x379 → 950x646 (scale_factor=1.706)
[2025-10-24 09:41:30,446] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 정사각형 캔버스 생성: (1000, 1000, 3)
[2025-10-24 09:41:30,446] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 이미지 배치 완료: offset=(177,25), size=(646,950)
[2025-10-24 09:41:30,451] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 정사각형 캔버스 완성: 95% 스케일링, 1000x1000, DPI 72
[2025-10-24 09:41:30,451] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 1000x1000 리사이즈 완료: (1000, 1000, 3)
[2025-10-24 09:41:30,451] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 백업 rembg 후처리 완료: (1000, 1000, 3)
[2025-10-24 09:41:30,464] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 최종 결과 저장: (1000, 1000, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_l49r0pkc\99_final_result.png
[2025-10-24 09:41:30,465] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 파일 삭제 완료: C:\Users\ADMINI~1\AppData\Local\Temp\rembg_c14ea288.png
[2025-10-24 09:41:30,479] [LogListener] [DEBUG] [loggerModule.py:debug:275] 배경제거 이미지 저장: C:\ProgramData\ImgWorker\work\nobg_thumb_rmb_dl_2bea915efa3c.png
[2025-10-24 09:41:30,487] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:41:30,846] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 357.0ms
[2025-10-24 09:41:30,846] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 134.0ms, 인식: 207.0ms, 분류: 12.0ms
[2025-10-24 09:41:30,870] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 93.5%): '已'
[2025-10-24 09:41:30,870] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'FM'
[2025-10-24 09:41:30,870] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'AM'
[2025-10-24 09:41:30,870] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BTTFUSB'
[2025-10-24 09:41:30,870] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'SWWB'
[2025-10-24 09:41:30,871] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '157100'
[2025-10-24 09:41:30,871] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'OH3'
[2025-10-24 09:41:30,871] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'R11..'
[2025-10-24 09:41:30,871] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '1OTUNE'
[2025-10-24 09:41:30,871] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'RADIO/BT/MUSICPLAYER'
[2025-10-24 09:41:30,871] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'GONE'
[2025-10-24 09:41:30,871] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 1/11개 (신뢰도 + & 중국어)
[2025-10-24 09:41:30,871] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 1개 필터링 완료
[2025-10-24 09:41:30,880] [LogListener] [DEBUG] [loggerModule.py:debug:275] 배경제거 후 마스크 생성 완료
[2025-10-24 09:41:30,880] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:41:30,889] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 1000, 1000), 마스크: (1, 1, 1000, 1000)
[2025-10-24 09:41:31,404] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (1000, 1000, 3), dtype: uint8
[2025-10-24 09:41:31,404] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 513.65 ms
[2025-10-24 09:41:31,407] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:41:31,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 이미지 저장: C:\ProgramData\ImgWorker\work\inpaint_thumb_rmb_dl_2bea915efa3c.png
[2025-10-24 09:41:31,421] [LogListener] [DEBUG] [loggerModule.py:debug:275] remove_background 호출 완료
[2025-10-24 09:41:31,421] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=dd92af42-6277-40fe-ac44-9010e1a88c9a
[2025-10-24 09:41:31,421] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=dd92af42-6277-40fe-ac44-9010e1a88c9a
[2025-10-24 09:41:31,421] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:41:31,421] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31976)
[2025-10-24 09:41:34,183] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:41:34,183] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=315df8fd-fd4a-43a8-8c4f-18a9bf81b884
[2025-10-24 09:41:34,184] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:41:34,184] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:41:34,184] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:41:34,185] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:41:34,445] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_1aab69dde92a.jpg - 전체 번역 모드
[2025-10-24 09:41:34,450] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_1aab69dde92a.jpg
[2025-10-24 09:41:34,450] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: thumb
[2025-10-24 09:41:34,450] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 로컬 저장위치(썸네일 스케일 처리 완료): C:\ProgramData\ImgWorker\incoming\dl_1aab69dde92a.jpg
[2025-10-24 09:41:34,452] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:41:34,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 229.0ms
[2025-10-24 09:41:34,692] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 85.0ms, 인식: 136.0ms, 분류: 4.0ms
[2025-10-24 09:41:34,692] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 44866.7MB -> 44882.1MB (+15.4MB, +0.0%) - 이미지 2
[2025-10-24 09:41:34,692] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '手摇可持续充电', 'confidence': 0.9830713868141174, 'polygon': [[120.0, 57.0], [711.0, 57.0], [711.0, 122.0], [120.0, 122.0]], 'bbox': (120, 57, 592, 66), 'method': 'polygon'}, {'text': '突发紧急情况下,可以手摇进行充电', 'confidence': 0.9968866109848022, 'polygon': [[211.0, 148.0], [604.0, 149.0], [604.0, 173.0], [211.0, 172.0]], 'bbox': (211, 148, 394, 26), 'method': 'polygon'}, {'text': '只有手有劲,它就一直不会断电', 'confidence': 0.9770340919494629, 'polygon': [[238.0, 180.0], [579.0, 180.0], [579.0, 203.0], [238.0, 203.0]], 'bbox': (238, 180, 342, 24), 'method': 'polygon'}, {'text': 'AGIO', 'confidence': 0.6023005247116089, 'polygon': [[426.0, 343.0], [454.0, 345.0], [453.0, 355.0], [425.0, 353.0]], 'bbox': (425, 343, 30, 13), 'method': 'polygon'}, {'text': 'III', 'confidence': 0.6114151477813721, 'polygon': [[271.0, 508.0], [304.0, 527.0], [249.0, 622.0], [216.0, 603.0]], 'bbox': (216, 508, 89, 115), 'method': 'polygon'}]
[2025-10-24 09:41:34,693] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.3%): '手摇可持续充电'
[2025-10-24 09:41:34,693] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '突发紧急情况下,可以手摇进行充电'
[2025-10-24 09:41:34,693] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 97.7%): '只有手有劲,它就一直不会断电'
[2025-10-24 09:41:34,693] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'AGIO'
[2025-10-24 09:41:34,693] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'III'
[2025-10-24 09:41:34,693] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 3/5개 (신뢰도 + & 중국어)
[2025-10-24 09:41:34,693] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '手摇可持续充电', 'confidence': 0.9830713868141174, 'polygon': [[120.0, 57.0], [711.0, 57.0], [711.0, 122.0], [120.0, 122.0]], 'bbox': (120, 57, 592, 66), 'method': 'polygon'}, {'text': '突发紧急情况下,可以手摇进行充电', 'confidence': 0.9968866109848022, 'polygon': [[211.0, 148.0], [604.0, 149.0], [604.0, 173.0], [211.0, 172.0]], 'bbox': (211, 148, 394, 26), 'method': 'polygon'}, {'text': '只有手有劲,它就一直不会断电', 'confidence': 0.9770340919494629, 'polygon': [[238.0, 180.0], [579.0, 180.0], [579.0, 203.0], [238.0, 203.0]], 'bbox': (238, 180, 342, 24), 'method': 'polygon'}]
[2025-10-24 09:41:34,694] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 3개 필터링 완료
[2025-10-24 09:41:34,694] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:41:36,740] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['지속적인 충전을 위한 핸드 크랭크', '긴급상황 발생시 손으로 충전 가능', '손이 강하면 절대 힘을 잃지 않습니다']
[2025-10-24 09:41:36,740] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:41:36,741] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:41:36,748] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.150, comps=1, min_center_dist=0.000 → request
[2025-10-24 09:41:36,748] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 3
[2025-10-24 09:41:36,748] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:41:36,748] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:41:36,750] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:41:36,999] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:41:37,000] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 250.00 ms
[2025-10-24 09:41:37,007] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:41:37,007] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 44995.5MB -> 45011.7MB (+16.2MB, +0.0%) - 방법: migan
[2025-10-24 09:41:37,007] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:41:37,037] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:41:37,038] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:41:37,038] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:41:37,349] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_thumb_img_2.webp
[2025-10-24 09:41:37,350] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 번역 완료: C:\ProgramData\ImgWorker\work\translated_thumb_img_2.webp
[2025-10-24 09:41:37,350] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 3164.3ms | download=0.0ms | ocr=237.0ms | translate=2047.0ms | mask=2047.0ms | inpaint=266.0ms(migan/DirectML) | render=30.0ms | save=272.0ms
[2025-10-24 09:41:37,351] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:41:37,351] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 09:41:37,351] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=315df8fd-fd4a-43a8-8c4f-18a9bf81b884
[2025-10-24 09:41:37,351] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=315df8fd-fd4a-43a8-8c4f-18a9bf81b884
[2025-10-24 09:41:37,351] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 09:41:37,351] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:41:37,351] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31976)
[2025-10-24 09:41:37,364] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:41:37,404] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 09:41:37,405] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 09:41:37,405] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 09:41:37,431] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 09:41:37,431] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 09:41:37,876] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=13228
[2025-10-24 09:41:38,319] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=13228, Name=ImageWorkerProcess)
[2025-10-24 09:41:38,319] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 09:41:38,319] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 09:41:38,325] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 09:41:38,325] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 09:41:38,326] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 09:41:38,326] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 09:41:38,326] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 09:41:38,326] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 09:41:38,326] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 09:41:38,326] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 09:41:38,326] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 09:41:38,326] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 09:41:38,326] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 09:41:38,326] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:41:38,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 09:41:38,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:41:38,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:41:38,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 09:41:38,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 09:41:38,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 09:41:38,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 09:41:38,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 09:41:38,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 09:41:38,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 09:41:38,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 09:41:38,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 09:41:38,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:41:38,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:41:39,888] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 09:41:39,977] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 09:41:39,977] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 09:41:39,977] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 09:41:39,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 09:41:39,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 09:41:39,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 09:41:39,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 09:41:39,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:41:39,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 09:41:39,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:41:39,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 09:41:39,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 09:41:39,979] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 09:41:39,979] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 09:41:39,979] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 09:41:39,979] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 09:41:39,998] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 09:41:40,218] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:41:40,218] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 09:41:40,218] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:41:40,219] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:41:40,219] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:41:40,219] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:41:40,219] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:41:40,219] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 09:41:40,219] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:41:40,219] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 09:41:40,219] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x0000021DE8C57F90>
[2025-10-24 09:41:40,219] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x0000021DE8C57F90>
[2025-10-24 09:41:40,219] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 09:41:40,220] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:41:40,224] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 5.0ms
[2025-10-24 09:41:40,224] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 4.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 09:41:40,224] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 09:41:40,228] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 09:41:40,228] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 09:41:40,228] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:41:40,228] [WorkerRoller] [INFO] [loggerModule.py:info:281] 버퍼 작업 재개: 1건
[2025-10-24 09:41:40,228] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:41:40,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 09:41:40,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:41:40,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 13228)
[2025-10-24 09:41:40,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:41:40,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=ec184d15-b5d0-4d8d-bf8e-de5abc7711cf
[2025-10-24 09:41:40,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:41:40,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:41:40,230] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:41:40,232] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:41:40,730] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_9b93d8f32609.jpg - 전체 번역 모드
[2025-10-24 09:41:40,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_9b93d8f32609.jpg
[2025-10-24 09:41:40,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: thumb
[2025-10-24 09:41:40,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 로컬 저장위치(썸네일 스케일 처리 완료): C:\ProgramData\ImgWorker\incoming\dl_9b93d8f32609.jpg
[2025-10-24 09:41:40,736] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:41:41,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 387.0ms
[2025-10-24 09:41:41,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 97.0ms, 인식: 281.0ms, 분류: 5.0ms
[2025-10-24 09:41:41,143] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 39858.7MB -> 40078.4MB (+219.7MB, +0.6%) - 이미지 3
[2025-10-24 09:41:41,161] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '应急手电筒', 'confidence': 0.9925681352615356, 'polygon': [[200.0, 54.0], [617.0, 54.0], [617.0, 119.0], [200.0, 119.0]], 'bbox': (200, 54, 418, 66), 'method': 'polygon'}, {'text': 'SOS求救功能', 'confidence': 0.9445775151252747, 'polygon': [[143.0, 144.0], [677.0, 144.0], [677.0, 208.0], [143.0, 208.0]], 'bbox': (143, 144, 535, 65), 'method': 'polygon'}, {'text': '紧急情况下推至SOS位置马上发出100分贝高音警报', 'confidence': 0.9787427186965942, 'polygon': [[133.0, 228.0], [709.0, 228.0], [709.0, 251.0], [133.0, 251.0]], 'bbox': (133, 228, 577, 24), 'method': 'polygon'}, {'text': '100', 'confidence': 0.9989057183265686, 'polygon': [[44.0, 650.0], [161.0, 650.0], [161.0, 721.0], [44.0, 721.0]], 'bbox': (44, 650, 118, 72), 'method': 'polygon'}, {'text': 'dB', 'confidence': 0.9922839403152466, 'polygon': [[161.0, 678.0], [215.0, 682.0], [212.0, 723.0], [158.0, 719.0]], 'bbox': (158, 678, 58, 46), 'method': 'polygon'}, {'text': '高音报警', 'confidence': 0.9997329115867615, 'polygon': [[52.0, 722.0], [211.0, 722.0], [211.0, 765.0], [52.0, 765.0]], 'bbox': (52, 722, 160, 44), 'method': 'polygon'}]
[2025-10-24 09:41:41,162] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.3%): '应急手电筒'
[2025-10-24 09:41:41,162] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 94.5%): 'SOS求救功能'
[2025-10-24 09:41:41,162] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 97.9%): '紧急情况下推至SOS位置马上发出100分贝高音警报'
[2025-10-24 09:41:41,162] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '100'
[2025-10-24 09:41:41,162] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'dB'
[2025-10-24 09:41:41,162] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '高音报警'
[2025-10-24 09:41:41,163] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 4/6개 (신뢰도 + & 중국어)
[2025-10-24 09:41:41,163] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '应急手电筒', 'confidence': 0.9925681352615356, 'polygon': [[200.0, 54.0], [617.0, 54.0], [617.0, 119.0], [200.0, 119.0]], 'bbox': (200, 54, 418, 66), 'method': 'polygon'}, {'text': 'SOS求救功能', 'confidence': 0.9445775151252747, 'polygon': [[143.0, 144.0], [677.0, 144.0], [677.0, 208.0], [143.0, 208.0]], 'bbox': (143, 144, 535, 65), 'method': 'polygon'}, {'text': '紧急情况下推至SOS位置马上发出100分贝高音警报', 'confidence': 0.9787427186965942, 'polygon': [[133.0, 228.0], [709.0, 228.0], [709.0, 251.0], [133.0, 251.0]], 'bbox': (133, 228, 577, 24), 'method': 'polygon'}, {'text': '高音报警', 'confidence': 0.9997329115867615, 'polygon': [[52.0, 722.0], [211.0, 722.0], [211.0, 765.0], [52.0, 765.0]], 'bbox': (52, 722, 160, 44), 'method': 'polygon'}]
[2025-10-24 09:41:41,163] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 4개 필터링 완료
[2025-10-24 09:41:41,163] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:41:43,415] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['비상 손전등', 'SOS 도움말 기능', '긴급 상황 발생 시 SOS 위치로 밀면 즉시 100데시벨의 고음 경보가 울립니다.', '높은 음조 경보']
[2025-10-24 09:41:43,416] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:41:43,416] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:41:43,422] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.218, comps=2, min_center_dist=0.572 → request
[2025-10-24 09:41:43,422] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 4
[2025-10-24 09:41:43,422] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:41:43,422] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:41:43,425] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:41:43,929] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:41:43,929] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 505.00 ms
[2025-10-24 09:41:43,936] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:41:43,937] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 40092.2MB -> 40273.2MB (+181.0MB, +0.5%) - 방법: migan
[2025-10-24 09:41:43,937] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:41:43,980] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:41:43,981] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:41:43,981] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:41:44,305] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_thumb_img_3.webp
[2025-10-24 09:41:44,307] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 번역 완료: C:\ProgramData\ImgWorker\work\translated_thumb_img_3.webp
[2025-10-24 09:41:44,307] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 4075.0ms | download=0.0ms | ocr=394.0ms | translate=2254.4ms | mask=2254.4ms | inpaint=520.0ms(migan/DirectML) | render=44.0ms | save=293.2ms
[2025-10-24 09:41:44,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:41:44,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=ec184d15-b5d0-4d8d-bf8e-de5abc7711cf
[2025-10-24 09:41:44,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=ec184d15-b5d0-4d8d-bf8e-de5abc7711cf
[2025-10-24 09:41:44,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:41:44,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 13228)
[2025-10-24 09:41:46,908] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:41:46,908] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=c0430c82-d56e-478a-aa32-18c7e741471c
[2025-10-24 09:41:46,908] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:41:46,908] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:41:46,909] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:41:46,909] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:41:47,104] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 4 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_7f7d49653e8c.jpg - 전체 번역 모드
[2025-10-24 09:41:47,110] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_7f7d49653e8c.jpg
[2025-10-24 09:41:47,111] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: thumb
[2025-10-24 09:41:47,111] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 4 로컬 저장위치(썸네일 스케일 처리 완료): C:\ProgramData\ImgWorker\incoming\dl_7f7d49653e8c.jpg
[2025-10-24 09:41:47,112] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:41:47,586] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 471.0ms
[2025-10-24 09:41:47,617] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 106.0ms, 인식: 343.0ms, 분류: 17.0ms
[2025-10-24 09:41:47,618] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 40455.6MB -> 40428.5MB (-27.1MB, -0.1%) - 이미지 4
[2025-10-24 09:41:47,618] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '全能选手', 'confidence': 0.9155265092849731, 'polygon': [[93.0, 48.0], [382.0, 48.0], [382.0, 103.0], [93.0, 103.0]], 'bbox': (93, 48, 290, 56), 'method': 'polygon'}, {'text': '周全之选', 'confidence': 0.9892017841339111, 'polygon': [[441.0, 50.0], [729.0, 48.0], [729.0, 103.0], [441.0, 105.0]], 'bbox': (441, 48, 289, 58), 'method': 'polygon'}, {'text': '15种功能合为一体', 'confidence': 0.9983953833580017, 'polygon': [[277.0, 123.0], [515.0, 123.0], [515.0, 150.0], [277.0, 150.0]], 'bbox': (277, 123, 239, 28), 'method': 'polygon'}, {'text': '收音天线', 'confidence': 0.9990787506103516, 'polygon': [[566.0, 164.0], [627.0, 164.0], [627.0, 182.0], [566.0, 182.0]], 'bbox': (566, 164, 62, 19), 'method': 'polygon'}, {'text': '指南针', 'confidence': 0.9995152354240417, 'polygon': [[567.0, 187.0], [612.0, 187.0], [612.0, 206.0], [567.0, 206.0]], 'bbox': (567, 187, 46, 20), 'method': 'polygon'}, {'text': '功能按键区', 'confidence': 0.9981991648674011, 'polygon': [[567.0, 211.0], [642.0, 211.0], [642.0, 229.0], [567.0, 229.0]], 'bbox': (567, 211, 76, 19), 'method': 'polygon'}, {'text': '指示灯显示', 'confidence': 0.9990951418876648, 'polygon': [[54.0, 221.0], [130.0, 223.0], [130.0, 241.0], [54.0, 239.0]], 'bbox': (54, 221, 77, 21), 'method': 'polygon'}, {'text': '手电筒', 'confidence': 0.999311625957489, 'polygon': [[567.0, 235.0], [613.0, 235.0], [613.0, 253.0], [567.0, 253.0]], 'bbox': (567, 235, 47, 19), 'method': 'polygon'}, {'text': '频道显示', 'confidence': 0.997969388961792, 'polygon': [[69.0, 261.0], [130.0, 261.0], [130.0, 279.0], [69.0, 279.0]], 'bbox': (69, 261, 62, 19), 'method': 'polygon'}, {'text': '开机按钮', 'confidence': 0.9980503916740417, 'polygon': [[567.0, 277.0], [628.0, 277.0], [628.0, 294.0], [567.0, 294.0]], 'bbox': (567, 277, 62, 18), 'method': 'polygon'}, {'text': '调频拨轮', 'confidence': 0.9247385263442993, 'polygon': [[568.0, 336.0], [629.0, 336.0], [629.0, 354.0], [568.0, 354.0]], 'bbox': (568, 336, 62, 19), 'method': 'polygon'}, {'text': '上一曲/暂停/下一曲', 'confidence': 0.9802972078323364, 'polygon': [[611.0, 402.0], [744.0, 401.0], [744.0, 419.0], [611.0, 420.0]], 'bbox': (611, 401, 134, 20), 'method': 'polygon'}, {'text': '大口径扬声器', 'confidence': 0.995476484298706, 'polygon': [[43.0, 427.0], [131.0, 427.0], [131.0, 444.0], [43.0, 444.0]], 'bbox': (43, 427, 89, 18), 'method': 'polygon'}, {'text': 'SOS警报/输出充电', 'confidence': 0.9886554479598999, 'polygon': [[620.0, 428.0], [745.0, 428.0], [745.0, 448.0], [620.0, 448.0]], 'bbox': (620, 428, 126, 21), 'method': 'polygon'}, {'text': '耳机口', 'confidence': 0.9996671080589294, 'polygon': [[645.0, 455.0], [690.0, 455.0], [690.0, 474.0], [645.0, 474.0]], 'bbox': (645, 455, 46, 20), 'method': 'polygon'}, {'text': '充电口', 'confidence': 0.9984938502311707, 'polygon': [[643.0, 476.0], [690.0, 476.0], [690.0, 494.0], [643.0, 494.0]], 'bbox': (643, 476, 48, 19), 'method': 'polygon'}, {'text': 'USB口/U盘插口', 'confidence': 0.9916080832481384, 'polygon': [[642.0, 518.0], [748.0, 518.0], [748.0, 535.0], [642.0, 535.0]], 'bbox': (642, 518, 107, 18), 'method': 'polygon'}, {'text': 'TF插口', 'confidence': 0.9968512654304504, 'polygon': [[641.0, 541.0], [690.0, 541.0], [690.0, 559.0], [641.0, 559.0]], 'bbox': (641, 541, 50, 19), 'method': 'polygon'}, {'text': '蓝牙/收音机/', 'confidence': 0.9914805293083191, 'polygon': [[643.0, 583.0], [730.0, 583.0], [730.0, 601.0], [643.0, 601.0]], 'bbox': (643, 583, 88, 19), 'method': 'polygon'}, {'text': 'TF卡模式选择', 'confidence': 0.9963052868843079, 'polygon': [[642.0, 602.0], [732.0, 602.0], [732.0, 620.0], [642.0, 620.0]], 'bbox': (642, 602, 91, 19), 'method': 'polygon'}, {'text': '太阳能充电面板', 'confidence': 0.9985271692276001, 'polygon': [[641.0, 639.0], [745.0, 639.0], [745.0, 656.0], [641.0, 656.0]], 'bbox': (641, 639, 105, 18), 'method': 'polygon'}, {'text': '手摇发电手柄', 'confidence': 0.9984351992607117, 'polygon': [[642.0, 679.0], [732.0, 679.0], [732.0, 696.0], [642.0, 696.0]], 'bbox': (642, 679, 91, 18), 'method': 'polygon'}]
[2025-10-24 09:41:47,618] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 91.6%): '全能选手'
[2025-10-24 09:41:47,619] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.9%): '周全之选'
[2025-10-24 09:41:47,619] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '15种功能合为一体'
[2025-10-24 09:41:47,619] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '收音天线'
[2025-10-24 09:41:47,619] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '指南针'
[2025-10-24 09:41:47,619] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '功能按键区'
[2025-10-24 09:41:47,619] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '指示灯显示'
[2025-10-24 09:41:47,619] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '手电筒'
[2025-10-24 09:41:47,619] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '频道显示'
[2025-10-24 09:41:47,619] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '开机按钮'
[2025-10-24 09:41:47,619] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 92.5%): '调频拨轮'
[2025-10-24 09:41:47,619] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.0%): '上一曲/暂停/下一曲'
[2025-10-24 09:41:47,620] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.5%): '大口径扬声器'
[2025-10-24 09:41:47,620] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.9%): 'SOS警报/输出充电'
[2025-10-24 09:41:47,620] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '耳机口'
[2025-10-24 09:41:47,620] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '充电口'
[2025-10-24 09:41:47,620] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.2%): 'USB口/U盘插口'
[2025-10-24 09:41:47,620] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): 'TF插口'
[2025-10-24 09:41:47,620] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.1%): '蓝牙/收音机/'
[2025-10-24 09:41:47,620] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): 'TF卡模式选择'
[2025-10-24 09:41:47,620] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '太阳能充电面板'
[2025-10-24 09:41:47,620] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '手摇发电手柄'
[2025-10-24 09:41:47,621] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 22/22개 (신뢰도 + & 중국어)
[2025-10-24 09:41:47,621] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '全能选手', 'confidence': 0.9155265092849731, 'polygon': [[93.0, 48.0], [382.0, 48.0], [382.0, 103.0], [93.0, 103.0]], 'bbox': (93, 48, 290, 56), 'method': 'polygon'}, {'text': '周全之选', 'confidence': 0.9892017841339111, 'polygon': [[441.0, 50.0], [729.0, 48.0], [729.0, 103.0], [441.0, 105.0]], 'bbox': (441, 48, 289, 58), 'method': 'polygon'}, {'text': '15种功能合为一体', 'confidence': 0.9983953833580017, 'polygon': [[277.0, 123.0], [515.0, 123.0], [515.0, 150.0], [277.0, 150.0]], 'bbox': (277, 123, 239, 28), 'method': 'polygon'}, {'text': '收音天线', 'confidence': 0.9990787506103516, 'polygon': [[566.0, 164.0], [627.0, 164.0], [627.0, 182.0], [566.0, 182.0]], 'bbox': (566, 164, 62, 19), 'method': 'polygon'}, {'text': '指南针', 'confidence': 0.9995152354240417, 'polygon': [[567.0, 187.0], [612.0, 187.0], [612.0, 206.0], [567.0, 206.0]], 'bbox': (567, 187, 46, 20), 'method': 'polygon'}, {'text': '功能按键区', 'confidence': 0.9981991648674011, 'polygon': [[567.0, 211.0], [642.0, 211.0], [642.0, 229.0], [567.0, 229.0]], 'bbox': (567, 211, 76, 19), 'method': 'polygon'}, {'text': '指示灯显示', 'confidence': 0.9990951418876648, 'polygon': [[54.0, 221.0], [130.0, 223.0], [130.0, 241.0], [54.0, 239.0]], 'bbox': (54, 221, 77, 21), 'method': 'polygon'}, {'text': '手电筒', 'confidence': 0.999311625957489, 'polygon': [[567.0, 235.0], [613.0, 235.0], [613.0, 253.0], [567.0, 253.0]], 'bbox': (567, 235, 47, 19), 'method': 'polygon'}, {'text': '频道显示', 'confidence': 0.997969388961792, 'polygon': [[69.0, 261.0], [130.0, 261.0], [130.0, 279.0], [69.0, 279.0]], 'bbox': (69, 261, 62, 19), 'method': 'polygon'}, {'text': '开机按钮', 'confidence': 0.9980503916740417, 'polygon': [[567.0, 277.0], [628.0, 277.0], [628.0, 294.0], [567.0, 294.0]], 'bbox': (567, 277, 62, 18), 'method': 'polygon'}, {'text': '调频拨轮', 'confidence': 0.9247385263442993, 'polygon': [[568.0, 336.0], [629.0, 336.0], [629.0, 354.0], [568.0, 354.0]], 'bbox': (568, 336, 62, 19), 'method': 'polygon'}, {'text': '上一曲/暂停/下一曲', 'confidence': 0.9802972078323364, 'polygon': [[611.0, 402.0], [744.0, 401.0], [744.0, 419.0], [611.0, 420.0]], 'bbox': (611, 401, 134, 20), 'method': 'polygon'}, {'text': '大口径扬声器', 'confidence': 0.995476484298706, 'polygon': [[43.0, 427.0], [131.0, 427.0], [131.0, 444.0], [43.0, 444.0]], 'bbox': (43, 427, 89, 18), 'method': 'polygon'}, {'text': 'SOS警报/输出充电', 'confidence': 0.9886554479598999, 'polygon': [[620.0, 428.0], [745.0, 428.0], [745.0, 448.0], [620.0, 448.0]], 'bbox': (620, 428, 126, 21), 'method': 'polygon'}, {'text': '耳机口', 'confidence': 0.9996671080589294, 'polygon': [[645.0, 455.0], [690.0, 455.0], [690.0, 474.0], [645.0, 474.0]], 'bbox': (645, 455, 46, 20), 'method': 'polygon'}, {'text': '充电口', 'confidence': 0.9984938502311707, 'polygon': [[643.0, 476.0], [690.0, 476.0], [690.0, 494.0], [643.0, 494.0]], 'bbox': (643, 476, 48, 19), 'method': 'polygon'}, {'text': 'USB口/U盘插口', 'confidence': 0.9916080832481384, 'polygon': [[642.0, 518.0], [748.0, 518.0], [748.0, 535.0], [642.0, 535.0]], 'bbox': (642, 518, 107, 18), 'method': 'polygon'}, {'text': 'TF插口', 'confidence': 0.9968512654304504, 'polygon': [[641.0, 541.0], [690.0, 541.0], [690.0, 559.0], [641.0, 559.0]], 'bbox': (641, 541, 50, 19), 'method': 'polygon'}, {'text': '蓝牙/收音机/', 'confidence': 0.9914805293083191, 'polygon': [[643.0, 583.0], [730.0, 583.0], [730.0, 601.0], [643.0, 601.0]], 'bbox': (643, 583, 88, 19), 'method': 'polygon'}, {'text': 'TF卡模式选择', 'confidence': 0.9963052868843079, 'polygon': [[642.0, 602.0], [732.0, 602.0], [732.0, 620.0], [642.0, 620.0]], 'bbox': (642, 602, 91, 19), 'method': 'polygon'}, {'text': '太阳能充电面板', 'confidence': 0.9985271692276001, 'polygon': [[641.0, 639.0], [745.0, 639.0], [745.0, 656.0], [641.0, 656.0]], 'bbox': (641, 639, 105, 18), 'method': 'polygon'}, {'text': '手摇发电手柄', 'confidence': 0.9984351992607117, 'polygon': [[642.0, 679.0], [732.0, 679.0], [732.0, 696.0], [642.0, 696.0]], 'bbox': (642, 679, 91, 18), 'method': 'polygon'}]
[2025-10-24 09:41:47,621] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 22개 필터링 완료
[2025-10-24 09:41:47,621] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:41:49,324] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['만능', '완벽한 선택', '15가지 기능이 하나로', '라디오 안테나', '나침반', '기능 키 영역', '표시 등 표시', '플래시', '채널 표시', '전원 버튼', 'FM 다이얼', '이전 노래 / 정지시키다 / 다음 노래', '대구경 스피커', 'SOS 경보 / 출력 충전', '헤드폰 잭', '충전 포트', 'USB 포트 / U 디스크 소켓', 'TF소켓', '블루투스 / 라디오', 'TF 카드 모드 선택', '태양광 충전 패널', '수동식 발전 핸들']
[2025-10-24 09:41:49,324] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:41:49,324] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 4 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:41:49,330] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.232, comps=6, min_center_dist=0.103 → request
[2025-10-24 09:41:49,331] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 22
[2025-10-24 09:41:49,331] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:41:49,331] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:41:49,333] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:41:49,595] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:41:49,595] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 263.01 ms
[2025-10-24 09:41:49,602] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:41:49,603] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 40486.7MB -> 40498.2MB (+11.4MB, +0.0%) - 방법: migan
[2025-10-24 09:41:49,603] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:41:49,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:41:49,667] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:41:49,668] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:41:49,923] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_thumb_img_4.webp
[2025-10-24 09:41:49,924] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 4 번역 완료: C:\ProgramData\ImgWorker\work\translated_thumb_img_4.webp
[2025-10-24 09:41:49,925] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 3015.7ms | download=0.0ms | ocr=482.0ms | translate=1706.7ms | mask=1706.7ms | inpaint=277.0ms(migan/DirectML) | render=65.0ms | save=226.0ms
[2025-10-24 09:41:49,926] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:41:49,926] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 09:41:49,926] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=c0430c82-d56e-478a-aa32-18c7e741471c
[2025-10-24 09:41:49,926] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=c0430c82-d56e-478a-aa32-18c7e741471c
[2025-10-24 09:41:49,926] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 09:41:49,926] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:41:49,926] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 13228)
[2025-10-24 09:41:49,940] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:41:49,977] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 09:41:49,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 09:41:49,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 09:41:49,979] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 09:41:49,979] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 09:41:50,383] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=31548
[2025-10-24 09:41:50,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=31548, Name=ImageWorkerProcess)
[2025-10-24 09:41:50,822] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 09:41:50,822] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 09:41:50,828] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 09:41:50,829] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 09:41:50,829] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 09:41:50,829] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 09:41:50,829] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 09:41:50,829] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 09:41:50,829] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 09:41:50,829] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 09:41:50,829] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 09:41:50,829] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 09:41:50,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 09:41:50,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:41:50,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 09:41:50,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:41:50,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:41:50,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 09:41:50,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 09:41:50,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 09:41:50,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 09:41:50,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 09:41:50,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 09:41:50,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 09:41:50,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 09:41:50,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 09:41:50,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:41:50,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 09:41:52,408] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 09:41:52,492] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 09:41:52,492] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 09:41:52,492] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 09:41:52,493] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 09:41:52,493] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 09:41:52,493] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 09:41:52,493] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 09:41:52,493] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:41:52,493] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 09:41:52,493] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 09:41:52,493] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 09:41:52,493] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 09:41:52,494] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 09:41:52,494] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 09:41:52,494] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 09:41:52,494] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 09:41:52,512] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 09:41:52,710] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:41:52,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 09:41:52,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:41:52,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 09:41:52,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:41:52,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:41:52,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 09:41:52,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 09:41:52,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 09:41:52,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 09:41:52,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x00000221413C7D90>
[2025-10-24 09:41:52,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x00000221413C7D90>
[2025-10-24 09:41:52,711] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 09:41:52,712] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:41:52,717] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 3.6ms
[2025-10-24 09:41:52,717] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 09:41:52,717] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 09:41:52,720] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 09:41:52,720] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 09:41:52,720] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:41:52,720] [WorkerRoller] [INFO] [loggerModule.py:info:281] 버퍼 작업 재개: 1건
[2025-10-24 09:41:52,721] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 09:41:52,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 09:41:52,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:41:52,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 09:41:52,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 09:41:52,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=fbf664de-b169-4f6b-a997-efef4c2cf420
[2025-10-24 09:41:52,721] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 09:41:52,722] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 09:41:52,722] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 09:41:52,724] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 09:41:52,994] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 5 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_4a8f3c434fc3.jpg - 전체 번역 모드
[2025-10-24 09:41:52,999] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_4a8f3c434fc3.jpg
[2025-10-24 09:41:52,999] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: thumb
[2025-10-24 09:41:52,999] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 5 로컬 저장위치(썸네일 스케일 처리 완료): C:\ProgramData\ImgWorker\incoming\dl_4a8f3c434fc3.jpg
[2025-10-24 09:41:53,001] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 09:41:53,832] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 829.0ms
[2025-10-24 09:41:53,832] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 98.0ms, 인식: 716.0ms, 분류: 10.0ms
[2025-10-24 09:41:53,850] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 40138.7MB -> 40483.5MB (+344.8MB, +0.9%) - 이미지 5
[2025-10-24 09:41:53,866] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '暴走兔官方说明', 'confidence': 0.9319658875465393, 'polygon': [[190.0, 55.0], [599.0, 55.0], [599.0, 109.0], [190.0, 109.0]], 'bbox': (190, 55, 410, 55), 'method': 'polygon'}, {'text': '近期,有大量商家大量抄袭本店产品', 'confidence': 0.9800819158554077, 'polygon': [[155.0, 183.0], [629.0, 184.0], [629.0, 211.0], [155.0, 210.0]], 'bbox': (155, 183, 475, 29), 'method': 'polygon'}, {'text': '假装售卖同款产品夸大宣传,实际产品为', 'confidence': 0.9688926339149475, 'polygon': [[142.0, 223.0], [667.0, 223.0], [667.0, 250.0], [142.0, 250.0]], 'bbox': (142, 223, 526, 28), 'method': 'polygon'}, {'text': '工厂多次翻新机器,产品外壳多有瑕疵质量存在隐患', 'confidence': 0.9615533351898193, 'polygon': [[125.0, 306.0], [683.0, 306.0], [683.0, 329.0], [125.0, 329.0]], 'bbox': (125, 306, 559, 24), 'method': 'polygon'}, {'text': '小厂仿造品,技术不成熟,做工粗糙,影响后续正常使用', 'confidence': 0.9918012022972107, 'polygon': [[120.0, 388.0], [727.0, 388.0], [727.0, 412.0], [120.0, 412.0]], 'bbox': (120, 388, 608, 25), 'method': 'polygon'}, {'text': '为保障本店正品', 'confidence': 0.9932817816734314, 'polygon': [[120.0, 536.0], [309.0, 536.0], [309.0, 563.0], [120.0, 563.0]], 'bbox': (120, 536, 190, 28), 'method': 'polygon'}, {'text': '955', 'confidence': 0.9524380564689636, 'polygon': [[573.0, 544.0], [604.0, 544.0], [604.0, 563.0], [573.0, 563.0]], 'bbox': (573, 544, 32, 20), 'method': 'polygon'}, {'text': '实际消费者的权益', 'confidence': 0.9928746819496155, 'polygon': [[91.0, 581.0], [318.0, 581.0], [318.0, 608.0], [91.0, 608.0]], 'bbox': (91, 581, 228, 28), 'method': 'polygon'}, {'text': '暴走免旗舰店在此郑重声明', 'confidence': 0.9279990196228027, 'polygon': [[53.0, 628.0], [377.0, 628.0], [377.0, 651.0], [53.0, 651.0]], 'bbox': (53, 628, 325, 24), 'method': 'polygon'}, {'text': '所有类型的售后仅对本店', 'confidence': 0.9958686232566833, 'polygon': [[66.0, 672.0], [362.0, 672.0], [362.0, 696.0], [66.0, 696.0]], 'bbox': (66, 672, 297, 25), 'method': 'polygon'}, {'text': '暴走兔已升级到第二代数显款!', 'confidence': 0.9508973956108093, 'polygon': [[437.0, 685.0], [748.0, 686.0], [748.0, 710.0], [437.0, 709.0]], 'bbox': (437, 685, 312, 26), 'method': 'polygon'}, {'text': '有订单客户提供!', 'confidence': 0.9849206209182739, 'polygon': [[105.0, 716.0], [310.0, 716.0], [310.0, 743.0], [105.0, 743.0]], 'bbox': (105, 716, 206, 28), 'method': 'polygon'}, {'text': '认准官方店铺享受正规服务保障!', 'confidence': 0.9901202321052551, 'polygon': [[425.0, 722.0], [760.0, 722.0], [760.0, 745.0], [425.0, 745.0]], 'bbox': (425, 722, 336, 24), 'method': 'polygon'}]
[2025-10-24 09:41:53,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 93.2%): '暴走兔官方说明'
[2025-10-24 09:41:53,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.0%): '近期,有大量商家大量抄袭本店产品'
[2025-10-24 09:41:53,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 96.9%): '假装售卖同款产品夸大宣传,实际产品为'
[2025-10-24 09:41:53,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 96.2%): '工厂多次翻新机器,产品外壳多有瑕疵质量存在隐患'
[2025-10-24 09:41:53,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.2%): '小厂仿造品,技术不成熟,做工粗糙,影响后续正常使用'
[2025-10-24 09:41:53,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.3%): '为保障本店正品'
[2025-10-24 09:41:53,875] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '955'
[2025-10-24 09:41:53,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.3%): '实际消费者的权益'
[2025-10-24 09:41:53,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 92.8%): '暴走免旗舰店在此郑重声明'
[2025-10-24 09:41:53,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.6%): '所有类型的售后仅对本店'
[2025-10-24 09:41:53,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 95.1%): '暴走兔已升级到第二代数显款!'
[2025-10-24 09:41:53,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 98.5%): '有订单客户提供!'
[2025-10-24 09:41:53,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.0%): '认准官方店铺享受正规服务保障!'
[2025-10-24 09:41:53,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 12/13개 (신뢰도 + & 중국어)
[2025-10-24 09:41:53,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '暴走兔官方说明', 'confidence': 0.9319658875465393, 'polygon': [[190.0, 55.0], [599.0, 55.0], [599.0, 109.0], [190.0, 109.0]], 'bbox': (190, 55, 410, 55), 'method': 'polygon'}, {'text': '近期,有大量商家大量抄袭本店产品', 'confidence': 0.9800819158554077, 'polygon': [[155.0, 183.0], [629.0, 184.0], [629.0, 211.0], [155.0, 210.0]], 'bbox': (155, 183, 475, 29), 'method': 'polygon'}, {'text': '假装售卖同款产品夸大宣传,实际产品为', 'confidence': 0.9688926339149475, 'polygon': [[142.0, 223.0], [667.0, 223.0], [667.0, 250.0], [142.0, 250.0]], 'bbox': (142, 223, 526, 28), 'method': 'polygon'}, {'text': '工厂多次翻新机器,产品外壳多有瑕疵质量存在隐患', 'confidence': 0.9615533351898193, 'polygon': [[125.0, 306.0], [683.0, 306.0], [683.0, 329.0], [125.0, 329.0]], 'bbox': (125, 306, 559, 24), 'method': 'polygon'}, {'text': '小厂仿造品,技术不成熟,做工粗糙,影响后续正常使用', 'confidence': 0.9918012022972107, 'polygon': [[120.0, 388.0], [727.0, 388.0], [727.0, 412.0], [120.0, 412.0]], 'bbox': (120, 388, 608, 25), 'method': 'polygon'}, {'text': '为保障本店正品', 'confidence': 0.9932817816734314, 'polygon': [[120.0, 536.0], [309.0, 536.0], [309.0, 563.0], [120.0, 563.0]], 'bbox': (120, 536, 190, 28), 'method': 'polygon'}, {'text': '实际消费者的权益', 'confidence': 0.9928746819496155, 'polygon': [[91.0, 581.0], [318.0, 581.0], [318.0, 608.0], [91.0, 608.0]], 'bbox': (91, 581, 228, 28), 'method': 'polygon'}, {'text': '暴走免旗舰店在此郑重声明', 'confidence': 0.9279990196228027, 'polygon': [[53.0, 628.0], [377.0, 628.0], [377.0, 651.0], [53.0, 651.0]], 'bbox': (53, 628, 325, 24), 'method': 'polygon'}, {'text': '所有类型的售后仅对本店', 'confidence': 0.9958686232566833, 'polygon': [[66.0, 672.0], [362.0, 672.0], [362.0, 696.0], [66.0, 696.0]], 'bbox': (66, 672, 297, 25), 'method': 'polygon'}, {'text': '暴走兔已升级到第二代数显款!', 'confidence': 0.9508973956108093, 'polygon': [[437.0, 685.0], [748.0, 686.0], [748.0, 710.0], [437.0, 709.0]], 'bbox': (437, 685, 312, 26), 'method': 'polygon'}, {'text': '有订单客户提供!', 'confidence': 0.9849206209182739, 'polygon': [[105.0, 716.0], [310.0, 716.0], [310.0, 743.0], [105.0, 743.0]], 'bbox': (105, 716, 206, 28), 'method': 'polygon'}, {'text': '认准官方店铺享受正规服务保障!', 'confidence': 0.9901202321052551, 'polygon': [[425.0, 722.0], [760.0, 722.0], [760.0, 745.0], [425.0, 745.0]], 'bbox': (425, 722, 336, 24), 'method': 'polygon'}]
[2025-10-24 09:41:53,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 12개 필터링 완료
[2025-10-24 09:41:53,876] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 09:41:56,919] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['Runaway Rabbit에 대한 공식 설명', '최근에는 많은 판매자들이 우리 제품을 대량으로 복제하고 있습니다.', '동일한 상품을 판매하는 것처럼 가장하여 과장홍보하였으나, 실제 상품은', '공장에서는 기계를 여러 번 개조했는데, 제품 케이스에 결함이 있어 품질 위험이 있는 경우가 많습니다.', '미성숙한 기술과 거친 제작 기술로 소규모 공장에서 생산된 위조 제품은 이후의 정상적인 사용에 영향을 미칩니다.', '우리 매장의 진품 여부를 확인하기 위해', '실제 소비자 권리', 'Baozouwu 플래그십 스토어는 이로써 엄숙하게 선언합니다.', '모든 유형의 애프터 서비스는 우리 매장에만 해당됩니다.', 'Rampage Rabbit이 2세대 디지털 디스플레이 모델로 업그레이드 되었습니다!', '고객이 주문한 상품입니다!', '정규 서비스 보장을 받으시려면 공식 매장을 찾아보세요!']
[2025-10-24 09:41:56,919] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 09:41:56,920] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 5 OCR 권한 없음, 전체 번역 모드
[2025-10-24 09:41:56,926] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.366, comps=6, min_center_dist=0.075 → request
[2025-10-24 09:41:56,926] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 12
[2025-10-24 09:41:56,926] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 09:41:56,926] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 09:41:56,928] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 09:41:57,402] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 09:41:57,403] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 474.06 ms
[2025-10-24 09:41:57,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 09:41:57,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 40527.0MB -> 40728.0MB (+201.0MB, +0.5%) - 방법: migan
[2025-10-24 09:41:57,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 09:41:57,504] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 09:41:57,505] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 09:41:57,505] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 09:41:57,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_thumb_img_5.webp
[2025-10-24 09:41:57,767] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 5 번역 완료: C:\ProgramData\ImgWorker\work\translated_thumb_img_5.webp
[2025-10-24 09:41:57,767] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 5044.0ms | download=0.0ms | ocr=838.0ms | translate=3043.5ms | mask=3043.5ms | inpaint=491.1ms(migan/DirectML) | render=93.5ms | save=209.2ms
[2025-10-24 09:41:57,769] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 09:41:57,769] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=fbf664de-b169-4f6b-a997-efef4c2cf420
[2025-10-24 09:41:57,769] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=fbf664de-b169-4f6b-a997-efef4c2cf420
[2025-10-24 09:41:57,769] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:41:57,769] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 09:52:08,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:52:08,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:52:08,811] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 09:53:08,816] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:53:08,816] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:53:08,816] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 09:54:08,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:54:08,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:54:08,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 09:55:08,824] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:55:08,824] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:55:08,824] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 09:56:08,834] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:56:08,834] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:56:08,834] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 09:57:08,844] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:57:08,844] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:57:08,844] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 09:58:08,859] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:58:08,859] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:58:08,859] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 09:59:08,866] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 09:59:08,866] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 09:59:08,866] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:00:08,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:00:08,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:00:08,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:01:08,880] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:01:08,880] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:01:08,880] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:02:08,893] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:02:08,894] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:02:08,894] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:03:08,897] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:03:08,897] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:03:08,897] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:04:08,905] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:04:08,905] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:04:08,905] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:05:08,908] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:05:08,909] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:05:08,909] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:06:08,918] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:06:08,918] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:06:08,918] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:07:08,930] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:07:08,930] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:07:08,930] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:08:08,934] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:08:08,934] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:08:08,935] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:09:08,937] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:09:08,937] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:09:08,937] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:10:08,941] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:10:08,941] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:10:08,941] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:11:08,956] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:11:08,956] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:11:08,956] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:12:08,968] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:12:08,968] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:12:08,968] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:13:08,980] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:13:08,980] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:13:08,980] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:14:08,985] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:14:08,985] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:14:08,985] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:15:08,991] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:15:08,991] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:15:08,991] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:16:08,998] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:16:08,998] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:16:08,998] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:17:09,000] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:17:09,000] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:17:09,000] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:18:09,001] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:18:09,001] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:18:09,001] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:19:09,012] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:19:09,012] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:19:09,012] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:20:09,020] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:20:09,020] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:20:09,020] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 10:21:09,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 10:21:09,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 10:21:09,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 11:25:01,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:25:01,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:25:01,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 11:26:01,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:26:01,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:26:01,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 11:27:01,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:27:01,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:27:01,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 11:28:01,390] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:28:01,390] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:28:01,390] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 11:29:01,395] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:29:01,395] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:29:01,395] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 11:30:01,401] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:30:01,401] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:30:01,401] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 11:31:01,405] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:31:01,405] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:31:01,405] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 11:32:01,406] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:32:01,406] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:32:01,406] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 11:33:01,413] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:33:01,413] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:33:01,413] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 11:34:01,426] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:34:01,426] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:34:01,426] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 11:35:01,433] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:35:01,433] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:35:01,433] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 11:36:01,447] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:36:01,447] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:36:01,447] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 11:37:01,452] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:37:01,452] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:37:01,452] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 11:38:01,456] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:38:01,456] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:38:01,456] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 11:39:01,470] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:39:01,470] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:39:01,470] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 11:40:01,482] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:40:01,482] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:40:01,482] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 11:41:01,486] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:41:01,486] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:41:01,486] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31548)
[2025-10-24 11:41:54,336] [MemMonitor] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=uptime-threshold
[2025-10-24 11:41:54,336] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: uptime-threshold
[2025-10-24 11:41:54,354] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 11:41:54,389] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 11:41:54,389] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 11:41:54,389] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 11:41:54,390] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 11:41:54,390] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 11:41:54,786] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=10204
[2025-10-24 11:41:55,370] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=10204, Name=ImageWorkerProcess)
[2025-10-24 11:41:55,370] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 11:41:55,370] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 11:41:55,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 11:41:55,378] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 11:41:55,378] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 11:41:55,378] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 11:41:55,378] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 11:41:55,378] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 11:41:55,378] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 11:41:55,378] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 11:41:55,378] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 11:41:55,378] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 11:41:55,379] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 11:41:55,379] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 11:41:55,379] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 11:41:55,379] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 11:41:55,379] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 11:41:55,379] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 11:41:55,379] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 11:41:55,379] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 11:41:55,379] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 11:41:55,379] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 11:41:55,379] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 11:41:55,379] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 11:41:55,379] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 11:41:55,379] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 11:41:55,380] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 11:41:55,380] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 11:41:57,049] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 11:41:57,136] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 11:41:57,136] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 11:41:57,136] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 11:41:57,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 11:41:57,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 11:41:57,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 11:41:57,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 11:41:57,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 11:41:57,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 11:41:57,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 11:41:57,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 11:41:57,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 11:41:57,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 11:41:57,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 11:41:57,138] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 11:41:57,138] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 11:41:57,159] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 11:41:57,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 11:41:57,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 11:41:57,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 11:41:57,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 11:41:57,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 11:41:57,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 11:41:57,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 11:41:57,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 11:41:57,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 11:41:57,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 11:41:57,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x000002976F1DC6D0>
[2025-10-24 11:41:57,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x000002976F1DC6D0>
[2025-10-24 11:41:57,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 11:41:57,369] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 11:41:57,373] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 5.0ms
[2025-10-24 11:41:57,373] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 11:41:57,373] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 11:41:57,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 11:41:57,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 11:41:57,378] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 11:41:57,378] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 11:41:57,378] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 11:41:57,378] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:41:57,378] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 11:42:57,383] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:42:57,383] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:42:57,383] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 11:43:57,395] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:43:57,395] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:43:57,395] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 11:44:57,409] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:44:57,409] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:44:57,409] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 11:45:57,421] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:45:57,421] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:45:57,421] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 11:46:57,435] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:46:57,435] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:46:57,435] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 11:47:57,446] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:47:57,446] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:47:57,446] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 11:48:57,459] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:48:57,459] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:48:57,459] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 11:49:57,464] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:49:57,464] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:49:57,464] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 11:50:57,472] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:50:57,472] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:50:57,472] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 11:51:57,472] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:51:57,472] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:51:57,472] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 11:52:57,486] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:52:57,486] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:52:57,486] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 11:53:57,496] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:53:57,496] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:53:57,496] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 11:54:57,497] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:54:57,497] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:54:57,497] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 11:55:57,508] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 11:55:57,508] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 11:55:57,508] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:04:40,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:04:40,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:04:40,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:05:40,692] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:05:40,692] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:05:40,692] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:06:40,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:06:40,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:06:40,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:07:40,704] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:07:40,704] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:07:40,704] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:08:40,708] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:08:40,709] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:08:40,709] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:09:40,725] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:09:40,725] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:09:40,725] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:10:40,726] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:10:40,726] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:10:40,726] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:11:40,733] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:11:40,733] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:11:40,733] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:12:40,733] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:12:40,733] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:12:40,733] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:13:40,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:13:40,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:13:40,734] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:14:40,739] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:14:40,739] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:14:40,739] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:15:40,741] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:15:40,741] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:15:40,741] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:16:40,751] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:16:40,751] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:16:40,751] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:17:40,755] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:17:40,755] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:17:40,755] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:18:40,759] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:18:40,759] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:18:40,759] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:19:40,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:19:40,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:19:40,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:20:40,776] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:20:40,776] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:20:40,776] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:21:40,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:21:40,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:21:40,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:22:40,802] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:22:40,802] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:22:40,802] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:23:40,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:23:40,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:23:40,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:24:40,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:24:40,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:24:40,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:25:40,825] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:25:40,825] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:25:40,825] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:26:40,825] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:26:40,825] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:26:40,825] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:27:40,836] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:27:40,836] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:27:40,836] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:28:40,842] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:28:40,842] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:28:40,842] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:29:40,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:29:40,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:29:40,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:30:40,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:30:40,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:30:40,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:31:40,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:31:40,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:31:40,869] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:32:40,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:32:40,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:32:40,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:33:40,884] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:33:40,884] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:33:40,884] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:34:40,893] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:34:40,893] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:34:40,893] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:45:48,070] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:45:48,070] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:45:48,070] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:46:48,075] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:46:48,075] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:46:48,075] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:47:48,081] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:47:48,081] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:47:48,081] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:48:48,087] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:48:48,087] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:48:48,087] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:49:48,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:49:48,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:49:48,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:50:48,111] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:50:48,111] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:50:48,111] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:51:48,120] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:51:48,120] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:51:48,120] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:52:48,128] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:52:48,128] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:52:48,128] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:53:48,141] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:53:48,141] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:53:48,141] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:54:48,145] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:54:48,145] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:54:48,145] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:55:48,160] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:55:48,160] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:55:48,160] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:56:48,175] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:56:48,175] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:56:48,175] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:57:48,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:57:48,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:57:48,186] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:58:48,200] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:58:48,200] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:58:48,200] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 12:59:48,212] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 12:59:48,212] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 12:59:48,212] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:00:48,214] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:00:48,214] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:00:48,214] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:01:48,225] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:01:48,225] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:01:48,225] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:02:48,225] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:02:48,225] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:02:48,225] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:03:48,234] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:03:48,234] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:03:48,234] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:04:48,238] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:04:48,238] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:04:48,238] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:05:48,240] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:05:48,240] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:05:48,240] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:06:48,249] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:06:48,249] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:06:48,249] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:07:48,264] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:07:48,264] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:07:48,264] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:08:48,268] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:08:48,268] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:08:48,268] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:09:48,274] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:09:48,274] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:09:48,274] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:10:48,280] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:10:48,280] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:10:48,280] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:11:48,285] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:11:48,286] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:11:48,286] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:12:48,293] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:12:48,293] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:12:48,293] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:13:48,295] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:13:48,295] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:13:48,295] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:14:48,307] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:14:48,307] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:14:48,307] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:37:32,127] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:37:32,127] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:37:32,128] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:38:32,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:38:32,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:38:32,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:39:32,145] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:39:32,145] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:39:32,145] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:40:32,151] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:40:32,151] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:40:32,151] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:41:32,154] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:41:32,154] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:41:32,154] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 10204)
[2025-10-24 13:41:59,371] [MemMonitor] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=uptime-threshold
[2025-10-24 13:41:59,371] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: uptime-threshold
[2025-10-24 13:41:59,415] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 13:41:59,415] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 13:41:59,415] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 13:41:59,416] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 13:41:59,416] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 13:41:59,416] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 13:41:59,663] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=19508
[2025-10-24 13:42:00,118] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=19508, Name=ImageWorkerProcess)
[2025-10-24 13:42:00,118] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 13:42:00,119] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 13:42:00,125] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 13:42:00,125] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 13:42:00,125] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 13:42:00,125] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 13:42:00,126] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 13:42:00,126] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 13:42:00,126] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 13:42:00,126] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 13:42:00,126] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 13:42:00,126] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 13:42:00,126] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 13:42:00,126] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 13:42:00,127] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 13:42:00,127] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 13:42:00,127] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 13:42:00,127] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 13:42:00,127] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 13:42:00,127] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 13:42:00,127] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 13:42:00,127] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 13:42:00,127] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 13:42:00,127] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 13:42:00,127] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 13:42:00,128] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 13:42:00,128] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 13:42:00,128] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 13:42:01,662] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 13:42:01,748] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 13:42:01,748] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 13:42:01,748] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 13:42:01,749] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 13:42:01,749] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 13:42:01,749] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 13:42:01,749] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 13:42:01,749] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 13:42:01,750] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 13:42:01,750] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 13:42:01,750] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 13:42:01,750] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 13:42:01,750] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 13:42:01,750] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 13:42:01,750] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 13:42:01,750] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 13:42:01,769] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 13:42:01,984] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 13:42:01,984] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 13:42:01,985] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 13:42:01,985] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 13:42:01,985] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 13:42:01,985] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 13:42:01,985] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 13:42:01,985] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 13:42:01,985] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 13:42:01,985] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 13:42:01,985] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x00000115CCD89F50>
[2025-10-24 13:42:01,985] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x00000115CCD89F50>
[2025-10-24 13:42:01,985] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 13:42:01,986] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 13:42:01,990] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 5.0ms
[2025-10-24 13:42:01,990] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 13:42:01,990] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 13:42:01,994] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 13:42:01,994] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 13:42:01,994] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 13:42:01,995] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 13:42:01,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 13:42:01,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:42:01,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 13:43:02,001] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:43:02,001] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:43:02,001] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 13:44:02,006] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:44:02,006] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:44:02,006] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 13:45:02,013] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:45:02,013] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:45:02,013] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 13:46:02,020] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:46:02,020] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:46:02,020] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 13:47:02,022] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:47:02,022] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:47:02,022] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 13:48:02,030] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:48:02,030] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:48:02,030] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 13:49:02,033] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:49:02,033] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:49:02,033] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 13:50:02,045] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:50:02,045] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:50:02,045] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 13:51:02,056] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:51:02,056] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:51:02,056] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 13:52:02,069] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:52:02,069] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:52:02,069] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 13:53:02,082] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:53:02,082] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:53:02,082] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 13:54:02,088] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:54:02,088] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:54:02,088] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 13:55:02,102] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:55:02,102] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:55:02,102] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 13:56:02,110] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:56:02,110] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:56:02,110] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 13:57:02,121] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:57:02,121] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:57:02,121] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 13:58:02,129] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:58:02,129] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:58:02,129] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 13:59:02,140] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 13:59:02,140] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 13:59:02,140] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:00:02,149] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:00:02,149] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:00:02,149] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:01:02,152] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:01:02,152] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:01:02,152] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:02:02,164] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:02:02,164] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:02:02,164] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:03:02,175] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:03:02,175] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:03:02,175] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:04:02,187] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:04:02,187] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:04:02,187] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:05:02,190] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:05:02,190] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:05:02,190] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:06:02,194] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:06:02,194] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:06:02,194] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:07:02,197] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:07:02,197] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:07:02,197] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:15:46,121] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:15:46,121] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:15:46,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:16:46,127] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:16:46,127] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:16:46,127] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:17:46,138] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:17:46,138] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:17:46,138] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:18:46,145] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:18:46,145] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:18:46,145] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:19:46,153] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:19:46,153] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:19:46,153] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:20:46,165] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:20:46,165] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:20:46,165] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:21:46,178] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:21:46,178] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:21:46,178] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:22:46,184] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:22:46,184] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:22:46,184] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:23:46,199] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:23:46,199] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:23:46,199] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:24:46,207] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:24:46,207] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:24:46,207] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:25:46,220] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:25:46,220] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:25:46,220] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:26:46,224] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:26:46,224] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:26:46,224] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:27:46,235] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:27:46,235] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:27:46,235] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:28:46,235] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:28:46,235] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:28:46,235] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:29:46,251] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:29:46,252] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:29:46,252] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:30:46,257] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:30:46,257] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:30:46,257] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:31:46,267] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:31:46,267] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:31:46,267] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:32:46,281] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:32:46,282] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:32:46,282] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:33:46,282] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:33:46,282] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:33:46,282] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:34:46,290] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:34:46,290] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:34:46,290] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:35:46,293] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:35:46,293] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:35:46,293] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:36:46,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:36:46,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:36:46,308] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:37:46,322] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:37:46,323] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:37:46,323] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:38:46,330] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:38:46,330] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:38:46,330] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:39:46,344] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:39:46,344] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:39:46,344] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:40:46,349] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:40:46,349] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:40:46,349] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:41:46,351] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:41:46,351] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:41:46,351] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:42:46,365] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:42:46,365] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:42:46,365] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:43:46,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:43:46,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:43:46,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:44:46,388] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:44:46,389] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:44:46,389] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:45:46,390] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:45:46,390] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:45:46,390] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:46:46,400] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:46:46,400] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:46:46,401] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:47:46,409] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:47:46,409] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:47:46,409] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:48:46,409] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:48:46,409] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:48:46,409] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:49:46,423] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:49:46,423] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:49:46,423] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:50:46,432] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:50:46,432] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:50:46,432] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:51:46,446] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:51:46,446] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:51:46,446] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:52:46,453] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:52:46,453] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:52:46,453] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:53:46,467] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:53:46,467] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:53:46,467] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:54:46,471] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:54:46,471] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:54:46,471] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:55:46,473] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:55:46,473] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:55:46,473] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:56:46,477] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:56:46,477] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:56:46,477] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:57:46,486] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:57:46,487] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:57:46,487] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:58:46,495] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:58:46,495] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:58:46,495] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 14:59:46,510] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 14:59:46,511] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 14:59:46,511] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:00:46,513] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:00:46,513] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:00:46,513] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:01:46,518] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:01:46,518] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:01:46,518] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:02:46,519] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:02:46,519] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:02:46,519] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:03:46,523] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:03:46,523] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:03:46,523] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:04:46,537] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:04:46,537] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:04:46,537] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:05:46,552] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:05:46,552] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:05:46,552] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:06:46,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:06:46,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:06:46,561] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:07:46,562] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:07:46,562] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:07:46,562] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:08:46,571] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:08:46,571] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:08:46,571] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:09:46,582] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:09:46,582] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:09:46,582] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:10:46,597] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:10:46,597] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:10:46,597] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:11:46,605] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:11:46,605] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:11:46,605] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:12:46,619] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:12:46,619] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:12:46,619] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:13:46,625] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:13:46,625] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:13:46,625] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:14:46,636] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:14:46,636] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:14:46,636] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:15:46,640] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:15:46,640] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:15:46,640] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:16:46,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:16:46,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:16:46,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:17:46,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:17:46,641] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:17:46,642] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:18:46,642] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:18:46,642] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:18:46,642] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:19:46,647] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:19:46,647] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:19:46,647] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:20:46,659] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:20:46,659] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:20:46,659] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:21:46,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:21:46,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:21:46,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:22:46,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:22:46,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:22:46,661] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:23:46,669] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:23:46,669] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:23:46,669] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:24:46,681] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:24:46,681] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:24:46,681] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:25:46,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:25:46,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:25:46,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:26:46,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:26:46,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:26:46,683] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:27:46,697] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:27:46,697] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:27:46,697] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:28:46,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:28:46,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:28:46,700] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:29:46,702] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:29:46,702] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:29:46,702] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:30:46,713] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:30:46,713] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:30:46,713] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:31:46,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:31:46,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:31:46,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:32:46,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:32:46,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:32:46,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:33:46,750] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:33:46,750] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:33:46,750] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:34:46,756] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:34:46,756] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:34:46,756] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:35:46,771] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:35:46,771] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:35:46,771] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:36:02,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:36:02,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=6e302bfb-4e03-4cc4-b37d-089083b6af26
[2025-10-24 15:36:02,125] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 15:36:02,125] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 15:36:02,125] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 15:36:02,126] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 15:36:02,418] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 1 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_d903a13cdd57.jpg - 전체 번역 모드
[2025-10-24 15:36:02,424] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_d903a13cdd57.jpg
[2025-10-24 15:36:02,424] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 15:36:02,424] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 1 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_d903a13cdd57.jpg
[2025-10-24 15:36:02,433] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:36:03,121] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 686.4ms
[2025-10-24 15:36:03,127] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 119.5ms, 인식: 530.9ms, 분류: 28.0ms
[2025-10-24 15:36:03,142] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 40357.0MB -> 40636.3MB (+279.3MB, +0.7%) - 이미지 1
[2025-10-24 15:36:03,142] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '40', 'confidence': 0.8052586317062378, 'polygon': [[240.0, 59.0], [276.0, 59.0], [276.0, 90.0], [240.0, 90.0]], 'bbox': (240, 59, 37, 32), 'method': 'polygon'}, {'text': 'OU', 'confidence': 0.770665168762207, 'polygon': [[202.0, 74.0], [229.0, 74.0], [229.0, 85.0], [202.0, 85.0]], 'bbox': (202, 74, 28, 12), 'method': 'polygon'}, {'text': 'FM', 'confidence': 0.9865574836730957, 'polygon': [[452.0, 146.0], [464.0, 146.0], [464.0, 155.0], [452.0, 155.0]], 'bbox': (452, 146, 13, 10), 'method': 'polygon'}, {'text': 'AM', 'confidence': 0.922609269618988, 'polygon': [[470.0, 146.0], [481.0, 146.0], [481.0, 155.0], [470.0, 155.0]], 'bbox': (470, 146, 12, 10), 'method': 'polygon'}, {'text': '割列叫 2 3', 'confidence': 0.7253797650337219, 'polygon': [[91.0, 159.0], [264.0, 161.0], [264.0, 199.0], [91.0, 197.0]], 'bbox': (91, 159, 174, 41), 'method': 'polygon'}, {'text': '2', 'confidence': 0.9941845536231995, 'polygon': [[265.0, 171.0], [286.0, 171.0], [286.0, 192.0], [265.0, 192.0]], 'bbox': (265, 171, 22, 22), 'method': 'polygon'}, {'text': '104', 'confidence': 0.5533893704414368, 'polygon': [[458.0, 191.0], [470.0, 203.0], [460.0, 214.0], [448.0, 202.0]], 'bbox': (448, 191, 23, 24), 'method': 'polygon'}, {'text': '1500', 'confidence': 0.8648067712783813, 'polygon': [[469.0, 192.0], [482.0, 192.0], [482.0, 209.0], [469.0, 209.0]], 'bbox': (469, 192, 14, 18), 'method': 'polygon'}, {'text': '1400', 'confidence': 0.8108676075935364, 'polygon': [[470.0, 212.0], [483.0, 212.0], [483.0, 226.0], [470.0, 226.0]], 'bbox': (470, 212, 14, 15), 'method': 'polygon'}, {'text': '·R11', 'confidence': 0.8616527915000916, 'polygon': [[457.0, 245.0], [492.0, 245.0], [492.0, 256.0], [457.0, 256.0]], 'bbox': (457, 245, 36, 12), 'method': 'polygon'}, {'text': 'RADIO/BT/MUSICPLAYER', 'confidence': 0.9919697642326355, 'polygon': [[503.0, 244.0], [634.0, 244.0], [634.0, 257.0], [503.0, 257.0]], 'bbox': (503, 244, 132, 14), 'method': 'polygon'}, {'text': '4000mAh2l9%12l', 'confidence': 0.7704598307609558, 'polygon': [[89.0, 283.0], [276.0, 283.0], [276.0, 303.0], [89.0, 303.0]], 'bbox': (89, 283, 188, 21), 'method': 'polygon'}, {'text': 'PER', 'confidence': 0.5172831416130066, 'polygon': [[261.0, 344.0], [291.0, 344.0], [291.0, 358.0], [261.0, 358.0]], 'bbox': (261, 344, 31, 15), 'method': 'polygon'}, {'text': '2] N / O SOS', 'confidence': 0.7707078456878662, 'polygon': [[91.0, 408.0], [286.0, 406.0], [286.0, 430.0], [91.0, 432.0]], 'bbox': (91, 406, 196, 27), 'method': 'polygon'}, {'text': '合', 'confidence': 0.5559926629066467, 'polygon': [[96.0, 464.0], [114.0, 464.0], [114.0, 482.0], [96.0, 482.0]], 'bbox': (96, 464, 19, 19), 'method': 'polygon'}, {'text': '/', 'confidence': 0.6035980582237244, 'polygon': [[122.0, 465.0], [278.0, 465.0], [278.0, 479.0], [122.0, 479.0]], 'bbox': (122, 465, 157, 15), 'method': 'polygon'}, {'text': '0~10', 'confidence': 0.9903686046600342, 'polygon': [[542.0, 526.0], [579.0, 526.0], [579.0, 540.0], [542.0, 540.0]], 'bbox': (542, 526, 38, 15), 'method': 'polygon'}]
[2025-10-24 15:36:03,162] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '40'
[2025-10-24 15:36:03,162] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'OU'
[2025-10-24 15:36:03,162] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'FM'
[2025-10-24 15:36:03,162] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'AM'
[2025-10-24 15:36:03,163] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 72.5%): '割列叫 2 3'
[2025-10-24 15:36:03,163] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '2'
[2025-10-24 15:36:03,163] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '104'
[2025-10-24 15:36:03,163] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '1500'
[2025-10-24 15:36:03,163] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '1400'
[2025-10-24 15:36:03,163] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '·R11'
[2025-10-24 15:36:03,163] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'RADIO/BT/MUSICPLAYER'
[2025-10-24 15:36:03,163] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '4000mAh2l9%12l'
[2025-10-24 15:36:03,163] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PER'
[2025-10-24 15:36:03,163] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '2] N / O SOS'
[2025-10-24 15:36:03,163] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 55.6%): '合'
[2025-10-24 15:36:03,164] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '/'
[2025-10-24 15:36:03,164] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '0~10'
[2025-10-24 15:36:03,164] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 2/17개 (신뢰도 + & 중국어)
[2025-10-24 15:36:03,164] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '割列叫 2 3', 'confidence': 0.7253797650337219, 'polygon': [[91.0, 159.0], [264.0, 161.0], [264.0, 199.0], [91.0, 197.0]], 'bbox': (91, 159, 174, 41), 'method': 'polygon'}, {'text': '合', 'confidence': 0.5559926629066467, 'polygon': [[96.0, 464.0], [114.0, 464.0], [114.0, 482.0], [96.0, 482.0]], 'bbox': (96, 464, 19, 19), 'method': 'polygon'}]
[2025-10-24 15:36:03,164] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 2개 필터링 완료
[2025-10-24 15:36:03,164] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 15:36:05,477] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['절단 열을 2 3이라고 합니다.', '결합하다']
[2025-10-24 15:36:05,477] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 15:36:05,477] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 1 OCR 권한 없음, 전체 번역 모드
[2025-10-24 15:36:05,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.028, comps=2, min_center_dist=0.268 → migan
[2025-10-24 15:36:05,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 2
[2025-10-24 15:36:05,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:36:05,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 15:36:05,492] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 15:36:05,980] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 15:36:05,980] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 488.98 ms
[2025-10-24 15:36:05,988] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 15:36:05,988] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 40725.7MB -> 40884.1MB (+158.4MB, +0.4%) - 방법: migan
[2025-10-24 15:36:05,988] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 15:36:06,001] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 15:36:06,002] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 15:36:06,002] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 15:36:06,324] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_1.webp
[2025-10-24 15:36:06,325] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 1 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_1.webp
[2025-10-24 15:36:06,326] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 4199.4ms | download=0.0ms | ocr=704.4ms | translate=2313.8ms | mask=2313.8ms | inpaint=509.0ms(migan/DirectML) | render=13.0ms | save=286.0ms
[2025-10-24 15:36:06,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 15:36:06,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=6e302bfb-4e03-4cc4-b37d-089083b6af26
[2025-10-24 15:36:06,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=6e302bfb-4e03-4cc4-b37d-089083b6af26
[2025-10-24 15:36:06,328] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:36:06,328] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:36:08,107] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:36:08,108] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=a58e29d2-8351-4e7e-89b1-77c7165cc8f1
[2025-10-24 15:36:08,108] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 15:36:08,108] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 15:36:08,108] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 15:36:08,108] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 15:36:08,528] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_4a492281954a.jpg - 전체 번역 모드
[2025-10-24 15:36:08,534] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_4a492281954a.jpg
[2025-10-24 15:36:08,534] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 15:36:08,534] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_4a492281954a.jpg
[2025-10-24 15:36:08,541] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:36:09,245] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 701.6ms
[2025-10-24 15:36:09,281] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 116.0ms, 인식: 547.6ms, 분류: 32.0ms
[2025-10-24 15:36:09,281] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 40961.1MB -> 41116.8MB (+155.7MB, +0.4%) - 이미지 2
[2025-10-24 15:36:09,281] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '40', 'confidence': 0.79648756980896, 'polygon': [[240.0, 60.0], [276.0, 60.0], [276.0, 89.0], [240.0, 89.0]], 'bbox': (240, 60, 37, 30), 'method': 'polygon'}, {'text': 'OU', 'confidence': 0.720514714717865, 'polygon': [[201.0, 74.0], [229.0, 74.0], [229.0, 85.0], [201.0, 85.0]], 'bbox': (201, 74, 29, 12), 'method': 'polygon'}, {'text': 'FM', 'confidence': 0.9799278974533081, 'polygon': [[452.0, 146.0], [464.0, 146.0], [464.0, 154.0], [452.0, 154.0]], 'bbox': (452, 146, 13, 9), 'method': 'polygon'}, {'text': 'AM', 'confidence': 0.924596905708313, 'polygon': [[470.0, 146.0], [481.0, 146.0], [481.0, 155.0], [470.0, 155.0]], 'bbox': (470, 146, 12, 10), 'method': 'polygon'}, {'text': '割列叫2 3', 'confidence': 0.6766061782836914, 'polygon': [[91.0, 159.0], [263.0, 161.0], [263.0, 199.0], [91.0, 197.0]], 'bbox': (91, 159, 173, 41), 'method': 'polygon'}, {'text': 'WB', 'confidence': 0.651782214641571, 'polygon': [[469.0, 161.0], [482.0, 161.0], [482.0, 179.0], [469.0, 179.0]], 'bbox': (469, 161, 14, 19), 'method': 'polygon'}, {'text': '2', 'confidence': 0.9980236291885376, 'polygon': [[266.0, 171.0], [287.0, 171.0], [287.0, 192.0], [266.0, 192.0]], 'bbox': (266, 171, 22, 22), 'method': 'polygon'}, {'text': '150', 'confidence': 0.9817664623260498, 'polygon': [[469.0, 193.0], [482.0, 193.0], [482.0, 209.0], [469.0, 209.0]], 'bbox': (469, 193, 14, 17), 'method': 'polygon'}, {'text': '02', 'confidence': 0.9884648323059082, 'polygon': [[453.0, 216.0], [463.0, 213.0], [466.0, 223.0], [456.0, 226.0]], 'bbox': (453, 213, 14, 14), 'method': 'polygon'}, {'text': '1400', 'confidence': 0.8108658194541931, 'polygon': [[470.0, 212.0], [483.0, 212.0], [483.0, 226.0], [470.0, 226.0]], 'bbox': (470, 212, 14, 15), 'method': 'polygon'}, {'text': '·R11', 'confidence': 0.8663603067398071, 'polygon': [[457.0, 245.0], [490.0, 245.0], [490.0, 256.0], [457.0, 256.0]], 'bbox': (457, 245, 34, 12), 'method': 'polygon'}, {'text': 'RADIO/BT/MUSIC', 'confidence': 0.9941977858543396, 'polygon': [[505.0, 246.0], [596.0, 246.0], [596.0, 256.0], [505.0, 256.0]], 'bbox': (505, 246, 92, 11), 'method': 'polygon'}, {'text': 'PLAYER', 'confidence': 0.9932400584220886, 'polygon': [[593.0, 245.0], [634.0, 245.0], [634.0, 256.0], [593.0, 256.0]], 'bbox': (593, 245, 42, 12), 'method': 'polygon'}, {'text': '4000mAh 2I HI 型l 2l', 'confidence': 0.8441988229751587, 'polygon': [[85.0, 283.0], [281.0, 283.0], [281.0, 303.0], [85.0, 303.0]], 'bbox': (85, 283, 197, 21), 'method': 'polygon'}, {'text': 'PER', 'confidence': 0.5266934037208557, 'polygon': [[261.0, 344.0], [291.0, 344.0], [291.0, 358.0], [261.0, 358.0]], 'bbox': (261, 344, 31, 15), 'method': 'polygon'}, {'text': '2l N / O SOS', 'confidence': 0.7515807151794434, 'polygon': [[91.0, 408.0], [286.0, 406.0], [286.0, 430.0], [91.0, 432.0]], 'bbox': (91, 406, 196, 27), 'method': 'polygon'}, {'text': '合', 'confidence': 0.5278617143630981, 'polygon': [[96.0, 464.0], [114.0, 464.0], [114.0, 482.0], [96.0, 482.0]], 'bbox': (96, 464, 19, 19), 'method': 'polygon'}, {'text': '/', 'confidence': 0.5799485445022583, 'polygon': [[122.0, 466.0], [278.0, 466.0], [278.0, 479.0], [122.0, 479.0]], 'bbox': (122, 466, 157, 14), 'method': 'polygon'}]
[2025-10-24 15:36:09,283] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '40'
[2025-10-24 15:36:09,283] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'OU'
[2025-10-24 15:36:09,283] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'FM'
[2025-10-24 15:36:09,283] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'AM'
[2025-10-24 15:36:09,283] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 67.7%): '割列叫2 3'
[2025-10-24 15:36:09,283] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'WB'
[2025-10-24 15:36:09,283] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '2'
[2025-10-24 15:36:09,283] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '150'
[2025-10-24 15:36:09,283] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '02'
[2025-10-24 15:36:09,283] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '1400'
[2025-10-24 15:36:09,284] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '·R11'
[2025-10-24 15:36:09,284] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'RADIO/BT/MUSIC'
[2025-10-24 15:36:09,284] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PLAYER'
[2025-10-24 15:36:09,284] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 84.4%): '4000mAh 2I HI 型l 2l'
[2025-10-24 15:36:09,284] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PER'
[2025-10-24 15:36:09,284] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '2l N / O SOS'
[2025-10-24 15:36:09,284] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 52.8%): '合'
[2025-10-24 15:36:09,284] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '/'
[2025-10-24 15:36:09,284] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 3/18개 (신뢰도 + & 중국어)
[2025-10-24 15:36:09,284] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '割列叫2 3', 'confidence': 0.6766061782836914, 'polygon': [[91.0, 159.0], [263.0, 161.0], [263.0, 199.0], [91.0, 197.0]], 'bbox': (91, 159, 173, 41), 'method': 'polygon'}, {'text': '4000mAh 2I HI 型l 2l', 'confidence': 0.8441988229751587, 'polygon': [[85.0, 283.0], [281.0, 283.0], [281.0, 303.0], [85.0, 303.0]], 'bbox': (85, 283, 197, 21), 'method': 'polygon'}, {'text': '合', 'confidence': 0.5278617143630981, 'polygon': [[96.0, 464.0], [114.0, 464.0], [114.0, 482.0], [96.0, 482.0]], 'bbox': (96, 464, 19, 19), 'method': 'polygon'}]
[2025-10-24 15:36:09,285] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 3개 필터링 완료
[2025-10-24 15:36:09,285] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 15:36:11,469] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['열 입찰가 삭감 2 3', '4000mAh 2I HI 유형 l 2l', '결합하다']
[2025-10-24 15:36:11,470] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 15:36:11,470] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 OCR 권한 없음, 전체 번역 모드
[2025-10-24 15:36:11,476] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.048, comps=3, min_center_dist=0.101 → request
[2025-10-24 15:36:11,476] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 3
[2025-10-24 15:36:11,476] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:36:11,476] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 15:36:11,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 15:36:11,621] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 15:36:11,622] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 138.01 ms
[2025-10-24 15:36:11,629] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 15:36:11,629] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 41197.0MB -> 41183.9MB (-13.1MB, -0.0%) - 방법: migan
[2025-10-24 15:36:11,630] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 15:36:11,642] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 15:36:11,642] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 15:36:11,642] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 15:36:11,967] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_2.webp
[2025-10-24 15:36:11,968] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_2.webp
[2025-10-24 15:36:11,968] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 3859.1ms | download=0.0ms | ocr=717.6ms | translate=2189.1ms | mask=2189.1ms | inpaint=159.0ms(migan/DirectML) | render=12.0ms | save=281.2ms
[2025-10-24 15:36:11,969] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 15:36:11,969] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 15:36:11,969] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=a58e29d2-8351-4e7e-89b1-77c7165cc8f1
[2025-10-24 15:36:11,970] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=a58e29d2-8351-4e7e-89b1-77c7165cc8f1
[2025-10-24 15:36:11,970] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 15:36:11,970] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:36:11,970] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 19508)
[2025-10-24 15:36:11,985] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:36:12,017] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 15:36:12,017] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 15:36:12,017] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 15:36:12,017] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 15:36:12,017] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 15:36:12,432] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=26136
[2025-10-24 15:36:12,930] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=26136, Name=ImageWorkerProcess)
[2025-10-24 15:36:12,930] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 15:36:12,931] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 15:36:12,937] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 15:36:12,937] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 15:36:12,937] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 15:36:12,937] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 15:36:12,937] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 15:36:12,937] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 15:36:12,937] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 15:36:12,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 15:36:12,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 15:36:12,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 15:36:12,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 15:36:12,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:36:12,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 15:36:12,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:36:12,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:36:12,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 15:36:12,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 15:36:12,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 15:36:12,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 15:36:12,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 15:36:12,938] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 15:36:12,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 15:36:12,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 15:36:12,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 15:36:12,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 15:36:12,939] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 15:36:14,501] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 15:36:14,585] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 15:36:14,586] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 15:36:14,586] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 15:36:14,586] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 15:36:14,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 15:36:14,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 15:36:14,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 15:36:14,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:36:14,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 15:36:14,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:36:14,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 15:36:14,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 15:36:14,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 15:36:14,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 15:36:14,588] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 15:36:14,588] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 15:36:14,606] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 15:36:14,816] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:36:14,817] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 15:36:14,817] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 15:36:14,817] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 15:36:14,817] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:36:14,817] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 15:36:14,817] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 15:36:14,817] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 15:36:14,817] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:36:14,817] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 15:36:14,817] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x00000184ADA1F910>
[2025-10-24 15:36:14,817] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x00000184ADA1F910>
[2025-10-24 15:36:14,817] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 15:36:14,818] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:36:14,822] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 5.0ms
[2025-10-24 15:36:14,822] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 15:36:14,822] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 15:36:14,825] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 15:36:14,825] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 15:36:14,826] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 15:36:14,826] [WorkerRoller] [INFO] [loggerModule.py:info:281] 버퍼 작업 재개: 1건
[2025-10-24 15:36:14,826] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 15:36:14,826] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 15:36:14,826] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:36:14,827] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26136)
[2025-10-24 15:36:14,827] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:36:14,827] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=f0806348-7fa0-4fbc-a2de-e789bde7f651
[2025-10-24 15:36:14,827] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 15:36:14,828] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 15:36:14,828] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 15:36:14,830] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 15:36:15,079] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_426af7f86f25.jpg - 전체 번역 모드
[2025-10-24 15:36:15,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_426af7f86f25.jpg
[2025-10-24 15:36:15,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 15:36:15,084] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_426af7f86f25.jpg
[2025-10-24 15:36:15,091] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:36:15,743] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 649.0ms
[2025-10-24 15:36:15,743] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 188.0ms, 인식: 437.0ms, 분류: 19.0ms
[2025-10-24 15:36:15,763] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 40751.1MB -> 40995.6MB (+244.6MB, +0.6%) - 이미지 3
[2025-10-24 15:36:15,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': 'BAOZOUTU', 'confidence': 0.993288516998291, 'polygon': [[134.0, 73.0], [274.0, 73.0], [274.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 141, 15), 'method': 'polygon'}, {'text': '..R12', 'confidence': 0.8256956338882446, 'polygon': [[574.0, 152.0], [616.0, 152.0], [616.0, 163.0], [574.0, 163.0]], 'bbox': (574, 152, 43, 12), 'method': 'polygon'}, {'text': '518', 'confidence': 0.9848126769065857, 'polygon': [[488.0, 174.0], [607.0, 174.0], [607.0, 240.0], [488.0, 240.0]], 'bbox': (488, 174, 120, 67), 'method': 'polygon'}, {'text': 'MH', 'confidence': 0.8806892037391663, 'polygon': [[608.0, 228.0], [621.0, 228.0], [621.0, 237.0], [608.0, 237.0]], 'bbox': (608, 228, 14, 10), 'method': 'polygon'}, {'text': 'MULTIBANDRADIO/BT/MUSICPLAYER', 'confidence': 0.9826321601867676, 'polygon': [[464.0, 244.0], [624.0, 244.0], [624.0, 257.0], [464.0, 257.0]], 'bbox': (464, 244, 161, 14), 'method': 'polygon'}, {'text': '4000mAh 2l喜 己l2l', 'confidence': 0.8047774434089661, 'polygon': [[85.0, 282.0], [283.0, 282.0], [283.0, 302.0], [85.0, 302.0]], 'bbox': (85, 282, 199, 21), 'method': 'polygon'}, {'text': 'PER', 'confidence': 0.5194413661956787, 'polygon': [[262.0, 344.0], [292.0, 344.0], [292.0, 358.0], [262.0, 358.0]], 'bbox': (262, 344, 31, 15), 'method': 'polygon'}, {'text': '丽是门 / 百昆 SOS', 'confidence': 0.7015822529792786, 'polygon': [[83.0, 400.0], [284.0, 400.0], [284.0, 424.0], [83.0, 424.0]], 'bbox': (83, 400, 202, 25), 'method': 'polygon'}, {'text': '克川', 'confidence': 0.6043555736541748, 'polygon': [[532.0, 424.0], [603.0, 417.0], [606.0, 442.0], [535.0, 449.0]], 'bbox': (532, 417, 75, 33), 'method': 'polygon'}, {'text': '应易 品品 / E屁E 可', 'confidence': 0.7070178985595703, 'polygon': [[85.0, 462.0], [287.0, 462.0], [287.0, 482.0], [85.0, 482.0]], 'bbox': (85, 462, 203, 21), 'method': 'polygon'}]
[2025-10-24 15:36:15,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 15:36:15,780] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '..R12'
[2025-10-24 15:36:15,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '518'
[2025-10-24 15:36:15,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MH'
[2025-10-24 15:36:15,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MULTIBANDRADIO/BT/MUSICPLAYER'
[2025-10-24 15:36:15,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 80.5%): '4000mAh 2l喜 己l2l'
[2025-10-24 15:36:15,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PER'
[2025-10-24 15:36:15,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 70.2%): '丽是门 / 百昆 SOS'
[2025-10-24 15:36:15,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 60.4%): '克川'
[2025-10-24 15:36:15,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 70.7%): '应易 品品 / E屁E 可'
[2025-10-24 15:36:15,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 4/10개 (신뢰도 + & 중국어)
[2025-10-24 15:36:15,781] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '4000mAh 2l喜 己l2l', 'confidence': 0.8047774434089661, 'polygon': [[85.0, 282.0], [283.0, 282.0], [283.0, 302.0], [85.0, 302.0]], 'bbox': (85, 282, 199, 21), 'method': 'polygon'}, {'text': '丽是门 / 百昆 SOS', 'confidence': 0.7015822529792786, 'polygon': [[83.0, 400.0], [284.0, 400.0], [284.0, 424.0], [83.0, 424.0]], 'bbox': (83, 400, 202, 25), 'method': 'polygon'}, {'text': '克川', 'confidence': 0.6043555736541748, 'polygon': [[532.0, 424.0], [603.0, 417.0], [606.0, 442.0], [535.0, 449.0]], 'bbox': (532, 417, 75, 33), 'method': 'polygon'}, {'text': '应易 品品 / E屁E 可', 'confidence': 0.7070178985595703, 'polygon': [[85.0, 462.0], [287.0, 462.0], [287.0, 482.0], [85.0, 482.0]], 'bbox': (85, 462, 203, 21), 'method': 'polygon'}]
[2025-10-24 15:36:15,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 4개 필터링 완료
[2025-10-24 15:36:15,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 15:36:18,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['4000mAh 2l 하이지 l2l', '리시멘 / 바이쿤SOS', '카츠카와', '잉이 핀핀 / E 방귀 E 캔']
[2025-10-24 15:36:18,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 15:36:18,399] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 OCR 권한 없음, 전체 번역 모드
[2025-10-24 15:36:18,404] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.073, comps=4, min_center_dist=0.053 → request
[2025-10-24 15:36:18,404] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 4
[2025-10-24 15:36:18,404] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:36:18,404] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 15:36:18,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 15:36:18,919] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 15:36:18,919] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 506.46 ms
[2025-10-24 15:36:18,928] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 15:36:18,928] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 41007.8MB -> 41197.6MB (+189.8MB, +0.5%) - 방법: migan
[2025-10-24 15:36:18,928] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 15:36:18,953] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 15:36:18,954] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 15:36:18,954] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 15:36:19,286] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_3.webp
[2025-10-24 15:36:19,287] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_3.webp
[2025-10-24 15:36:19,287] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 4458.4ms | download=0.0ms | ocr=664.0ms | translate=2618.5ms | mask=2618.5ms | inpaint=528.5ms(migan/DirectML) | render=24.0ms | save=287.0ms
[2025-10-24 15:36:19,289] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 15:36:19,289] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=f0806348-7fa0-4fbc-a2de-e789bde7f651
[2025-10-24 15:36:19,289] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=f0806348-7fa0-4fbc-a2de-e789bde7f651
[2025-10-24 15:36:19,289] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:36:19,289] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26136)
[2025-10-24 15:36:21,077] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:36:21,077] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=6a2f4227-8cf2-4129-b990-94fffcba76b0
[2025-10-24 15:36:21,078] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 15:36:21,078] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 15:36:21,078] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 15:36:21,079] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 15:36:21,370] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 4 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_50ea8b4642a4.jpg - 전체 번역 모드
[2025-10-24 15:36:21,378] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_50ea8b4642a4.jpg
[2025-10-24 15:36:21,378] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 15:36:21,378] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 4 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_50ea8b4642a4.jpg
[2025-10-24 15:36:21,386] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:36:22,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 635.6ms
[2025-10-24 15:36:22,037] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 136.0ms, 인식: 469.6ms, 분류: 23.0ms
[2025-10-24 15:36:22,038] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 41418.2MB -> 41490.6MB (+72.4MB, +0.2%) - 이미지 4
[2025-10-24 15:36:22,038] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': 'BAOZOUTU', 'confidence': 0.9920582175254822, 'polygon': [[133.0, 72.0], [273.0, 72.0], [273.0, 86.0], [133.0, 86.0]], 'bbox': (133, 72, 141, 15), 'method': 'polygon'}, {'text': '.R12', 'confidence': 0.8190782070159912, 'polygon': [[578.0, 152.0], [614.0, 152.0], [614.0, 163.0], [578.0, 163.0]], 'bbox': (578, 152, 37, 12), 'method': 'polygon'}, {'text': '百口2 三丽 昱', 'confidence': 0.6060160994529724, 'polygon': [[92.0, 162.0], [287.0, 164.0], [287.0, 195.0], [92.0, 193.0]], 'bbox': (92, 162, 196, 34), 'method': 'polygon'}, {'text': '518', 'confidence': 0.982236385345459, 'polygon': [[488.0, 175.0], [607.0, 175.0], [607.0, 240.0], [488.0, 240.0]], 'bbox': (488, 175, 120, 66), 'method': 'polygon'}, {'text': 'MH', 'confidence': 0.5119634866714478, 'polygon': [[607.0, 228.0], [622.0, 228.0], [622.0, 238.0], [607.0, 238.0]], 'bbox': (607, 228, 16, 11), 'method': 'polygon'}, {'text': 'MULTIBANDRADIO/BT/MUSICPLAYER', 'confidence': 0.9807587265968323, 'polygon': [[463.0, 243.0], [624.0, 244.0], [624.0, 258.0], [463.0, 257.0]], 'bbox': (463, 243, 162, 16), 'method': 'polygon'}, {'text': '4000mAh 2l喜 cl2l', 'confidence': 0.7750270366668701, 'polygon': [[85.0, 282.0], [284.0, 282.0], [284.0, 302.0], [85.0, 302.0]], 'bbox': (85, 282, 200, 21), 'method': 'polygon'}, {'text': 'PER', 'confidence': 0.5270567536354065, 'polygon': [[262.0, 344.0], [292.0, 344.0], [292.0, 358.0], [262.0, 358.0]], 'bbox': (262, 344, 31, 15), 'method': 'polygon'}, {'text': '丽是N / 百昆 SOS', 'confidence': 0.7120068073272705, 'polygon': [[83.0, 400.0], [284.0, 400.0], [284.0, 424.0], [83.0, 424.0]], 'bbox': (83, 400, 202, 25), 'method': 'polygon'}, {'text': '应易 品品 / E屁E 可', 'confidence': 0.6930113434791565, 'polygon': [[85.0, 462.0], [287.0, 462.0], [287.0, 482.0], [85.0, 482.0]], 'bbox': (85, 462, 203, 21), 'method': 'polygon'}]
[2025-10-24 15:36:22,038] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 15:36:22,039] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '.R12'
[2025-10-24 15:36:22,039] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 60.6%): '百口2 三丽 昱'
[2025-10-24 15:36:22,039] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '518'
[2025-10-24 15:36:22,039] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MH'
[2025-10-24 15:36:22,039] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MULTIBANDRADIO/BT/MUSICPLAYER'
[2025-10-24 15:36:22,039] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 77.5%): '4000mAh 2l喜 cl2l'
[2025-10-24 15:36:22,039] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PER'
[2025-10-24 15:36:22,039] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 71.2%): '丽是N / 百昆 SOS'
[2025-10-24 15:36:22,039] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 69.3%): '应易 品品 / E屁E 可'
[2025-10-24 15:36:22,039] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 4/10개 (신뢰도 + & 중국어)
[2025-10-24 15:36:22,039] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '百口2 三丽 昱', 'confidence': 0.6060160994529724, 'polygon': [[92.0, 162.0], [287.0, 164.0], [287.0, 195.0], [92.0, 193.0]], 'bbox': (92, 162, 196, 34), 'method': 'polygon'}, {'text': '4000mAh 2l喜 cl2l', 'confidence': 0.7750270366668701, 'polygon': [[85.0, 282.0], [284.0, 282.0], [284.0, 302.0], [85.0, 302.0]], 'bbox': (85, 282, 200, 21), 'method': 'polygon'}, {'text': '丽是N / 百昆 SOS', 'confidence': 0.7120068073272705, 'polygon': [[83.0, 400.0], [284.0, 400.0], [284.0, 424.0], [83.0, 424.0]], 'bbox': (83, 400, 202, 25), 'method': 'polygon'}, {'text': '应易 品品 / E屁E 可', 'confidence': 0.6930113434791565, 'polygon': [[85.0, 462.0], [287.0, 462.0], [287.0, 482.0], [85.0, 482.0]], 'bbox': (85, 462, 203, 21), 'method': 'polygon'}]
[2025-10-24 15:36:22,040] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 4개 필터링 완료
[2025-10-24 15:36:22,040] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 15:36:23,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['바이커우 2 싼리 유', '4000mAh 2l 안녕하세요 cl2l', '리는 N이다 / 바이쿤 SOS', '잉이 핀핀 / E 방귀 E 캔']
[2025-10-24 15:36:23,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 15:36:23,637] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 4 OCR 권한 없음, 전체 번역 모드
[2025-10-24 15:36:23,644] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.087, comps=4, min_center_dist=0.053 → request
[2025-10-24 15:36:23,644] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 4
[2025-10-24 15:36:23,644] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:36:23,644] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 15:36:23,651] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 15:36:23,865] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 15:36:23,866] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 213.92 ms
[2025-10-24 15:36:23,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 15:36:23,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 41682.6MB -> 41694.5MB (+11.9MB, +0.0%) - 방법: migan
[2025-10-24 15:36:23,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 15:36:23,889] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 15:36:23,889] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 15:36:23,889] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 15:36:24,203] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_4.webp
[2025-10-24 15:36:24,204] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 4 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_4.webp
[2025-10-24 15:36:24,204] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 3125.1ms | download=0.0ms | ocr=653.6ms | translate=1598.7ms | mask=1598.7ms | inpaint=234.9ms(migan/DirectML) | render=16.0ms | save=281.3ms
[2025-10-24 15:36:24,205] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 15:36:24,205] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 15:36:24,205] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=6a2f4227-8cf2-4129-b990-94fffcba76b0
[2025-10-24 15:36:24,206] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=6a2f4227-8cf2-4129-b990-94fffcba76b0
[2025-10-24 15:36:24,206] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 15:36:24,206] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:36:24,206] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26136)
[2025-10-24 15:36:24,220] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:36:24,257] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 15:36:24,258] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 15:36:24,258] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 15:36:24,258] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 15:36:24,258] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 15:36:24,680] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=6104
[2025-10-24 15:36:25,220] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=6104, Name=ImageWorkerProcess)
[2025-10-24 15:36:25,220] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 15:36:25,220] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 15:36:25,227] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 15:36:25,227] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 15:36:25,227] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 15:36:25,227] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 15:36:25,228] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 15:36:25,228] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 15:36:25,228] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 15:36:25,228] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 15:36:25,228] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 15:36:25,228] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 15:36:25,228] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 15:36:25,228] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:36:25,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 15:36:25,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:36:25,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:36:25,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 15:36:25,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 15:36:25,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 15:36:25,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 15:36:25,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 15:36:25,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 15:36:25,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 15:36:25,229] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 15:36:25,230] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 15:36:25,230] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 15:36:25,230] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 15:36:26,801] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 15:36:26,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 15:36:26,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 15:36:26,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 15:36:26,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 15:36:26,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 15:36:26,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 15:36:26,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 15:36:26,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:36:26,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 15:36:26,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:36:26,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 15:36:26,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 15:36:26,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 15:36:26,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 15:36:26,888] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 15:36:26,888] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 15:36:26,906] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 15:36:27,123] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:36:27,123] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 15:36:27,123] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 15:36:27,123] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 15:36:27,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:36:27,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 15:36:27,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 15:36:27,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 15:36:27,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:36:27,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 15:36:27,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x0000018E49142C50>
[2025-10-24 15:36:27,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x0000018E49142C50>
[2025-10-24 15:36:27,124] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 15:36:27,125] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:36:27,129] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 5.0ms
[2025-10-24 15:36:27,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 4.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 15:36:27,130] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 15:36:27,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 15:36:27,133] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 15:36:27,134] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 15:36:27,134] [WorkerRoller] [INFO] [loggerModule.py:info:281] 버퍼 작업 재개: 1건
[2025-10-24 15:36:27,134] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 15:36:27,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 15:36:27,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:36:27,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 6104)
[2025-10-24 15:36:27,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:36:27,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=f6f71c7d-70dd-454b-a330-d29f2b853503
[2025-10-24 15:36:27,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 15:36:27,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 15:36:27,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 15:36:27,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 15:36:27,497] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 5 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_43b156fde6c2.jpg - 전체 번역 모드
[2025-10-24 15:36:27,502] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_43b156fde6c2.jpg
[2025-10-24 15:36:27,503] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 15:36:27,503] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 5 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_43b156fde6c2.jpg
[2025-10-24 15:36:27,510] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:36:28,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 511.7ms
[2025-10-24 15:36:28,024] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 110.0ms, 인식: 378.7ms, 분류: 18.0ms
[2025-10-24 15:36:28,034] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 41166.6MB -> 41331.7MB (+165.1MB, +0.4%) - 이미지 5
[2025-10-24 15:36:28,046] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': 'BAOZOUTU', 'confidence': 0.9920599460601807, 'polygon': [[133.0, 72.0], [273.0, 72.0], [273.0, 86.0], [133.0, 86.0]], 'bbox': (133, 72, 141, 15), 'method': 'polygon'}, {'text': '..R12', 'confidence': 0.8152837753295898, 'polygon': [[574.0, 152.0], [615.0, 152.0], [615.0, 163.0], [574.0, 163.0]], 'bbox': (574, 152, 42, 12), 'method': 'polygon'}, {'text': '百口2 三丽 昱', 'confidence': 0.6027534008026123, 'polygon': [[92.0, 162.0], [287.0, 164.0], [287.0, 195.0], [92.0, 193.0]], 'bbox': (92, 162, 196, 34), 'method': 'polygon'}, {'text': '518', 'confidence': 0.984868586063385, 'polygon': [[487.0, 175.0], [607.0, 175.0], [607.0, 240.0], [487.0, 240.0]], 'bbox': (487, 175, 121, 66), 'method': 'polygon'}, {'text': 'MHX', 'confidence': 0.5008979439735413, 'polygon': [[607.0, 228.0], [622.0, 228.0], [622.0, 238.0], [607.0, 238.0]], 'bbox': (607, 228, 16, 11), 'method': 'polygon'}, {'text': 'MULTIBANDRADIO/BT/MUSICPLAYER', 'confidence': 0.9811127781867981, 'polygon': [[463.0, 243.0], [624.0, 244.0], [624.0, 258.0], [463.0, 257.0]], 'bbox': (463, 243, 162, 16), 'method': 'polygon'}, {'text': '4000mAh 2l喜 己l2l', 'confidence': 0.7726338505744934, 'polygon': [[85.0, 282.0], [284.0, 282.0], [284.0, 302.0], [85.0, 302.0]], 'bbox': (85, 282, 200, 21), 'method': 'polygon'}, {'text': 'PER', 'confidence': 0.5241203904151917, 'polygon': [[262.0, 344.0], [292.0, 344.0], [292.0, 358.0], [262.0, 358.0]], 'bbox': (262, 344, 31, 15), 'method': 'polygon'}, {'text': '丽是N / 百昆 SOS', 'confidence': 0.7132816910743713, 'polygon': [[83.0, 400.0], [284.0, 400.0], [284.0, 424.0], [83.0, 424.0]], 'bbox': (83, 400, 202, 25), 'method': 'polygon'}, {'text': '应易 品品 / E屁E 可', 'confidence': 0.6868884563446045, 'polygon': [[85.0, 462.0], [287.0, 462.0], [287.0, 482.0], [85.0, 482.0]], 'bbox': (85, 462, 203, 21), 'method': 'polygon'}]
[2025-10-24 15:36:28,061] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 15:36:28,061] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '..R12'
[2025-10-24 15:36:28,061] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 60.3%): '百口2 三丽 昱'
[2025-10-24 15:36:28,061] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '518'
[2025-10-24 15:36:28,062] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MHX'
[2025-10-24 15:36:28,062] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MULTIBANDRADIO/BT/MUSICPLAYER'
[2025-10-24 15:36:28,062] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 77.3%): '4000mAh 2l喜 己l2l'
[2025-10-24 15:36:28,062] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PER'
[2025-10-24 15:36:28,062] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 71.3%): '丽是N / 百昆 SOS'
[2025-10-24 15:36:28,062] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 68.7%): '应易 品品 / E屁E 可'
[2025-10-24 15:36:28,062] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 4/10개 (신뢰도 + & 중국어)
[2025-10-24 15:36:28,062] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '百口2 三丽 昱', 'confidence': 0.6027534008026123, 'polygon': [[92.0, 162.0], [287.0, 164.0], [287.0, 195.0], [92.0, 193.0]], 'bbox': (92, 162, 196, 34), 'method': 'polygon'}, {'text': '4000mAh 2l喜 己l2l', 'confidence': 0.7726338505744934, 'polygon': [[85.0, 282.0], [284.0, 282.0], [284.0, 302.0], [85.0, 302.0]], 'bbox': (85, 282, 200, 21), 'method': 'polygon'}, {'text': '丽是N / 百昆 SOS', 'confidence': 0.7132816910743713, 'polygon': [[83.0, 400.0], [284.0, 400.0], [284.0, 424.0], [83.0, 424.0]], 'bbox': (83, 400, 202, 25), 'method': 'polygon'}, {'text': '应易 品品 / E屁E 可', 'confidence': 0.6868884563446045, 'polygon': [[85.0, 462.0], [287.0, 462.0], [287.0, 482.0], [85.0, 482.0]], 'bbox': (85, 462, 203, 21), 'method': 'polygon'}]
[2025-10-24 15:36:28,093] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 4개 필터링 완료
[2025-10-24 15:36:28,098] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 15:36:29,993] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['바이커우 2 싼리 유', '4000mAh 2l 하이지 l2l', '리는 N이다 / 바이쿤SOS', '잉이 핀핀 / E 방귀 E 캔']
[2025-10-24 15:36:29,993] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 15:36:29,993] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 5 OCR 권한 없음, 전체 번역 모드
[2025-10-24 15:36:29,999] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.087, comps=4, min_center_dist=0.053 → request
[2025-10-24 15:36:29,999] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 4
[2025-10-24 15:36:29,999] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:36:29,999] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 15:36:30,006] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 15:36:30,490] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 15:36:30,490] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 484.12 ms
[2025-10-24 15:36:30,498] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 15:36:30,498] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 41205.8MB -> 41358.1MB (+152.3MB, +0.4%) - 방법: migan
[2025-10-24 15:36:30,498] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 15:36:30,523] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 15:36:30,524] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 15:36:30,524] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 15:36:30,838] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_5.webp
[2025-10-24 15:36:30,839] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 5 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_5.webp
[2025-10-24 15:36:30,839] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 3703.1ms | download=0.0ms | ocr=526.7ms | translate=1930.7ms | mask=1930.7ms | inpaint=504.5ms(migan/DirectML) | render=25.2ms | save=281.8ms
[2025-10-24 15:36:30,840] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 15:36:30,841] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=f6f71c7d-70dd-454b-a330-d29f2b853503
[2025-10-24 15:36:30,841] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=f6f71c7d-70dd-454b-a330-d29f2b853503
[2025-10-24 15:36:30,841] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:36:30,841] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 6104)
[2025-10-24 15:36:32,546] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:36:32,547] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=d7f8a266-94c6-4e28-a1d0-135fd406290b
[2025-10-24 15:36:32,547] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 15:36:32,547] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 15:36:32,547] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 15:36:32,548] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 15:36:32,730] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 6 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_f89764827f6a.jpg - 전체 번역 모드
[2025-10-24 15:36:32,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_f89764827f6a.jpg
[2025-10-24 15:36:32,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 15:36:32,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 6 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_f89764827f6a.jpg
[2025-10-24 15:36:32,746] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:36:33,358] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 610.5ms
[2025-10-24 15:36:33,373] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 118.1ms, 인식: 467.9ms, 분류: 19.5ms
[2025-10-24 15:36:33,373] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 41355.4MB -> 41367.6MB (+12.2MB, +0.0%) - 이미지 6
[2025-10-24 15:36:33,373] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': 'BAOZOUTU', 'confidence': 0.9932674765586853, 'polygon': [[134.0, 73.0], [274.0, 73.0], [274.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 141, 15), 'method': 'polygon'}, {'text': '..R12.', 'confidence': 0.7745210528373718, 'polygon': [[532.0, 151.0], [618.0, 151.0], [618.0, 164.0], [532.0, 164.0]], 'bbox': (532, 151, 87, 14), 'method': 'polygon'}, {'text': '百口杞 三丽 昱', 'confidence': 0.6055483222007751, 'polygon': [[92.0, 161.0], [287.0, 164.0], [287.0, 195.0], [92.0, 192.0]], 'bbox': (92, 161, 196, 35), 'method': 'polygon'}, {'text': '518', 'confidence': 0.9850950241088867, 'polygon': [[488.0, 174.0], [607.0, 174.0], [607.0, 240.0], [488.0, 240.0]], 'bbox': (488, 174, 120, 67), 'method': 'polygon'}, {'text': 'UH', 'confidence': 0.7314228415489197, 'polygon': [[607.0, 228.0], [622.0, 228.0], [622.0, 238.0], [607.0, 238.0]], 'bbox': (607, 228, 16, 11), 'method': 'polygon'}, {'text': 'MULTIBANDRADIO/BT/MUSICPLAYER', 'confidence': 0.9863682985305786, 'polygon': [[464.0, 244.0], [624.0, 244.0], [624.0, 257.0], [464.0, 257.0]], 'bbox': (464, 244, 161, 14), 'method': 'polygon'}, {'text': '4000mAh 2l UHc12l', 'confidence': 0.7911429405212402, 'polygon': [[84.0, 281.0], [282.0, 281.0], [282.0, 301.0], [84.0, 301.0]], 'bbox': (84, 281, 199, 21), 'method': 'polygon'}, {'text': 'PER', 'confidence': 0.5149660110473633, 'polygon': [[261.0, 344.0], [291.0, 344.0], [291.0, 358.0], [261.0, 358.0]], 'bbox': (261, 344, 31, 15), 'method': 'polygon'}, {'text': '丽是N / 百昆 SOS', 'confidence': 0.6998953819274902, 'polygon': [[83.0, 400.0], [284.0, 400.0], [284.0, 424.0], [83.0, 424.0]], 'bbox': (83, 400, 202, 25), 'method': 'polygon'}, {'text': '应易 品品 / E屁E 可', 'confidence': 0.6925998330116272, 'polygon': [[85.0, 462.0], [287.0, 462.0], [287.0, 482.0], [85.0, 482.0]], 'bbox': (85, 462, 203, 21), 'method': 'polygon'}]
[2025-10-24 15:36:33,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 15:36:33,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '..R12.'
[2025-10-24 15:36:33,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 60.6%): '百口杞 三丽 昱'
[2025-10-24 15:36:33,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '518'
[2025-10-24 15:36:33,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'UH'
[2025-10-24 15:36:33,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MULTIBANDRADIO/BT/MUSICPLAYER'
[2025-10-24 15:36:33,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '4000mAh 2l UHc12l'
[2025-10-24 15:36:33,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PER'
[2025-10-24 15:36:33,375] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 70.0%): '丽是N / 百昆 SOS'
[2025-10-24 15:36:33,375] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 69.3%): '应易 品品 / E屁E 可'
[2025-10-24 15:36:33,375] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 3/10개 (신뢰도 + & 중국어)
[2025-10-24 15:36:33,375] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '百口杞 三丽 昱', 'confidence': 0.6055483222007751, 'polygon': [[92.0, 161.0], [287.0, 164.0], [287.0, 195.0], [92.0, 192.0]], 'bbox': (92, 161, 196, 35), 'method': 'polygon'}, {'text': '丽是N / 百昆 SOS', 'confidence': 0.6998953819274902, 'polygon': [[83.0, 400.0], [284.0, 400.0], [284.0, 424.0], [83.0, 424.0]], 'bbox': (83, 400, 202, 25), 'method': 'polygon'}, {'text': '应易 品品 / E屁E 可', 'confidence': 0.6925998330116272, 'polygon': [[85.0, 462.0], [287.0, 462.0], [287.0, 482.0], [85.0, 482.0]], 'bbox': (85, 462, 203, 21), 'method': 'polygon'}]
[2025-10-24 15:36:33,375] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 3개 필터링 완료
[2025-10-24 15:36:33,375] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 15:36:35,757] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['바이커우치 싼리 유', '리는 N이다 / 바이쿤 SOS', '잉이 핀핀 / E 방귀 E 캔']
[2025-10-24 15:36:35,760] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 15:36:35,760] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 6 OCR 권한 없음, 전체 번역 모드
[2025-10-24 15:36:35,767] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.066, comps=3, min_center_dist=0.053 → request
[2025-10-24 15:36:35,767] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 3
[2025-10-24 15:36:35,768] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:36:35,768] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 15:36:35,777] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 15:36:36,039] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 15:36:36,039] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 263.18 ms
[2025-10-24 15:36:36,048] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 15:36:36,048] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 41453.3MB -> 41431.4MB (-22.0MB, -0.1%) - 방법: migan
[2025-10-24 15:36:36,048] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 15:36:36,059] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 15:36:36,059] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 15:36:36,060] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 15:36:36,372] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_6.webp
[2025-10-24 15:36:36,373] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 6 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_6.webp
[2025-10-24 15:36:36,373] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 3824.3ms | download=0.0ms | ocr=627.5ms | translate=2383.6ms | mask=2383.6ms | inpaint=289.5ms(migan/DirectML) | render=10.8ms | save=278.2ms
[2025-10-24 15:36:36,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 15:36:36,374] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 15:36:36,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=d7f8a266-94c6-4e28-a1d0-135fd406290b
[2025-10-24 15:36:36,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=d7f8a266-94c6-4e28-a1d0-135fd406290b
[2025-10-24 15:36:36,374] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 15:36:36,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:36:36,374] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 6104)
[2025-10-24 15:36:36,388] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:36:36,431] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 15:36:36,431] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 15:36:36,431] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 15:36:36,431] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 15:36:36,432] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 15:36:36,882] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=28344
[2025-10-24 15:36:37,446] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=28344, Name=ImageWorkerProcess)
[2025-10-24 15:36:37,447] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 15:36:37,447] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 15:36:37,454] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 15:36:37,454] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 15:36:37,455] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 15:36:37,455] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 15:36:37,455] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 15:36:37,455] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 15:36:37,455] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 15:36:37,455] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 15:36:37,455] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 15:36:37,455] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 15:36:37,455] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 15:36:37,455] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:36:37,456] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 15:36:37,456] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:36:37,456] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:36:37,456] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 15:36:37,456] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 15:36:37,456] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 15:36:37,456] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 15:36:37,456] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 15:36:37,456] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 15:36:37,456] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 15:36:37,456] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 15:36:37,456] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 15:36:37,456] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 15:36:37,456] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 15:36:39,015] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 15:36:39,099] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 15:36:39,100] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 15:36:39,100] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 15:36:39,100] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 15:36:39,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 15:36:39,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 15:36:39,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 15:36:39,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:36:39,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 15:36:39,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:36:39,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 15:36:39,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 15:36:39,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 15:36:39,101] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 15:36:39,102] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 15:36:39,102] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 15:36:39,122] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 15:36:39,333] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:36:39,334] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 15:36:39,334] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 15:36:39,334] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 15:36:39,334] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:36:39,334] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 15:36:39,334] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 15:36:39,334] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 15:36:39,334] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:36:39,334] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 15:36:39,334] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x000001BC26A8BE90>
[2025-10-24 15:36:39,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x000001BC26A8BE90>
[2025-10-24 15:36:39,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 15:36:39,335] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:36:39,339] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 15:36:39,339] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 15:36:39,339] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 15:36:39,343] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 15:36:39,343] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 15:36:39,343] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 15:36:39,343] [WorkerRoller] [INFO] [loggerModule.py:info:281] 버퍼 작업 재개: 1건
[2025-10-24 15:36:39,344] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 15:36:39,344] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 15:36:39,344] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:36:39,344] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 28344)
[2025-10-24 15:36:39,344] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:36:39,345] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=7f6aee59-83c9-48b0-bdc7-bda1ba530aa3
[2025-10-24 15:36:39,345] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 15:36:39,345] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 15:36:39,345] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 15:36:39,347] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 15:36:39,651] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 7 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_cda206fabb3c.jpg - 전체 번역 모드
[2025-10-24 15:36:39,656] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_cda206fabb3c.jpg
[2025-10-24 15:36:39,656] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 15:36:39,657] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 7 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_cda206fabb3c.jpg
[2025-10-24 15:36:39,664] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:36:40,328] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 663.9ms
[2025-10-24 15:36:40,339] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 109.0ms, 인식: 528.4ms, 분류: 19.0ms
[2025-10-24 15:36:40,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 40976.6MB -> 41239.6MB (+262.9MB, +0.6%) - 이미지 7
[2025-10-24 15:36:40,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': 'BAO ZOUTU', 'confidence': 0.8897886276245117, 'polygon': [[130.0, 70.0], [274.0, 64.0], [275.0, 87.0], [131.0, 93.0]], 'bbox': (130, 64, 146, 30), 'method': 'polygon'}, {'text': '..R12', 'confidence': 0.8127950429916382, 'polygon': [[575.0, 152.0], [615.0, 152.0], [615.0, 163.0], [575.0, 163.0]], 'bbox': (575, 152, 41, 12), 'method': 'polygon'}, {'text': '518', 'confidence': 0.9848101139068604, 'polygon': [[488.0, 174.0], [607.0, 174.0], [607.0, 240.0], [488.0, 240.0]], 'bbox': (488, 174, 120, 67), 'method': 'polygon'}, {'text': 'MULTIBANDRADIO/BT/MUSICPLAYER', 'confidence': 0.9826290607452393, 'polygon': [[464.0, 244.0], [624.0, 244.0], [624.0, 257.0], [464.0, 257.0]], 'bbox': (464, 244, 161, 14), 'method': 'polygon'}, {'text': '4000mAh 2l喜 圳c12l', 'confidence': 0.7905462384223938, 'polygon': [[86.0, 282.0], [282.0, 282.0], [282.0, 302.0], [86.0, 302.0]], 'bbox': (86, 282, 197, 21), 'method': 'polygon'}, {'text': 'PER', 'confidence': 0.5209131836891174, 'polygon': [[262.0, 344.0], [292.0, 344.0], [292.0, 358.0], [262.0, 358.0]], 'bbox': (262, 344, 31, 15), 'method': 'polygon'}, {'text': '丽昆N / 百昆 SOS', 'confidence': 0.717670202255249, 'polygon': [[82.0, 398.0], [284.0, 400.0], [284.0, 424.0], [82.0, 422.0]], 'bbox': (82, 398, 203, 27), 'method': 'polygon'}, {'text': '三', 'confidence': 0.5909590125083923, 'polygon': [[86.0, 463.0], [122.0, 463.0], [122.0, 481.0], [86.0, 481.0]], 'bbox': (86, 463, 37, 19), 'method': 'polygon'}, {'text': '应易 品品 / E品E', 'confidence': 0.708503007888794, 'polygon': [[124.0, 462.0], [286.0, 462.0], [286.0, 482.0], [124.0, 482.0]], 'bbox': (124, 462, 163, 21), 'method': 'polygon'}, {'text': '外', 'confidence': 0.5034343600273132, 'polygon': [[387.0, 774.0], [446.0, 774.0], [446.0, 788.0], [387.0, 788.0]], 'bbox': (387, 774, 60, 15), 'method': 'polygon'}]
[2025-10-24 15:36:40,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAO ZOUTU'
[2025-10-24 15:36:40,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '..R12'
[2025-10-24 15:36:40,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '518'
[2025-10-24 15:36:40,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MULTIBANDRADIO/BT/MUSICPLAYER'
[2025-10-24 15:36:40,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 79.1%): '4000mAh 2l喜 圳c12l'
[2025-10-24 15:36:40,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PER'
[2025-10-24 15:36:40,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 71.8%): '丽昆N / 百昆 SOS'
[2025-10-24 15:36:40,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 59.1%): '三'
[2025-10-24 15:36:40,367] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 70.9%): '应易 品品 / E品E'
[2025-10-24 15:36:40,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 50.3%): '外'
[2025-10-24 15:36:40,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 5/10개 (신뢰도 + & 중국어)
[2025-10-24 15:36:40,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '4000mAh 2l喜 圳c12l', 'confidence': 0.7905462384223938, 'polygon': [[86.0, 282.0], [282.0, 282.0], [282.0, 302.0], [86.0, 302.0]], 'bbox': (86, 282, 197, 21), 'method': 'polygon'}, {'text': '丽昆N / 百昆 SOS', 'confidence': 0.717670202255249, 'polygon': [[82.0, 398.0], [284.0, 400.0], [284.0, 424.0], [82.0, 422.0]], 'bbox': (82, 398, 203, 27), 'method': 'polygon'}, {'text': '三', 'confidence': 0.5909590125083923, 'polygon': [[86.0, 463.0], [122.0, 463.0], [122.0, 481.0], [86.0, 481.0]], 'bbox': (86, 463, 37, 19), 'method': 'polygon'}, {'text': '应易 品品 / E品E', 'confidence': 0.708503007888794, 'polygon': [[124.0, 462.0], [286.0, 462.0], [286.0, 482.0], [124.0, 482.0]], 'bbox': (124, 462, 163, 21), 'method': 'polygon'}, {'text': '外', 'confidence': 0.5034343600273132, 'polygon': [[387.0, 774.0], [446.0, 774.0], [446.0, 788.0], [387.0, 788.0]], 'bbox': (387, 774, 60, 15), 'method': 'polygon'}]
[2025-10-24 15:36:40,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 5개 필터링 완료
[2025-10-24 15:36:40,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 15:36:42,440] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['4000mAh 2l 하이쉔 c12l', '리쿤 N / 바이쿤 SOS', '삼', '잉이 핀핀 / E제품E', '밖의']
[2025-10-24 15:36:42,441] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 15:36:42,441] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 7 OCR 권한 없음, 전체 번역 모드
[2025-10-24 15:36:42,447] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.061, comps=4, min_center_dist=0.054 → request
[2025-10-24 15:36:42,447] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 5
[2025-10-24 15:36:42,447] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:36:42,447] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 15:36:42,454] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 15:36:42,952] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 15:36:42,953] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 497.89 ms
[2025-10-24 15:36:42,960] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 15:36:42,961] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 41184.7MB -> 41360.2MB (+175.5MB, +0.4%) - 방법: migan
[2025-10-24 15:36:42,961] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 15:36:42,983] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 15:36:42,984] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 15:36:42,984] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 15:36:43,287] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_7.webp
[2025-10-24 15:36:43,288] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 7 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_7.webp
[2025-10-24 15:36:43,288] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 3942.2ms | download=0.0ms | ocr=677.9ms | translate=2074.3ms | mask=2074.3ms | inpaint=518.9ms(migan/DirectML) | render=23.0ms | save=271.5ms
[2025-10-24 15:36:43,289] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 15:36:43,289] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=7f6aee59-83c9-48b0-bdc7-bda1ba530aa3
[2025-10-24 15:36:43,290] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=7f6aee59-83c9-48b0-bdc7-bda1ba530aa3
[2025-10-24 15:36:43,290] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:36:43,290] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 28344)
[2025-10-24 15:36:45,096] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:36:45,097] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=72d986a3-dbf9-4534-8961-f294cafae3a1
[2025-10-24 15:36:45,097] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 15:36:45,097] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 15:36:45,097] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 15:36:45,097] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 15:36:45,343] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 8 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_d243974cfca0.jpg - 전체 번역 모드
[2025-10-24 15:36:45,349] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_d243974cfca0.jpg
[2025-10-24 15:36:45,350] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 15:36:45,350] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 8 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_d243974cfca0.jpg
[2025-10-24 15:36:45,357] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:36:45,981] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 621.5ms
[2025-10-24 15:36:45,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 114.5ms, 인식: 481.0ms, 분류: 21.0ms
[2025-10-24 15:36:45,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 41480.5MB -> 41474.8MB (-5.6MB, -0.0%) - 이미지 8
[2025-10-24 15:36:45,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': 'BAOZOUTU', 'confidence': 0.9920588731765747, 'polygon': [[133.0, 72.0], [273.0, 72.0], [273.0, 86.0], [133.0, 86.0]], 'bbox': (133, 72, 141, 15), 'method': 'polygon'}, {'text': '.R12', 'confidence': 0.8190782070159912, 'polygon': [[578.0, 152.0], [614.0, 152.0], [614.0, 163.0], [578.0, 163.0]], 'bbox': (578, 152, 37, 12), 'method': 'polygon'}, {'text': '百口2 三丽 昱', 'confidence': 0.5990802049636841, 'polygon': [[92.0, 162.0], [287.0, 164.0], [287.0, 195.0], [92.0, 193.0]], 'bbox': (92, 162, 196, 34), 'method': 'polygon'}, {'text': '518', 'confidence': 0.9822597503662109, 'polygon': [[488.0, 175.0], [607.0, 175.0], [607.0, 240.0], [488.0, 240.0]], 'bbox': (488, 175, 120, 66), 'method': 'polygon'}, {'text': 'MH', 'confidence': 0.5119634866714478, 'polygon': [[607.0, 228.0], [622.0, 228.0], [622.0, 238.0], [607.0, 238.0]], 'bbox': (607, 228, 16, 11), 'method': 'polygon'}, {'text': 'MULTIBANDRADIO/BT/MUSICPLAYER', 'confidence': 0.9807587265968323, 'polygon': [[463.0, 243.0], [624.0, 244.0], [624.0, 258.0], [463.0, 257.0]], 'bbox': (463, 243, 162, 16), 'method': 'polygon'}, {'text': '4000mAh 2l喜 己l2l', 'confidence': 0.7767764329910278, 'polygon': [[85.0, 282.0], [284.0, 282.0], [284.0, 302.0], [85.0, 302.0]], 'bbox': (85, 282, 200, 21), 'method': 'polygon'}, {'text': 'PER', 'confidence': 0.5236435532569885, 'polygon': [[262.0, 344.0], [292.0, 344.0], [292.0, 358.0], [262.0, 358.0]], 'bbox': (262, 344, 31, 15), 'method': 'polygon'}, {'text': '丽是N / 百昆 SOS', 'confidence': 0.7104734778404236, 'polygon': [[83.0, 400.0], [284.0, 400.0], [284.0, 424.0], [83.0, 424.0]], 'bbox': (83, 400, 202, 25), 'method': 'polygon'}, {'text': '应易 品品 / E屁E 可', 'confidence': 0.7013165950775146, 'polygon': [[85.0, 462.0], [287.0, 462.0], [287.0, 482.0], [85.0, 482.0]], 'bbox': (85, 462, 203, 21), 'method': 'polygon'}]
[2025-10-24 15:36:45,997] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 15:36:45,997] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '.R12'
[2025-10-24 15:36:45,997] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 59.9%): '百口2 三丽 昱'
[2025-10-24 15:36:45,997] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '518'
[2025-10-24 15:36:45,997] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MH'
[2025-10-24 15:36:45,997] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MULTIBANDRADIO/BT/MUSICPLAYER'
[2025-10-24 15:36:45,997] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 77.7%): '4000mAh 2l喜 己l2l'
[2025-10-24 15:36:45,997] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PER'
[2025-10-24 15:36:45,997] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 71.0%): '丽是N / 百昆 SOS'
[2025-10-24 15:36:45,998] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 70.1%): '应易 品品 / E屁E 可'
[2025-10-24 15:36:45,998] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 4/10개 (신뢰도 + & 중국어)
[2025-10-24 15:36:45,998] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '百口2 三丽 昱', 'confidence': 0.5990802049636841, 'polygon': [[92.0, 162.0], [287.0, 164.0], [287.0, 195.0], [92.0, 193.0]], 'bbox': (92, 162, 196, 34), 'method': 'polygon'}, {'text': '4000mAh 2l喜 己l2l', 'confidence': 0.7767764329910278, 'polygon': [[85.0, 282.0], [284.0, 282.0], [284.0, 302.0], [85.0, 302.0]], 'bbox': (85, 282, 200, 21), 'method': 'polygon'}, {'text': '丽是N / 百昆 SOS', 'confidence': 0.7104734778404236, 'polygon': [[83.0, 400.0], [284.0, 400.0], [284.0, 424.0], [83.0, 424.0]], 'bbox': (83, 400, 202, 25), 'method': 'polygon'}, {'text': '应易 品品 / E屁E 可', 'confidence': 0.7013165950775146, 'polygon': [[85.0, 462.0], [287.0, 462.0], [287.0, 482.0], [85.0, 482.0]], 'bbox': (85, 462, 203, 21), 'method': 'polygon'}]
[2025-10-24 15:36:45,998] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 4개 필터링 완료
[2025-10-24 15:36:45,998] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 15:36:48,326] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['바이커우 2 싼리 유', '4000mAh 2l 하이지 l2l', '리는 N이다 / 바이쿤 SOS', '잉이 핀핀 / E 방귀 E 캔']
[2025-10-24 15:36:48,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 15:36:48,327] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 8 OCR 권한 없음, 전체 번역 모드
[2025-10-24 15:36:48,333] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.087, comps=4, min_center_dist=0.053 → request
[2025-10-24 15:36:48,333] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 4
[2025-10-24 15:36:48,334] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:36:48,334] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 15:36:48,341] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 15:36:48,492] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 15:36:48,492] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 150.00 ms
[2025-10-24 15:36:48,500] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 15:36:48,500] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 41579.1MB -> 41582.9MB (+3.8MB, +0.0%) - 방법: migan
[2025-10-24 15:36:48,500] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 15:36:48,515] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 15:36:48,516] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 15:36:48,516] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 15:36:48,824] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_8.webp
[2025-10-24 15:36:48,825] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 8 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_8.webp
[2025-10-24 15:36:48,825] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 3726.6ms | download=0.0ms | ocr=637.5ms | translate=2331.0ms | mask=2331.0ms | inpaint=172.0ms(migan/DirectML) | render=16.0ms | save=279.0ms
[2025-10-24 15:36:48,826] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 15:36:48,826] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 15:36:48,827] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=72d986a3-dbf9-4534-8961-f294cafae3a1
[2025-10-24 15:36:48,827] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=72d986a3-dbf9-4534-8961-f294cafae3a1
[2025-10-24 15:36:48,827] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 15:36:48,827] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:36:48,827] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 28344)
[2025-10-24 15:36:48,843] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:36:48,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 15:36:48,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 15:36:48,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 15:36:48,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 15:36:48,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 15:36:49,295] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=21804
[2025-10-24 15:36:49,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=21804, Name=ImageWorkerProcess)
[2025-10-24 15:36:49,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 15:36:49,782] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 15:36:49,788] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 15:36:49,788] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 15:36:49,788] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 15:36:49,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 15:36:49,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 15:36:49,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 15:36:49,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 15:36:49,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 15:36:49,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 15:36:49,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 15:36:49,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 15:36:49,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:36:49,789] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 15:36:49,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:36:49,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:36:49,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 15:36:49,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 15:36:49,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 15:36:49,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 15:36:49,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 15:36:49,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 15:36:49,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 15:36:49,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 15:36:49,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 15:36:49,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 15:36:49,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 15:36:51,369] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 15:36:51,468] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 15:36:51,468] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 15:36:51,468] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 15:36:51,469] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 15:36:51,469] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 15:36:51,469] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 15:36:51,469] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 15:36:51,470] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:36:51,470] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 15:36:51,470] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:36:51,470] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 15:36:51,470] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 15:36:51,470] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 15:36:51,470] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 15:36:51,470] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 15:36:51,470] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 15:36:51,497] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 15:36:51,705] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:36:51,706] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 15:36:51,706] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 15:36:51,706] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 15:36:51,706] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:36:51,706] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 15:36:51,706] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 15:36:51,706] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 15:36:51,706] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:36:51,706] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 15:36:51,706] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x000001B24BD7F5D0>
[2025-10-24 15:36:51,707] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x000001B24BD7F5D0>
[2025-10-24 15:36:51,707] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 15:36:51,707] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:36:51,712] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 15:36:51,712] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 15:36:51,712] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 15:36:51,715] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 15:36:51,715] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 15:36:51,716] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 15:36:51,716] [WorkerRoller] [INFO] [loggerModule.py:info:281] 버퍼 작업 재개: 1건
[2025-10-24 15:36:51,716] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 15:36:51,716] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 15:36:51,716] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:36:51,716] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 21804)
[2025-10-24 15:36:51,716] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:36:51,717] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=5395bfc7-3a23-4ee8-9c07-a6092263376c
[2025-10-24 15:36:51,717] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 15:36:51,717] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 15:36:51,717] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 15:36:51,719] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 15:36:52,044] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 9 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_ab221859d801.jpg - 전체 번역 모드
[2025-10-24 15:36:52,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_ab221859d801.jpg
[2025-10-24 15:36:52,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 15:36:52,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 9 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_ab221859d801.jpg
[2025-10-24 15:36:52,057] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:36:52,770] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 712.1ms
[2025-10-24 15:36:52,770] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 208.0ms, 인식: 478.7ms, 분류: 19.6ms
[2025-10-24 15:36:52,792] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 41200.4MB -> 41409.3MB (+208.9MB, +0.5%) - 이미지 9
[2025-10-24 15:36:52,808] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '豆', 'confidence': 0.5649668574333191, 'polygon': [[141.0, 37.0], [273.0, 35.0], [273.0, 64.0], [141.0, 66.0]], 'bbox': (141, 35, 133, 32), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.9927836060523987, 'polygon': [[134.0, 73.0], [273.0, 73.0], [273.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 140, 15), 'method': 'polygon'}, {'text': '百门2 三丽 晏', 'confidence': 0.6047340631484985, 'polygon': [[92.0, 160.0], [287.0, 162.0], [287.0, 193.0], [92.0, 191.0]], 'bbox': (92, 160, 196, 34), 'method': 'polygon'}, {'text': '..R12', 'confidence': 0.8613664507865906, 'polygon': [[574.0, 152.0], [614.0, 152.0], [614.0, 163.0], [574.0, 163.0]], 'bbox': (574, 152, 41, 12), 'method': 'polygon'}, {'text': '518', 'confidence': 0.9885902404785156, 'polygon': [[487.0, 175.0], [607.0, 175.0], [607.0, 240.0], [487.0, 240.0]], 'bbox': (487, 175, 121, 66), 'method': 'polygon'}, {'text': 'MH', 'confidence': 0.5186610221862793, 'polygon': [[608.0, 228.0], [621.0, 228.0], [621.0, 237.0], [608.0, 237.0]], 'bbox': (608, 228, 14, 10), 'method': 'polygon'}, {'text': 'MULTIBANDRADIO/BT/MUSICPLAYER', 'confidence': 0.980320394039154, 'polygon': [[464.0, 244.0], [623.0, 244.0], [623.0, 258.0], [464.0, 258.0]], 'bbox': (464, 244, 160, 15), 'method': 'polygon'}, {'text': '4000mAh 2l喜 圳己l2l', 'confidence': 0.809324324131012, 'polygon': [[86.0, 282.0], [284.0, 282.0], [284.0, 302.0], [86.0, 302.0]], 'bbox': (86, 282, 199, 21), 'method': 'polygon'}, {'text': 'PER', 'confidence': 0.5217652916908264, 'polygon': [[262.0, 344.0], [292.0, 344.0], [292.0, 358.0], [262.0, 358.0]], 'bbox': (262, 344, 31, 15), 'method': 'polygon'}, {'text': '丽晟N / 百昆 SOS', 'confidence': 0.726224422454834, 'polygon': [[82.0, 398.0], [284.0, 400.0], [284.0, 424.0], [82.0, 422.0]], 'bbox': (82, 398, 203, 27), 'method': 'polygon'}, {'text': '三', 'confidence': 0.5896188616752625, 'polygon': [[86.0, 463.0], [122.0, 463.0], [122.0, 481.0], [86.0, 481.0]], 'bbox': (86, 463, 37, 19), 'method': 'polygon'}, {'text': '应易 品品 / E屁E', 'confidence': 0.7386505007743835, 'polygon': [[124.0, 462.0], [287.0, 462.0], [287.0, 482.0], [124.0, 482.0]], 'bbox': (124, 462, 164, 21), 'method': 'polygon'}]
[2025-10-24 15:36:52,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 56.5%): '豆'
[2025-10-24 15:36:52,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 15:36:52,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 60.5%): '百门2 三丽 晏'
[2025-10-24 15:36:52,809] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '..R12'
[2025-10-24 15:36:52,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '518'
[2025-10-24 15:36:52,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MH'
[2025-10-24 15:36:52,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MULTIBANDRADIO/BT/MUSICPLAYER'
[2025-10-24 15:36:52,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 80.9%): '4000mAh 2l喜 圳己l2l'
[2025-10-24 15:36:52,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PER'
[2025-10-24 15:36:52,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 72.6%): '丽晟N / 百昆 SOS'
[2025-10-24 15:36:52,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 59.0%): '三'
[2025-10-24 15:36:52,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 73.9%): '应易 品品 / E屁E'
[2025-10-24 15:36:52,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 6/12개 (신뢰도 + & 중국어)
[2025-10-24 15:36:52,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '豆', 'confidence': 0.5649668574333191, 'polygon': [[141.0, 37.0], [273.0, 35.0], [273.0, 64.0], [141.0, 66.0]], 'bbox': (141, 35, 133, 32), 'method': 'polygon'}, {'text': '百门2 三丽 晏', 'confidence': 0.6047340631484985, 'polygon': [[92.0, 160.0], [287.0, 162.0], [287.0, 193.0], [92.0, 191.0]], 'bbox': (92, 160, 196, 34), 'method': 'polygon'}, {'text': '4000mAh 2l喜 圳己l2l', 'confidence': 0.809324324131012, 'polygon': [[86.0, 282.0], [284.0, 282.0], [284.0, 302.0], [86.0, 302.0]], 'bbox': (86, 282, 199, 21), 'method': 'polygon'}, {'text': '丽晟N / 百昆 SOS', 'confidence': 0.726224422454834, 'polygon': [[82.0, 398.0], [284.0, 400.0], [284.0, 424.0], [82.0, 422.0]], 'bbox': (82, 398, 203, 27), 'method': 'polygon'}, {'text': '三', 'confidence': 0.5896188616752625, 'polygon': [[86.0, 463.0], [122.0, 463.0], [122.0, 481.0], [86.0, 481.0]], 'bbox': (86, 463, 37, 19), 'method': 'polygon'}, {'text': '应易 品品 / E屁E', 'confidence': 0.7386505007743835, 'polygon': [[124.0, 462.0], [287.0, 462.0], [287.0, 482.0], [124.0, 482.0]], 'bbox': (124, 462, 164, 21), 'method': 'polygon'}]
[2025-10-24 15:36:52,810] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 6개 필터링 완료
[2025-10-24 15:36:52,811] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 15:36:54,754] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['콩', '백 도어 2 싼리 얀', '4000mAh 2l 안녕 Zhenji l2l', '리셍 N / 바이쿤 SOS', '삼', '잉이 핀핀 / E 방귀 E']
[2025-10-24 15:36:54,755] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 15:36:54,755] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 9 OCR 권한 없음, 전체 번역 모드
[2025-10-24 15:36:54,762] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.092, comps=5, min_center_dist=0.054 → request
[2025-10-24 15:36:54,762] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 6
[2025-10-24 15:36:54,762] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:36:54,762] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 15:36:54,770] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 15:36:55,242] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 15:36:55,242] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 473.25 ms
[2025-10-24 15:36:55,250] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 15:36:55,251] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 41472.0MB -> 41649.1MB (+177.2MB, +0.4%) - 방법: migan
[2025-10-24 15:36:55,251] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 15:36:55,281] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 15:36:55,282] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 15:36:55,282] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 15:36:55,586] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_9.webp
[2025-10-24 15:36:55,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 9 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_9.webp
[2025-10-24 15:36:55,588] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 3869.0ms | download=0.0ms | ocr=726.1ms | translate=1946.0ms | mask=1946.0ms | inpaint=494.5ms(migan/DirectML) | render=31.0ms | save=270.9ms
[2025-10-24 15:36:55,589] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 15:36:55,589] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=5395bfc7-3a23-4ee8-9c07-a6092263376c
[2025-10-24 15:36:55,589] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=5395bfc7-3a23-4ee8-9c07-a6092263376c
[2025-10-24 15:36:55,589] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:36:55,589] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 21804)
[2025-10-24 15:36:57,480] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:36:57,481] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=3f0d08cf-58a2-49bc-88bb-b5428a6da109
[2025-10-24 15:36:57,481] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 15:36:57,481] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 15:36:57,481] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 15:36:57,481] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 15:36:57,723] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 10 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_27311b5aef4f.jpg - 전체 번역 모드
[2025-10-24 15:36:57,730] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_27311b5aef4f.jpg
[2025-10-24 15:36:57,730] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 15:36:57,730] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 10 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_27311b5aef4f.jpg
[2025-10-24 15:36:57,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:36:58,429] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 689.1ms
[2025-10-24 15:36:58,429] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 117.0ms, 인식: 546.1ms, 분류: 20.0ms
[2025-10-24 15:36:58,443] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 41880.3MB -> 41920.4MB (+40.1MB, +0.1%) - 이미지 10
[2025-10-24 15:36:58,444] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '豆', 'confidence': 0.5405263304710388, 'polygon': [[141.0, 37.0], [273.0, 35.0], [273.0, 64.0], [141.0, 66.0]], 'bbox': (141, 35, 133, 32), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.9931001663208008, 'polygon': [[134.0, 73.0], [273.0, 73.0], [273.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 140, 15), 'method': 'polygon'}, {'text': '..R12.', 'confidence': 0.7730600237846375, 'polygon': [[532.0, 151.0], [618.0, 151.0], [618.0, 164.0], [532.0, 164.0]], 'bbox': (532, 151, 87, 14), 'method': 'polygon'}, {'text': '百向2 三丽', 'confidence': 0.5099514722824097, 'polygon': [[130.0, 163.0], [286.0, 163.0], [286.0, 191.0], [130.0, 191.0]], 'bbox': (130, 163, 157, 29), 'method': 'polygon'}, {'text': '518', 'confidence': 0.9850978255271912, 'polygon': [[488.0, 174.0], [607.0, 174.0], [607.0, 240.0], [488.0, 240.0]], 'bbox': (488, 174, 120, 67), 'method': 'polygon'}, {'text': 'UH', 'confidence': 0.7314228415489197, 'polygon': [[607.0, 228.0], [622.0, 228.0], [622.0, 238.0], [607.0, 238.0]], 'bbox': (607, 228, 16, 11), 'method': 'polygon'}, {'text': 'MULTIBANDRADIO/BT/MUSICPLAYER', 'confidence': 0.9851949214935303, 'polygon': [[464.0, 244.0], [623.0, 244.0], [623.0, 257.0], [464.0, 257.0]], 'bbox': (464, 244, 160, 14), 'method': 'polygon'}, {'text': '4000mAh 2l喜 圳c12l', 'confidence': 0.7801928520202637, 'polygon': [[86.0, 282.0], [282.0, 282.0], [282.0, 302.0], [86.0, 302.0]], 'bbox': (86, 282, 197, 21), 'method': 'polygon'}, {'text': 'PER', 'confidence': 0.5186991691589355, 'polygon': [[261.0, 344.0], [291.0, 344.0], [291.0, 358.0], [261.0, 358.0]], 'bbox': (261, 344, 31, 15), 'method': 'polygon'}, {'text': '丽昆N / 百昆 SOS', 'confidence': 0.7239213585853577, 'polygon': [[82.0, 398.0], [284.0, 400.0], [284.0, 424.0], [82.0, 422.0]], 'bbox': (82, 398, 203, 27), 'method': 'polygon'}, {'text': '应易 品品 / E品E', 'confidence': 0.7217307686805725, 'polygon': [[124.0, 462.0], [286.0, 462.0], [286.0, 482.0], [124.0, 482.0]], 'bbox': (124, 462, 163, 21), 'method': 'polygon'}, {'text': '社', 'confidence': 0.5745720267295837, 'polygon': [[628.0, 774.0], [715.0, 774.0], [715.0, 787.0], [628.0, 787.0]], 'bbox': (628, 774, 88, 14), 'method': 'polygon'}]
[2025-10-24 15:36:58,444] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 54.1%): '豆'
[2025-10-24 15:36:58,444] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 15:36:58,444] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '..R12.'
[2025-10-24 15:36:58,444] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 51.0%): '百向2 三丽'
[2025-10-24 15:36:58,445] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '518'
[2025-10-24 15:36:58,445] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'UH'
[2025-10-24 15:36:58,445] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MULTIBANDRADIO/BT/MUSICPLAYER'
[2025-10-24 15:36:58,445] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 78.0%): '4000mAh 2l喜 圳c12l'
[2025-10-24 15:36:58,445] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'PER'
[2025-10-24 15:36:58,445] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 72.4%): '丽昆N / 百昆 SOS'
[2025-10-24 15:36:58,445] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 72.2%): '应易 品品 / E品E'
[2025-10-24 15:36:58,445] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 57.5%): '社'
[2025-10-24 15:36:58,445] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 6/12개 (신뢰도 + & 중국어)
[2025-10-24 15:36:58,445] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '豆', 'confidence': 0.5405263304710388, 'polygon': [[141.0, 37.0], [273.0, 35.0], [273.0, 64.0], [141.0, 66.0]], 'bbox': (141, 35, 133, 32), 'method': 'polygon'}, {'text': '百向2 三丽', 'confidence': 0.5099514722824097, 'polygon': [[130.0, 163.0], [286.0, 163.0], [286.0, 191.0], [130.0, 191.0]], 'bbox': (130, 163, 157, 29), 'method': 'polygon'}, {'text': '4000mAh 2l喜 圳c12l', 'confidence': 0.7801928520202637, 'polygon': [[86.0, 282.0], [282.0, 282.0], [282.0, 302.0], [86.0, 302.0]], 'bbox': (86, 282, 197, 21), 'method': 'polygon'}, {'text': '丽昆N / 百昆 SOS', 'confidence': 0.7239213585853577, 'polygon': [[82.0, 398.0], [284.0, 400.0], [284.0, 424.0], [82.0, 422.0]], 'bbox': (82, 398, 203, 27), 'method': 'polygon'}, {'text': '应易 品品 / E品E', 'confidence': 0.7217307686805725, 'polygon': [[124.0, 462.0], [286.0, 462.0], [286.0, 482.0], [124.0, 482.0]], 'bbox': (124, 462, 163, 21), 'method': 'polygon'}, {'text': '社', 'confidence': 0.5745720267295837, 'polygon': [[628.0, 774.0], [715.0, 774.0], [715.0, 787.0], [628.0, 787.0]], 'bbox': (628, 774, 88, 14), 'method': 'polygon'}]
[2025-10-24 15:36:58,446] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 6개 필터링 완료
[2025-10-24 15:36:58,446] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 15:36:59,449] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['콩', '바이샹 2 산리', '4000mAh 2l 하이쉔 c12l', '리쿤 N / 바이쿤 SOS', '잉이 핀핀 / E제품E', '사회']
[2025-10-24 15:36:59,450] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 15:36:59,450] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 10 OCR 권한 없음, 전체 번역 모드
[2025-10-24 15:36:59,457] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.092, comps=6, min_center_dist=0.058 → request
[2025-10-24 15:36:59,457] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 6
[2025-10-24 15:36:59,457] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:36:59,457] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 15:36:59,465] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 15:36:59,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 15:36:59,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 192.25 ms
[2025-10-24 15:36:59,669] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 15:36:59,669] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 41983.9MB -> 42001.4MB (+17.5MB, +0.0%) - 방법: migan
[2025-10-24 15:36:59,669] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 15:36:59,693] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 15:36:59,693] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 15:36:59,693] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 15:37:00,049] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_10.webp
[2025-10-24 15:37:00,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 10 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_10.webp
[2025-10-24 15:37:00,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 2568.1ms | download=0.0ms | ocr=705.7ms | translate=1006.5ms | mask=1006.5ms | inpaint=217.2ms(migan/DirectML) | render=24.0ms | save=311.4ms
[2025-10-24 15:37:00,051] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 15:37:00,052] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 15:37:00,052] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=3f0d08cf-58a2-49bc-88bb-b5428a6da109
[2025-10-24 15:37:00,052] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=3f0d08cf-58a2-49bc-88bb-b5428a6da109
[2025-10-24 15:37:00,052] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 15:37:00,052] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:37:00,052] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 21804)
[2025-10-24 15:37:00,068] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:37:00,117] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 15:37:00,117] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 15:37:00,117] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 15:37:00,118] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 15:37:00,118] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 15:37:00,583] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=33740
[2025-10-24 15:37:01,120] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=33740, Name=ImageWorkerProcess)
[2025-10-24 15:37:01,121] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 15:37:01,121] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 15:37:01,128] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 15:37:01,129] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 15:37:01,129] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 15:37:01,129] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 15:37:01,129] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 15:37:01,129] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 15:37:01,129] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 15:37:01,129] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 15:37:01,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 15:37:01,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 15:37:01,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 15:37:01,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:37:01,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 15:37:01,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:37:01,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:37:01,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 15:37:01,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 15:37:01,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 15:37:01,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 15:37:01,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 15:37:01,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 15:37:01,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 15:37:01,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 15:37:01,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 15:37:01,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 15:37:01,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 15:37:02,680] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 15:37:02,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 15:37:02,765] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 15:37:02,765] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 15:37:02,765] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 15:37:02,765] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 15:37:02,765] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 15:37:02,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 15:37:02,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:37:02,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 15:37:02,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:37:02,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 15:37:02,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 15:37:02,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 15:37:02,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 15:37:02,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 15:37:02,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 15:37:02,784] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 15:37:02,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:37:02,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 15:37:02,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 15:37:02,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 15:37:02,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:37:02,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 15:37:02,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 15:37:02,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 15:37:02,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:37:02,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 15:37:02,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x0000013AEC787F10>
[2025-10-24 15:37:02,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x0000013AEC787F10>
[2025-10-24 15:37:02,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 15:37:02,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:37:03,001] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 15:37:03,001] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 15:37:03,001] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 15:37:03,004] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 15:37:03,004] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 15:37:03,004] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 15:37:03,004] [WorkerRoller] [INFO] [loggerModule.py:info:281] 버퍼 작업 재개: 1건
[2025-10-24 15:37:03,004] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 15:37:03,005] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 15:37:03,005] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:37:03,005] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33740)
[2025-10-24 15:37:03,005] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:37:03,005] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=d0fc3e11-4114-4b3c-a99d-cf3e44f8d2a0
[2025-10-24 15:37:03,005] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 15:37:03,006] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 15:37:03,006] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 15:37:03,008] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 15:37:03,481] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 11 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_6fb6f2d4cc9a.jpg - 전체 번역 모드
[2025-10-24 15:37:03,487] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_6fb6f2d4cc9a.jpg
[2025-10-24 15:37:03,487] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: option
[2025-10-24 15:37:03,487] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 11 로컬 저장위치(옵션 이미지 원본 유지): C:\ProgramData\ImgWorker\incoming\dl_6fb6f2d4cc9a.jpg
[2025-10-24 15:37:03,489] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:37:04,081] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 589.1ms
[2025-10-24 15:37:04,081] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 110.7ms, 인식: 454.0ms, 분류: 19.0ms
[2025-10-24 15:37:04,099] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 41803.2MB -> 42016.7MB (+213.5MB, +0.5%) - 이미지 11
[2025-10-24 15:37:04,106] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '暴走兔', 'confidence': 0.9088842272758484, 'polygon': [[135.0, 20.0], [271.0, 22.0], [270.0, 64.0], [134.0, 62.0]], 'bbox': (134, 20, 138, 45), 'method': 'polygon'}, {'text': 'BAOZOUTU', 'confidence': 0.993258535861969, 'polygon': [[134.0, 73.0], [273.0, 73.0], [273.0, 87.0], [134.0, 87.0]], 'bbox': (134, 73, 140, 15), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9974920749664307, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '.R12', 'confidence': 0.8123915791511536, 'polygon': [[579.0, 152.0], [614.0, 152.0], [614.0, 163.0], [579.0, 163.0]], 'bbox': (579, 152, 36, 12), 'method': 'polygon'}, {'text': '518', 'confidence': 0.9942043423652649, 'polygon': [[487.0, 175.0], [606.0, 175.0], [606.0, 240.0], [487.0, 240.0]], 'bbox': (487, 175, 120, 66), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.9985915422439575, 'polygon': [[79.0, 214.0], [294.0, 214.0], [294.0, 248.0], [79.0, 248.0]], 'bbox': (79, 214, 216, 35), 'method': 'polygon'}, {'text': 'H:', 'confidence': 0.5186051726341248, 'polygon': [[608.0, 228.0], [621.0, 228.0], [621.0, 237.0], [608.0, 237.0]], 'bbox': (608, 228, 14, 10), 'method': 'polygon'}, {'text': 'MULTIBANDRADIO/BT/MUSICPLAYER', 'confidence': 0.9846541881561279, 'polygon': [[464.0, 243.0], [623.0, 244.0], [623.0, 258.0], [464.0, 257.0]], 'bbox': (464, 243, 160, 16), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9973577857017517, 'polygon': [[83.0, 279.0], [289.0, 279.0], [289.0, 303.0], [83.0, 303.0]], 'bbox': (83, 279, 207, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999408721923828, 'polygon': [[80.0, 335.0], [117.0, 335.0], [117.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 38, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9994295239448547, 'polygon': [[169.0, 338.0], [202.0, 338.0], [202.0, 364.0], [169.0, 364.0]], 'bbox': (169, 338, 34, 27), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9992778897285461, 'polygon': [[263.0, 336.0], [291.0, 336.0], [291.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 29, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9673583507537842, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9900031685829163, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.990487277507782, 'polygon': [[81.0, 516.0], [290.0, 518.0], [290.0, 546.0], [81.0, 544.0]], 'bbox': (81, 516, 210, 31), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9988158941268921, 'polygon': [[17.0, 659.0], [150.0, 661.0], [149.0, 729.0], [16.0, 727.0]], 'bbox': (16, 659, 135, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996625185012817, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '军工包', 'confidence': 0.9989128112792969, 'polygon': [[206.0, 768.0], [265.0, 768.0], [265.0, 790.0], [206.0, 790.0]], 'bbox': (206, 768, 60, 23), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9986650347709656, 'polygon': [[283.0, 769.0], [362.0, 769.0], [362.0, 790.0], [283.0, 790.0]], 'bbox': (283, 769, 80, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9983696937561035, 'polygon': [[385.0, 769.0], [445.0, 769.0], [445.0, 790.0], [385.0, 790.0]], 'bbox': (385, 769, 61, 22), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9986729621887207, 'polygon': [[472.0, 767.0], [531.0, 767.0], [531.0, 792.0], [472.0, 792.0]], 'bbox': (472, 767, 60, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9994004368782043, 'polygon': [[558.0, 769.0], [617.0, 769.0], [617.0, 790.0], [558.0, 790.0]], 'bbox': (558, 769, 60, 22), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9987758994102478, 'polygon': [[638.0, 769.0], [716.0, 769.0], [716.0, 790.0], [638.0, 790.0]], 'bbox': (638, 769, 79, 22), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9035988450050354, 'polygon': [[735.0, 767.0], [794.0, 767.0], [794.0, 792.0], [735.0, 792.0]], 'bbox': (735, 767, 60, 26), 'method': 'polygon'}]
[2025-10-24 15:37:04,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 90.9%): '暴走兔'
[2025-10-24 15:37:04,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BAOZOUTU'
[2025-10-24 15:37:04,134] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '全波段收音机'
[2025-10-24 15:37:04,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '.R12'
[2025-10-24 15:37:04,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '518'
[2025-10-24 15:37:04,135] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '蓝牙音响'
[2025-10-24 15:37:04,154] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'H:'
[2025-10-24 15:37:04,169] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'MULTIBANDRADIO/BT/MUSICPLAYER'
[2025-10-24 15:37:04,175] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.7%): '4000毫安锂电池'
[2025-10-24 15:37:04,176] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '手'
[2025-10-24 15:37:04,176] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '电'
[2025-10-24 15:37:04,176] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '筒'
[2025-10-24 15:37:04,176] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 96.7%): 'SOS警报/指南针'
[2025-10-24 15:37:04,176] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.0%): '手摇/太阳能发电'
[2025-10-24 15:37:04,177] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.0%): '可插U盘/TF卡'
[2025-10-24 15:37:04,177] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '限时'
[2025-10-24 15:37:04,177] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 100.0%): '赠送'
[2025-10-24 15:37:04,177] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '军工包'
[2025-10-24 15:37:04,177] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '延长天线'
[2025-10-24 15:37:04,177] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.8%): '内存卡'
[2025-10-24 15:37:04,178] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '读卡器'
[2025-10-24 15:37:04,178] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '充电线'
[2025-10-24 15:37:04,178] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 99.9%): '礼盒礼袋'
[2025-10-24 15:37:04,178] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 90.4%): '充电头'
[2025-10-24 15:37:04,178] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 19/24개 (신뢰도 + & 중국어)
[2025-10-24 15:37:04,178] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '暴走兔', 'confidence': 0.9088842272758484, 'polygon': [[135.0, 20.0], [271.0, 22.0], [270.0, 64.0], [134.0, 62.0]], 'bbox': (134, 20, 138, 45), 'method': 'polygon'}, {'text': '全波段收音机', 'confidence': 0.9974920749664307, 'polygon': [[81.0, 158.0], [288.0, 156.0], [288.0, 184.0], [81.0, 186.0]], 'bbox': (81, 156, 208, 31), 'method': 'polygon'}, {'text': '蓝牙音响', 'confidence': 0.9985915422439575, 'polygon': [[79.0, 214.0], [294.0, 214.0], [294.0, 248.0], [79.0, 248.0]], 'bbox': (79, 214, 216, 35), 'method': 'polygon'}, {'text': '4000毫安锂电池', 'confidence': 0.9973577857017517, 'polygon': [[83.0, 279.0], [289.0, 279.0], [289.0, 303.0], [83.0, 303.0]], 'bbox': (83, 279, 207, 25), 'method': 'polygon'}, {'text': '手', 'confidence': 0.9999408721923828, 'polygon': [[80.0, 335.0], [117.0, 335.0], [117.0, 365.0], [80.0, 365.0]], 'bbox': (80, 335, 38, 31), 'method': 'polygon'}, {'text': '电', 'confidence': 0.9994295239448547, 'polygon': [[169.0, 338.0], [202.0, 338.0], [202.0, 364.0], [169.0, 364.0]], 'bbox': (169, 338, 34, 27), 'method': 'polygon'}, {'text': '筒', 'confidence': 0.9992778897285461, 'polygon': [[263.0, 336.0], [291.0, 336.0], [291.0, 365.0], [263.0, 365.0]], 'bbox': (263, 336, 29, 30), 'method': 'polygon'}, {'text': 'SOS警报/指南针', 'confidence': 0.9673583507537842, 'polygon': [[81.0, 397.0], [288.0, 397.0], [288.0, 425.0], [81.0, 425.0]], 'bbox': (81, 397, 208, 29), 'method': 'polygon'}, {'text': '手摇/太阳能发电', 'confidence': 0.9900031685829163, 'polygon': [[83.0, 457.0], [289.0, 457.0], [289.0, 485.0], [83.0, 485.0]], 'bbox': (83, 457, 207, 29), 'method': 'polygon'}, {'text': '可插U盘/TF卡', 'confidence': 0.990487277507782, 'polygon': [[81.0, 516.0], [290.0, 518.0], [290.0, 546.0], [81.0, 544.0]], 'bbox': (81, 516, 210, 31), 'method': 'polygon'}, {'text': '限时', 'confidence': 0.9988158941268921, 'polygon': [[17.0, 659.0], [150.0, 661.0], [149.0, 729.0], [16.0, 727.0]], 'bbox': (16, 659, 135, 71), 'method': 'polygon'}, {'text': '赠送', 'confidence': 0.9996625185012817, 'polygon': [[15.0, 728.0], [149.0, 728.0], [149.0, 792.0], [15.0, 792.0]], 'bbox': (15, 728, 135, 65), 'method': 'polygon'}, {'text': '军工包', 'confidence': 0.9989128112792969, 'polygon': [[206.0, 768.0], [265.0, 768.0], [265.0, 790.0], [206.0, 790.0]], 'bbox': (206, 768, 60, 23), 'method': 'polygon'}, {'text': '延长天线', 'confidence': 0.9986650347709656, 'polygon': [[283.0, 769.0], [362.0, 769.0], [362.0, 790.0], [283.0, 790.0]], 'bbox': (283, 769, 80, 22), 'method': 'polygon'}, {'text': '内存卡', 'confidence': 0.9983696937561035, 'polygon': [[385.0, 769.0], [445.0, 769.0], [445.0, 790.0], [385.0, 790.0]], 'bbox': (385, 769, 61, 22), 'method': 'polygon'}, {'text': '读卡器', 'confidence': 0.9986729621887207, 'polygon': [[472.0, 767.0], [531.0, 767.0], [531.0, 792.0], [472.0, 792.0]], 'bbox': (472, 767, 60, 26), 'method': 'polygon'}, {'text': '充电线', 'confidence': 0.9994004368782043, 'polygon': [[558.0, 769.0], [617.0, 769.0], [617.0, 790.0], [558.0, 790.0]], 'bbox': (558, 769, 60, 22), 'method': 'polygon'}, {'text': '礼盒礼袋', 'confidence': 0.9987758994102478, 'polygon': [[638.0, 769.0], [716.0, 769.0], [716.0, 790.0], [638.0, 790.0]], 'bbox': (638, 769, 79, 22), 'method': 'polygon'}, {'text': '充电头', 'confidence': 0.9035988450050354, 'polygon': [[735.0, 767.0], [794.0, 767.0], [794.0, 792.0], [735.0, 792.0]], 'bbox': (735, 767, 60, 26), 'method': 'polygon'}]
[2025-10-24 15:37:04,179] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 19개 필터링 완료
[2025-10-24 15:37:04,179] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 15:37:05,322] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['도망친 토끼', '풀 밴드 라디오', '블루투스 스피커', '4000mAh 리튬 배터리', '손', '전기', '실린더', 'SOS 경보 / 나침반', '핸드 크랭크 / 태양광 발전', 'U 디스크 삽입 가능 / TF 카드', '제한된 시간', '포기하다', '군사 가방', '확장 안테나', '메모리 카드', '카드 리더', '충전 케이블', '선물 상자 선물 가방', '충전 헤드']
[2025-10-24 15:37:05,322] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 15:37:05,322] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 11 OCR 권한 없음, 전체 번역 모드
[2025-10-24 15:37:05,330] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.207, comps=15, min_center_dist=0.053 → request
[2025-10-24 15:37:05,330] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 19
[2025-10-24 15:37:05,331] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:37:05,331] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 15:37:05,332] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 15:37:05,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 15:37:05,790] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 458.08 ms
[2025-10-24 15:37:05,798] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 15:37:05,798] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 42059.3MB -> 42237.7MB (+178.4MB, +0.4%) - 방법: migan
[2025-10-24 15:37:05,799] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 15:37:05,872] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 15:37:05,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 15:37:05,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 15:37:06,187] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_option_img_11.webp
[2025-10-24 15:37:06,188] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 11 번역 완료: C:\ProgramData\ImgWorker\work\translated_option_img_11.webp
[2025-10-24 15:37:06,188] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 3180.0ms | download=0.3ms | ocr=599.8ms | translate=1186.8ms | mask=1186.8ms | inpaint=473.1ms(migan/DirectML) | render=73.0ms | save=283.0ms
[2025-10-24 15:37:06,189] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 15:37:06,189] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=d0fc3e11-4114-4b3c-a99d-cf3e44f8d2a0
[2025-10-24 15:37:06,189] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=d0fc3e11-4114-4b3c-a99d-cf3e44f8d2a0
[2025-10-24 15:37:06,189] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:37:06,189] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33740)
[2025-10-24 15:37:19,578] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:37:19,578] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=remove_background, uid=7236aed5-5af0-4bf0-96c0-adcac672d47c
[2025-10-24 15:37:19,579] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 15:37:19,579] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=remove_background
[2025-10-24 15:37:19,579] [LogListener] [DEBUG] [loggerModule.py:debug:275] remove_background 호출 직전
[2025-10-24 15:37:19,579] [LogListener] [DEBUG] [loggerModule.py:debug:275] request_rembg 호출: use_local_rembg=True, local_model_name=birefnet-general-lite
[2025-10-24 15:37:19,581] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 백업 rembg 시작: model_name=birefnet-general-lite, object_ratio=0.95, debug_save=True, force_cpu=False
[2025-10-24 15:37:19,582] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📁 디버그 이미지 저장 디렉토리: C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_sd0s7btd
[2025-10-24 15:37:19,595] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 1단계 저장 완료: 입력 이미지 (1000, 1000, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_sd0s7btd\01_input_image.png
[2025-10-24 15:37:19,595] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 모듈 초기화 시작
[2025-10-24 15:37:19,595] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX Runtime 사용 가능한 프로바이더: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:37:19,596] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI CPU 모드로 설정
[2025-10-24 15:37:19,596] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 모듈 초기화 완료
[2025-10-24 15:37:19,596] [LogListener] [DEBUG] [loggerModule.py:debug:275] 백업용 내장 rembg 모듈 초기화됨
[2025-10-24 15:37:19,596] [LogListener] [WARNING] [loggerModule.py:warning:287] 지원하지 않는 모델명 (birefnet-general-lite). bria-rmbg-1.4로 대체 사용
[2025-10-24 15:37:19,624] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 안전한 임시 파일 생성: C:\Users\ADMINI~1\AppData\Local\Temp\rembg_d6a043c0.png (크기: 728060 bytes)
[2025-10-24 15:37:19,625] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 2단계 저장 완료: 임시 파일 복사 → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_sd0s7btd\02_temp_file_copy.png
[2025-10-24 15:37:19,626] [LogListener] [DEBUG] [loggerModule.py:debug:275] 백업 rembg 모듈로 배경 제거 시작: bria-rmbg-1.4
[2025-10-24 15:37:19,626] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 DirectML GPU 모드로 배경 제거 실행
[2025-10-24 15:37:19,626] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI ONNX 모델 로딩 시도 (원본 providers): D:\py\img_worker\modules\rembg_models\BriaRMBG1.4_model_fp16.onnx
[2025-10-24 15:37:19,772] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ BriaAI ONNX 모델 로딩 완료 (원본 providers) | Providers: ['CPUExecutionProvider'] | Input: input | Output: output
[2025-10-24 15:37:19,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 배경제거 시작: bria-rmbg-1.4 (aggressiveness=0.5)
[2025-10-24 15:37:19,862] [LogListener] [DEBUG] [loggerModule.py:debug:275] 전처리 완료: (1000, 1000, 3) -> (1, 3, 1024, 1024), 값 범위: [-0.500, 0.500]
[2025-10-24 15:37:20,266] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 출력 개수: 1, 첫 번째 출력 shape: (1, 1, 1024, 1024)
[2025-10-24 15:37:20,267] [LogListener] [DEBUG] [loggerModule.py:debug:275] 추론 완료: (1024, 1024), 값 범위: [0.000, 1.000]
[2025-10-24 15:37:20,286] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ BriaAI 배경제거 성공: bria-rmbg-1.4 (CPU, 0.43초)
[2025-10-24 15:37:20,288] [LogListener] [DEBUG] [loggerModule.py:debug:275] BriaAI 마스크 통계: {'min': 0, 'max': 255, 'mean': 107.759077, 'nonzero_count': 437772}
[2025-10-24 15:37:20,288] [LogListener] [DEBUG] [loggerModule.py:debug:275] DirectML GPU 모드로 배경 제거 성공
[2025-10-24 15:37:20,288] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 백업 rembg 처리 성공: RGB, 크기: (1000, 1000)
[2025-10-24 15:37:20,333] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 3단계 저장 완료: PIL 결과 RGB (1000, 1000) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_sd0s7btd\03_pil_result.png
[2025-10-24 15:37:20,333] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 PIL 결과 분석: mode=RGB, size=(1000, 1000), format=None
[2025-10-24 15:37:20,333] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 PIL 밴드: ('R', 'G', 'B')
[2025-10-24 15:37:20,334] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔄 RGB → BGR 변환: (1000, 1000, 3)
[2025-10-24 15:37:20,348] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 4단계 저장 완료: numpy 변환 결과 (1000, 1000, 3) (흰배경 합성 완료) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_sd0s7btd\04_numpy_result.png
[2025-10-24 15:37:20,349] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 후처리 시작: object_ratio=0.95
[2025-10-24 15:37:20,349] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎨 후처리 시작: 입력 이미지 크기 (1000, 1000, 3), object_ratio=0.95
[2025-10-24 15:37:20,350] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ BGR 이미지 처리: 그레이 < 250인 픽셀 수: 423463
[2025-10-24 15:37:20,365] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 5단계 저장: 초기 마스크 (423463개 픽셀) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_sd0s7btd\05_initial_mask.png
[2025-10-24 15:37:20,366] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 마스크 정제: 정제 전 423463개 → 정제 후 428608개 픽셀
[2025-10-24 15:37:20,368] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 6단계 저장: 정제된 마스크 (428608개 픽셀) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_sd0s7btd\06_refined_mask.png
[2025-10-24 15:37:20,370] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 연결 요소 분석: 3개 객체 발견
[2025-10-24 15:37:20,371] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 최대 연결 요소 선택: 428587개 픽셀
[2025-10-24 15:37:20,373] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 7단계 저장: 연결 요소 마스크 (428587개 픽셀) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_sd0s7btd\07_component_mask.png
[2025-10-24 15:37:20,376] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📐 바운딩 박스 계산: 유효 픽셀 428587개
[2025-10-24 15:37:20,377] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✂️ 크롭 영역: (187,38) ~ (812,963), 크기: (926, 626, 3)
[2025-10-24 15:37:20,388] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 9단계 저장: 바운딩 박스 크롭 (926, 626, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_sd0s7btd\09_bbox_crop.png
[2025-10-24 15:37:20,389] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📏 마진 추가: 9px, 최종 크기: (944, 644, 3)
[2025-10-24 15:37:20,400] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 10단계 저장: 마진 추가 (944, 644, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_sd0s7btd\10_with_margin.png
[2025-10-24 15:37:20,400] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 이미지 처리 완료 (이미 흰배경 합성됨): (944, 644, 3)
[2025-10-24 15:37:20,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 11단계 저장: 흰 배경 합성 (944, 644, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_sd0s7btd\11_white_background.png
[2025-10-24 15:37:20,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 1000x1000 리사이즈 시작: object_ratio=0.95, final_img.shape=(944, 644, 3)
[2025-10-24 15:37:20,413] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 정사각형 캔버스 생성 시작: 입력=944x644, 목표=1000x1000, 객체비율=0.95
[2025-10-24 15:37:20,414] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 이미지 리사이즈 완료: 944x644 → 950x648 (scale_factor=1.006)
[2025-10-24 15:37:20,415] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 정사각형 캔버스 생성: (1000, 1000, 3)
[2025-10-24 15:37:20,415] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 이미지 배치 완료: offset=(176,25), size=(648,950)
[2025-10-24 15:37:20,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 정사각형 캔버스 완성: 95% 스케일링, 1000x1000, DPI 72
[2025-10-24 15:37:20,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 1000x1000 리사이즈 완료: (1000, 1000, 3)
[2025-10-24 15:37:20,420] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ 백업 rembg 후처리 완료: (1000, 1000, 3)
[2025-10-24 15:37:20,434] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💾 최종 결과 저장: (1000, 1000, 3) → C:\Users\ADMINI~1\AppData\Local\Temp\wrong_shape_rembg_debug_sd0s7btd\99_final_result.png
[2025-10-24 15:37:20,435] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 파일 삭제 완료: C:\Users\ADMINI~1\AppData\Local\Temp\rembg_d6a043c0.png
[2025-10-24 15:37:20,449] [LogListener] [DEBUG] [loggerModule.py:debug:275] 배경제거 이미지 저장: C:\ProgramData\ImgWorker\work\nobg_thumb_rmb_dl_fff8da04aa7b.png
[2025-10-24 15:37:20,456] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:37:20,851] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 392.4ms
[2025-10-24 15:37:20,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 129.4ms, 인식: 250.0ms, 분류: 10.0ms
[2025-10-24 15:37:20,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'FM'
[2025-10-24 15:37:20,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'AM'
[2025-10-24 15:37:20,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'BTTFUSB'
[2025-10-24 15:37:20,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'SWWB'
[2025-10-24 15:37:20,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '·R11·.'
[2025-10-24 15:37:20,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'IOTUNE'
[2025-10-24 15:37:20,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'RADIO/BT/MUSICPLAYER'
[2025-10-24 15:37:20,853] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 15:37:20,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 0/7개 (신뢰도 + & 중국어)
[2025-10-24 15:37:20,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 0개 필터링 완료
[2025-10-24 15:37:20,853] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 15:37:20,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] remove_background 호출 완료
[2025-10-24 15:37:20,853] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=7236aed5-5af0-4bf0-96c0-adcac672d47c
[2025-10-24 15:37:20,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=7236aed5-5af0-4bf0-96c0-adcac672d47c
[2025-10-24 15:37:20,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:37:20,854] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 33740)
[2025-10-24 15:37:20,908] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:37:20,908] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 15:37:20,908] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 15:37:20,908] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 15:37:20,931] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 15:37:20,932] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 15:37:21,304] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=308
[2025-10-24 15:37:21,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=308, Name=ImageWorkerProcess)
[2025-10-24 15:37:21,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 15:37:21,852] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 15:37:21,859] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 15:37:21,859] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 15:37:21,859] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 15:37:21,860] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 15:37:21,860] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 15:37:21,860] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 15:37:21,860] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 15:37:21,860] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 15:37:21,860] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 15:37:21,860] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 15:37:21,860] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 15:37:21,860] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:37:21,860] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 15:37:21,860] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:37:21,860] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:37:21,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 15:37:21,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 15:37:21,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 15:37:21,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 15:37:21,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 15:37:21,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 15:37:21,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 15:37:21,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 15:37:21,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 15:37:21,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 15:37:21,861] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 15:37:23,423] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 15:37:23,507] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 15:37:23,507] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 15:37:23,508] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 15:37:23,508] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 15:37:23,508] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 15:37:23,508] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 15:37:23,508] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 15:37:23,508] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:37:23,508] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 15:37:23,509] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:37:23,509] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 15:37:23,509] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 15:37:23,509] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 15:37:23,509] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 15:37:23,509] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 15:37:23,509] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 15:37:23,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 15:37:23,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:37:23,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 15:37:23,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 15:37:23,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 15:37:23,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:37:23,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 15:37:23,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 15:37:23,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 15:37:23,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:37:23,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 15:37:23,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x00000274F5BB2AD0>
[2025-10-24 15:37:23,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x00000274F5BB2AD0>
[2025-10-24 15:37:23,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 15:37:23,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:37:23,732] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 15:37:23,733] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 15:37:23,733] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 15:37:23,736] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 15:37:23,736] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 15:37:23,736] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 15:37:23,736] [WorkerRoller] [INFO] [loggerModule.py:info:281] 버퍼 작업 재개: 1건
[2025-10-24 15:37:23,736] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 15:37:23,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 15:37:23,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:37:23,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 308)
[2025-10-24 15:37:23,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:37:23,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=1f2dcd4f-b8e2-4d08-8f24-6b3bc3d77e7e
[2025-10-24 15:37:23,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 15:37:23,738] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 15:37:23,738] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 15:37:23,740] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 15:37:24,240] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_a4d295484440.jpg - 전체 번역 모드
[2025-10-24 15:37:24,245] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_a4d295484440.jpg
[2025-10-24 15:37:24,246] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: thumb
[2025-10-24 15:37:24,246] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 로컬 저장위치(썸네일 스케일 처리 완료): C:\ProgramData\ImgWorker\incoming\dl_a4d295484440.jpg
[2025-10-24 15:37:24,247] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:37:24,462] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 214.0ms
[2025-10-24 15:37:24,462] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 91.0ms, 인식: 116.0ms, 분류: 4.0ms
[2025-10-24 15:37:24,491] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 42182.2MB -> 42339.7MB (+157.5MB, +0.4%) - 이미지 2
[2025-10-24 15:37:24,534] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '1', 'confidence': 0.5538947582244873, 'polygon': [[242.0, 181.0], [580.0, 181.0], [580.0, 204.0], [242.0, 204.0]], 'bbox': (242, 181, 339, 24), 'method': 'polygon'}, {'text': 'AGIO', 'confidence': 0.6274033784866333, 'polygon': [[426.0, 343.0], [454.0, 345.0], [453.0, 355.0], [425.0, 353.0]], 'bbox': (425, 343, 30, 13), 'method': 'polygon'}, {'text': 'II', 'confidence': 0.6672232151031494, 'polygon': [[272.0, 508.0], [304.0, 528.0], [249.0, 622.0], [217.0, 602.0]], 'bbox': (217, 508, 88, 115), 'method': 'polygon'}]
[2025-10-24 15:37:24,534] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '1'
[2025-10-24 15:37:24,535] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'AGIO'
[2025-10-24 15:37:24,535] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'II'
[2025-10-24 15:37:24,535] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 0/3개 (신뢰도 + & 중국어)
[2025-10-24 15:37:24,535] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: []
[2025-10-24 15:37:24,535] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 0개 필터링 완료
[2025-10-24 15:37:24,535] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 2 중국어 텍스트 없음 - 정상 케이스 (NO_TEXT)
[2025-10-24 15:37:24,535] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 795.1ms | download=0.0ms | ocr=222.0ms
[2025-10-24 15:37:24,535] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 15:37:24,535] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=1f2dcd4f-b8e2-4d08-8f24-6b3bc3d77e7e
[2025-10-24 15:37:24,535] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=1f2dcd4f-b8e2-4d08-8f24-6b3bc3d77e7e
[2025-10-24 15:37:24,535] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:37:24,535] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 308)
[2025-10-24 15:37:27,170] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:37:27,170] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=0f621dec-1b88-4778-8814-b03e52203b3f
[2025-10-24 15:37:27,170] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 15:37:27,171] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 15:37:27,171] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 15:37:27,171] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 15:37:27,494] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_34d37d7a3842.jpg - 전체 번역 모드
[2025-10-24 15:37:27,499] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_34d37d7a3842.jpg
[2025-10-24 15:37:27,499] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: thumb
[2025-10-24 15:37:27,499] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 로컬 저장위치(썸네일 스케일 처리 완료): C:\ProgramData\ImgWorker\incoming\dl_34d37d7a3842.jpg
[2025-10-24 15:37:27,501] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:37:28,035] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 534.0ms
[2025-10-24 15:37:28,045] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 87.0ms, 인식: 437.0ms, 분류: 5.0ms
[2025-10-24 15:37:28,045] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 42426.1MB -> 42553.7MB (+127.6MB, +0.3%) - 이미지 3
[2025-10-24 15:37:28,046] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': 'SOSE号7', 'confidence': 0.5055533051490784, 'polygon': [[166.0, 149.0], [653.0, 149.0], [653.0, 211.0], [166.0, 211.0]], 'bbox': (166, 149, 488, 63), 'method': 'polygon'}, {'text': '百O0Y百SOY', 'confidence': 0.5515749454498291, 'polygon': [[146.0, 231.0], [695.0, 230.0], [695.0, 250.0], [146.0, 251.0]], 'bbox': (146, 230, 550, 22), 'method': 'polygon'}, {'text': '100', 'confidence': 0.997102677822113, 'polygon': [[43.0, 648.0], [165.0, 648.0], [165.0, 728.0], [43.0, 728.0]], 'bbox': (43, 648, 123, 81), 'method': 'polygon'}, {'text': 'dB', 'confidence': 0.5481783747673035, 'polygon': [[162.0, 679.0], [216.0, 684.0], [211.0, 735.0], [157.0, 730.0]], 'bbox': (157, 679, 60, 57), 'method': 'polygon'}]
[2025-10-24 15:37:28,046] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 50.6%): 'SOSE号7'
[2025-10-24 15:37:28,046] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 55.2%): '百O0Y百SOY'
[2025-10-24 15:37:28,046] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '100'
[2025-10-24 15:37:28,046] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'dB'
[2025-10-24 15:37:28,046] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 2/4개 (신뢰도 + & 중국어)
[2025-10-24 15:37:28,046] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': 'SOSE号7', 'confidence': 0.5055533051490784, 'polygon': [[166.0, 149.0], [653.0, 149.0], [653.0, 211.0], [166.0, 211.0]], 'bbox': (166, 149, 488, 63), 'method': 'polygon'}, {'text': '百O0Y百SOY', 'confidence': 0.5515749454498291, 'polygon': [[146.0, 231.0], [695.0, 230.0], [695.0, 250.0], [146.0, 251.0]], 'bbox': (146, 230, 550, 22), 'method': 'polygon'}]
[2025-10-24 15:37:28,046] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 2개 필터링 완료
[2025-10-24 15:37:28,046] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 15:37:30,244] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['소세 7호', '헌드레드 SOY']
[2025-10-24 15:37:30,244] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 15:37:30,244] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 OCR 권한 없음, 전체 번역 모드
[2025-10-24 15:37:30,251] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.117, comps=1, min_center_dist=0.000 → request
[2025-10-24 15:37:30,251] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 2
[2025-10-24 15:37:30,251] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:37:30,252] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 15:37:30,254] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 15:37:30,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 15:37:30,727] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 474.01 ms
[2025-10-24 15:37:30,735] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 15:37:30,735] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 42656.4MB -> 42854.8MB (+198.4MB, +0.5%) - 방법: migan
[2025-10-24 15:37:30,735] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 15:37:30,765] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 15:37:30,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 15:37:30,766] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 15:37:31,080] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_thumb_img_3.webp
[2025-10-24 15:37:31,081] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 3 번역 완료: C:\ProgramData\ImgWorker\work\translated_thumb_img_3.webp
[2025-10-24 15:37:31,082] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 3909.5ms | download=0.0ms | ocr=541.0ms | translate=2197.8ms | mask=2197.8ms | inpaint=490.0ms(migan/DirectML) | render=29.0ms | save=282.0ms
[2025-10-24 15:37:31,082] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 15:37:31,083] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 15:37:31,083] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=0f621dec-1b88-4778-8814-b03e52203b3f
[2025-10-24 15:37:31,083] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=0f621dec-1b88-4778-8814-b03e52203b3f
[2025-10-24 15:37:31,083] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 15:37:31,083] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:37:31,083] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 308)
[2025-10-24 15:37:31,099] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:37:31,136] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 15:37:31,136] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 15:37:31,136] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 15:37:31,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 15:37:31,137] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 15:37:31,519] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=31428
[2025-10-24 15:37:32,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=31428, Name=ImageWorkerProcess)
[2025-10-24 15:37:32,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 15:37:32,023] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 15:37:32,030] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 15:37:32,030] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 15:37:32,030] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 15:37:32,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 15:37:32,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 15:37:32,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 15:37:32,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 15:37:32,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 15:37:32,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 15:37:32,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 15:37:32,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 15:37:32,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:37:32,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 15:37:32,031] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:37:32,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:37:32,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 15:37:32,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 15:37:32,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 15:37:32,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 15:37:32,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 15:37:32,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 15:37:32,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 15:37:32,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 15:37:32,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 15:37:32,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 15:37:32,032] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 15:37:33,733] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 15:37:33,820] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 15:37:33,820] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 15:37:33,820] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 15:37:33,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 15:37:33,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 15:37:33,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 15:37:33,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 15:37:33,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:37:33,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 15:37:33,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:37:33,821] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 15:37:33,822] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 15:37:33,822] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 15:37:33,822] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 15:37:33,822] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 15:37:33,822] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 15:37:33,841] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 15:37:34,049] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:37:34,049] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 15:37:34,049] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 15:37:34,049] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 15:37:34,049] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:37:34,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 15:37:34,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 15:37:34,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 15:37:34,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:37:34,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 15:37:34,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x0000018EA7E82850>
[2025-10-24 15:37:34,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x0000018EA7E82850>
[2025-10-24 15:37:34,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 15:37:34,050] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:37:34,055] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 15:37:34,055] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 15:37:34,055] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 15:37:34,059] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 15:37:34,059] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 15:37:34,060] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 15:37:34,060] [WorkerRoller] [INFO] [loggerModule.py:info:281] 버퍼 작업 재개: 1건
[2025-10-24 15:37:34,060] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 15:37:34,060] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 15:37:34,060] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:37:34,061] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31428)
[2025-10-24 15:37:34,061] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:37:34,061] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=b7ecf17d-730d-4020-8fa8-f6c5446a1cb3
[2025-10-24 15:37:34,061] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 15:37:34,061] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 15:37:34,062] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 15:37:34,064] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 15:37:34,384] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 4 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_10a864922816.jpg - 전체 번역 모드
[2025-10-24 15:37:34,393] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_10a864922816.jpg
[2025-10-24 15:37:34,393] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: thumb
[2025-10-24 15:37:34,393] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 4 로컬 저장위치(썸네일 스케일 처리 완료): C:\ProgramData\ImgWorker\incoming\dl_10a864922816.jpg
[2025-10-24 15:37:34,394] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:37:34,959] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 563.1ms
[2025-10-24 15:37:34,968] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 147.3ms, 인식: 391.8ms, 분류: 20.0ms
[2025-10-24 15:37:34,994] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 42480.2MB -> 42208.1MB (-272.2MB, -0.6%) - 이미지 4
[2025-10-24 15:37:34,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': '人人', 'confidence': 0.567686140537262, 'polygon': [[59.0, 231.0], [137.0, 230.0], [137.0, 248.0], [59.0, 249.0]], 'bbox': (59, 230, 79, 20), 'method': 'polygon'}, {'text': '大', 'confidence': 0.6317986249923706, 'polygon': [[567.0, 236.0], [614.0, 236.0], [614.0, 255.0], [567.0, 255.0]], 'bbox': (567, 236, 48, 20), 'method': 'polygon'}, {'text': '//', 'confidence': 0.9194601774215698, 'polygon': [[616.0, 410.0], [751.0, 410.0], [751.0, 424.0], [616.0, 424.0]], 'bbox': (616, 410, 136, 15), 'method': 'polygon'}, {'text': 'USB至三/UC', 'confidence': 0.7746509313583374, 'polygon': [[641.0, 520.0], [749.0, 520.0], [749.0, 533.0], [641.0, 533.0]], 'bbox': (641, 520, 109, 14), 'method': 'polygon'}, {'text': 'TF', 'confidence': 0.9923825263977051, 'polygon': [[640.0, 542.0], [692.0, 542.0], [692.0, 560.0], [640.0, 560.0]], 'bbox': (640, 542, 53, 19), 'method': 'polygon'}, {'text': '条是品贴', 'confidence': 0.571622908115387, 'polygon': [[641.0, 639.0], [744.0, 638.0], [744.0, 656.0], [641.0, 657.0]], 'bbox': (641, 638, 104, 20), 'method': 'polygon'}]
[2025-10-24 15:37:34,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 56.8%): '人人'
[2025-10-24 15:37:34,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 63.2%): '大'
[2025-10-24 15:37:34,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '//'
[2025-10-24 15:37:34,995] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 77.5%): 'USB至三/UC'
[2025-10-24 15:37:34,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): 'TF'
[2025-10-24 15:37:34,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 57.2%): '条是品贴'
[2025-10-24 15:37:34,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 4/6개 (신뢰도 + & 중국어)
[2025-10-24 15:37:34,996] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': '人人', 'confidence': 0.567686140537262, 'polygon': [[59.0, 231.0], [137.0, 230.0], [137.0, 248.0], [59.0, 249.0]], 'bbox': (59, 230, 79, 20), 'method': 'polygon'}, {'text': '大', 'confidence': 0.6317986249923706, 'polygon': [[567.0, 236.0], [614.0, 236.0], [614.0, 255.0], [567.0, 255.0]], 'bbox': (567, 236, 48, 20), 'method': 'polygon'}, {'text': 'USB至三/UC', 'confidence': 0.7746509313583374, 'polygon': [[641.0, 520.0], [749.0, 520.0], [749.0, 533.0], [641.0, 533.0]], 'bbox': (641, 520, 109, 14), 'method': 'polygon'}, {'text': '条是品贴', 'confidence': 0.571622908115387, 'polygon': [[641.0, 639.0], [744.0, 638.0], [744.0, 656.0], [641.0, 657.0]], 'bbox': (641, 638, 104, 20), 'method': 'polygon'}]
[2025-10-24 15:37:35,013] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 4개 필터링 완료
[2025-10-24 15:37:35,028] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 15:37:36,956] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['모든 사람', '큰', 'USB 3개까지 / UC', '해당 글은 제품 스티커입니다']
[2025-10-24 15:37:36,956] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 15:37:36,957] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 4 OCR 권한 없음, 전체 번역 모드
[2025-10-24 15:37:36,963] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.038, comps=4, min_center_dist=0.107 → request
[2025-10-24 15:37:36,963] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 4
[2025-10-24 15:37:36,963] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:37:36,963] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 15:37:36,965] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 15:37:37,434] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 15:37:37,434] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 469.02 ms
[2025-10-24 15:37:37,442] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 15:37:37,442] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 42358.3MB -> 42527.1MB (+168.7MB, +0.4%) - 방법: migan
[2025-10-24 15:37:37,442] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 15:37:37,461] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 15:37:37,462] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 15:37:37,462] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 15:37:37,739] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_thumb_img_4.webp
[2025-10-24 15:37:37,740] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 4 번역 완료: C:\ProgramData\ImgWorker\work\translated_thumb_img_4.webp
[2025-10-24 15:37:37,740] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 3676.7ms | download=0.0ms | ocr=574.6ms | translate=1962.1ms | mask=1962.1ms | inpaint=484.0ms(migan/DirectML) | render=19.0ms | save=246.2ms
[2025-10-24 15:37:37,742] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 15:37:37,742] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=b7ecf17d-730d-4020-8fa8-f6c5446a1cb3
[2025-10-24 15:37:37,742] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=b7ecf17d-730d-4020-8fa8-f6c5446a1cb3
[2025-10-24 15:37:37,742] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:37:37,742] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31428)
[2025-10-24 15:37:40,418] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:37:40,418] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=process_single_image, uid=eefaf528-6ca7-4fd4-afb7-4ecc4b5c3838
[2025-10-24 15:37:40,418] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 toggle_states 업데이트 : {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'GPU', 'detail_IMGTrans_type': 'GPU', 'thumb_trans_type': 'GPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'font_type': '폰트5', 'unwanted_texts': ['가격설명', '무료배송', '보증', '사은품', '세일', '이벤트', '특가', '품절', '할인', '할인가'], 'is_member_valid': False, 'authenticated_by_admin': True}
[2025-10-24 15:37:40,418] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=process_single_image
[2025-10-24 15:37:40,418] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 직전
[2025-10-24 15:37:40,419] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 번역시작
[2025-10-24 15:37:40,647] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 5 처리 시작: C:\ProgramData\ImgWorker\incoming\dl_54f3b0ca508f.jpg - 전체 번역 모드
[2025-10-24 15:37:40,653] [LogListener] [DEBUG] [loggerModule.py:debug:275] 로컬 파일 경로 감지, 다운로드 생략: C:\ProgramData\ImgWorker\incoming\dl_54f3b0ca508f.jpg
[2025-10-24 15:37:40,653] [LogListener] [DEBUG] [loggerModule.py:debug:275] 옵션 이미지는 스케일 처리 건너뛰기: thumb
[2025-10-24 15:37:40,653] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 5 로컬 저장위치(썸네일 스케일 처리 완료): C:\ProgramData\ImgWorker\incoming\dl_54f3b0ca508f.jpg
[2025-10-24 15:37:40,654] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:37:41,963] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 1307.2ms
[2025-10-24 15:37:41,973] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 100.0ms, 인식: 1193.2ms, 분류: 9.0ms
[2025-10-24 15:37:41,976] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [OCR 처리]: 42603.5MB -> 42897.6MB (+294.1MB, +0.7%) - 이미지 5
[2025-10-24 15:37:41,976] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_results: [{'text': 'RunawayRabbitollCHgo今含g', 'confidence': 0.8095155954360962, 'polygon': [[193.0, 71.0], [594.0, 71.0], [594.0, 95.0], [193.0, 95.0]], 'bbox': (193, 71, 402, 25), 'method': 'polygon'}, {'text': '11', 'confidence': 0.6541364789009094, 'polygon': [[175.0, 194.0], [619.0, 195.0], [619.0, 213.0], [175.0, 212.0]], 'bbox': (175, 194, 445, 20), 'method': 'polygon'}, {'text': '95', 'confidence': 0.9799211025238037, 'polygon': [[572.0, 544.0], [604.0, 544.0], [604.0, 563.0], [572.0, 563.0]], 'bbox': (572, 544, 33, 20), 'method': 'polygon'}, {'text': '品k1o号1onozoeg', 'confidence': 0.5297556519508362, 'polygon': [[58.0, 633.0], [370.0, 633.0], [370.0, 647.0], [58.0, 647.0]], 'bbox': (58, 633, 313, 15), 'method': 'polygon'}, {'text': '房12号品', 'confidence': 0.5399719476699829, 'polygon': [[73.0, 677.0], [352.0, 677.0], [352.0, 691.0], [73.0, 691.0]], 'bbox': (73, 677, 280, 15), 'method': 'polygon'}, {'text': '品品立10能', 'confidence': 0.5374453067779541, 'polygon': [[108.0, 720.0], [308.0, 720.0], [308.0, 741.0], [108.0, 741.0]], 'bbox': (108, 720, 201, 22), 'method': 'polygon'}, {'text': '百10是品Y品百品', 'confidence': 0.5379340648651123, 'polygon': [[428.0, 727.0], [758.0, 727.0], [758.0, 741.0], [428.0, 741.0]], 'bbox': (428, 727, 331, 15), 'method': 'polygon'}]
[2025-10-24 15:37:41,977] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 81.0%): 'RunawayRabbitollCHgo今含g'
[2025-10-24 15:37:41,977] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '11'
[2025-10-24 15:37:41,977] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 제외 (중국어 없음): '95'
[2025-10-24 15:37:41,977] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 53.0%): '品k1o号1onozoeg'
[2025-10-24 15:37:41,977] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 54.0%): '房12号品'
[2025-10-24 15:37:41,977] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 53.7%): '品品立10能'
[2025-10-24 15:37:41,977] [LogListener] [DEBUG] [loggerModule.py:debug:275] [필터링] 포함 (신뢰도 53.8%): '百10是品Y品百品'
[2025-10-24 15:37:41,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] 필터링 결과: 5/7개 (신뢰도 + & 중국어)
[2025-10-24 15:37:41,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] filter_ocr_results: [{'text': 'RunawayRabbitollCHgo今含g', 'confidence': 0.8095155954360962, 'polygon': [[193.0, 71.0], [594.0, 71.0], [594.0, 95.0], [193.0, 95.0]], 'bbox': (193, 71, 402, 25), 'method': 'polygon'}, {'text': '品k1o号1onozoeg', 'confidence': 0.5297556519508362, 'polygon': [[58.0, 633.0], [370.0, 633.0], [370.0, 647.0], [58.0, 647.0]], 'bbox': (58, 633, 313, 15), 'method': 'polygon'}, {'text': '房12号品', 'confidence': 0.5399719476699829, 'polygon': [[73.0, 677.0], [352.0, 677.0], [352.0, 691.0], [73.0, 691.0]], 'bbox': (73, 677, 280, 15), 'method': 'polygon'}, {'text': '品品立10能', 'confidence': 0.5374453067779541, 'polygon': [[108.0, 720.0], [308.0, 720.0], [308.0, 741.0], [108.0, 741.0]], 'bbox': (108, 720, 201, 22), 'method': 'polygon'}, {'text': '百10是品Y品百品', 'confidence': 0.5379340648651123, 'polygon': [[428.0, 727.0], [758.0, 727.0], [758.0, 741.0], [428.0, 741.0]], 'bbox': (428, 727, 331, 15), 'method': 'polygon'}]
[2025-10-24 15:37:41,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] 중국어 텍스트 5개 필터링 완료
[2025-10-24 15:37:41,978] [LogListener] [DEBUG] [loggerModule.py:debug:275] 한글 텍스트 0개 필터링 완료
[2025-10-24 15:37:44,042] [LogListener] [DEBUG] [loggerModule.py:debug:275] translated_texts: ['RunawayRabbittollCHgo에는 오늘 g가 포함되어 있습니다.', '제품 k1o 번호 1onozoeg', '12호실', '모든 제품에 대한 10가지 기술', '100은 제품 Y 제품 100 제품입니다.']
[2025-10-24 15:37:44,043] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 생성 완료
[2025-10-24 15:37:44,043] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 5 OCR 권한 없음, 전체 번역 모드
[2025-10-24 15:37:44,049] [LogListener] [DEBUG] [loggerModule.py:debug:275] [AUTO Inpaint] coverage=0.125, comps=3, min_center_dist=0.340 → request
[2025-10-24 15:37:44,049] [LogListener] [DEBUG] [loggerModule.py:debug:275] ocr_count: 5
[2025-10-24 15:37:44,049] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:37:44,049] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 시도
[2025-10-24 15:37:44,051] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 형태 - 이미지: (1, 3, 800, 800), 마스크: (1, 1, 800, 800)
[2025-10-24 15:37:44,191] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 형태: (800, 800, 3), dtype: uint8
[2025-10-24 15:37:44,193] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 추론 완료: 140.00 ms
[2025-10-24 15:37:44,203] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN 인페인팅 성공
[2025-10-24 15:37:44,203] [LogListener] [DEBUG] [loggerModule.py:debug:275] 메모리 변화 [인페인팅]: 43154.6MB -> 43270.9MB (+116.2MB, +0.3%) - 방법: migan
[2025-10-24 15:37:44,204] [LogListener] [DEBUG] [loggerModule.py:debug:275] 인페인팅 완료
[2025-10-24 15:37:44,232] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 완료
[2025-10-24 15:37:44,232] [LogListener] [DEBUG] [loggerModule.py:debug:275] watermark_text: 이미지 저작권 보유
[2025-10-24 15:37:44,233] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_watermark_enabled: True
[2025-10-24 15:37:44,449] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 저장 완료 : C:\ProgramData\ImgWorker\work\translated_thumb_img_5.webp
[2025-10-24 15:37:44,450] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 5 번역 완료: C:\ProgramData\ImgWorker\work\translated_thumb_img_5.webp
[2025-10-24 15:37:44,450] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⏱ 이미지 파이프라인 총 4030.3ms | download=0.0ms | ocr=1316.2ms | translate=2065.5ms | mask=2065.5ms | inpaint=160.3ms(migan/DirectML) | render=29.6ms | save=179.4ms
[2025-10-24 15:37:44,451] [LogListener] [DEBUG] [loggerModule.py:debug:275] process_single_image 호출 완료
[2025-10-24 15:37:44,451] [ResultListener] [WARNING] [loggerModule.py:warning:287] 워커 롤링 스케줄: reason=job-count-threshold
[2025-10-24 15:37:44,451] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=eefaf528-6ca7-4fd4-afb7-4ecc4b5c3838
[2025-10-24 15:37:44,451] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=eefaf528-6ca7-4fd4-afb7-4ecc4b5c3838
[2025-10-24 15:37:44,451] [WorkerRoller] [WARNING] [loggerModule.py:warning:287] 워커 롤링 시작: job-count-threshold
[2025-10-24 15:37:44,451] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:37:44,452] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 31428)
[2025-10-24 15:37:44,476] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 15:37:44,506] [LogListener] [DEBUG] [loggerModule.py:debug:275] Shutdown signal 수신 → 종료
[2025-10-24 15:37:44,507] [LogListener] [DEBUG] [loggerModule.py:debug:275] OCR 모듈 정리 완료
[2025-10-24 15:37:44,507] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 정리 완료
[2025-10-24 15:37:44,507] [LogListener] [DEBUG] [loggerModule.py:debug:275] 임시 폴더 삭제됨: C:\ProgramData\ImgWorker\work
[2025-10-24 15:37:44,507] [LogListener] [DEBUG] [loggerModule.py:debug:275] 이미지 프로세서 소멸
[2025-10-24 15:37:44,885] [WorkerRoller] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=34592
[2025-10-24 15:37:45,404] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=34592, Name=ImageWorkerProcess)
[2025-10-24 15:37:45,404] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 15:37:45,404] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 15:37:45,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 15:37:45,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 15:37:45,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 15:37:45,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 15:37:45,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 15:37:45,412] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 15:37:45,413] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 15:37:45,413] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 15:37:45,413] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 15:37:45,413] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 15:37:45,413] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 15:37:45,413] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 15:37:45,413] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 15:37:45,413] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:37:45,414] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:37:45,414] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 15:37:45,414] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 15:37:45,414] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 15:37:45,414] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 15:37:45,414] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 15:37:45,414] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 15:37:45,414] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 15:37:45,414] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 15:37:45,414] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 15:37:45,414] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 15:37:45,415] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 15:37:47,095] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 15:37:47,215] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 15:37:47,215] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 15:37:47,215] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 15:37:47,216] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 15:37:47,216] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 15:37:47,216] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 15:37:47,216] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 15:37:47,216] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:37:47,216] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 15:37:47,216] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 15:37:47,216] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 15:37:47,216] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 15:37:47,217] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 15:37:47,217] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 15:37:47,217] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 15:37:47,217] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 15:37:47,242] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 15:37:47,483] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:37:47,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 15:37:47,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 15:37:47,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 15:37:47,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:37:47,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 15:37:47,484] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 15:37:47,485] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 15:37:47,485] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 15:37:47,485] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 15:37:47,485] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x000001D729A690D0>
[2025-10-24 15:37:47,485] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x000001D729A690D0>
[2025-10-24 15:37:47,485] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 15:37:47,485] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 15:37:47,490] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 5.0ms
[2025-10-24 15:37:47,490] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 15:37:47,491] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 15:37:47,495] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 15:37:47,495] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 15:37:47,495] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 15:37:47,495] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 15:37:47,495] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 15:37:47,496] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:37:47,496] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:38:47,508] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:38:47,508] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:38:47,508] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:39:47,510] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:39:47,510] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:39:47,510] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:40:47,522] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:40:47,522] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:40:47,522] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:41:47,533] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:41:47,533] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:41:47,534] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:42:47,543] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:42:47,544] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:42:47,544] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:43:47,543] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:43:47,543] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:43:47,544] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:44:47,553] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:44:47,553] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:44:47,553] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:45:47,565] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:45:47,565] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:45:47,565] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:46:47,572] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:46:47,572] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:46:47,572] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:47:47,583] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:47:47,583] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:47:47,583] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:48:47,583] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:48:47,583] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:48:47,583] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:49:47,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:49:47,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:49:47,587] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:50:47,601] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:50:47,601] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:50:47,601] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:51:47,615] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:51:47,615] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:51:47,615] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:52:47,620] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:52:47,620] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:52:47,620] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:53:47,634] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:53:47,634] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:53:47,634] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:54:47,636] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:54:47,636] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:54:47,636] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:55:47,644] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:55:47,644] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:55:47,644] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:56:47,648] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:56:47,648] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:56:47,648] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:57:47,652] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:57:47,652] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:57:47,652] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:58:47,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:58:47,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:58:47,658] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 15:59:47,670] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 15:59:47,670] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 15:59:47,670] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 16:00:47,672] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 16:00:47,672] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 16:00:47,672] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 16:01:47,678] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 16:01:47,678] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 16:01:47,678] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 16:02:47,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 16:02:47,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 16:02:47,682] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 34592)
[2025-10-24 16:02:52,484] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 종료
[2025-10-24 16:02:52,771] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 종료
[2025-10-24 16:03:20,420] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 시작
[2025-10-24 16:03:20,426] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=32100
[2025-10-24 16:03:20,865] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=32100, Name=ImageWorkerProcess)
[2025-10-24 16:03:20,865] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 16:03:20,865] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 16:03:20,871] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 16:03:20,872] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 16:03:20,872] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 16:03:20,872] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 16:03:20,872] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 16:03:20,872] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 16:03:20,872] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 16:03:20,872] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 16:03:20,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 16:03:20,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 16:03:20,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto'}
[2025-10-24 16:03:20,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 16:03:20,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 16:03:20,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 16:03:20,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 16:03:20,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 16:03:20,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 16:03:20,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 16:03:20,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 16:03:20,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 16:03:20,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 16:03:20,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 16:03:20,873] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 16:03:20,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 16:03:20,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 16:03:20,874] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 16:03:22,409] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 16:03:22,496] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 16:03:22,497] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 16:03:22,497] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 16:03:22,497] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 16:03:22,497] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 16:03:22,497] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 16:03:22,497] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 16:03:22,498] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 16:03:22,498] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 16:03:22,498] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 16:03:22,498] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 16:03:22,498] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 16:03:22,498] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 16:03:22,498] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 16:03:22,498] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 16:03:22,498] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 16:03:22,518] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 16:03:22,736] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 16:03:22,736] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 16:03:22,736] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 16:03:22,736] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 16:03:22,736] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 16:03:22,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 16:03:22,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 16:03:22,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 16:03:22,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 16:03:22,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 16:03:22,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x00000150CE759710>
[2025-10-24 16:03:22,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x00000150CE759710>
[2025-10-24 16:03:22,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 16:03:22,737] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 16:03:22,742] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 5.0ms
[2025-10-24 16:03:22,742] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 16:03:22,742] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 16:03:22,745] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 16:03:22,746] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 16:03:22,746] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 16:03:22,746] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 16:03:22,746] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 16:03:22,747] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 16:03:22,747] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 32100)
[2025-10-24 16:03:22,747] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 16:03:22,747] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=__PING__, uid=f8c3a63a-148f-401b-92b2-3566cbddce9e
[2025-10-24 16:03:22,747] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=__PING__
[2025-10-24 16:03:22,747] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=f8c3a63a-148f-401b-92b2-3566cbddce9e
[2025-10-24 16:03:22,747] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=f8c3a63a-148f-401b-92b2-3566cbddce9e
[2025-10-24 16:03:22,747] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 16:03:22,748] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 32100)
[2025-10-24 16:03:25,329] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 종료
[2025-10-24 16:03:25,602] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 종료
[2025-10-24 17:17:06,363] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 시작
[2025-10-24 17:17:06,369] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=17276
[2025-10-24 17:17:06,878] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=17276, Name=ImageWorkerProcess)
[2025-10-24 17:17:06,879] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 17:17:06,879] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 17:17:06,885] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 17:17:06,885] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 17:17:06,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 17:17:06,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 17:17:06,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 17:17:06,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 17:17:06,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 17:17:06,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 17:17:06,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 17:17:06,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 17:17:06,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'rembg_provider_override': 'auto'}
[2025-10-24 17:17:06,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 17:17:06,886] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 17:17:06,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 17:17:06,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 17:17:06,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 17:17:06,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 17:17:06,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 17:17:06,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 17:17:06,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 17:17:06,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 17:17:06,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 17:17:06,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 17:17:06,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 17:17:06,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 17:17:06,887] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 17:17:08,413] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 17:17:08,497] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 17:17:08,497] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 17:17:08,497] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 17:17:08,498] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 17:17:08,498] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 17:17:08,498] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 17:17:08,498] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 17:17:08,498] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 17:17:08,499] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 17:17:08,499] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 17:17:08,499] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 17:17:08,499] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 17:17:08,499] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 17:17:08,499] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 17:17:08,499] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 17:17:08,499] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 17:17:08,728] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 17:17:08,729] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 17:17:08,729] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 17:17:08,729] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 17:17:08,729] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 17:17:08,729] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 17:17:08,730] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 17:17:08,730] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 17:17:08,730] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 17:17:08,730] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 17:17:08,730] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 17:17:08,730] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x00000225A27BDD10>
[2025-10-24 17:17:08,731] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x00000225A27BDD10>
[2025-10-24 17:17:08,731] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 17:17:08,731] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 17:17:08,736] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 6.0ms
[2025-10-24 17:17:08,736] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 4.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 17:17:08,736] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 17:17:08,740] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 17:17:08,740] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 17:17:08,740] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 17:17:08,741] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 17:17:08,741] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 17:17:08,741] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 17:17:08,741] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 17276)
[2025-10-24 17:17:08,742] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 17:17:08,742] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=__PING__, uid=e2915b92-6809-4e3b-abe4-49179da1672c
[2025-10-24 17:17:08,742] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=__PING__
[2025-10-24 17:17:08,742] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=e2915b92-6809-4e3b-abe4-49179da1672c
[2025-10-24 17:17:08,742] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=e2915b92-6809-4e3b-abe4-49179da1672c
[2025-10-24 17:17:08,742] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 17:17:08,742] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 17276)
[2025-10-24 17:18:08,753] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 17:18:08,753] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 17:18:08,753] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 17276)
[2025-10-24 17:19:08,754] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 17:19:08,754] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 17:19:08,754] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 17276)
[2025-10-24 17:20:08,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 17:20:08,764] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 17:20:08,765] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 17276)
[2025-10-24 17:20:54,106] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 종료
[2025-10-24 17:20:54,377] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 종료
[2025-10-24 17:20:55,860] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 시작
[2025-10-24 17:20:55,865] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=26812
[2025-10-24 17:20:56,304] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=26812, Name=ImageWorkerProcess)
[2025-10-24 17:20:56,304] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 17:20:56,304] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 17:20:56,310] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 17:20:56,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 17:20:56,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 17:20:56,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 17:20:56,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 17:20:56,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 17:20:56,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 17:20:56,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 17:20:56,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 17:20:56,311] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 17:20:56,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'rembg_provider_override': 'auto'}
[2025-10-24 17:20:56,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 17:20:56,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 17:20:56,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 17:20:56,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 17:20:56,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 17:20:56,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 17:20:56,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 17:20:56,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 17:20:56,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 17:20:56,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 17:20:56,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 17:20:56,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 17:20:56,312] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 17:20:56,313] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 17:20:56,313] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 17:20:57,812] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 17:20:57,897] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 17:20:57,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 17:20:57,898] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 17:20:57,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 17:20:57,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 17:20:57,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 17:20:57,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 17:20:57,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 17:20:57,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 17:20:57,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 17:20:57,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 17:20:57,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 17:20:57,899] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 17:20:57,900] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 17:20:57,900] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 17:20:57,900] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 17:20:57,918] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 17:20:58,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 17:20:58,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 17:20:58,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 17:20:58,130] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 17:20:58,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 17:20:58,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 17:20:58,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 17:20:58,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 17:20:58,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 17:20:58,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 17:20:58,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x00000229125EE290>
[2025-10-24 17:20:58,131] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x00000229125EE290>
[2025-10-24 17:20:58,132] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 17:20:58,132] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 17:20:58,136] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 17:20:58,136] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 17:20:58,136] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 17:20:58,140] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 17:20:58,140] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 17:20:58,140] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 17:20:58,140] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 17:20:58,140] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 17:20:58,141] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 17:20:58,141] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26812)
[2025-10-24 17:20:58,141] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 17:20:58,141] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=__PING__, uid=9607aea6-8e4a-4a6c-a4b8-4c571bfd949a
[2025-10-24 17:20:58,141] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=__PING__
[2025-10-24 17:20:58,141] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=9607aea6-8e4a-4a6c-a4b8-4c571bfd949a
[2025-10-24 17:20:58,142] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=9607aea6-8e4a-4a6c-a4b8-4c571bfd949a
[2025-10-24 17:20:58,142] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 17:20:58,142] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 26812)
[2025-10-24 17:21:07,251] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 종료
[2025-10-24 17:21:07,452] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 종료
[2025-10-24 17:21:10,496] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 시작
[2025-10-24 17:21:10,502] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 기동: PID=16136
[2025-10-24 17:21:10,965] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageWorker 프로세스 기동 (PID=16136, Name=ImageWorkerProcess)
[2025-10-24 17:21:10,965] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 초기화 시작...
[2025-10-24 17:21:10,965] [LogListener] [DEBUG] [loggerModule.py:debug:275] tracemalloc 메모리 추적 시작
[2025-10-24 17:21:10,972] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ DirectML 환경 준비 완료 (Windows DirectX 12 기반)
[2025-10-24 17:21:10,972] [LogListener] [DEBUG] [loggerModule.py:debug:275] === 🚀 DirectML GPU 상태 초기화 시작 🚀 ===
[2025-10-24 17:21:10,972] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🎯 사용자 GPU 가속 요청: False
[2025-10-24 17:21:10,972] [LogListener] [DEBUG] [loggerModule.py:debug:275] 💻 현재 운영체제: Windows
[2025-10-24 17:21:10,973] [LogListener] [DEBUG] [loggerModule.py:debug:275] GPU 가속이 비활성화됨 (toggle_states['use_cuda'] = False)
[2025-10-24 17:21:10,973] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔒 안전한 CPU 모드로 모든 GPU 설정 강제 비활성화
[2025-10-24 17:21:10,973] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔧 ImageProcessor3 GPU 상태 요약:
[2025-10-24 17:21:10,973] [LogListener] [DEBUG] [loggerModule.py:debug:275] - CUDA 사용 가능: False
[2025-10-24 17:21:10,973] [LogListener] [DEBUG] [loggerModule.py:debug:275] - toggle_states['use_cuda']: NOT_SET
[2025-10-24 17:21:10,973] [LogListener] [DEBUG] [loggerModule.py:debug:275] - GPU 하드웨어 정보: {}
[2025-10-24 17:21:10,973] [LogListener] [DEBUG] [loggerModule.py:debug:275] ImageProcessor3 Init toggle_states: {'TEMP_IMAGE_DIR': 'C:\\ProgramData\\ImgWorker\\work', 'output_image_format': 'webp', 'use_local_rembg': True, 'local_rembg_model_path': 'D:\\py\\img_worker\\modules\\rembg_models', 'local_model_name': 'birefnet-general-lite', 'optionIMGTrans_type': 'CPU', 'detail_IMGTrans_type': 'CPU', 'thumb_trans_type': 'CPU', 'migan_use_accel': True, 'migan_onnx_path': 'D:\\py\\img_worker\\modules\\migan_onnx\\migan_pipeline_v2.onnx', 'ocr_provider_override': 'auto', 'migan_provider_override': 'auto', 'rembg_provider_override': 'auto'}
[2025-10-24 17:21:10,974] [LogListener] [DEBUG] [loggerModule.py:debug:275] is_member_valid: False
[2025-10-24 17:21:10,974] [LogListener] [DEBUG] [loggerModule.py:debug:275] debug_images 디렉토리 이미 존재: D:\py\img_worker\modules\debug_images
[2025-10-24 17:21:10,974] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 17:21:10,974] [LogListener] [DEBUG] [loggerModule.py:debug:275] toggle_states font_path: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 17:21:10,974] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.TEMP_IMAGE_DIR: C:\ProgramData\ImgWorker\work
[2025-10-24 17:21:10,974] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.debugging_save_Dir: D:\py\img_worker\modules\debug_images
[2025-10-24 17:21:10,974] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.unwanted_texts: {}
[2025-10-24 17:21:10,974] [LogListener] [DEBUG] [loggerModule.py:debug:275] self.inpaint_method: migan
[2025-10-24 17:21:10,974] [LogListener] [DEBUG] [loggerModule.py:debug:275] Image.MAX_IMAGE_PIXELS set to 20000000
[2025-10-24 17:21:10,974] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX 모델 타입 설정값: 자동 선택, GPU 정보: {}
[2025-10-24 17:21:10,974] [LogListener] [DEBUG] [loggerModule.py:debug:275] 자동 선택 모드: GPU 추천 모델 simp 사용
[2025-10-24 17:21:10,975] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모델 타입 결정: simp (GPU: False)
[2025-10-24 17:21:10,975] [LogListener] [DEBUG] [loggerModule.py:debug:275] ONNX OCR 모듈 CPU 모드로 설정
[2025-10-24 17:21:10,975] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 17:21:10,975] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 ONNX TextSystem 초기화 시작 (CPU 모드)
[2025-10-24 17:21:12,501] [LogListener] [DEBUG] [loggerModule.py:debug:275] 문자 사전 파일 UTF-8 확인 완료: D:\py\img_worker\modules\onnx_ocr_module\dict\ppocr_keys_v1.txt
[2025-10-24 17:21:12,584] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP (호환성) 모델)
[2025-10-24 17:21:12,584] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX TextSystem 초기화 완료 (CPU + SIMP 모델)
[2025-10-24 17:21:12,584] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공 (CPU 모드)
[2025-10-24 17:21:12,585] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ ONNX OCR 모듈 초기화 성공
[2025-10-24 17:21:12,585] [LogListener] [DEBUG] [loggerModule.py:debug:275] 마스크 모듈 초기화 완료
[2025-10-24 17:21:12,585] [LogListener] [DEBUG] [loggerModule.py:debug:275] MaskModule 초기화 성공
[2025-10-24 17:21:12,585] [LogListener] [DEBUG] [loggerModule.py:debug:275] 텍스트 렌더링 모듈 초기화 완료
[2025-10-24 17:21:12,585] [LogListener] [DEBUG] [loggerModule.py:debug:275] 기본 폰트: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 17:21:12,585] [LogListener] [DEBUG] [loggerModule.py:debug:275] TextRenderingModule 초기화 성공
[2025-10-24 17:21:12,585] [LogListener] [DEBUG] [loggerModule.py:debug:275] 폰트 로드 성공: D:\py\img_worker\modules\fonts\HakgyoansimDunggeunmisoTTFB.ttf
[2025-10-24 17:21:12,585] [LogListener] [DEBUG] [loggerModule.py:debug:275] PostImageManager 초기화 성공
[2025-10-24 17:21:12,586] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server GPU 상태: CUDA 사용 가능=False
[2025-10-24 17:21:12,586] [LogListener] [DEBUG] [loggerModule.py:debug:275] Request_AI_Server 초기화 성공
[2025-10-24 17:21:12,586] [LogListener] [DEBUG] [loggerModule.py:debug:275] GoogleTranslate 초기화 성공
[2025-10-24 17:21:12,586] [LogListener] [DEBUG] [loggerModule.py:debug:275] MIGAN CUDA 사용 불가 - CPU 모드로 설정
[2025-10-24 17:21:12,586] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 전달: GPUManager, can_use_cuda: False
[2025-10-24 17:21:12,812] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 사용 가능: False
[2025-10-24 17:21:12,813] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 사용 가능한 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 17:21:12,813] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 활성화
[2025-10-24 17:21:12,813] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 최종 providers: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 17:21:12,813] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 시도: [('DmlExecutionProvider', {}), ('CPUExecutionProvider', {})]
[2025-10-24 17:21:12,813] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] DirectML 가속 성공! 실제 providers: ['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 17:21:12,813] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 17:21:12,813] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-10-24 17:21:12,813] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-10-24 17:21:12,814] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 세션 준비 완료. providers=['DmlExecutionProvider', 'CPUExecutionProvider']
[2025-10-24 17:21:12,814] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] GPU 관리자 연결 완료: GPUManager
[2025-10-24 17:21:12,814] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 파이프라인 gpu_manager 속성: True, 값: <modules.gpu_utils.GPUManager object at 0x000002C0F9652D50>
[2025-10-24 17:21:12,814] [LogListener] [DEBUG] [loggerModule.py:debug:275] [MIGAN] 초기화 완료: gpu_manager 속성=True, 값=<modules.gpu_utils.GPUManager object at 0x000002C0F9652D50>
[2025-10-24 17:21:12,814] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 OCR 모듈 Warm-up 시작...
[2025-10-24 17:21:12,814] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔍 ONNX OCR 감지 방식: polygon
[2025-10-24 17:21:12,818] [LogListener] [DEBUG] [loggerModule.py:debug:275] ⚡ ONNX OCR 추론 완료: 4.0ms
[2025-10-24 17:21:12,818] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📊 세부 시간 - 감지: 3.0ms, 인식: 0.0ms, 분류: 0.0ms
[2025-10-24 17:21:12,818] [LogListener] [WARNING] [loggerModule.py:warning:287] ⚠️ ONNX OCR 결과가 비어있습니다
[2025-10-24 17:21:12,823] [LogListener] [DEBUG] [loggerModule.py:debug:275] ✅ OCR 모듈 Warm-up 성공
[2025-10-24 17:21:12,823] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔰 ImageProcessor Warmup 완료
[2025-10-24 17:21:12,823] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 17:21:12,823] [ResultListener] [INFO] [loggerModule.py:info:281] 워커 READY 수신
[2025-10-24 17:21:12,823] [LogListener] [DEBUG] [loggerModule.py:debug:275] 📡 추가 READY 신호 전송 완료
[2025-10-24 17:21:12,824] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 17:21:12,824] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 16136)
[2025-10-24 17:21:12,824] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🔥 작업 수신 성공
[2025-10-24 17:21:12,824] [LogListener] [DEBUG] [loggerModule.py:debug:275] 🚀 작업 처리 시작: cmd=__PING__, uid=3f336340-9037-4224-9af1-9579094b8b98
[2025-10-24 17:21:12,824] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 실행 직전: cmd=__PING__
[2025-10-24 17:21:12,824] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 중: uid=3f336340-9037-4224-9af1-9579094b8b98
[2025-10-24 17:21:12,824] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 결과 반환 완료: uid=3f336340-9037-4224-9af1-9579094b8b98
[2025-10-24 17:21:12,825] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 17:21:12,825] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 16136)
[2025-10-24 17:22:12,835] [LogListener] [DEBUG] [loggerModule.py:debug:275] 30초간 작업 없음 - 계속 대기...
[2025-10-24 17:22:12,835] [LogListener] [DEBUG] [loggerModule.py:debug:275] 작업 대기 중...
[2025-10-24 17:22:12,835] [LogListener] [DEBUG] [loggerModule.py:debug:275] 큐에서 작업 대기 중... (PID: 16136)
[2025-10-24 17:22:24,110] [MainThread] [INFO] [loggerModule.py:info:281] API 서버 종료
[2025-10-24 17:22:24,359] [MainThread] [INFO] [loggerModule.py:info:281] 워커 프로세스 종료