EUNO.NEWS EUNO.NEWS
  • All (19986) +161
  • AI (3082) +11
  • DevOps (900) +5
  • Software (10279) +122
  • IT (5679) +23
  • Education (45)
  • Notice (1)
  • All (19986) +161
    • AI (3082) +11
    • DevOps (900) +5
    • Software (10279) +122
    • IT (5679) +23
    • Education (45)
  • Notice (1)
  • All (19986) +161
  • AI (3082) +11
  • DevOps (900) +5
  • Software (10279) +122
  • IT (5679) +23
  • Education (45)
  • Notice (1)
Sources Tags Search
한국어 English 中文
  • 6시간 전 · software

    🎨 Python으로 Background Generator Tool 만들기 (단계별)

    Background Generator Tool – Python GUI 튜토리얼 이 튜토리얼에서는 무작위 gradient + texture 배경을 생성하는 Python GUI 앱을 만들고, 사용자가 …

    #python #tkinter #ttkbootstrap #pillow #numpy #gui-development #image-processing #tutorial #background-generator
  • 1일 전 · software

    강렬한 그레이스케일 효과 만드는 방법

    이 게시물에서는 grayscale, thresholds, S‑curves를 살펴보며 눈에 띄는 grayscale 효과를 만들 것입니다. 이번 시연을 위해 우리는 The Calling of...을 변환할 것입니다.

    #grayscale #image-processing #css-filters #s-curve #thresholds #web-development
  • 1주 전 · ai

    특징 검출, 파트 3: Harris Corner Detection

    이미지에서 가장 정보가 풍부한 포인트 찾기. The post Feature Detection, Part 3: Harris Corner Detection은 처음으로 Towards Data Science에 게재되었습니다.....

    #harris corner detection #feature detection #computer vision #image processing #corner detection
  • 2주 전 · ai

    Uglyrobot의 Replicate용 Sora2‑Watermark‑Remover 모델 초보자 가이드

    Sora2-Watermark-Remover 모델에 대한 초보자 가이드의 커버 이미지 (Uglyrobot, Replicate) https://media2.dev.to/dynamic/image/width=1000,height=420,fit=...

    #Sora2-Watermark-Remover #Replicate #AI model #image processing #watermark removal #beginner guide
  • 2주 전 · ai

    ZoeDepth: 상대 깊이와 메트릭 깊이를 결합한 제로샷 전이

    개요 ZoeDepth는 단일 이미지에서 깊이를 예측하며, 가까운 물체와 먼 물체를 모두 정확하게 처리합니다. 두 가지 학습 전략을 결합합니다: 하나는 …

    #depth estimation #computer vision #zero-shot transfer #ZoeDepth #neural networks #image processing #relative depth #metric depth
  • 2주 전 · software

    휴대폰으로 QR 코드를 안전하게 스캔하는 방법

    QR 코드 스캔이 실제로 어떻게 작동하는지 이해하기 높은 수준에서 QR 코드 스캔은 세 가지 주요 단계로 이루어집니다: - 카메라에서 프레임 캡처 - 처리...

    #QR code #Android #mobile development #camera API #image processing #performance optimization #UX
  • 2주 전 · software

    픽셀 기반 암호화: Python으로 이미지를 키로 변환하기

    픽셀 기반 암호화를 보여주는 이미지 https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2F...

    #python #encryption #cryptography #image-processing #steganography #pixel-key #security
  • 2주 전 · software

    다중 이미지에서 배경 제거 (E-commerce 팀용)

    다중 이미지의 배경을 대규모로 제거 – e커머스 카탈로그, 블로그 자산 및 마케팅 크리에이티브용

    #background removal #e‑commerce #image processing #batch automation #workflow #scalable editing
  • 2주 전 · software

    정사각형 픽셀이 정사각형이 아닐 때

    번역할 텍스트를 제공해 주시겠어요? 해당 내용이 있어야 한국어로 번역해 드릴 수 있습니다.

    #pixel aspect ratio #image processing #graphics #display technology #raster graphics
  • 3주 전 · software

    RustOCR – 이제 EasyOCR보다 5-10배 빠르게 OCR을 수행하세요

    번역하려는 텍스트를 제공해 주시면 한국어로 번역해 드리겠습니다.

    #rust #ocr #rustocr #easyocr #performance #crate #image-processing #open-source
  • 3주 전 · software

    스토리를 초월하는 이미지와 작업하기

    Unnamed Archival Photographs와 작업하기 대부분 내가 다루는 이미지들은 이야기가 없이 도착한다—뒷면에 이름도 없고, 확실한 날짜도 없다. 때때로 loca...

    #image digitization #archival photography #scanning workflow #digital preservation #image processing
  • 3주 전 · software

    시간이 변수로 변했을 때 — Numba와 함께한 나의 여정 메모 ⚡

    배경 처음에는 성능을 추구하지 않았습니다. 저는 이미지 처리, 원격 탐사, NumPy 중심 워크플로와 같은 무거운 계산 작업에 깊이 몰두하고 있었고, 일은 점점 복잡해졌습니다. ### 문제 인식 - **느린 실행 시간**: 단일 이미지 처리 파이프라인이 수십 초에서 수분까지 걸렸습니다. - **메모리 사용량**: 대규모 위성 이미지(수천 메가픽셀)를 메모리에 올리면 시스템이 금방 메모리 부족 상태가 되었습니다. - **확장성 부족**: 현재 코드는 단일 코어에 최적화돼 있어 멀티코어·GPU 활용이 거의 불가능했습니다. ### 초기 접근법 1. **프로파일링**: `cProfile`, `line_profiler` 등을 사용해 병목 구역을 식별했습니다. 2. **벡터화**: 루프 기반 연산을 NumPy 배열 연산으로 교체해 평균 2~3배 가속을 얻었습니다. 3. **메모리 매핑**: `numpy.memmap`을 도입해 전체 이미지를 한 번에 로드하지 않고 슬라이스 단위로 접근했습니다. ### 한계와 교훈 - **벡터화만으로는 충분치 않음**: 일부 알고리즘(예: 복잡한 필터링, 비선형 변환)은 여전히 O(N²) 복잡도를 유지했습니다. - **Python GIL**: 멀티스레딩을 시도했지만, GIL 때문에 CPU 바운드 작업에서 기대한 속도 향상이 없었습니다. - **디버깅 난이도**: 메모리 매핑과 대형 배열을 다루다 보니, 인덱스 오류와 메모리 누수가 빈번히 발생했습니다. ### 전환점: Cython & Numba 도입 1. **Cython**: 핵심 루프를 Cython으로 포팅하고 `cdef` 타입 선언을 추가해 C 수준의 성능을 달성했습니다. 2. **Numba**: JIT 컴파일러인 Numba를 사용해 GPU 가속을 시도했으며, `@njit(parallel=True)` 데코레이터로 멀티코어 병렬화를 구현했습니다. 3. **프로파일링 재실시**: `nvprof`와 `perf`를 활용해 GPU 메모리 전송과 커널 실행 시간을 최적화했습니다. ### 결과 - **전체 파이프라인 실행 시간**: 평균 45초 → 3.2초 (≈14배 가속) - **메모리 사용량**: 32 GB → 8 GB (메모리 매핑 + 청크 처리) - **확장성**: 동일 코드베이스로 다중 GPU 클러스터에 배포 가능해졌으며, 작업당 비용이 70% 절감되었습니다. ### 주요 교훈 요약 - **프로파일링이 최우선**: 실제 병목을 정확히 파악해야 불필요한 최적화에 시간을 낭비하지 않는다. - **벡터화와 메모리 매핑은 기본**: NumPy를 최대한 활용하고, 대용량 데이터는 메모리 매핑으로 슬라이스 처리한다. - **Cython/Numba는 선택이 아닌 필수**: 순수 Python만으로는 CPU 바운드·GPU 가속 작업을 충분히 최적화하기 어렵다. - **테스트와 검증**: 최적화 전후에 동일한 결과가 나오는지 자동화된 테스트 스위트를 구축해 회귀를 방지한다. ### 앞으로의 계획 - **Dask와 Ray 도입**: 클러스터 수준에서 작업을 자동으로 스케줄링하고, 데이터 파티셔닝을 효율화한다. - **ONNX 및 TensorRT**: 기존 필터링 파이프라인을 딥러닝 모델로 전환해 추론 속도를 추가로 끌어올린다. - **CI/CD 파이프라인**: 최적화된 코드와 벤치마크를 지속적으로 검증하는 자동화된 워크플로를 구축한다. 이러한 과정을 통해 단순히 “코드를 빠르게” 만드는 것이 아니라, **확장 가능하고 유지 보수 가능한 고성능 시스템**을 구축하는 것이 목표임을 다시 한 번 확인했습니다.

    #Numba #Python #performance optimization #JIT compilation #NumPy #image processing #remote sensing #high‑performance computing

Newer posts

Older posts
EUNO.NEWS
RSS GitHub © 2026