@ -0,0 +1,877 @@
[migan로그]
INFO:root:Create a symbolic link pointing to /usr/local/lib/python3.10/dist-packages/fastdeploy/libs/third_libs/tensorrt/lib/libnvinfer_plugin.so.8 named /usr/local/lib/python3.10/dist-packages/fastdeploy/libs/third_libs/tensorrt/lib/libnvinfer_plugin.so.
INFO:root:Create a symbolic link pointing to /usr/local/lib/python3.10/dist-packages/fastdeploy/libs/third_libs/tensorrt/lib/libnvinfer.so.8 named /usr/local/lib/python3.10/dist-packages/fastdeploy/libs/third_libs/tensorrt/lib/libnvinfer.so.
INFO:root:Create a symbolic link pointing to /usr/local/lib/python3.10/dist-packages/fastdeploy/libs/third_libs/tensorrt/lib/libnvonnxparser.so.8 named /usr/local/lib/python3.10/dist-packages/fastdeploy/libs/third_libs/tensorrt/lib/libnvonnxparser.so.
INFO:root:Create a symbolic link pointing to /usr/local/lib/python3.10/dist-packages/fastdeploy/libs/third_libs/tensorrt/lib/libnvparsers.so.8 named /usr/local/lib/python3.10/dist-packages/fastdeploy/libs/third_libs/tensorrt/lib/libnvparsers.so.
[INFO] fastdeploy/runtime/runtime.cc(273)::CreatePaddleBackend Runtime initialized with Backend::PDINFER in Device::GPU.
[INFO] fastdeploy/runtime/runtime.cc(273)::CreatePaddleBackend Runtime initialized with Backend::PDINFER in Device::GPU.
[INFO] fastdeploy/runtime/runtime.cc(273)::CreatePaddleBackend Runtime initialized with Backend::PDINFER in Device::GPU.
[2025-08-23 21:09:23,888] [MainThread] [INFO] [ocr_module.py:__init__:55] ✅ FastDeploy PPOCRv3(TRT FP16, cached) 초기화 완료
INFO:GUI_WorkerLogger:✅ FastDeploy PPOCRv3(TRT FP16, cached) 초기화 완료
[2025-08-23 21:09:23,888] [MainThread] [INFO] [celery_worker.py:get_ocr:151] [GPUMem][after OCR init] used=401.9MB free=3694.1MB total=4096.0MB
INFO:GUI_WorkerLogger:[GPUMem][after OCR init] used=401.9MB free=3694.1MB total=4096.0MB
[2025-08-23 21:09:23,888] [MainThread] [INFO] [celery_worker.py:_warm_up_models:218] 마스크 모듈 초기화 완료
INFO:GUI_WorkerLogger:마스크 모듈 초기화 완료
[2025-08-23 21:09:23,889] [MainThread] [INFO] [celery_worker.py:_warm_up_models:219] 🔥 고급 텍스트 렌더링 모듈 초기화 완료
INFO:GUI_WorkerLogger:🔥 고급 텍스트 렌더링 모듈 초기화 완료
[2025-08-23 21:09:23,889] [MainThread] [INFO] [celery_worker.py:_warm_up_models:219] Cairo 지원: False
INFO:GUI_WorkerLogger:Cairo 지원: False
[2025-08-23 21:09:23,889] [MainThread] [INFO] [celery_worker.py:_warm_up_models:219] 기본 폰트 경로: /app/worker/fonts/NanumSquareRoundR.ttf
INFO:GUI_WorkerLogger:기본 폰트 경로: /app/worker/fonts/NanumSquareRoundR.ttf
[2025-08-23 21:09:23,889] [MainThread] [INFO] [celery_worker.py:get_roi_inpainter:170] cuDNN 최적화 설정 완료
INFO:GUI_WorkerLogger:cuDNN 최적화 설정 완료
[2025-08-23 21:09:23,889] [MainThread] [INFO] [celery_worker.py:_warm_up_models:222] ROI 인페인팅 모듈 초기화 완료
INFO:GUI_WorkerLogger:ROI 인페인팅 모듈 초기화 완료
[2025-08-23 21:09:23,889] [MainThread] [INFO] [celery_worker.py:get_roi_inpainter:172] [GPUMem][after ROI Inpainter init] used=401.9MB free=3694.1MB total=4096.0MB
INFO:GUI_WorkerLogger:[GPUMem][after ROI Inpainter init] used=401.9MB free=3694.1MB total=4096.0MB
[2025-08-23 21:09:24,316] [MainThread] [INFO] [celery_worker.py:<module>:232] SimpleLama 인스턴스 생성 완료
INFO:GUI_WorkerLogger:SimpleLama 인스턴스 생성 완료
[2025-08-23 21:09:24,317] [MainThread] [INFO] [celery_worker.py:get_migan_inpainter:179] TensorRT 엔진 캐시 디렉토리: /app/temp_files/trt_cache
INFO:GUI_WorkerLogger:TensorRT 엔진 캐시 디렉토리: /app/temp_files/trt_cache
[2025-08-23 21:09:24,317] [MainThread] [INFO] [celery_worker.py:_warm_up_models:226] MIGAN 인페인팅 모듈 초기화 완료
INFO:GUI_WorkerLogger:MIGAN 인페인팅 모듈 초기화 완료
[2025-08-23 21:09:24,317] [MainThread] [INFO] [celery_worker.py:get_migan_inpainter:181] [GPUMem][after MIGAN Inpainter init] used=615.9MB free=3480.1MB total=4096.0MB
INFO:GUI_WorkerLogger:[GPUMem][after MIGAN Inpainter init] used=615.9MB free=3480.1MB total=4096.0MB
INFO:worker.celery_worker:✅ 모델 사전 로딩 완료 (성능 최적화 포함)
/usr/local/lib/python3.10/dist-packages/celery/platforms.py:829: SecurityWarning: You're running the worker with superuser privileges: this is
absolutely not recommended!
Please specify a different user using the --uid option.
User information: uid=0 euid=0 gid=0 egid=0
warnings.warn(SecurityWarning(ROOT_DISCOURAGED.format(
-------------- 7600M@c6c11810abef v5.3.6 (emerald-rush)
--- ***** -----
-- ******* ---- Linux-6.8.0-64-generic-x86_64-with-glibc2.35 2025-08-23 21:09:24
- *** --- * ---
- ** ---------- [config]
- ** ---------- .> app: image_worker:0x7d5a7e9df070
- ** ---------- .> transport: redis://192.168.0.129:6379/0
- ** ---------- .> results: redis://192.168.0.129:6379/1
- *** --- * --- .> concurrency: 1 (thread)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** -----
-------------- [queues]
.> celery exchange=celery(direct) key=celery
.> inpaint exchange=inpaint(direct) key=inpaint
.> rembg exchange=rembg(direct) key=rembg
.> translate exchange=translate(direct) key=translate
[tasks]
. worker.rembg_task
. worker.translate_task
[2025-08-23 21:09:24,366: WARNING/MainProcess] /usr/local/lib/python3.10/dist-packages/celery/worker/consumer/consumer.py:507: CPendingDeprecationWarning: The broker_connection_retry configuration setting will no longer determine
whether broker connection retries are made during startup in Celery 6.0 and above.
If you wish to retain the existing behavior for retrying connections on startup,
you should set broker_connection_retry_on_startup to True.
warnings.warn(
[2025-08-23 21:09:24,369: INFO/MainProcess] Connected to redis://192.168.0.129:6379/0
[2025-08-23 21:09:24,369: WARNING/MainProcess] /usr/local/lib/python3.10/dist-packages/celery/worker/consumer/consumer.py:507: CPendingDeprecationWarning: The broker_connection_retry configuration setting will no longer determine
whether broker connection retries are made during startup in Celery 6.0 and above.
If you wish to retain the existing behavior for retrying connections on startup,
you should set broker_connection_retry_on_startup to True.
warnings.warn(
[2025-08-23 21:09:24,371: INFO/MainProcess] mingle: searching for neighbors
[2025-08-23 21:09:25,377: INFO/MainProcess] mingle: all alone
[2025-08-23 21:09:25,385: INFO/MainProcess] 7600M@c6c11810abef ready.
[2025-08-23 21:09:28,153: INFO/MainProcess] Events of group {task} enabled by remote.
[2025-08-23 21:09:45,608: INFO/MainProcess] Task worker.translate_task[662c047f-e7a1-4855-b54f-980b54819431] received
[2025-08-23 21:09:45,609] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][662c047f-e7a1-4855-b54f-980b54819431] translate_task start (file=6.jpg, user=tester)
[2025-08-23 21:09:45,609: INFO/MainProcess] [TRACE][662c047f-e7a1-4855-b54f-980b54819431] translate_task start (file=6.jpg, user=tester)
[2025-08-23 21:09:45,610] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][before DECODE] used=597.9MB free=3498.1MB total=4096.0MB
[2025-08-23 21:09:45,610: INFO/MainProcess] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][before DECODE] used=597.9MB free=3498.1MB total=4096.0MB
[2025-08-23 21:09:45,615] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][after DECODE] used=597.9MB free=3498.1MB total=4096.0MB
[2025-08-23 21:09:45,615: INFO/MainProcess] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][after DECODE] used=597.9MB free=3498.1MB total=4096.0MB
[2025-08-23 21:09:45,615] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:569] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][DECODE] Δused=0.0MB, elapsed=0.006s
[2025-08-23 21:09:45,615: INFO/MainProcess] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][DECODE] Δused=0.0MB, elapsed=0.006s
[2025-08-23 21:09:45,616] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][before OCR] used=597.9MB free=3498.1MB total=4096.0MB
[2025-08-23 21:09:45,616: INFO/MainProcess] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][before OCR] used=597.9MB free=3498.1MB total=4096.0MB
[2025-08-23 21:09:45,616] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:579] 🔍 OCR(ndarray) 감지 시작
[2025-08-23 21:09:45,616: INFO/MainProcess] 🔍 OCR(ndarray) 감지 시작
[2025-08-23 21:09:46,078] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:580] 중국어 텍스트 4개 필터링 완료
[2025-08-23 21:09:46,078: INFO/MainProcess] 중국어 텍스트 4개 필터링 완료
[2025-08-23 21:09:46,078] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:580] [{'text': '现代极简风格', 'confidence': 0.9964253902435303, 'polygon': [[221, 70], [552, 70], [552, 117], [221, 117]], 'bbox': (221, 70, 332, 48), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9955397844314575, 'polygon': [[151, 141], [622, 141], [622, 180], [151, 180]], 'bbox': (151, 141, 472, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9963843822479248, 'polygon': [[87, 288], [462, 288], [462, 345], [87, 345]], 'bbox': (87, 288, 376, 58), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9927356243133545, 'polygon': [[86, 368], [461, 368], [461, 425], [86, 425]], 'bbox': (86, 368, 376, 58), 'method': 'polygon'}]
[2025-08-23 21:09:46,078: DEBUG/MainProcess] [{'text': '现代极简风格', 'confidence': 0.9964253902435303, 'polygon': [[221, 70], [552, 70], [552, 117], [221, 117]], 'bbox': (221, 70, 332, 48), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9955397844314575, 'polygon': [[151, 141], [622, 141], [622, 180], [151, 180]], 'bbox': (151, 141, 472, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9963843822479248, 'polygon': [[87, 288], [462, 288], [462, 345], [87, 345]], 'bbox': (87, 288, 376, 58), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9927356243133545, 'polygon': [[86, 368], [461, 368], [461, 425], [86, 425]], 'bbox': (86, 368, 376, 58), 'method': 'polygon'}]
[2025-08-23 21:09:46,078] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][after OCR] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:09:46,078: INFO/MainProcess] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][after OCR] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:09:46,078] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:577] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][OCR] Δused=166.0MB, elapsed=0.463s
[2025-08-23 21:09:46,078: INFO/MainProcess] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][OCR] Δused=166.0MB, elapsed=0.463s
[2025-08-23 21:09:46,105] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][before TRANSLATE] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:09:46,105: INFO/MainProcess] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][before TRANSLATE] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:09:46,105: WARNING/MainProcess] translate_batch in: ['现代极简风格', '更易搭配各种使用场景', '半圆两端设计', '承载各种欢乐']
[2025-08-23 21:09:47,574: WARNING/MainProcess] translate_batch out: ['현대 미니멀리스트 스타일', '다양한 사용 시나리오와 더 쉽게 일치 할 수 있습니다', '양쪽 끝에 반원의 디자인', '모든 종류의 기쁨을 가지고 다니십시오']
[2025-08-23 21:09:47,575] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][after TRANSLATE] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:09:47,575: INFO/MainProcess] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][after TRANSLATE] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:09:47,575] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:589] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][TRANSLATE] Δused=0.0MB, elapsed=1.470s
[2025-08-23 21:09:47,575: INFO/MainProcess] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][TRANSLATE] Δused=0.0MB, elapsed=1.470s
[2025-08-23 21:09:47,575] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][before MASK] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:09:47,575: INFO/MainProcess] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][before MASK] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:09:47,587] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] 🔧 MIGAN용(expand=3, min_area=64, dilate=2, closing=True, bridge_h=10, bridge_v=10) 마스크 사용: 커버리지 9.84% (96,388/979,200 픽셀)
[2025-08-23 21:09:47,587: INFO/MainProcess] 🔧 MIGAN용(expand=3, min_area=64, dilate=2, closing=True, bridge_h=10, bridge_v=10) 마스크 사용: 커버리지 9.84% (96,388/979,200 픽셀)
[2025-08-23 21:09:47,587] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][after MASK] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:09:47,587: INFO/MainProcess] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][after MASK] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:09:47,587] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:598] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][MASK] Δused=0.0MB, elapsed=0.012s
[2025-08-23 21:09:47,587: INFO/MainProcess] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][MASK] Δused=0.0MB, elapsed=0.012s
[2025-08-23 21:09:47,590] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][before INPAINT] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:09:47,590: INFO/MainProcess] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][before INPAINT] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:09:47,590] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][662c047f-e7a1-4855-b54f-980b54819431] 선택된 인페인팅 방법: migan
[2025-08-23 21:09:47,590: INFO/MainProcess] [TRACE][662c047f-e7a1-4855-b54f-980b54819431] 선택된 인페인팅 방법: migan
[2025-08-23 21:09:47,590] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [INPAINT] MIGAN 처리 통계: 마스크 커버리지 9.8%, 최대 크기 제한: 1600px
[2025-08-23 21:09:47,590: INFO/MainProcess] [INPAINT] MIGAN 처리 통계: 마스크 커버리지 9.8%, 최대 크기 제한: 1600px
[2025-08-23 21:09:47,590] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:693] 설정 변경으로 인한 세션 재초기화 필요
[2025-08-23 21:09:47,590: INFO/MainProcess] 설정 변경으로 인한 세션 재초기화 필요
[2025-08-23 21:09:47,590] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:693] 설정 업데이트 완료: ['onnx_path', 'use_cuda', 'use_tensorrt', 'trt_fp16_enable', 'trt_engine_cache_enable', 'max_image_size', 'output_max_width', 'enable_output_resize']
[2025-08-23 21:09:47,590: INFO/MainProcess] 설정 업데이트 완료: ['onnx_path', 'use_cuda', 'use_tensorrt', 'trt_fp16_enable', 'trt_engine_cache_enable', 'max_image_size', 'output_max_width', 'enable_output_resize']
[2025-08-23 21:09:47,590] [ThreadPoolExecutor-0_0] [INFO] [migan_inpainting_module.py:_prepare_session:378] CUDA 세션 생성 시도
[2025-08-23 21:09:47,590: INFO/MainProcess] CUDA 세션 생성 시도
[2025-08-23 21:09:47,768] [ThreadPoolExecutor-0_0] [INFO] [migan_inpainting_module.py:_prepare_session:378] CUDA 세션 생성 성공: ['CUDAExecutionProvider', 'CPUExecutionProvider']
[2025-08-23 21:09:47,768: INFO/MainProcess] CUDA 세션 생성 성공: ['CUDAExecutionProvider', 'CPUExecutionProvider']
[2025-08-23 21:09:47,768] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:693] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-08-23 21:09:47,768: DEBUG/MainProcess] 입력 0: image, 형태: ['batch_size', 3, 'height', 'width'], 타입: tensor(uint8)
[2025-08-23 21:09:47,769] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:693] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-08-23 21:09:47,769: DEBUG/MainProcess] 입력 1: mask, 형태: ['batch_size', 1, 'height', 'width'], 타입: tensor(uint8)
[2025-08-23 21:09:47,769] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:693] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-08-23 21:09:47,769: DEBUG/MainProcess] 출력 0: result, 형태: ['ScatterNDresult_dim_0', 3, 'ScatterNDresult_dim_2', 'ScatterNDresult_dim_3'], 타입: tensor(uint8)
[2025-08-23 21:09:47,812] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 추론 입력 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816)
[2025-08-23 21:09:47,812: DEBUG/MainProcess] 추론 입력 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816)
[2025-08-23 21:09:57,277] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] MIGAN 인페인팅 완료: 총 9.687s (추론: 9.461s)
[2025-08-23 21:09:57,277: INFO/MainProcess] MIGAN 인페인팅 완료: 총 9.687s (추론: 9.461s)
[2025-08-23 21:09:57,442] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] [MEMORY][662c047f-e7a1-4855-b54f-980b54819431] 경량 정리 완료: Python객체=227개, GPU캐시=0.0MB
[2025-08-23 21:09:57,442: DEBUG/MainProcess] [MEMORY][662c047f-e7a1-4855-b54f-980b54819431] 경량 정리 완료: Python객체=227개, GPU캐시=0.0MB
[2025-08-23 21:09:57,442] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][after INPAINT] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:09:57,442: INFO/MainProcess] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][after INPAINT] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:09:57,442] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:662] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][INPAINT] Δused=550.0MB, elapsed=9.853s
[2025-08-23 21:09:57,442: INFO/MainProcess] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][INPAINT] Δused=550.0MB, elapsed=9.853s
[2025-08-23 21:09:57,467: INFO/MainProcess] worker.translate_task[662c047f-e7a1-4855-b54f-980b54819431]: [TRACE][662c047f-e7a1-4855-b54f-980b54819431][font] 요청된 폰트 번호: 5
[2025-08-23 21:09:57,468] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][before RENDER] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:09:57,468: INFO/MainProcess] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][before RENDER] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:09:57,468] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔥 고급 텍스트 렌더링 시작: 4개 텍스트
[2025-08-23 21:09:57,468: INFO/MainProcess] 🔥 고급 텍스트 렌더링 시작: 4개 텍스트
[2025-08-23 21:09:57,470] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(252, 252, 252) → 텍스트(0, 0, 0) (비율: 20.47)
[2025-08-23 21:09:57,470: DEBUG/MainProcess] WCAG 대비 보정: 배경(252, 252, 252) → 텍스트(0, 0, 0) (비율: 20.47)
[2025-08-23 21:09:57,486] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 1/4 렌더링 완료
[2025-08-23 21:09:57,486: DEBUG/MainProcess] 텍스트 1/4 렌더링 완료
[2025-08-23 21:09:57,488] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(253, 253, 253) → 텍스트(0, 0, 0) (비율: 20.65)
[2025-08-23 21:09:57,488: DEBUG/MainProcess] WCAG 대비 보정: 배경(253, 253, 253) → 텍스트(0, 0, 0) (비율: 20.65)
[2025-08-23 21:09:57,510] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 2/4 렌더링 완료
[2025-08-23 21:09:57,510: DEBUG/MainProcess] 텍스트 2/4 렌더링 완료
[2025-08-23 21:09:57,512] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(183, 171, 165) → 텍스트(0, 0, 0) (비율: 9.38)
[2025-08-23 21:09:57,512: DEBUG/MainProcess] WCAG 대비 보정: 배경(183, 171, 165) → 텍스트(0, 0, 0) (비율: 9.38)
[2025-08-23 21:09:57,527] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 3/4 렌더링 완료
[2025-08-23 21:09:57,527: DEBUG/MainProcess] 텍스트 3/4 렌더링 완료
[2025-08-23 21:09:57,529] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(184, 173, 167) → 텍스트(0, 0, 0) (비율: 9.57)
[2025-08-23 21:09:57,529: DEBUG/MainProcess] WCAG 대비 보정: 배경(184, 173, 167) → 텍스트(0, 0, 0) (비율: 9.57)
[2025-08-23 21:09:57,546] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 4/4 렌더링 완료
[2025-08-23 21:09:57,546: DEBUG/MainProcess] 텍스트 4/4 렌더링 완료
[2025-08-23 21:09:57,546] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔥 고급 텍스트 렌더링 완료
[2025-08-23 21:09:57,546: INFO/MainProcess] 🔥 고급 텍스트 렌더링 완료
[2025-08-23 21:09:57,546] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][after RENDER] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:09:57,546: INFO/MainProcess] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][after RENDER] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:09:57,546] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:765] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][RENDER] Δused=0.0MB, elapsed=0.079s
[2025-08-23 21:09:57,546: INFO/MainProcess] [GPUMem][662c047f-e7a1-4855-b54f-980b54819431][RENDER] Δused=0.0MB, elapsed=0.079s
[2025-08-23 21:09:57,572: INFO/MainProcess] worker.translate_task[662c047f-e7a1-4855-b54f-980b54819431]: [DEBUG] artifacts saved: /app/temp_files/debug/c9efd18d_*.png
[2025-08-23 21:09:57,572] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][662c047f-e7a1-4855-b54f-980b54819431] translate_task done
[2025-08-23 21:09:57,572: INFO/MainProcess] [TRACE][662c047f-e7a1-4855-b54f-980b54819431] translate_task done
[2025-08-23 21:09:57,612: INFO/MainProcess] Task worker.translate_task[662c047f-e7a1-4855-b54f-980b54819431] succeeded in 12.003001395147294s: {'status': 'SUCCESS', 'result_image': 'iVBORw0KGgoAAAANSUhEUgAAAzAAAASwCAIAAACrfTgaAAAgAElEQVR4AezBfYydZZ0H/O/3PtOZQ1to4QFBtEv1OuXFI7KKa1psKm6pkjJYKiusCtlEspjsxvS4Ga3GiS9xx67IWE6IWY1vfwhJI6xF6qBrM1ZSSdssJMaZBrK57ocHEUSlWEpppzNz399n5moves7MOe2ZTvGwzu/zoSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY4wxxpj2oSQYY14dkkiiniSSeC2RhIAkXkskAZCEIEkSGGPMXyNKgjHm1SGJJOpJIonXEkkISOK1RBIASQiSJIExxvw1oiQYY+Y2SYhI4jVDEg...', ...}
[2025-08-23 21:10:22,817: INFO/MainProcess] Task worker.translate_task[fe66228f-3867-4e5f-9dce-65d0a25b8f90] received
[2025-08-23 21:10:22,818] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][fe66228f-3867-4e5f-9dce-65d0a25b8f90] translate_task start (file=6.jpg, user=tester)
[2025-08-23 21:10:22,818: INFO/MainProcess] [TRACE][fe66228f-3867-4e5f-9dce-65d0a25b8f90] translate_task start (file=6.jpg, user=tester)
[2025-08-23 21:10:22,818] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][before DECODE] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:10:22,818: INFO/MainProcess] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][before DECODE] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:10:22,821] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][after DECODE] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:10:22,821: INFO/MainProcess] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][after DECODE] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:10:22,821] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:569] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][DECODE] Δused=0.0MB, elapsed=0.003s
[2025-08-23 21:10:22,821: INFO/MainProcess] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][DECODE] Δused=0.0MB, elapsed=0.003s
[2025-08-23 21:10:22,821] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][before OCR] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:10:22,821: INFO/MainProcess] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][before OCR] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:10:22,821] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:579] 🔍 OCR(ndarray) 감지 시작
[2025-08-23 21:10:22,821: INFO/MainProcess] 🔍 OCR(ndarray) 감지 시작
[2025-08-23 21:10:22,893] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:580] 중국어 텍스트 4개 필터링 완료
[2025-08-23 21:10:22,893: INFO/MainProcess] 중국어 텍스트 4개 필터링 완료
[2025-08-23 21:10:22,893] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:580] [{'text': '现代极简风格', 'confidence': 0.9964253902435303, 'polygon': [[221, 70], [552, 70], [552, 117], [221, 117]], 'bbox': (221, 70, 332, 48), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9955397844314575, 'polygon': [[151, 141], [622, 141], [622, 180], [151, 180]], 'bbox': (151, 141, 472, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9963843822479248, 'polygon': [[87, 288], [462, 288], [462, 345], [87, 345]], 'bbox': (87, 288, 376, 58), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9927356243133545, 'polygon': [[86, 368], [461, 368], [461, 425], [86, 425]], 'bbox': (86, 368, 376, 58), 'method': 'polygon'}]
[2025-08-23 21:10:22,893: DEBUG/MainProcess] [{'text': '现代极简风格', 'confidence': 0.9964253902435303, 'polygon': [[221, 70], [552, 70], [552, 117], [221, 117]], 'bbox': (221, 70, 332, 48), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9955397844314575, 'polygon': [[151, 141], [622, 141], [622, 180], [151, 180]], 'bbox': (151, 141, 472, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9963843822479248, 'polygon': [[87, 288], [462, 288], [462, 345], [87, 345]], 'bbox': (87, 288, 376, 58), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9927356243133545, 'polygon': [[86, 368], [461, 368], [461, 425], [86, 425]], 'bbox': (86, 368, 376, 58), 'method': 'polygon'}]
[2025-08-23 21:10:22,893] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][after OCR] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:10:22,893: INFO/MainProcess] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][after OCR] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:10:22,893] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:577] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][OCR] Δused=0.0MB, elapsed=0.072s
[2025-08-23 21:10:22,893: INFO/MainProcess] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][OCR] Δused=0.0MB, elapsed=0.072s
[2025-08-23 21:10:22,919] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][before TRANSLATE] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:10:22,919: INFO/MainProcess] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][before TRANSLATE] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:10:22,919: WARNING/MainProcess] translate_batch in: ['现代极简风格', '更易搭配各种使用场景', '半圆两端设计', '承载各种欢乐']
[2025-08-23 21:10:23,254: WARNING/MainProcess] translate_batch out: ['현대 미니멀리스트 스타일', '다양한 사용 시나리오와 더 쉽게 일치 할 수 있습니다', '양쪽 끝에 반원의 디자인', '모든 종류의 기쁨을 가지고 다니십시오']
[2025-08-23 21:10:23,254] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][after TRANSLATE] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:10:23,254: INFO/MainProcess] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][after TRANSLATE] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:10:23,254] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:589] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][TRANSLATE] Δused=0.0MB, elapsed=0.335s
[2025-08-23 21:10:23,254: INFO/MainProcess] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][TRANSLATE] Δused=0.0MB, elapsed=0.335s
[2025-08-23 21:10:23,254] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][before MASK] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:10:23,254: INFO/MainProcess] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][before MASK] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:10:23,260] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] 🔧 MIGAN용(expand=9, min_area=64, dilate=2, closing=True, bridge_h=10, bridge_v=10) 마스크 사용: 커버리지 13.66% (133,749/979,200 픽셀)
[2025-08-23 21:10:23,260: INFO/MainProcess] 🔧 MIGAN용(expand=9, min_area=64, dilate=2, closing=True, bridge_h=10, bridge_v=10) 마스크 사용: 커버리지 13.66% (133,749/979,200 픽셀)
[2025-08-23 21:10:23,260] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][after MASK] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:10:23,260: INFO/MainProcess] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][after MASK] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:10:23,260] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:598] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][MASK] Δused=0.0MB, elapsed=0.006s
[2025-08-23 21:10:23,260: INFO/MainProcess] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][MASK] Δused=0.0MB, elapsed=0.006s
[2025-08-23 21:10:23,262] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][before INPAINT] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:10:23,262: INFO/MainProcess] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][before INPAINT] used=1313.9MB free=2782.1MB total=4096.0MB
[2025-08-23 21:10:23,263] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][fe66228f-3867-4e5f-9dce-65d0a25b8f90] 선택된 인페인팅 방법: migan
[2025-08-23 21:10:23,263: INFO/MainProcess] [TRACE][fe66228f-3867-4e5f-9dce-65d0a25b8f90] 선택된 인페인팅 방법: migan
[2025-08-23 21:10:23,263] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [INPAINT] MIGAN 처리 통계: 마스크 커버리지 13.7%, 최대 크기 제한: 1600px
[2025-08-23 21:10:23,263: INFO/MainProcess] [INPAINT] MIGAN 처리 통계: 마스크 커버리지 13.7%, 최대 크기 제한: 1600px
[2025-08-23 21:10:23,263] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:693] 설정 업데이트 완료: ['onnx_path', 'use_cuda', 'use_tensorrt', 'trt_fp16_enable', 'trt_engine_cache_enable', 'max_image_size', 'output_max_width', 'enable_output_resize']
[2025-08-23 21:10:23,263: INFO/MainProcess] 설정 업데이트 완료: ['onnx_path', 'use_cuda', 'use_tensorrt', 'trt_fp16_enable', 'trt_engine_cache_enable', 'max_image_size', 'output_max_width', 'enable_output_resize']
[2025-08-23 21:10:23,301] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 추론 입력 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816)
[2025-08-23 21:10:23,301: DEBUG/MainProcess] 추론 입력 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816)
[2025-08-23 21:10:23,539] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] MIGAN 인페인팅 완료: 총 0.276s (추론: 0.232s)
[2025-08-23 21:10:23,539: INFO/MainProcess] MIGAN 인페인팅 완료: 총 0.276s (추론: 0.232s)
[2025-08-23 21:10:23,706] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] [MEMORY][fe66228f-3867-4e5f-9dce-65d0a25b8f90] 경량 정리 완료: Python객체=207개, GPU캐시=0.0MB
[2025-08-23 21:10:23,706: DEBUG/MainProcess] [MEMORY][fe66228f-3867-4e5f-9dce-65d0a25b8f90] 경량 정리 완료: Python객체=207개, GPU캐시=0.0MB
[2025-08-23 21:10:23,706] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][after INPAINT] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:23,706: INFO/MainProcess] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][after INPAINT] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:23,706] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:662] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][INPAINT] Δused=512.0MB, elapsed=0.444s
[2025-08-23 21:10:23,706: INFO/MainProcess] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][INPAINT] Δused=512.0MB, elapsed=0.444s
[2025-08-23 21:10:23,731: INFO/MainProcess] worker.translate_task[fe66228f-3867-4e5f-9dce-65d0a25b8f90]: [TRACE][fe66228f-3867-4e5f-9dce-65d0a25b8f90][font] 요청된 폰트 번호: 5
[2025-08-23 21:10:23,731] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][before RENDER] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:23,731: INFO/MainProcess] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][before RENDER] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:23,731] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔥 고급 텍스트 렌더링 시작: 4개 텍스트
[2025-08-23 21:10:23,731: INFO/MainProcess] 🔥 고급 텍스트 렌더링 시작: 4개 텍스트
[2025-08-23 21:10:23,734] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(254, 254, 253) → 텍스트(0, 0, 0) (비율: 20.81)
[2025-08-23 21:10:23,734: DEBUG/MainProcess] WCAG 대비 보정: 배경(254, 254, 253) → 텍스트(0, 0, 0) (비율: 20.81)
[2025-08-23 21:10:23,747] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 1/4 렌더링 완료
[2025-08-23 21:10:23,747: DEBUG/MainProcess] 텍스트 1/4 렌더링 완료
[2025-08-23 21:10:23,749] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(254, 253, 252) → 텍스트(0, 0, 0) (비율: 20.67)
[2025-08-23 21:10:23,749: DEBUG/MainProcess] WCAG 대비 보정: 배경(254, 253, 252) → 텍스트(0, 0, 0) (비율: 20.67)
[2025-08-23 21:10:23,770] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 2/4 렌더링 완료
[2025-08-23 21:10:23,770: DEBUG/MainProcess] 텍스트 2/4 렌더링 완료
[2025-08-23 21:10:23,772] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(182, 169, 160) → 텍스트(0, 0, 0) (비율: 9.17)
[2025-08-23 21:10:23,772: DEBUG/MainProcess] WCAG 대비 보정: 배경(182, 169, 160) → 텍스트(0, 0, 0) (비율: 9.17)
[2025-08-23 21:10:23,786] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 3/4 렌더링 완료
[2025-08-23 21:10:23,786: DEBUG/MainProcess] 텍스트 3/4 렌더링 완료
[2025-08-23 21:10:23,788] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(183, 170, 163) → 텍스트(0, 0, 0) (비율: 9.29)
[2025-08-23 21:10:23,788: DEBUG/MainProcess] WCAG 대비 보정: 배경(183, 170, 163) → 텍스트(0, 0, 0) (비율: 9.29)
[2025-08-23 21:10:23,804] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 4/4 렌더링 완료
[2025-08-23 21:10:23,804: DEBUG/MainProcess] 텍스트 4/4 렌더링 완료
[2025-08-23 21:10:23,804] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔥 고급 텍스트 렌더링 완료
[2025-08-23 21:10:23,804: INFO/MainProcess] 🔥 고급 텍스트 렌더링 완료
[2025-08-23 21:10:23,804] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][after RENDER] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:23,804: INFO/MainProcess] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][after RENDER] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:23,804] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:765] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][RENDER] Δused=0.0MB, elapsed=0.073s
[2025-08-23 21:10:23,804: INFO/MainProcess] [GPUMem][fe66228f-3867-4e5f-9dce-65d0a25b8f90][RENDER] Δused=0.0MB, elapsed=0.073s
[2025-08-23 21:10:23,830: INFO/MainProcess] worker.translate_task[fe66228f-3867-4e5f-9dce-65d0a25b8f90]: [DEBUG] artifacts saved: /app/temp_files/debug/a3404d1f_*.png
[2025-08-23 21:10:23,830] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][fe66228f-3867-4e5f-9dce-65d0a25b8f90] translate_task done
[2025-08-23 21:10:23,830: INFO/MainProcess] [TRACE][fe66228f-3867-4e5f-9dce-65d0a25b8f90] translate_task done
[2025-08-23 21:10:23,866: INFO/MainProcess] Task worker.translate_task[fe66228f-3867-4e5f-9dce-65d0a25b8f90] succeeded in 1.0485097700729966s: {'status': 'SUCCESS', 'result_image': 'iVBORw0KGgoAAAANSUhEUgAAAzAAAASwCAIAAACrfTgaAAAgAElEQVR4AezBf6zmZX3n/+drIGW2sAqNLUjLgr3uAekNpS2umbGTqS5MS2AsIFVbhTSpWZvsxnDcHB2bntQ23SNbyxHvGLNtWu0fSkKK27GMR10n49RMyTBbSBrPmUg21y3B1l9dsOiXRVyceX3Pfc19zX3uez73OWdmzpmDh/fjIduEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEEEIIIYT1I9uEcLYYs8CMIyqxysxYYnWYAXFWmeWJs8cMiLPBjBKrwPSIVWB6xEub6DMjTJ9ECC89sk0Ia8+YE8w4ohKrySxDnBrTJ/rMEHFWmeWJs8cMiLPBjBJLMT1iKWZAnD4zRLy0CczJTJ9ECC...', ...}
[2025-08-23 21:10:37,660: INFO/MainProcess] Task worker.translate_task[e1a901c7-f0da-4011-99ad-9ebabbb3fb5c] received
[2025-08-23 21:10:37,660] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c] translate_task start (file=6.jpg, user=tester)
[2025-08-23 21:10:37,660: INFO/MainProcess] [TRACE][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c] translate_task start (file=6.jpg, user=tester)
[2025-08-23 21:10:37,661] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][before DECODE] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:37,661: INFO/MainProcess] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][before DECODE] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:37,664] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][after DECODE] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:37,664: INFO/MainProcess] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][after DECODE] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:37,664] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:569] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][DECODE] Δused=0.0MB, elapsed=0.003s
[2025-08-23 21:10:37,664: INFO/MainProcess] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][DECODE] Δused=0.0MB, elapsed=0.003s
[2025-08-23 21:10:37,664] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][before OCR] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:37,664: INFO/MainProcess] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][before OCR] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:37,664] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:579] 🔍 OCR(ndarray) 감지 시작
[2025-08-23 21:10:37,664: INFO/MainProcess] 🔍 OCR(ndarray) 감지 시작
[2025-08-23 21:10:37,728] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:580] 중국어 텍스트 4개 필터링 완료
[2025-08-23 21:10:37,728: INFO/MainProcess] 중국어 텍스트 4개 필터링 완료
[2025-08-23 21:10:37,728] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:580] [{'text': '现代极简风格', 'confidence': 0.9964253902435303, 'polygon': [[221, 70], [552, 70], [552, 117], [221, 117]], 'bbox': (221, 70, 332, 48), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9955397844314575, 'polygon': [[151, 141], [622, 141], [622, 180], [151, 180]], 'bbox': (151, 141, 472, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9963843822479248, 'polygon': [[87, 288], [462, 288], [462, 345], [87, 345]], 'bbox': (87, 288, 376, 58), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9927356243133545, 'polygon': [[86, 368], [461, 368], [461, 425], [86, 425]], 'bbox': (86, 368, 376, 58), 'method': 'polygon'}]
[2025-08-23 21:10:37,728: DEBUG/MainProcess] [{'text': '现代极简风格', 'confidence': 0.9964253902435303, 'polygon': [[221, 70], [552, 70], [552, 117], [221, 117]], 'bbox': (221, 70, 332, 48), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9955397844314575, 'polygon': [[151, 141], [622, 141], [622, 180], [151, 180]], 'bbox': (151, 141, 472, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9963843822479248, 'polygon': [[87, 288], [462, 288], [462, 345], [87, 345]], 'bbox': (87, 288, 376, 58), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9927356243133545, 'polygon': [[86, 368], [461, 368], [461, 425], [86, 425]], 'bbox': (86, 368, 376, 58), 'method': 'polygon'}]
[2025-08-23 21:10:37,728] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][after OCR] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:37,728: INFO/MainProcess] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][after OCR] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:37,729] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:577] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][OCR] Δused=0.0MB, elapsed=0.064s
[2025-08-23 21:10:37,729: INFO/MainProcess] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][OCR] Δused=0.0MB, elapsed=0.064s
[2025-08-23 21:10:37,755] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][before TRANSLATE] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:37,755: INFO/MainProcess] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][before TRANSLATE] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:37,755: WARNING/MainProcess] translate_batch in: ['现代极简风格', '更易搭配各种使用场景', '半圆两端设计', '承载各种欢乐']
[2025-08-23 21:10:38,070: WARNING/MainProcess] translate_batch out: ['현대 미니멀리스트 스타일', '다양한 사용 시나리오와 더 쉽게 일치 할 수 있습니다', '양쪽 끝에 반원의 디자인', '모든 종류의 기쁨을 가지고 다니십시오']
[2025-08-23 21:10:38,070] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][after TRANSLATE] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:38,070: INFO/MainProcess] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][after TRANSLATE] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:38,070] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:589] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][TRANSLATE] Δused=0.0MB, elapsed=0.316s
[2025-08-23 21:10:38,070: INFO/MainProcess] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][TRANSLATE] Δused=0.0MB, elapsed=0.316s
[2025-08-23 21:10:38,070] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][before MASK] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:38,070: INFO/MainProcess] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][before MASK] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:38,075] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] 🔧 MIGAN용(expand=7, min_area=64, dilate=2, closing=True, bridge_h=10, bridge_v=10) 마스크 사용: 커버리지 12.67% (124,087/979,200 픽셀)
[2025-08-23 21:10:38,075: INFO/MainProcess] 🔧 MIGAN용(expand=7, min_area=64, dilate=2, closing=True, bridge_h=10, bridge_v=10) 마스크 사용: 커버리지 12.67% (124,087/979,200 픽셀)
[2025-08-23 21:10:38,076] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][after MASK] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:38,076: INFO/MainProcess] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][after MASK] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:38,076] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:598] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][MASK] Δused=0.0MB, elapsed=0.005s
[2025-08-23 21:10:38,076: INFO/MainProcess] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][MASK] Δused=0.0MB, elapsed=0.005s
[2025-08-23 21:10:38,078] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][before INPAINT] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:38,078: INFO/MainProcess] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][before INPAINT] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:38,078] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c] 선택된 인페인팅 방법: migan
[2025-08-23 21:10:38,078: INFO/MainProcess] [TRACE][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c] 선택된 인페인팅 방법: migan
[2025-08-23 21:10:38,078] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [INPAINT] MIGAN 처리 통계: 마스크 커버리지 12.7%, 최대 크기 제한: 1600px
[2025-08-23 21:10:38,078: INFO/MainProcess] [INPAINT] MIGAN 처리 통계: 마스크 커버리지 12.7%, 최대 크기 제한: 1600px
[2025-08-23 21:10:38,078] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:693] 설정 업데이트 완료: ['onnx_path', 'use_cuda', 'use_tensorrt', 'trt_fp16_enable', 'trt_engine_cache_enable', 'max_image_size', 'output_max_width', 'enable_output_resize']
[2025-08-23 21:10:38,078: INFO/MainProcess] 설정 업데이트 완료: ['onnx_path', 'use_cuda', 'use_tensorrt', 'trt_fp16_enable', 'trt_engine_cache_enable', 'max_image_size', 'output_max_width', 'enable_output_resize']
[2025-08-23 21:10:38,117] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 추론 입력 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816)
[2025-08-23 21:10:38,117: DEBUG/MainProcess] 추론 입력 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816)
[2025-08-23 21:10:38,300] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] MIGAN 인페인팅 완료: 총 0.222s (추론: 0.174s)
[2025-08-23 21:10:38,300: INFO/MainProcess] MIGAN 인페인팅 완료: 총 0.222s (추론: 0.174s)
[2025-08-23 21:10:38,467] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] [MEMORY][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c] 경량 정리 완료: Python객체=197개, GPU캐시=0.0MB
[2025-08-23 21:10:38,467: DEBUG/MainProcess] [MEMORY][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c] 경량 정리 완료: Python객체=197개, GPU캐시=0.0MB
[2025-08-23 21:10:38,467] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][after INPAINT] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:38,467: INFO/MainProcess] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][after INPAINT] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:38,467] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:662] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][INPAINT] Δused=0.0MB, elapsed=0.389s
[2025-08-23 21:10:38,467: INFO/MainProcess] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][INPAINT] Δused=0.0MB, elapsed=0.389s
[2025-08-23 21:10:38,492: INFO/MainProcess] worker.translate_task[e1a901c7-f0da-4011-99ad-9ebabbb3fb5c]: [TRACE][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][font] 요청된 폰트 번호: 5
[2025-08-23 21:10:38,492] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][before RENDER] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:38,492: INFO/MainProcess] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][before RENDER] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:38,492] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔥 고급 텍스트 렌더링 시작: 4개 텍스트
[2025-08-23 21:10:38,492: INFO/MainProcess] 🔥 고급 텍스트 렌더링 시작: 4개 텍스트
[2025-08-23 21:10:38,494] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(254, 254, 253) → 텍스트(0, 0, 0) (비율: 20.81)
[2025-08-23 21:10:38,494: DEBUG/MainProcess] WCAG 대비 보정: 배경(254, 254, 253) → 텍스트(0, 0, 0) (비율: 20.81)
[2025-08-23 21:10:38,507] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 1/4 렌더링 완료
[2025-08-23 21:10:38,507: DEBUG/MainProcess] 텍스트 1/4 렌더링 완료
[2025-08-23 21:10:38,510] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(254, 253, 252) → 텍스트(0, 0, 0) (비율: 20.67)
[2025-08-23 21:10:38,510: DEBUG/MainProcess] WCAG 대비 보정: 배경(254, 253, 252) → 텍스트(0, 0, 0) (비율: 20.67)
[2025-08-23 21:10:38,532] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 2/4 렌더링 완료
[2025-08-23 21:10:38,532: DEBUG/MainProcess] 텍스트 2/4 렌더링 완료
[2025-08-23 21:10:38,534] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(182, 168, 160) → 텍스트(0, 0, 0) (비율: 9.10)
[2025-08-23 21:10:38,534: DEBUG/MainProcess] WCAG 대비 보정: 배경(182, 168, 160) → 텍스트(0, 0, 0) (비율: 9.10)
[2025-08-23 21:10:38,548] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 3/4 렌더링 완료
[2025-08-23 21:10:38,548: DEBUG/MainProcess] 텍스트 3/4 렌더링 완료
[2025-08-23 21:10:38,550] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(183, 171, 164) → 텍스트(0, 0, 0) (비율: 9.37)
[2025-08-23 21:10:38,550: DEBUG/MainProcess] WCAG 대비 보정: 배경(183, 171, 164) → 텍스트(0, 0, 0) (비율: 9.37)
[2025-08-23 21:10:38,566] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 4/4 렌더링 완료
[2025-08-23 21:10:38,566: DEBUG/MainProcess] 텍스트 4/4 렌더링 완료
[2025-08-23 21:10:38,566] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔥 고급 텍스트 렌더링 완료
[2025-08-23 21:10:38,566: INFO/MainProcess] 🔥 고급 텍스트 렌더링 완료
[2025-08-23 21:10:38,566] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][after RENDER] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:38,566: INFO/MainProcess] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][after RENDER] used=1825.9MB free=2270.1MB total=4096.0MB
[2025-08-23 21:10:38,566] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:765] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][RENDER] Δused=0.0MB, elapsed=0.074s
[2025-08-23 21:10:38,566: INFO/MainProcess] [GPUMem][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c][RENDER] Δused=0.0MB, elapsed=0.074s
[2025-08-23 21:10:38,592: INFO/MainProcess] worker.translate_task[e1a901c7-f0da-4011-99ad-9ebabbb3fb5c]: [DEBUG] artifacts saved: /app/temp_files/debug/54194cd0_*.png
[2025-08-23 21:10:38,592] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c] translate_task done
[2025-08-23 21:10:38,592: INFO/MainProcess] [TRACE][e1a901c7-f0da-4011-99ad-9ebabbb3fb5c] translate_task done
[2025-08-23 21:10:38,627: INFO/MainProcess] Task worker.translate_task[e1a901c7-f0da-4011-99ad-9ebabbb3fb5c] succeeded in 0.966100683901459s: {'status': 'SUCCESS', 'result_image': 'iVBORw0KGgoAAAANSUhEUgAAAzAAAASwCAIAAACrfTgaAAAgAElEQVR4AezBfYzdZZ3//+frQGxXWAWjgigLep1y4xFZxTWtNlW/UCVQBWTFVSGbSBaT3RjGzWg1TryJO7IqI5wYsxrv/lASIq5lqYOu3VpN5VvYhW+MM41kcx0Jut4uKPpjERd7Xr+eT8/lmTM9ZzrtDGeq8348ZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQQgghhLByZJsQRsuYQcQfGxuJeWwkjio2B0gcVWz2s02lVhNhVRAhrDKyTQgjZMx+ZjEkKmKxzNHERmIeG4mjiDFdAsTRw2Y/21TUwYiYPiIUYnmYA0...', ...}
[2025-08-23 21:12:51,963: INFO/MainProcess] Task worker.translate_task[32feee3c-5759-4d82-817b-35efa536e14f] received
[2025-08-23 21:12:51,970] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][32feee3c-5759-4d82-817b-35efa536e14f] translate_task start (file=6.jpg, user=tester)
[2025-08-23 21:12:51,970: INFO/MainProcess] [TRACE][32feee3c-5759-4d82-817b-35efa536e14f] translate_task start (file=6.jpg, user=tester)
[2025-08-23 21:12:51,974] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][before DECODE] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:51,974: INFO/MainProcess] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][before DECODE] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:51,977] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][after DECODE] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:51,977: INFO/MainProcess] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][after DECODE] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:51,977] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:569] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][DECODE] Δused=0.0MB, elapsed=0.004s
[2025-08-23 21:12:51,977: INFO/MainProcess] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][DECODE] Δused=0.0MB, elapsed=0.004s
[2025-08-23 21:12:51,977] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][before OCR] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:51,977: INFO/MainProcess] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][before OCR] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:51,979] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:579] 🔍 OCR(ndarray) 감지 시작
[2025-08-23 21:12:51,979: INFO/MainProcess] 🔍 OCR(ndarray) 감지 시작
[2025-08-23 21:12:52,053] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:580] 중국어 텍스트 4개 필터링 완료
[2025-08-23 21:12:52,053: INFO/MainProcess] 중국어 텍스트 4개 필터링 완료
[2025-08-23 21:12:52,053] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:580] [{'text': '现代极简风格', 'confidence': 0.9964253902435303, 'polygon': [[221, 70], [552, 70], [552, 117], [221, 117]], 'bbox': (221, 70, 332, 48), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9955397844314575, 'polygon': [[151, 141], [622, 141], [622, 180], [151, 180]], 'bbox': (151, 141, 472, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9963843822479248, 'polygon': [[87, 288], [462, 288], [462, 345], [87, 345]], 'bbox': (87, 288, 376, 58), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9927356243133545, 'polygon': [[86, 368], [461, 368], [461, 425], [86, 425]], 'bbox': (86, 368, 376, 58), 'method': 'polygon'}]
[2025-08-23 21:12:52,053: DEBUG/MainProcess] [{'text': '现代极简风格', 'confidence': 0.9964253902435303, 'polygon': [[221, 70], [552, 70], [552, 117], [221, 117]], 'bbox': (221, 70, 332, 48), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9955397844314575, 'polygon': [[151, 141], [622, 141], [622, 180], [151, 180]], 'bbox': (151, 141, 472, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9963843822479248, 'polygon': [[87, 288], [462, 288], [462, 345], [87, 345]], 'bbox': (87, 288, 376, 58), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9927356243133545, 'polygon': [[86, 368], [461, 368], [461, 425], [86, 425]], 'bbox': (86, 368, 376, 58), 'method': 'polygon'}]
[2025-08-23 21:12:52,053] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][after OCR] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:52,053: INFO/MainProcess] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][after OCR] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:52,053] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:577] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][OCR] Δused=0.0MB, elapsed=0.076s
[2025-08-23 21:12:52,053: INFO/MainProcess] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][OCR] Δused=0.0MB, elapsed=0.076s
[2025-08-23 21:12:52,081] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][before TRANSLATE] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:52,081: INFO/MainProcess] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][before TRANSLATE] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:52,081: WARNING/MainProcess] translate_batch in: ['现代极简风格', '更易搭配各种使用场景', '半圆两端设计', '承载各种欢乐']
[2025-08-23 21:12:52,474: WARNING/MainProcess] translate_batch out: ['현대 미니멀리스트 스타일', '다양한 사용 시나리오와 더 쉽게 일치 할 수 있습니다', '양쪽 끝에 반원의 디자인', '모든 종류의 기쁨을 가지고 다니십시오']
[2025-08-23 21:12:52,474] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][after TRANSLATE] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:52,474: INFO/MainProcess] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][after TRANSLATE] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:52,474] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:589] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][TRANSLATE] Δused=0.0MB, elapsed=0.393s
[2025-08-23 21:12:52,474: INFO/MainProcess] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][TRANSLATE] Δused=0.0MB, elapsed=0.393s
[2025-08-23 21:12:52,474] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][before MASK] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:52,474: INFO/MainProcess] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][before MASK] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:52,480] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] 🔧 MIGAN용(expand=7, min_area=64, dilate=2, closing=True, bridge_h=10, bridge_v=10) 마스크 사용: 커버리지 12.67% (124,087/979,200 픽셀)
[2025-08-23 21:12:52,480: INFO/MainProcess] 🔧 MIGAN용(expand=7, min_area=64, dilate=2, closing=True, bridge_h=10, bridge_v=10) 마스크 사용: 커버리지 12.67% (124,087/979,200 픽셀)
[2025-08-23 21:12:52,481] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][after MASK] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:52,481: INFO/MainProcess] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][after MASK] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:52,481] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:598] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][MASK] Δused=0.0MB, elapsed=0.007s
[2025-08-23 21:12:52,481: INFO/MainProcess] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][MASK] Δused=0.0MB, elapsed=0.007s
[2025-08-23 21:12:52,483] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][before INPAINT] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:52,483: INFO/MainProcess] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][before INPAINT] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:52,483] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][32feee3c-5759-4d82-817b-35efa536e14f] 선택된 인페인팅 방법: migan
[2025-08-23 21:12:52,483: INFO/MainProcess] [TRACE][32feee3c-5759-4d82-817b-35efa536e14f] 선택된 인페인팅 방법: migan
[2025-08-23 21:12:52,484] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [INPAINT] MIGAN 처리 통계: 마스크 커버리지 12.7%, 최대 크기 제한: 1600px
[2025-08-23 21:12:52,484: INFO/MainProcess] [INPAINT] MIGAN 처리 통계: 마스크 커버리지 12.7%, 최대 크기 제한: 1600px
[2025-08-23 21:12:52,484] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:693] 설정 업데이트 완료: ['onnx_path', 'use_cuda', 'use_tensorrt', 'trt_fp16_enable', 'trt_engine_cache_enable', 'max_image_size', 'output_max_width', 'enable_output_resize']
[2025-08-23 21:12:52,484: INFO/MainProcess] 설정 업데이트 완료: ['onnx_path', 'use_cuda', 'use_tensorrt', 'trt_fp16_enable', 'trt_engine_cache_enable', 'max_image_size', 'output_max_width', 'enable_output_resize']
[2025-08-23 21:12:52,525] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 추론 입력 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816)
[2025-08-23 21:12:52,525: DEBUG/MainProcess] 추론 입력 - 이미지: (1, 3, 1200, 816), 마스크: (1, 1, 1200, 816)
[2025-08-23 21:12:52,667] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] MIGAN 인페인팅 완료: 총 0.183s (추론: 0.129s)
[2025-08-23 21:12:52,667: INFO/MainProcess] MIGAN 인페인팅 완료: 총 0.183s (추론: 0.129s)
[2025-08-23 21:12:53,025] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] [MEMORY][32feee3c-5759-4d82-817b-35efa536e14f] 경량 정리 완료: Python객체=197개, GPU캐시=0.0MB
[2025-08-23 21:12:53,025: DEBUG/MainProcess] [MEMORY][32feee3c-5759-4d82-817b-35efa536e14f] 경량 정리 완료: Python객체=197개, GPU캐시=0.0MB
[2025-08-23 21:12:53,025] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][after INPAINT] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:53,025: INFO/MainProcess] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][after INPAINT] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:53,025] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:662] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][INPAINT] Δused=0.0MB, elapsed=0.542s
[2025-08-23 21:12:53,025: INFO/MainProcess] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][INPAINT] Δused=0.0MB, elapsed=0.542s
[2025-08-23 21:12:53,050: INFO/MainProcess] worker.translate_task[32feee3c-5759-4d82-817b-35efa536e14f]: [TRACE][32feee3c-5759-4d82-817b-35efa536e14f][font] 요청된 폰트 번호: 5
[2025-08-23 21:12:53,050] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][before RENDER] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:53,050: INFO/MainProcess] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][before RENDER] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:53,050] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔥 고급 텍스트 렌더링 시작: 4개 텍스트
[2025-08-23 21:12:53,050: INFO/MainProcess] 🔥 고급 텍스트 렌더링 시작: 4개 텍스트
[2025-08-23 21:12:53,053] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(254, 254, 253) → 텍스트(0, 0, 0) (비율: 20.81)
[2025-08-23 21:12:53,053: DEBUG/MainProcess] WCAG 대비 보정: 배경(254, 254, 253) → 텍스트(0, 0, 0) (비율: 20.81)
[2025-08-23 21:12:53,069] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 1/4 렌더링 완료
[2025-08-23 21:12:53,069: DEBUG/MainProcess] 텍스트 1/4 렌더링 완료
[2025-08-23 21:12:53,071] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(254, 253, 252) → 텍스트(0, 0, 0) (비율: 20.67)
[2025-08-23 21:12:53,071: DEBUG/MainProcess] WCAG 대비 보정: 배경(254, 253, 252) → 텍스트(0, 0, 0) (비율: 20.67)
[2025-08-23 21:12:53,093] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 2/4 렌더링 완료
[2025-08-23 21:12:53,093: DEBUG/MainProcess] 텍스트 2/4 렌더링 완료
[2025-08-23 21:12:53,095] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(182, 168, 160) → 텍스트(0, 0, 0) (비율: 9.10)
[2025-08-23 21:12:53,095: DEBUG/MainProcess] WCAG 대비 보정: 배경(182, 168, 160) → 텍스트(0, 0, 0) (비율: 9.10)
[2025-08-23 21:12:53,109] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 3/4 렌더링 완료
[2025-08-23 21:12:53,109: DEBUG/MainProcess] 텍스트 3/4 렌더링 완료
[2025-08-23 21:12:53,111] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(183, 171, 164) → 텍스트(0, 0, 0) (비율: 9.37)
[2025-08-23 21:12:53,111: DEBUG/MainProcess] WCAG 대비 보정: 배경(183, 171, 164) → 텍스트(0, 0, 0) (비율: 9.37)
[2025-08-23 21:12:53,127] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 4/4 렌더링 완료
[2025-08-23 21:12:53,127: DEBUG/MainProcess] 텍스트 4/4 렌더링 완료
[2025-08-23 21:12:53,127] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔥 고급 텍스트 렌더링 완료
[2025-08-23 21:12:53,127: INFO/MainProcess] 🔥 고급 텍스트 렌더링 완료
[2025-08-23 21:12:53,127] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][after RENDER] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:53,127: INFO/MainProcess] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][after RENDER] used=1917.9MB free=2178.1MB total=4096.0MB
[2025-08-23 21:12:53,127] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:765] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][RENDER] Δused=0.0MB, elapsed=0.077s
[2025-08-23 21:12:53,127: INFO/MainProcess] [GPUMem][32feee3c-5759-4d82-817b-35efa536e14f][RENDER] Δused=0.0MB, elapsed=0.077s
[2025-08-23 21:12:53,153: INFO/MainProcess] worker.translate_task[32feee3c-5759-4d82-817b-35efa536e14f]: [DEBUG] artifacts saved: /app/temp_files/debug/346074b3_*.png
[2025-08-23 21:12:53,153] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][32feee3c-5759-4d82-817b-35efa536e14f] translate_task done
[2025-08-23 21:12:53,153: INFO/MainProcess] [TRACE][32feee3c-5759-4d82-817b-35efa536e14f] translate_task done
[lama 로그]
[RMBG][ORT] providers: ['TensorrtExecutionProvider', 'CUDAExecutionProvider', 'AzureExecutionProvider', 'CPUExecutionProvider']
⚠️ Cairo/Pango 미지원, Pillow 폴백 사용: Namespace Pango not available
[CUDA-WARMUP] device_count = 1
[2025-08-23 21:15:35,091] [MainThread] [INFO] [celery_worker.py:<module>:87] [GPUMem] NVML init ok. device_index=0
translate_batch in: ['测试']
translate_batch out: ['시험']
INFO:root:Create a symbolic link pointing to /usr/local/lib/python3.10/dist-packages/fastdeploy/libs/third_libs/tensorrt/lib/libnvcaffe_parser.so.8 named /usr/local/lib/python3.10/dist-packages/fastdeploy/libs/third_libs/tensorrt/lib/libnvcaffe_parser.so.
INFO:root:Create a symbolic link pointing to /usr/local/lib/python3.10/dist-packages/fastdeploy/libs/third_libs/tensorrt/lib/libnvinfer_plugin.so.8 named /usr/local/lib/python3.10/dist-packages/fastdeploy/libs/third_libs/tensorrt/lib/libnvinfer_plugin.so.
INFO:root:Create a symbolic link pointing to /usr/local/lib/python3.10/dist-packages/fastdeploy/libs/third_libs/tensorrt/lib/libnvinfer.so.8 named /usr/local/lib/python3.10/dist-packages/fastdeploy/libs/third_libs/tensorrt/lib/libnvinfer.so.
INFO:root:Create a symbolic link pointing to /usr/local/lib/python3.10/dist-packages/fastdeploy/libs/third_libs/tensorrt/lib/libnvonnxparser.so.8 named /usr/local/lib/python3.10/dist-packages/fastdeploy/libs/third_libs/tensorrt/lib/libnvonnxparser.so.
INFO:root:Create a symbolic link pointing to /usr/local/lib/python3.10/dist-packages/fastdeploy/libs/third_libs/tensorrt/lib/libnvparsers.so.8 named /usr/local/lib/python3.10/dist-packages/fastdeploy/libs/third_libs/tensorrt/lib/libnvparsers.so.
[INFO] fastdeploy/runtime/runtime.cc(273)::CreatePaddleBackend Runtime initialized with Backend::PDINFER in Device::GPU.
[INFO] fastdeploy/runtime/runtime.cc(273)::CreatePaddleBackend Runtime initialized with Backend::PDINFER in Device::GPU.
[INFO] fastdeploy/runtime/runtime.cc(273)::CreatePaddleBackend Runtime initialized with Backend::PDINFER in Device::GPU.
[2025-08-23 21:15:37,445] [MainThread] [INFO] [ocr_module.py:__init__:55] ✅ FastDeploy PPOCRv3(TRT FP16, cached) 초기화 완료
INFO:GUI_WorkerLogger:✅ FastDeploy PPOCRv3(TRT FP16, cached) 초기화 완료
[2025-08-23 21:15:37,445] [MainThread] [INFO] [celery_worker.py:get_ocr:151] [GPUMem][after OCR init] used=401.9MB free=3694.1MB total=4096.0MB
INFO:GUI_WorkerLogger:[GPUMem][after OCR init] used=401.9MB free=3694.1MB total=4096.0MB
[2025-08-23 21:15:37,445] [MainThread] [INFO] [celery_worker.py:_warm_up_models:218] 마스크 모듈 초기화 완료
INFO:GUI_WorkerLogger:마스크 모듈 초기화 완료
[2025-08-23 21:15:37,445] [MainThread] [INFO] [celery_worker.py:_warm_up_models:219] 🔥 고급 텍스트 렌더링 모듈 초기화 완료
INFO:GUI_WorkerLogger:🔥 고급 텍스트 렌더링 모듈 초기화 완료
[2025-08-23 21:15:37,445] [MainThread] [INFO] [celery_worker.py:_warm_up_models:219] Cairo 지원: False
INFO:GUI_WorkerLogger:Cairo 지원: False
[2025-08-23 21:15:37,445] [MainThread] [INFO] [celery_worker.py:_warm_up_models:219] 기본 폰트 경로: /app/worker/fonts/NanumSquareRoundR.ttf
INFO:GUI_WorkerLogger:기본 폰트 경로: /app/worker/fonts/NanumSquareRoundR.ttf
[2025-08-23 21:15:37,446] [MainThread] [INFO] [celery_worker.py:get_roi_inpainter:170] cuDNN 최적화 설정 완료
INFO:GUI_WorkerLogger:cuDNN 최적화 설정 완료
[2025-08-23 21:15:37,446] [MainThread] [INFO] [celery_worker.py:_warm_up_models:222] ROI 인페인팅 모듈 초기화 완료
INFO:GUI_WorkerLogger:ROI 인페인팅 모듈 초기화 완료
[2025-08-23 21:15:37,446] [MainThread] [INFO] [celery_worker.py:get_roi_inpainter:172] [GPUMem][after ROI Inpainter init] used=401.9MB free=3694.1MB total=4096.0MB
INFO:GUI_WorkerLogger:[GPUMem][after ROI Inpainter init] used=401.9MB free=3694.1MB total=4096.0MB
[2025-08-23 21:15:37,876] [MainThread] [INFO] [celery_worker.py:<module>:232] SimpleLama 인스턴스 생성 완료
INFO:GUI_WorkerLogger:SimpleLama 인스턴스 생성 완료
[2025-08-23 21:15:37,876] [MainThread] [INFO] [celery_worker.py:get_migan_inpainter:179] TensorRT 엔진 캐시 디렉토리: /app/temp_files/trt_cache
INFO:GUI_WorkerLogger:TensorRT 엔진 캐시 디렉토리: /app/temp_files/trt_cache
[2025-08-23 21:15:37,876] [MainThread] [INFO] [celery_worker.py:_warm_up_models:226] MIGAN 인페인팅 모듈 초기화 완료
INFO:GUI_WorkerLogger:MIGAN 인페인팅 모듈 초기화 완료
[2025-08-23 21:15:37,876] [MainThread] [INFO] [celery_worker.py:get_migan_inpainter:181] [GPUMem][after MIGAN Inpainter init] used=615.9MB free=3480.1MB total=4096.0MB
INFO:GUI_WorkerLogger:[GPUMem][after MIGAN Inpainter init] used=615.9MB free=3480.1MB total=4096.0MB
INFO:worker.celery_worker:✅ 모델 사전 로딩 완료 (성능 최적화 포함)
/usr/local/lib/python3.10/dist-packages/celery/platforms.py:829: SecurityWarning: You're running the worker with superuser privileges: this is
absolutely not recommended!
Please specify a different user using the --uid option.
User information: uid=0 euid=0 gid=0 egid=0
warnings.warn(SecurityWarning(ROOT_DISCOURAGED.format(
-------------- 7600M@b62c0650d845 v5.3.6 (emerald-rush)
--- ***** -----
-- ******* ---- Linux-6.8.0-64-generic-x86_64-with-glibc2.35 2025-08-23 21:15:37
- *** --- * ---
- ** ---------- [config]
- ** ---------- .> app: image_worker:0x76cf14f4f070
- ** ---------- .> transport: redis://192.168.0.129:6379/0
- ** ---------- .> results: redis://192.168.0.129:6379/1
- *** --- * --- .> concurrency: 1 (thread)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** -----
-------------- [queues]
.> celery exchange=celery(direct) key=celery
.> inpaint exchange=inpaint(direct) key=inpaint
.> rembg exchange=rembg(direct) key=rembg
.> translate exchange=translate(direct) key=translate
[tasks]
. worker.rembg_task
. worker.translate_task
[2025-08-23 21:15:37,926: WARNING/MainProcess] /usr/local/lib/python3.10/dist-packages/celery/worker/consumer/consumer.py:507: CPendingDeprecationWarning: The broker_connection_retry configuration setting will no longer determine
whether broker connection retries are made during startup in Celery 6.0 and above.
If you wish to retain the existing behavior for retrying connections on startup,
you should set broker_connection_retry_on_startup to True.
warnings.warn(
[2025-08-23 21:15:37,929: INFO/MainProcess] Connected to redis://192.168.0.129:6379/0
[2025-08-23 21:15:37,929: WARNING/MainProcess] /usr/local/lib/python3.10/dist-packages/celery/worker/consumer/consumer.py:507: CPendingDeprecationWarning: The broker_connection_retry configuration setting will no longer determine
whether broker connection retries are made during startup in Celery 6.0 and above.
If you wish to retain the existing behavior for retrying connections on startup,
you should set broker_connection_retry_on_startup to True.
warnings.warn(
[2025-08-23 21:15:37,930: INFO/MainProcess] mingle: searching for neighbors
[2025-08-23 21:15:38,937: INFO/MainProcess] mingle: all alone
[2025-08-23 21:15:38,946: INFO/MainProcess] 7600M@b62c0650d845 ready.
[2025-08-23 21:15:43,151: INFO/MainProcess] Events of group {task} enabled by remote.
[2025-08-23 21:17:03,914: INFO/MainProcess] Task worker.translate_task[0a89977d-c795-49af-961e-9cccdc8e9aeb] received
[2025-08-23 21:17:03,915] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][0a89977d-c795-49af-961e-9cccdc8e9aeb] translate_task start (file=6.jpg, user=tester)
[2025-08-23 21:17:03,915: INFO/MainProcess] [TRACE][0a89977d-c795-49af-961e-9cccdc8e9aeb] translate_task start (file=6.jpg, user=tester)
[2025-08-23 21:17:03,916] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][before DECODE] used=579.9MB free=3516.1MB total=4096.0MB
[2025-08-23 21:17:03,916: INFO/MainProcess] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][before DECODE] used=579.9MB free=3516.1MB total=4096.0MB
[2025-08-23 21:17:03,922] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][after DECODE] used=579.9MB free=3516.1MB total=4096.0MB
[2025-08-23 21:17:03,922: INFO/MainProcess] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][after DECODE] used=579.9MB free=3516.1MB total=4096.0MB
[2025-08-23 21:17:03,922] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:569] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][DECODE] Δused=0.0MB, elapsed=0.006s
[2025-08-23 21:17:03,922: INFO/MainProcess] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][DECODE] Δused=0.0MB, elapsed=0.006s
[2025-08-23 21:17:03,922] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][before OCR] used=579.9MB free=3516.1MB total=4096.0MB
[2025-08-23 21:17:03,922: INFO/MainProcess] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][before OCR] used=579.9MB free=3516.1MB total=4096.0MB
[2025-08-23 21:17:03,922] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:579] 🔍 OCR(ndarray) 감지 시작
[2025-08-23 21:17:03,922: INFO/MainProcess] 🔍 OCR(ndarray) 감지 시작
[2025-08-23 21:17:04,403] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:580] 중국어 텍스트 4개 필터링 완료
[2025-08-23 21:17:04,403: INFO/MainProcess] 중국어 텍스트 4개 필터링 완료
[2025-08-23 21:17:04,403] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:580] [{'text': '现代极简风格', 'confidence': 0.9964253902435303, 'polygon': [[221, 70], [552, 70], [552, 117], [221, 117]], 'bbox': (221, 70, 332, 48), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9955397844314575, 'polygon': [[151, 141], [622, 141], [622, 180], [151, 180]], 'bbox': (151, 141, 472, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9963843822479248, 'polygon': [[87, 288], [462, 288], [462, 345], [87, 345]], 'bbox': (87, 288, 376, 58), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9927356243133545, 'polygon': [[86, 368], [461, 368], [461, 425], [86, 425]], 'bbox': (86, 368, 376, 58), 'method': 'polygon'}]
[2025-08-23 21:17:04,403: DEBUG/MainProcess] [{'text': '现代极简风格', 'confidence': 0.9964253902435303, 'polygon': [[221, 70], [552, 70], [552, 117], [221, 117]], 'bbox': (221, 70, 332, 48), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9955397844314575, 'polygon': [[151, 141], [622, 141], [622, 180], [151, 180]], 'bbox': (151, 141, 472, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9963843822479248, 'polygon': [[87, 288], [462, 288], [462, 345], [87, 345]], 'bbox': (87, 288, 376, 58), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9927356243133545, 'polygon': [[86, 368], [461, 368], [461, 425], [86, 425]], 'bbox': (86, 368, 376, 58), 'method': 'polygon'}]
[2025-08-23 21:17:04,403] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][after OCR] used=745.9MB free=3350.1MB total=4096.0MB
[2025-08-23 21:17:04,403: INFO/MainProcess] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][after OCR] used=745.9MB free=3350.1MB total=4096.0MB
[2025-08-23 21:17:04,403] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:577] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][OCR] Δused=166.0MB, elapsed=0.481s
[2025-08-23 21:17:04,403: INFO/MainProcess] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][OCR] Δused=166.0MB, elapsed=0.481s
[2025-08-23 21:17:04,429] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][before TRANSLATE] used=745.9MB free=3350.1MB total=4096.0MB
[2025-08-23 21:17:04,429: INFO/MainProcess] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][before TRANSLATE] used=745.9MB free=3350.1MB total=4096.0MB
[2025-08-23 21:17:04,429: WARNING/MainProcess] translate_batch in: ['现代极简风格', '更易搭配各种使用场景', '半圆两端设计', '承载各种欢乐']
[2025-08-23 21:17:04,753: WARNING/MainProcess] translate_batch out: ['현대 미니멀리스트 스타일', '다양한 사용 시나리오와 더 쉽게 일치 할 수 있습니다', '양쪽 끝에 반원의 디자인', '모든 종류의 기쁨을 가지고 다니십시오']
[2025-08-23 21:17:04,753] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][after TRANSLATE] used=745.9MB free=3350.1MB total=4096.0MB
[2025-08-23 21:17:04,753: INFO/MainProcess] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][after TRANSLATE] used=745.9MB free=3350.1MB total=4096.0MB
[2025-08-23 21:17:04,753] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:589] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][TRANSLATE] Δused=0.0MB, elapsed=0.325s
[2025-08-23 21:17:04,753: INFO/MainProcess] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][TRANSLATE] Δused=0.0MB, elapsed=0.325s
[2025-08-23 21:17:04,754] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][before MASK] used=745.9MB free=3350.1MB total=4096.0MB
[2025-08-23 21:17:04,754: INFO/MainProcess] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][before MASK] used=745.9MB free=3350.1MB total=4096.0MB
[2025-08-23 21:17:04,755] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔧 ROI용 강화 마스크 생성 (잔상 방지 처리)
[2025-08-23 21:17:04,755: INFO/MainProcess] 🔧 ROI용 강화 마스크 생성 (잔상 방지 처리)
[2025-08-23 21:17:04,755] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] 🔧 ROI최적화 마스크 사용: 커버리지 12.14% (118,836/979,200 픽셀)
[2025-08-23 21:17:04,755: INFO/MainProcess] 🔧 ROI최적화 마스크 사용: 커버리지 12.14% (118,836/979,200 픽셀)
[2025-08-23 21:17:04,755] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][after MASK] used=745.9MB free=3350.1MB total=4096.0MB
[2025-08-23 21:17:04,755: INFO/MainProcess] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][after MASK] used=745.9MB free=3350.1MB total=4096.0MB
[2025-08-23 21:17:04,756] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:598] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][MASK] Δused=0.0MB, elapsed=0.002s
[2025-08-23 21:17:04,756: INFO/MainProcess] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][MASK] Δused=0.0MB, elapsed=0.002s
[2025-08-23 21:17:04,758] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][before INPAINT] used=745.9MB free=3350.1MB total=4096.0MB
[2025-08-23 21:17:04,758: INFO/MainProcess] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][before INPAINT] used=745.9MB free=3350.1MB total=4096.0MB
[2025-08-23 21:17:04,758] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][0a89977d-c795-49af-961e-9cccdc8e9aeb] 선택된 인페인팅 방법: roi
[2025-08-23 21:17:04,758: INFO/MainProcess] [TRACE][0a89977d-c795-49af-961e-9cccdc8e9aeb] 선택된 인페인팅 방법: roi
[2025-08-23 21:17:04,760] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:742] 마스크 컴포넌트 3개 발견
[2025-08-23 21:17:04,760: INFO/MainProcess] 마스크 컴포넌트 3개 발견
[2025-08-23 21:17:04,760] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:742] 컴포넌트 병합: 3 → 2
[2025-08-23 21:17:04,760: INFO/MainProcess] 컴포넌트 병합: 3 → 2
[2025-08-23 21:17:04,760] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [INPAINT] ROI 처리 통계: 3개 컴포넌트 → 2개 ROI, 메모리 효율성: 77.8%
[2025-08-23 21:17:04,760: INFO/MainProcess] [INPAINT] ROI 처리 통계: 3개 컴포넌트 → 2개 ROI, 메모리 효율성: 77.8%
[2025-08-23 21:17:04,761] [ThreadPoolExecutor-0_0] [INFO] [roi_inpainting_module.py:inpaint_with_roi:684] 🔧 형상 버킷 최적화: 1200× 816 → 1200× 832 (webtoon_standard)
[2025-08-23 21:17:04,761: INFO/MainProcess] 🔧 형상 버킷 최적화: 1200× 816 → 1200× 832 (webtoon_standard)
[2025-08-23 21:17:04,761] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] 🔧 패딩 적용: 1200× 816 → 1200× 832 (padding: top=0, bottom=0, left=8, right=8)
[2025-08-23 21:17:04,761: INFO/MainProcess] 🔧 패딩 적용: 1200× 816 → 1200× 832 (padding: top=0, bottom=0, left=8, right=8)
[2025-08-23 21:17:04,762] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] 마스크 컴포넌트 3개 발견
[2025-08-23 21:17:04,762: INFO/MainProcess] 마스크 컴포넌트 3개 발견
[2025-08-23 21:17:04,762] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] [STRATEGY] 🎯 핵심 지표: S=1.0MP, A=11.9%, N=3, H=3706MB
[2025-08-23 21:17:04,762: INFO/MainProcess] [STRATEGY] 🎯 핵심 지표: S=1.0MP, A=11.9%, N=3, H=3706MB
[2025-08-23 21:17:04,763] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] [STRATEGY] 선택된 전략: full (이유: small_image(S=1.0MP) or small_roi(A=11.9%, N=3) + gpu_plenty(H=3706MB))
[2025-08-23 21:17:04,763: INFO/MainProcess] [STRATEGY] 선택된 전략: full (이유: small_image(S=1.0MP) or small_roi(A=11.9%, N=3) + gpu_plenty(H=3706MB))
[2025-08-23 21:17:04,763] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] [STRATEGY] 성능 예측: ROI오버헤드=0.090s, 처리시간=0.499s, 효율비=0.18
[2025-08-23 21:17:04,763: INFO/MainProcess] [STRATEGY] 성능 예측: ROI오버헤드=0.090s, 처리시간=0.499s, 효율비=0.18
[2025-08-23 21:17:04,763] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔧 처리 준비: 버킷=webtoon_standard, 전략=full, 버킷화=0.000s, 스케일링=0.000s, 전략선택=0.002s
[2025-08-23 21:17:04,763: INFO/MainProcess] 🔧 처리 준비: 버킷=webtoon_standard, 전략=full, 버킷화=0.000s, 스케일링=0.000s, 전략선택=0.002s
[2025-08-23 21:17:04,763] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] 전체 이미지 처리 시작 (버킷: webtoon_standard)
[2025-08-23 21:17:04,763: INFO/MainProcess] 전체 이미지 처리 시작 (버킷: webtoon_standard)
[2025-08-23 21:17:05,950] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] 📊 성능 기록: webtoon_standard (full) = 1.19s, 평균: 1.19s
[2025-08-23 21:17:05,950: INFO/MainProcess] 📊 성능 기록: webtoon_standard (full) = 1.19s, 평균: 1.19s
[2025-08-23 21:17:05,950] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🎯 인페인팅 완료: 총 1.189s (인페인팅: 1.187s, 복원: 0.000s)
[2025-08-23 21:17:05,950: INFO/MainProcess] 🎯 인페인팅 완료: 총 1.189s (인페인팅: 1.187s, 복원: 0.000s)
[2025-08-23 21:17:06,123] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] [MEMORY][0a89977d-c795-49af-961e-9cccdc8e9aeb] 경량 정리 완료: Python객체=20개, GPU캐시=0.0MB
[2025-08-23 21:17:06,123: DEBUG/MainProcess] [MEMORY][0a89977d-c795-49af-961e-9cccdc8e9aeb] 경량 정리 완료: Python객체=20개, GPU캐시=0.0MB
[2025-08-23 21:17:06,123] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][after INPAINT] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:17:06,123: INFO/MainProcess] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][after INPAINT] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:17:06,124] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:662] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][INPAINT] Δused=18.0MB, elapsed=1.366s
[2025-08-23 21:17:06,124: INFO/MainProcess] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][INPAINT] Δused=18.0MB, elapsed=1.366s
[2025-08-23 21:17:06,150: INFO/MainProcess] worker.translate_task[0a89977d-c795-49af-961e-9cccdc8e9aeb]: [TRACE][0a89977d-c795-49af-961e-9cccdc8e9aeb][font] 요청된 폰트 번호: 5
[2025-08-23 21:17:06,150] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][before RENDER] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:17:06,150: INFO/MainProcess] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][before RENDER] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:17:06,150] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔥 고급 텍스트 렌더링 시작: 4개 텍스트
[2025-08-23 21:17:06,150: INFO/MainProcess] 🔥 고급 텍스트 렌더링 시작: 4개 텍스트
[2025-08-23 21:17:06,153] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(252, 252, 252) → 텍스트(0, 0, 0) (비율: 20.47)
[2025-08-23 21:17:06,153: DEBUG/MainProcess] WCAG 대비 보정: 배경(252, 252, 252) → 텍스트(0, 0, 0) (비율: 20.47)
[2025-08-23 21:17:06,166] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 1/4 렌더링 완료
[2025-08-23 21:17:06,166: DEBUG/MainProcess] 텍스트 1/4 렌더링 완료
[2025-08-23 21:17:06,168] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(253, 253, 253) → 텍스트(0, 0, 0) (비율: 20.65)
[2025-08-23 21:17:06,168: DEBUG/MainProcess] WCAG 대비 보정: 배경(253, 253, 253) → 텍스트(0, 0, 0) (비율: 20.65)
[2025-08-23 21:17:06,190] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 2/4 렌더링 완료
[2025-08-23 21:17:06,190: DEBUG/MainProcess] 텍스트 2/4 렌더링 완료
[2025-08-23 21:17:06,192] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(183, 170, 164) → 텍스트(0, 0, 0) (비율: 9.30)
[2025-08-23 21:17:06,192: DEBUG/MainProcess] WCAG 대비 보정: 배경(183, 170, 164) → 텍스트(0, 0, 0) (비율: 9.30)
[2025-08-23 21:17:06,207] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 3/4 렌더링 완료
[2025-08-23 21:17:06,207: DEBUG/MainProcess] 텍스트 3/4 렌더링 완료
[2025-08-23 21:17:06,209] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(184, 173, 167) → 텍스트(0, 0, 0) (비율: 9.57)
[2025-08-23 21:17:06,209: DEBUG/MainProcess] WCAG 대비 보정: 배경(184, 173, 167) → 텍스트(0, 0, 0) (비율: 9.57)
[2025-08-23 21:17:06,224] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 4/4 렌더링 완료
[2025-08-23 21:17:06,224: DEBUG/MainProcess] 텍스트 4/4 렌더링 완료
[2025-08-23 21:17:06,224] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔥 고급 텍스트 렌더링 완료
[2025-08-23 21:17:06,224: INFO/MainProcess] 🔥 고급 텍스트 렌더링 완료
[2025-08-23 21:17:06,224] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][after RENDER] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:17:06,224: INFO/MainProcess] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][after RENDER] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:17:06,225] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:765] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][RENDER] Δused=0.0MB, elapsed=0.074s
[2025-08-23 21:17:06,225: INFO/MainProcess] [GPUMem][0a89977d-c795-49af-961e-9cccdc8e9aeb][RENDER] Δused=0.0MB, elapsed=0.074s
[2025-08-23 21:17:06,251: INFO/MainProcess] worker.translate_task[0a89977d-c795-49af-961e-9cccdc8e9aeb]: [DEBUG] artifacts saved: /app/temp_files/debug/cfd8d887_*.png
[2025-08-23 21:17:06,251] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][0a89977d-c795-49af-961e-9cccdc8e9aeb] translate_task done
[2025-08-23 21:17:06,251: INFO/MainProcess] [TRACE][0a89977d-c795-49af-961e-9cccdc8e9aeb] translate_task done
[2025-08-23 21:17:06,293: INFO/MainProcess] Task worker.translate_task[0a89977d-c795-49af-961e-9cccdc8e9aeb] succeeded in 2.377605739980936s: {'status': 'SUCCESS', 'result_image': 'iVBORw0KGgoAAAANSUhEUgAAAzAAAASwCAIAAACrfTgaAAAgAElEQVR4AezBjZElaUCey3zHCgKr8UMRuIUV9HOrzqnpnWZHl5+QthH7Za5yHMdxHMdxfJ9VjuM4juM4ju+zynEcx3Ecx/F9VjmO4ziO4zi+zyrHcRzHcRzH91nlOI7jOI7j+D6rHMdxHMdxHN9nleM4juM4juP7rHIcx3Ecx3F8n1WO4ziO4ziO77PKcRzHcRzH8X1WOY7jOI7jOL7PKsdxHMdxHMf3WeU4juM4juP4Pqscx3Ecx3Ec32eV4ziO4ziO4/uschzHcRzHcXyfVY7jOI7jOI7vs8pxHMdxHMfxfVY5juM4juM4vs8qx3Ecx3Ecx/dZ5TiO4ziO4/g+qxzHcRzHcRzfZ5XjOI7jOI7j+6xyHMdxHMdxfJ9VjuM4juM4ju+zynEcx3Ecx/F9VjmO4ziO4zi+zyrHcRzHcRzH91nlOI7jOI7j+D6rHMdxHMdxHN9nleM4juM4juP7rHIcx3Ecx3F8n1WO4ziO4ziO77PKcRzHcRzH8X1WOY7jOI7jOL7PKsdxHMdxHMf3WeU4juM4juP4Pqscx3Ecx3Ec32eV4ziO4ziO4/uschzHcRzHcXyfVY7jOI7jOI7vs8pxHMdxHMfxfVY5juM4juM4vs8qx3Ecx3Ecx/dZ5TiO4ziO4/g+qxzHcRzHcRzfZ5XjOI7jOI7j+6xyHMdxHMdxfJ9VjuM4juM4ju+zynEcx3Ecx/F9VjmO4ziO4zi+zyrHcRzHcRzH91nlOI7jOI7j+D6rHMdxHMdxHN9nleM4juM4juP7rHIcx/8d1TZfVdv8d1J52ea/kwqVlx8/fjiO4/ifaJXjOP7vqLb5qtrmv5PKyzb/nVSovPz48cNxHMf/RKscx/H3Vvlpm/82KlRetnnZ5jiO43+QVY7j+3z0IebT3GJpHjEjluZXI5bmVyPE/EbMr0aMfBqNWJqfRi...', ...}
[2025-08-23 21:17:21,750: INFO/MainProcess] Task worker.translate_task[db613d37-cd69-4902-8cee-176c6e857cb1] received
[2025-08-23 21:17:21,751] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][db613d37-cd69-4902-8cee-176c6e857cb1] translate_task start (file=6.jpg, user=tester)
[2025-08-23 21:17:21,751: INFO/MainProcess] [TRACE][db613d37-cd69-4902-8cee-176c6e857cb1] translate_task start (file=6.jpg, user=tester)
[2025-08-23 21:17:21,752] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][before DECODE] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:17:21,752: INFO/MainProcess] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][before DECODE] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:17:21,754] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][after DECODE] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:17:21,754: INFO/MainProcess] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][after DECODE] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:17:21,754] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:569] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][DECODE] Δused=0.0MB, elapsed=0.003s
[2025-08-23 21:17:21,754: INFO/MainProcess] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][DECODE] Δused=0.0MB, elapsed=0.003s
[2025-08-23 21:17:21,755] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][before OCR] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:17:21,755: INFO/MainProcess] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][before OCR] used=763.9MB free=3332.1MB total=4096.0MB
[2025-08-23 21:17:21,755] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:579] 🔍 OCR(ndarray) 감지 시작
[2025-08-23 21:17:21,755: INFO/MainProcess] 🔍 OCR(ndarray) 감지 시작
[2025-08-23 21:17:21,827] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:580] 중국어 텍스트 4개 필터링 완료
[2025-08-23 21:17:21,827: INFO/MainProcess] 중국어 텍스트 4개 필터링 완료
[2025-08-23 21:17:21,827] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:580] [{'text': '现代极简风格', 'confidence': 0.9964253902435303, 'polygon': [[221, 70], [552, 70], [552, 117], [221, 117]], 'bbox': (221, 70, 332, 48), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9955397844314575, 'polygon': [[151, 141], [622, 141], [622, 180], [151, 180]], 'bbox': (151, 141, 472, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9963843822479248, 'polygon': [[87, 288], [462, 288], [462, 345], [87, 345]], 'bbox': (87, 288, 376, 58), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9927356243133545, 'polygon': [[86, 368], [461, 368], [461, 425], [86, 425]], 'bbox': (86, 368, 376, 58), 'method': 'polygon'}]
[2025-08-23 21:17:21,827: DEBUG/MainProcess] [{'text': '现代极简风格', 'confidence': 0.9964253902435303, 'polygon': [[221, 70], [552, 70], [552, 117], [221, 117]], 'bbox': (221, 70, 332, 48), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9955397844314575, 'polygon': [[151, 141], [622, 141], [622, 180], [151, 180]], 'bbox': (151, 141, 472, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9963843822479248, 'polygon': [[87, 288], [462, 288], [462, 345], [87, 345]], 'bbox': (87, 288, 376, 58), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9927356243133545, 'polygon': [[86, 368], [461, 368], [461, 425], [86, 425]], 'bbox': (86, 368, 376, 58), 'method': 'polygon'}]
[2025-08-23 21:17:21,827] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][after OCR] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:21,827: INFO/MainProcess] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][after OCR] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:21,827] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:577] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][OCR] Δused=128.0MB, elapsed=0.073s
[2025-08-23 21:17:21,827: INFO/MainProcess] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][OCR] Δused=128.0MB, elapsed=0.073s
[2025-08-23 21:17:21,853] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][before TRANSLATE] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:21,853: INFO/MainProcess] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][before TRANSLATE] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:21,853: WARNING/MainProcess] translate_batch in: ['现代极简风格', '更易搭配各种使用场景', '半圆两端设计', '承载各种欢乐']
[2025-08-23 21:17:22,184: WARNING/MainProcess] translate_batch out: ['현대 미니멀리스트 스타일', '다양한 사용 시나리오와 더 쉽게 일치 할 수 있습니다', '양쪽 끝에 반원의 디자인', '모든 종류의 기쁨을 가지고 다니십시오']
[2025-08-23 21:17:22,184] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][after TRANSLATE] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:22,184: INFO/MainProcess] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][after TRANSLATE] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:22,184] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:589] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][TRANSLATE] Δused=0.0MB, elapsed=0.331s
[2025-08-23 21:17:22,184: INFO/MainProcess] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][TRANSLATE] Δused=0.0MB, elapsed=0.331s
[2025-08-23 21:17:22,184] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][before MASK] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:22,184: INFO/MainProcess] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][before MASK] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:22,186] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔧 ROI용 강화 마스크 생성 (잔상 방지 처리)
[2025-08-23 21:17:22,186: INFO/MainProcess] 🔧 ROI용 강화 마스크 생성 (잔상 방지 처리)
[2025-08-23 21:17:22,186] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] 🔧 ROI최적화 마스크 사용: 커버리지 12.14% (118,836/979,200 픽셀)
[2025-08-23 21:17:22,186: INFO/MainProcess] 🔧 ROI최적화 마스크 사용: 커버리지 12.14% (118,836/979,200 픽셀)
[2025-08-23 21:17:22,186] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][after MASK] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:22,186: INFO/MainProcess] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][after MASK] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:22,186] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:598] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][MASK] Δused=0.0MB, elapsed=0.002s
[2025-08-23 21:17:22,186: INFO/MainProcess] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][MASK] Δused=0.0MB, elapsed=0.002s
[2025-08-23 21:17:22,189] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][before INPAINT] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:22,189: INFO/MainProcess] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][before INPAINT] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:22,189] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][db613d37-cd69-4902-8cee-176c6e857cb1] 선택된 인페인팅 방법: roi
[2025-08-23 21:17:22,189: INFO/MainProcess] [TRACE][db613d37-cd69-4902-8cee-176c6e857cb1] 선택된 인페인팅 방법: roi
[2025-08-23 21:17:22,189] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:742] 마스크 컴포넌트 3개 발견
[2025-08-23 21:17:22,189: INFO/MainProcess] 마스크 컴포넌트 3개 발견
[2025-08-23 21:17:22,189] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:742] 컴포넌트 병합: 3 → 2
[2025-08-23 21:17:22,189: INFO/MainProcess] 컴포넌트 병합: 3 → 2
[2025-08-23 21:17:22,190] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [INPAINT] ROI 처리 통계: 3개 컴포넌트 → 2개 ROI, 메모리 효율성: 77.8%
[2025-08-23 21:17:22,190: INFO/MainProcess] [INPAINT] ROI 처리 통계: 3개 컴포넌트 → 2개 ROI, 메모리 효율성: 77.8%
[2025-08-23 21:17:22,190] [ThreadPoolExecutor-0_0] [INFO] [roi_inpainting_module.py:inpaint_with_roi:684] 🔧 형상 버킷 최적화: 1200× 816 → 1200× 832 (webtoon_standard)
[2025-08-23 21:17:22,190: INFO/MainProcess] 🔧 형상 버킷 최적화: 1200× 816 → 1200× 832 (webtoon_standard)
[2025-08-23 21:17:22,190] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] 🔧 패딩 적용: 1200× 816 → 1200× 832 (padding: top=0, bottom=0, left=8, right=8)
[2025-08-23 21:17:22,190: INFO/MainProcess] 🔧 패딩 적용: 1200× 816 → 1200× 832 (padding: top=0, bottom=0, left=8, right=8)
[2025-08-23 21:17:22,191] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] 마스크 컴포넌트 3개 발견
[2025-08-23 21:17:22,191: INFO/MainProcess] 마스크 컴포넌트 3개 발견
[2025-08-23 21:17:22,191] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] [STRATEGY] 🎯 핵심 지표: S=1.0MP, A=11.9%, N=3, H=3706MB
[2025-08-23 21:17:22,191: INFO/MainProcess] [STRATEGY] 🎯 핵심 지표: S=1.0MP, A=11.9%, N=3, H=3706MB
[2025-08-23 21:17:22,191] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] [STRATEGY] 선택된 전략: full (이유: small_image(S=1.0MP) or small_roi(A=11.9%, N=3) + gpu_plenty(H=3706MB))
[2025-08-23 21:17:22,191: INFO/MainProcess] [STRATEGY] 선택된 전략: full (이유: small_image(S=1.0MP) or small_roi(A=11.9%, N=3) + gpu_plenty(H=3706MB))
[2025-08-23 21:17:22,191] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] [STRATEGY] 성능 예측: ROI오버헤드=0.090s, 처리시간=0.499s, 효율비=0.18
[2025-08-23 21:17:22,191: INFO/MainProcess] [STRATEGY] 성능 예측: ROI오버헤드=0.090s, 처리시간=0.499s, 효율비=0.18
[2025-08-23 21:17:22,191] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔧 처리 준비: 버킷=webtoon_standard, 전략=full, 버킷화=0.001s, 스케일링=0.000s, 전략선택=0.001s
[2025-08-23 21:17:22,191: INFO/MainProcess] 🔧 처리 준비: 버킷=webtoon_standard, 전략=full, 버킷화=0.001s, 스케일링=0.000s, 전략선택=0.001s
[2025-08-23 21:17:22,191] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] 전체 이미지 처리 시작 (버킷: webtoon_standard)
[2025-08-23 21:17:22,191: INFO/MainProcess] 전체 이미지 처리 시작 (버킷: webtoon_standard)
[2025-08-23 21:17:26,944] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] 📊 성능 기록: webtoon_standard (full) = 4.75s, 평균: 2.97s
[2025-08-23 21:17:26,944: INFO/MainProcess] 📊 성능 기록: webtoon_standard (full) = 4.75s, 평균: 2.97s
[2025-08-23 21:17:26,945] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🎯 인페인팅 완료: 총 4.755s (인페인팅: 4.753s, 복원: 0.000s)
[2025-08-23 21:17:26,945: INFO/MainProcess] 🎯 인페인팅 완료: 총 4.755s (인페인팅: 4.753s, 복원: 0.000s)
[2025-08-23 21:17:27,120] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] [MEMORY][db613d37-cd69-4902-8cee-176c6e857cb1] 경량 정리 완료: Python객체=334개, GPU캐시=0.0MB
[2025-08-23 21:17:27,120: DEBUG/MainProcess] [MEMORY][db613d37-cd69-4902-8cee-176c6e857cb1] 경량 정리 완료: Python객체=334개, GPU캐시=0.0MB
[2025-08-23 21:17:27,121] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][after INPAINT] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:27,121: INFO/MainProcess] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][after INPAINT] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:27,121] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:662] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][INPAINT] Δused=0.0MB, elapsed=4.932s
[2025-08-23 21:17:27,121: INFO/MainProcess] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][INPAINT] Δused=0.0MB, elapsed=4.932s
[2025-08-23 21:17:27,147: INFO/MainProcess] worker.translate_task[db613d37-cd69-4902-8cee-176c6e857cb1]: [TRACE][db613d37-cd69-4902-8cee-176c6e857cb1][font] 요청된 폰트 번호: 5
[2025-08-23 21:17:27,147] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][before RENDER] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:27,147: INFO/MainProcess] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][before RENDER] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:27,147] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔥 고급 텍스트 렌더링 시작: 4개 텍스트
[2025-08-23 21:17:27,147: INFO/MainProcess] 🔥 고급 텍스트 렌더링 시작: 4개 텍스트
[2025-08-23 21:17:27,150] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(252, 252, 252) → 텍스트(0, 0, 0) (비율: 20.47)
[2025-08-23 21:17:27,150: DEBUG/MainProcess] WCAG 대비 보정: 배경(252, 252, 252) → 텍스트(0, 0, 0) (비율: 20.47)
[2025-08-23 21:17:27,163] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 1/4 렌더링 완료
[2025-08-23 21:17:27,163: DEBUG/MainProcess] 텍스트 1/4 렌더링 완료
[2025-08-23 21:17:27,165] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(253, 253, 253) → 텍스트(0, 0, 0) (비율: 20.65)
[2025-08-23 21:17:27,165: DEBUG/MainProcess] WCAG 대비 보정: 배경(253, 253, 253) → 텍스트(0, 0, 0) (비율: 20.65)
[2025-08-23 21:17:27,187] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 2/4 렌더링 완료
[2025-08-23 21:17:27,187: DEBUG/MainProcess] 텍스트 2/4 렌더링 완료
[2025-08-23 21:17:27,189] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(183, 170, 164) → 텍스트(0, 0, 0) (비율: 9.30)
[2025-08-23 21:17:27,189: DEBUG/MainProcess] WCAG 대비 보정: 배경(183, 170, 164) → 텍스트(0, 0, 0) (비율: 9.30)
[2025-08-23 21:17:27,204] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 3/4 렌더링 완료
[2025-08-23 21:17:27,204: DEBUG/MainProcess] 텍스트 3/4 렌더링 완료
[2025-08-23 21:17:27,206] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(184, 173, 167) → 텍스트(0, 0, 0) (비율: 9.57)
[2025-08-23 21:17:27,206: DEBUG/MainProcess] WCAG 대비 보정: 배경(184, 173, 167) → 텍스트(0, 0, 0) (비율: 9.57)
[2025-08-23 21:17:27,221] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 4/4 렌더링 완료
[2025-08-23 21:17:27,221: DEBUG/MainProcess] 텍스트 4/4 렌더링 완료
[2025-08-23 21:17:27,222] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔥 고급 텍스트 렌더링 완료
[2025-08-23 21:17:27,222: INFO/MainProcess] 🔥 고급 텍스트 렌더링 완료
[2025-08-23 21:17:27,222] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][after RENDER] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:27,222: INFO/MainProcess] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][after RENDER] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:27,222] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:765] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][RENDER] Δused=0.0MB, elapsed=0.075s
[2025-08-23 21:17:27,222: INFO/MainProcess] [GPUMem][db613d37-cd69-4902-8cee-176c6e857cb1][RENDER] Δused=0.0MB, elapsed=0.075s
[2025-08-23 21:17:27,248: INFO/MainProcess] worker.translate_task[db613d37-cd69-4902-8cee-176c6e857cb1]: [DEBUG] artifacts saved: /app/temp_files/debug/f8a1e012_*.png
[2025-08-23 21:17:27,248] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][db613d37-cd69-4902-8cee-176c6e857cb1] translate_task done
[2025-08-23 21:17:27,248: INFO/MainProcess] [TRACE][db613d37-cd69-4902-8cee-176c6e857cb1] translate_task done
[2025-08-23 21:17:27,283: INFO/MainProcess] Task worker.translate_task[db613d37-cd69-4902-8cee-176c6e857cb1] succeeded in 5.531947165029123s: {'status': 'SUCCESS', 'result_image': 'iVBORw0KGgoAAAANSUhEUgAAAzAAAASwCAIAAACrfTgaAAAgAElEQVR4AezBjZElaUCey3zHCgKr8UMRuIUV9HOrzqnpnWZH/CikbS77Za5yHMdxHMdxfJ9VjuM4juM4ju+zynEcx3Ecx/F9VjmO4ziO4zi+zyrHcRzHcRzH91nlOI7jOI7j+D6rHMdxHMdxHN9nleM4juM4juP7rHIcx3Ecx3F8n1WO4ziO4ziO77PKcRzHcRzH8X1WOY7jOI7jOL7PKsdxHMdxHMf3WeU4juM4juP4Pqscx3Ecx3Ec32eV4ziO4ziO4/uschzHcRzHcXyfVY7jOI7jOI7vs8pxHMdxHMfxfVY5juM4juM4vs8qx3Ecx3Ecx/dZ5TiO4ziO4/g+qxzHcRzHcRzfZ5XjOI7jOI7j+6xyHMdxHMdxfJ9VjuM4juM4ju+zynEcx3Ecx/F9VjmO4ziO4zi+zyrHcRzHcRzH91nlOI7jOI7j+D6rHMdxHMdxHN9nleM4juM4juP7rHIcx3Ecx3F8n1WO4ziO4ziO77PKcRzHcRzH8X1WOY7jOI7jOL7PKsdxHMdxHMf3WeU4juM4juP4Pqscx3Ecx3Ec32eV4ziO4ziO4/uschzHcRzHcXyfVY7jOI7jOI7vs8pxHMdxHMfxfVY5juM4juM4vs8qx3Ecx3Ecx/dZ5TiO4ziO4/g+qxzHcRzHcRzfZ5XjOI7jOI7j+6xyHMdxHMdxfJ9VjuM4juM4ju+zynEcx3Ecx/F9VjmO4ziO4zi+zyrHcRzHcRzH91nlOI7jOI7j+D6rHMdxHMdxHN9nleM4juM4juP7rHIcx/8b1TZfVdv8d1J52ea/kwqVlx8/fjiO4/ifaJXjOP7fqLb5qtrmv5PKyzb/nVSovPz48cNxHMf/RKscx/H3Vvlpm/82KlRetnnZ5jiO43+QVY7j+3z0IebT3GJpxIhZmqX51Yil+dUIMb8R86sRI59GI5bmp9...', ...}
[2025-08-23 21:17:31,924: INFO/MainProcess] Task worker.translate_task[00f64ea3-d61d-4b2b-9fb2-f9790fc5d068] received
[2025-08-23 21:17:31,925] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068] translate_task start (file=6.jpg, user=tester)
[2025-08-23 21:17:31,925: INFO/MainProcess] [TRACE][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068] translate_task start (file=6.jpg, user=tester)
[2025-08-23 21:17:31,925] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][before DECODE] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:31,925: INFO/MainProcess] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][before DECODE] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:31,928] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][after DECODE] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:31,928: INFO/MainProcess] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][after DECODE] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:31,928] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:569] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][DECODE] Δused=0.0MB, elapsed=0.003s
[2025-08-23 21:17:31,928: INFO/MainProcess] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][DECODE] Δused=0.0MB, elapsed=0.003s
[2025-08-23 21:17:31,928] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][before OCR] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:31,928: INFO/MainProcess] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][before OCR] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:31,928] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:579] 🔍 OCR(ndarray) 감지 시작
[2025-08-23 21:17:31,928: INFO/MainProcess] 🔍 OCR(ndarray) 감지 시작
[2025-08-23 21:17:31,990] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:580] 중국어 텍스트 4개 필터링 완료
[2025-08-23 21:17:31,990: INFO/MainProcess] 중국어 텍스트 4개 필터링 완료
[2025-08-23 21:17:31,991] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:580] [{'text': '现代极简风格', 'confidence': 0.9964253902435303, 'polygon': [[221, 70], [552, 70], [552, 117], [221, 117]], 'bbox': (221, 70, 332, 48), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9955397844314575, 'polygon': [[151, 141], [622, 141], [622, 180], [151, 180]], 'bbox': (151, 141, 472, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9963843822479248, 'polygon': [[87, 288], [462, 288], [462, 345], [87, 345]], 'bbox': (87, 288, 376, 58), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9927356243133545, 'polygon': [[86, 368], [461, 368], [461, 425], [86, 425]], 'bbox': (86, 368, 376, 58), 'method': 'polygon'}]
[2025-08-23 21:17:31,991: DEBUG/MainProcess] [{'text': '现代极简风格', 'confidence': 0.9964253902435303, 'polygon': [[221, 70], [552, 70], [552, 117], [221, 117]], 'bbox': (221, 70, 332, 48), 'method': 'polygon'}, {'text': '更易搭配各种使用场景', 'confidence': 0.9955397844314575, 'polygon': [[151, 141], [622, 141], [622, 180], [151, 180]], 'bbox': (151, 141, 472, 40), 'method': 'polygon'}, {'text': '半圆两端设计', 'confidence': 0.9963843822479248, 'polygon': [[87, 288], [462, 288], [462, 345], [87, 345]], 'bbox': (87, 288, 376, 58), 'method': 'polygon'}, {'text': '承载各种欢乐', 'confidence': 0.9927356243133545, 'polygon': [[86, 368], [461, 368], [461, 425], [86, 425]], 'bbox': (86, 368, 376, 58), 'method': 'polygon'}]
[2025-08-23 21:17:31,991] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][after OCR] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:31,991: INFO/MainProcess] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][after OCR] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:31,991] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:577] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][OCR] Δused=0.0MB, elapsed=0.063s
[2025-08-23 21:17:31,991: INFO/MainProcess] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][OCR] Δused=0.0MB, elapsed=0.063s
[2025-08-23 21:17:32,016] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][before TRANSLATE] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:32,016: INFO/MainProcess] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][before TRANSLATE] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:32,016: WARNING/MainProcess] translate_batch in: ['现代极简风格', '更易搭配各种使用场景', '半圆两端设计', '承载各种欢乐']
[2025-08-23 21:17:32,341: WARNING/MainProcess] translate_batch out: ['현대 미니멀리스트 스타일', '다양한 사용 시나리오와 더 쉽게 일치 할 수 있습니다', '양쪽 끝에 반원의 디자인', '모든 종류의 기쁨을 가지고 다니십시오']
[2025-08-23 21:17:32,341] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][after TRANSLATE] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:32,341: INFO/MainProcess] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][after TRANSLATE] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:32,341] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:589] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][TRANSLATE] Δused=0.0MB, elapsed=0.325s
[2025-08-23 21:17:32,341: INFO/MainProcess] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][TRANSLATE] Δused=0.0MB, elapsed=0.325s
[2025-08-23 21:17:32,341] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][before MASK] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:32,341: INFO/MainProcess] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][before MASK] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:32,342] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔧 ROI용 강화 마스크 생성 (잔상 방지 처리)
[2025-08-23 21:17:32,342: INFO/MainProcess] 🔧 ROI용 강화 마스크 생성 (잔상 방지 처리)
[2025-08-23 21:17:32,343] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] 🔧 ROI최적화 마스크 사용: 커버리지 12.14% (118,836/979,200 픽셀)
[2025-08-23 21:17:32,343: INFO/MainProcess] 🔧 ROI최적화 마스크 사용: 커버리지 12.14% (118,836/979,200 픽셀)
[2025-08-23 21:17:32,343] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][after MASK] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:32,343: INFO/MainProcess] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][after MASK] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:32,343] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:598] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][MASK] Δused=0.0MB, elapsed=0.002s
[2025-08-23 21:17:32,343: INFO/MainProcess] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][MASK] Δused=0.0MB, elapsed=0.002s
[2025-08-23 21:17:32,345] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][before INPAINT] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:32,345: INFO/MainProcess] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][before INPAINT] used=891.9MB free=3204.1MB total=4096.0MB
[2025-08-23 21:17:32,345] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068] 선택된 인페인팅 방법: roi
[2025-08-23 21:17:32,345: INFO/MainProcess] [TRACE][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068] 선택된 인페인팅 방법: roi
[2025-08-23 21:17:32,346] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:742] 마스크 컴포넌트 3개 발견
[2025-08-23 21:17:32,346: INFO/MainProcess] 마스크 컴포넌트 3개 발견
[2025-08-23 21:17:32,346] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:742] 컴포넌트 병합: 3 → 2
[2025-08-23 21:17:32,346: INFO/MainProcess] 컴포넌트 병합: 3 → 2
[2025-08-23 21:17:32,346] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [INPAINT] ROI 처리 통계: 3개 컴포넌트 → 2개 ROI, 메모리 효율성: 77.8%
[2025-08-23 21:17:32,346: INFO/MainProcess] [INPAINT] ROI 처리 통계: 3개 컴포넌트 → 2개 ROI, 메모리 효율성: 77.8%
[2025-08-23 21:17:32,346] [ThreadPoolExecutor-0_0] [INFO] [roi_inpainting_module.py:inpaint_with_roi:684] 🔧 형상 버킷 최적화: 1200× 816 → 1200× 832 (webtoon_standard)
[2025-08-23 21:17:32,346: INFO/MainProcess] 🔧 형상 버킷 최적화: 1200× 816 → 1200× 832 (webtoon_standard)
[2025-08-23 21:17:32,347] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] 🔧 패딩 적용: 1200× 816 → 1200× 832 (padding: top=0, bottom=0, left=8, right=8)
[2025-08-23 21:17:32,347: INFO/MainProcess] 🔧 패딩 적용: 1200× 816 → 1200× 832 (padding: top=0, bottom=0, left=8, right=8)
[2025-08-23 21:17:32,347] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] 마스크 컴포넌트 3개 발견
[2025-08-23 21:17:32,347: INFO/MainProcess] 마스크 컴포넌트 3개 발견
[2025-08-23 21:17:32,348] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] [STRATEGY] 🎯 핵심 지표: S=1.0MP, A=11.9%, N=3, H=3706MB
[2025-08-23 21:17:32,348: INFO/MainProcess] [STRATEGY] 🎯 핵심 지표: S=1.0MP, A=11.9%, N=3, H=3706MB
[2025-08-23 21:17:32,348] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] [STRATEGY] 선택된 전략: full (이유: small_image(S=1.0MP) or small_roi(A=11.9%, N=3) + gpu_plenty(H=3706MB))
[2025-08-23 21:17:32,348: INFO/MainProcess] [STRATEGY] 선택된 전략: full (이유: small_image(S=1.0MP) or small_roi(A=11.9%, N=3) + gpu_plenty(H=3706MB))
[2025-08-23 21:17:32,348] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] [STRATEGY] 성능 예측: ROI오버헤드=0.090s, 처리시간=0.499s, 효율비=0.18
[2025-08-23 21:17:32,348: INFO/MainProcess] [STRATEGY] 성능 예측: ROI오버헤드=0.090s, 처리시간=0.499s, 효율비=0.18
[2025-08-23 21:17:32,348] [ThreadPoolExecutor-0_0] [WARNING] [celery_worker.py:translate_task:750] ⚡ ROI 폴백 트리거: webtoon_standard 평균 2.97s > 예측 0.50s × 4
[2025-08-23 21:17:32,348: WARNING/MainProcess] ⚡ ROI 폴백 트리거: webtoon_standard 평균 2.97s > 예측 0.50s × 4
[2025-08-23 21:17:32,348] [ThreadPoolExecutor-0_0] [WARNING] [autoretry.py:run:38] 🔄 전략 변경: full → roi (성능 히스토리 기반)
[2025-08-23 21:17:32,348: WARNING/MainProcess] 🔄 전략 변경: full → roi (성능 히스토리 기반)
[2025-08-23 21:17:32,348] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔧 처리 준비: 버킷=webtoon_standard, 전략=roi, 버킷화=0.001s, 스케일링=0.000s, 전략선택=0.001s
[2025-08-23 21:17:32,348: INFO/MainProcess] 🔧 처리 준비: 버킷=webtoon_standard, 전략=roi, 버킷화=0.001s, 스케일링=0.000s, 전략선택=0.001s
[2025-08-23 21:17:32,348] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] ROI 순차 처리 시작
[2025-08-23 21:17:32,348: INFO/MainProcess] ROI 순차 처리 시작
[2025-08-23 21:17:32,349] [ThreadPoolExecutor-0_0] [INFO] [roi_inpainting_module.py:inpaint_with_roi:722] 컴포넌트 병합: 3 → 2
[2025-08-23 21:17:32,349: INFO/MainProcess] 컴포넌트 병합: 3 → 2
[2025-08-23 21:17:32,349] [ThreadPoolExecutor-0_0] [INFO] [roi_inpainting_module.py:inpaint_with_roi:722] ROI 처리: 642x171 (11.0% of image, 종횡비:3.8)
[2025-08-23 21:17:32,349: INFO/MainProcess] ROI 처리: 642x171 (11.0% of image, 종횡비:3.8)
[2025-08-23 21:17:32,349] [ThreadPoolExecutor-0_0] [INFO] [roi_inpainting_module.py:inpaint_with_roi:722] 🔧 마스크 모듈 최적화 마스크 사용 (추가 정제 생략)
[2025-08-23 21:17:32,349: INFO/MainProcess] 🔧 마스크 모듈 최적화 마스크 사용 (추가 정제 생략)
[2025-08-23 21:17:32,349] [ThreadPoolExecutor-0_0] [INFO] [roi_inpainting_module.py:_process_roi_sequential:1457] 크기 정규화: 642x171 → 648x176 (패딩: t2b3l3r3)
[2025-08-23 21:17:32,349: INFO/MainProcess] 크기 정규화: 642x171 → 648x176 (패딩: t2b3l3r3)
[2025-08-23 21:17:32,473] [ThreadPoolExecutor-0_0] [INFO] [roi_inpainting_module.py:_process_roi_sequential:1457] 크기 복원: 648x176 → 642x171
[2025-08-23 21:17:32,473: INFO/MainProcess] 크기 복원: 648x176 → 642x171
[2025-08-23 21:17:32,478] [ThreadPoolExecutor-0_0] [INFO] [roi_inpainting_module.py:inpaint_with_roi:722] ROI 처리: 517x208 (10.8% of image, 종횡비:2.5)
[2025-08-23 21:17:32,478: INFO/MainProcess] ROI 처리: 517x208 (10.8% of image, 종횡비:2.5)
[2025-08-23 21:17:32,478] [ThreadPoolExecutor-0_0] [INFO] [roi_inpainting_module.py:inpaint_with_roi:722] 🔧 마스크 모듈 최적화 마스크 사용 (추가 정제 생략)
[2025-08-23 21:17:32,478: INFO/MainProcess] 🔧 마스크 모듈 최적화 마스크 사용 (추가 정제 생략)
[2025-08-23 21:17:32,479] [ThreadPoolExecutor-0_0] [INFO] [roi_inpainting_module.py:_process_roi_sequential:1457] 크기 정규화: 517x208 → 520x208 (패딩: t0b0l1r2)
[2025-08-23 21:17:32,479: INFO/MainProcess] 크기 정규화: 517x208 → 520x208 (패딩: t0b0l1r2)
[2025-08-23 21:17:36,500] [ThreadPoolExecutor-0_0] [INFO] [roi_inpainting_module.py:_process_roi_sequential:1457] 크기 복원: 520x208 → 517x208
[2025-08-23 21:17:36,500: INFO/MainProcess] 크기 복원: 520x208 → 517x208
[2025-08-23 21:17:36,504] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] ROI 순차 처리 완료: 2/2 성공
[2025-08-23 21:17:36,504: INFO/MainProcess] ROI 순차 처리 완료: 2/2 성공
[2025-08-23 21:17:36,504] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:750] 📊 성능 기록: webtoon_standard (roi) = 4.16s, 평균: 3.36s
[2025-08-23 21:17:36,504: INFO/MainProcess] 📊 성능 기록: webtoon_standard (roi) = 4.16s, 평균: 3.36s
[2025-08-23 21:17:36,504] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🎯 인페인팅 완료: 총 4.157s (인페인팅: 4.155s, 복원: 0.000s)
[2025-08-23 21:17:36,504: INFO/MainProcess] 🎯 인페인팅 완료: 총 4.157s (인페인팅: 4.155s, 복원: 0.000s)
[2025-08-23 21:17:36,673] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] [MEMORY][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068] 경량 정리 완료: Python객체=324개, GPU캐시=0.0MB
[2025-08-23 21:17:36,673: DEBUG/MainProcess] [MEMORY][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068] 경량 정리 완료: Python객체=324개, GPU캐시=0.0MB
[2025-08-23 21:17:36,673] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][after INPAINT] used=893.9MB free=3202.1MB total=4096.0MB
[2025-08-23 21:17:36,673: INFO/MainProcess] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][after INPAINT] used=893.9MB free=3202.1MB total=4096.0MB
[2025-08-23 21:17:36,673] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:662] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][INPAINT] Δused=2.0MB, elapsed=4.328s
[2025-08-23 21:17:36,673: INFO/MainProcess] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][INPAINT] Δused=2.0MB, elapsed=4.328s
[2025-08-23 21:17:36,699: INFO/MainProcess] worker.translate_task[00f64ea3-d61d-4b2b-9fb2-f9790fc5d068]: [TRACE][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][font] 요청된 폰트 번호: 5
[2025-08-23 21:17:36,699] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:98] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][before RENDER] used=893.9MB free=3202.1MB total=4096.0MB
[2025-08-23 21:17:36,699: INFO/MainProcess] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][before RENDER] used=893.9MB free=3202.1MB total=4096.0MB
[2025-08-23 21:17:36,699] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔥 고급 텍스트 렌더링 시작: 4개 텍스트
[2025-08-23 21:17:36,699: INFO/MainProcess] 🔥 고급 텍스트 렌더링 시작: 4개 텍스트
[2025-08-23 21:17:36,702] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(253, 253, 253) → 텍스트(0, 0, 0) (비율: 20.65)
[2025-08-23 21:17:36,702: DEBUG/MainProcess] WCAG 대비 보정: 배경(253, 253, 253) → 텍스트(0, 0, 0) (비율: 20.65)
[2025-08-23 21:17:36,715] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 1/4 렌더링 완료
[2025-08-23 21:17:36,715: DEBUG/MainProcess] 텍스트 1/4 렌더링 완료
[2025-08-23 21:17:36,717] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(253, 253, 253) → 텍스트(0, 0, 0) (비율: 20.65)
[2025-08-23 21:17:36,717: DEBUG/MainProcess] WCAG 대비 보정: 배경(253, 253, 253) → 텍스트(0, 0, 0) (비율: 20.65)
[2025-08-23 21:17:36,739] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 2/4 렌더링 완료
[2025-08-23 21:17:36,739: DEBUG/MainProcess] 텍스트 2/4 렌더링 완료
[2025-08-23 21:17:36,741] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(183, 171, 164) → 텍스트(0, 0, 0) (비율: 9.37)
[2025-08-23 21:17:36,741: DEBUG/MainProcess] WCAG 대비 보정: 배경(183, 171, 164) → 텍스트(0, 0, 0) (비율: 9.37)
[2025-08-23 21:17:36,756] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 3/4 렌더링 완료
[2025-08-23 21:17:36,756: DEBUG/MainProcess] 텍스트 3/4 렌더링 완료
[2025-08-23 21:17:36,758] [ThreadPoolExecutor-0_0] [DEBUG] [celery_worker.py:translate_task:766] WCAG 대비 보정: 배경(185, 174, 168) → 텍스트(0, 0, 0) (비율: 9.68)
[2025-08-23 21:17:36,758: DEBUG/MainProcess] WCAG 대비 보정: 배경(185, 174, 168) → 텍스트(0, 0, 0) (비율: 9.68)
[2025-08-23 21:17:36,773] [ThreadPoolExecutor-0_0] [DEBUG] [autoretry.py:run:38] 텍스트 4/4 렌더링 완료
[2025-08-23 21:17:36,773: DEBUG/MainProcess] 텍스트 4/4 렌더링 완료
[2025-08-23 21:17:36,773] [ThreadPoolExecutor-0_0] [INFO] [autoretry.py:run:38] 🔥 고급 텍스트 렌더링 완료
[2025-08-23 21:17:36,773: INFO/MainProcess] 🔥 고급 텍스트 렌더링 완료
[2025-08-23 21:17:36,774] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:track_phase:103] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][after RENDER] used=893.9MB free=3202.1MB total=4096.0MB
[2025-08-23 21:17:36,774: INFO/MainProcess] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][after RENDER] used=893.9MB free=3202.1MB total=4096.0MB
[2025-08-23 21:17:36,774] [ThreadPoolExecutor-0_0] [INFO] [celery_worker.py:translate_task:765] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][RENDER] Δused=0.0MB, elapsed=0.075s
[2025-08-23 21:17:36,774: INFO/MainProcess] [GPUMem][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068][RENDER] Δused=0.0MB, elapsed=0.075s
[2025-08-23 21:17:36,800: INFO/MainProcess] worker.translate_task[00f64ea3-d61d-4b2b-9fb2-f9790fc5d068]: [DEBUG] artifacts saved: /app/temp_files/debug/a8182df4_*.png
[2025-08-23 21:17:36,800] [ThreadPoolExecutor-0_0] [INFO] [trace.py:__protected_call__:760] [TRACE][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068] translate_task done
[2025-08-23 21:17:36,800: INFO/MainProcess] [TRACE][00f64ea3-d61d-4b2b-9fb2-f9790fc5d068] translate_task done