01백엔드
2026년 7월FastAPI 기반 화재·연기 실시간 탐지 및 비식별화 API
YOLO 모델을 활용한 화재·연기 탐지와 동시에 사람·차량 번호판을 자동 비식별화하는 FastAPI 기반 추론 서버
이 프로젝트에서의 Multiprocessing 활용
Shared Memory 기반 워커 간 메트릭 공유
firescout-3.0-detection-api프로젝트 자세히 보기 →
프로젝트 1개에서 사용했습니다. 각 프로젝트에서 어떤 역할로 썼는지 아래에 정리했습니다.
여러 프로세스를 동시에 실행해 CPU 병렬 처리를 가능하게 하는 Python 표준 라이브러리
Multiprocessing은 Python의 GIL(Global Interpreter Lock) 제약을 우회해 CPU 코어를 최대한 활용할 수 있도록 여러 프로세스를 생성하고 관리하는 모듈입니다. threading과 달리 각 프로세스가 독립된 메모리 공간을 가지므로 CPU 바운드 작업을 진정한 병렬로 처리할 수 있습니다. 프로세스 간 데이터 공유를 위해 Queue, Pipe, Shared Memory 등 다양한 IPC 메커니즘을 제공합니다.
Pool의 map 메서드로 리스트의 각 원소를 병렬로 처리하고 결과를 순서대로 받아옵니다. if __name__ == '__main__' 가드는 프로세스 생성 시 무한 재귀를 방지합니다.
from multiprocessing import Pool
def square(x):
return x * x
if __name__ == '__main__':
# CPU 코어 수만큼 워커 프로세스 생성
with Pool() as pool:
# 0~9 숫자를 각 프로세스에 분배해 제곱 계산
results = pool.map(square, range(10))
print(results) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]위 개요는 기술 학습을 돕기 위해 자동 생성된 일반 설명입니다. 정확한 사양과 최신 정보는 공식 문서를 확인하세요.
위 개념이 실제 프로젝트에서 어떻게 쓰였는지 보여줍니다.
YOLO 모델을 활용한 화재·연기 탐지와 동시에 사람·차량 번호판을 자동 비식별화하는 FastAPI 기반 추론 서버
이 프로젝트에서의 Multiprocessing 활용
Shared Memory 기반 워커 간 메트릭 공유
위 프로젝트들에서 같이 쓰인 다른 기술입니다.