Ultralytics YOLO11을 사용한 보안 경보 시스템 프로젝트
Ultralytics YOLO11을 활용하는 보안 경보 시스템 프로젝트는 고급 컴퓨터 비전 기능을 통합하여 보안 조치를 강화합니다. Ultralytics에서 개발한 YOLO11은 실시간 객체 감지를 제공하여 시스템이 잠재적인 보안 위협을 즉시 식별하고 대응할 수 있도록 합니다. 이 프로젝트는 다음과 같은 여러 가지 이점을 제공합니다.
- 실시간 감지: YOLO11의 효율성 덕분에 보안 경보 시스템은 보안 사고를 실시간으로 감지하고 대응하여 대응 시간을 최소화할 수 있습니다.
- 정확도: YOLO11은 객체 감지 정확도가 높은 것으로 알려져 있으며, 오탐지를 줄이고 보안 경보 시스템의 신뢰성을 향상시킵니다.
- 통합 기능: 이 프로젝트는 기존 보안 인프라와 원활하게 통합되어 지능형 감시 기능을 한층 강화합니다.
참고: Ultralytics YOLO11 + 솔루션을 사용한 보안 경보 시스템 객체 감지
참고
앱 비밀번호 생성이 필요합니다.
- 다음으로 이동 앱 비밀번호 생성기, '보안 프로젝트'와 같은 앱 이름을 지정하고 16자리 비밀번호를 받으십시오. 이 비밀번호를 복사하여 지정된 위치에 붙여 넣으십시오.
password
아래 코드의 필드입니다.
Ultralytics YOLO를 사용한 보안 경보 시스템
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("security_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
from_email = "abc@gmail.com" # the sender email address
password = "---- ---- ---- ----" # 16-digits password generated via: https://myaccount.google.com/apppasswords
to_email = "xyz@gmail.com" # the receiver email address
# Initialize security alarm object
securityalarm = solutions.SecurityAlarm(
show=True, # display the output
model="yolo11n.pt", # i.e. yolo11s.pt, yolo11m.pt
records=1, # total detections count to send an email
)
securityalarm.authenticate(from_email, password, to_email) # authenticate the email server
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or video processing has been successfully completed.")
break
results = securityalarm(im0)
# print(results) # access the output
video_writer.write(results.plot_im) # write the processed frame.
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windows
이것으로 끝입니다! 코드를 실행하면 객체가 감지될 경우 이메일로 단일 알림을 받게 됩니다. 알림은 반복적으로 전송되지 않고 즉시 전송됩니다. 그러나 프로젝트 요구 사항에 맞게 코드를 자유롭게 사용자 정의할 수 있습니다.
수신된 이메일 샘플
SecurityAlarm
인수
다음은 테이블에 SecurityAlarm
인수입니다.
인수 | 유형 | 기본값 | 설명 |
---|---|---|---|
model |
str |
None |
Ultralytics YOLO 모델 파일의 경로입니다. |
records |
int |
5 |
보안 경보 시스템으로 이메일을 트리거하는 총 감지 횟수입니다. |
에 지정되어 있습니다. SecurityAlarm
솔루션은 다양한 기능을 지원합니다. track
파라미터:
인수 | 유형 | 기본값 | 설명 |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
사용할 추적 알고리즘을 지정합니다 (예: bytetrack.yaml 또는 botsort.yaml . |
conf |
float |
0.3 |
검출에 대한 신뢰도 임계값을 설정합니다. 값이 낮을수록 더 많은 객체를 추적할 수 있지만 오탐지가 포함될 수 있습니다. |
iou |
float |
0.5 |
겹치는 검출을 필터링하기 위한 IoU (Intersection over Union) 임계값을 설정합니다. |
classes |
list |
None |
클래스 인덱스별로 결과를 필터링합니다. 예를 들어, classes=[0, 2, 3] 지정된 클래스만 추적합니다. |
verbose |
bool |
True |
추적 결과 표시를 제어하여 추적된 객체의 시각적 출력을 제공합니다. |
device |
str |
None |
추론을 위한 장치를 지정합니다 (예: cpu , cuda:0 또는 0 ). 사용자는 모델 실행을 위해 CPU, 특정 GPU 또는 기타 컴퓨팅 장치 중에서 선택할 수 있습니다. |
또한 다음과 같은 시각화 설정을 사용할 수 있습니다:
인수 | 유형 | 기본값 | 설명 |
---|---|---|---|
show |
bool |
False |
만약 True , 어노테이션이 적용된 이미지나 비디오를 창에 표시합니다. 개발 또는 테스트 중 즉각적인 시각적 피드백에 유용합니다. |
line_width |
None or int |
None |
경계 상자의 선 너비를 지정합니다. 만약 None , 선 너비는 이미지 크기에 따라 자동으로 조정됩니다. 명확성을 위해 시각적 사용자 정의를 제공합니다. |
show_conf |
bool |
True |
레이블과 함께 각 감지에 대한 신뢰도 점수를 표시합니다. 각 감지에 대한 모델의 확신에 대한 통찰력을 제공합니다. |
show_labels |
bool |
True |
시각적 출력에서 각 감지에 대한 레이블을 표시합니다. 감지된 객체에 대한 즉각적인 이해를 제공합니다. |
작동 방식
보안 경보 시스템은 다음을 사용합니다. 객체 추적 비디오 피드를 모니터링하고 잠재적인 보안 위협을 감지합니다. 시스템이 지정된 임계값을 초과하는 객체를 감지하면( records
파라미터), 감지된 객체를 보여주는 이미지 첨부 파일과 함께 이메일 알림을 자동으로 보냅니다.
이 시스템은 다음과 같은 메서드를 제공하는 SecurityAlarm 클래스를 활용합니다.
- 프레임을 처리하고 객체 탐지를 추출합니다.
- 검출된 객체 주위에 경계 상자를 사용하여 프레임에 주석을 답니다.
- 감지 임계값을 초과하면 이메일 알림을 보냅니다.
이 구현은 홈 보안, 소매 감시 및 탐지된 객체에 대한 즉각적인 알림이 중요한 기타 모니터링 애플리케이션에 이상적입니다.
FAQ
Ultralytics YOLO11은 보안 경보 시스템의 정확도를 어떻게 향상시키나요?
Ultralytics YOLO11은 고정밀 실시간 객체 감지를 제공하여 보안 경보 시스템을 향상시킵니다. 고급 알고리즘은 오탐지율을 크게 줄여 시스템이 실제 위협에만 반응하도록 보장합니다. 이 향상된 안정성은 기존 보안 인프라와 원활하게 통합되어 전체 감시 품질을 향상시킬 수 있습니다.
기존 보안 인프라와 Ultralytics YOLO11을 통합할 수 있습니까?
예, Ultralytics YOLO11은 기존 보안 인프라와 원활하게 통합될 수 있습니다. 이 시스템은 다양한 모드를 지원하고 사용자 정의에 대한 유연성을 제공하여 고급 객체 감지 기능으로 기존 설정을 향상시킬 수 있습니다. 프로젝트에서 YOLO11을 통합하는 방법에 대한 자세한 지침은 통합 섹션을 참조하십시오.
Ultralytics YOLO11을 실행하기 위한 스토리지 요구 사항은 무엇입니까?
일반적인 설정에서 Ultralytics YOLO11을 실행하려면 일반적으로 약 5GB의 여유 디스크 공간이 필요합니다. 여기에는 YOLO11 모델 및 추가 종속성을 저장하기 위한 공간이 포함됩니다. 클라우드 기반 솔루션의 경우 Ultralytics HUB는 효율적인 프로젝트 관리 및 데이터 세트 처리를 제공하여 스토리지 요구 사항을 최적화할 수 있습니다. 확장된 스토리지를 포함한 향상된 기능에 대한 자세한 내용은 Pro Plan을 참조하십시오.
Ultralytics YOLO11은 Faster R-CNN 또는 SSD와 같은 다른 객체 감지 모델과 어떤 차이점이 있습니까?
Ultralytics YOLO11은 실시간 감지 기능과 더 높은 정확도로 Faster R-CNN 또는 SSD와 같은 모델보다 우위를 제공합니다. 고유한 아키텍처를 통해 정밀도를 손상시키지 않고 이미지를 훨씬 빠르게 처리할 수 있으므로 보안 경보 시스템과 같이 시간에 민감한 애플리케이션에 이상적입니다. 객체 감지 모델에 대한 포괄적인 비교는 가이드를 참조하세요.
Ultralytics YOLO11을 사용하여 보안 시스템에서 오탐지 빈도를 어떻게 줄일 수 있습니까?
오탐지를 줄이려면 Ultralytics YOLO11 모델이 다양하고 주석이 잘 달린 데이터 세트로 적절하게 학습되었는지 확인하십시오. 하이퍼파라미터를 미세 조정하고 새로운 데이터로 모델을 정기적으로 업데이트하면 탐지 정확도가 크게 향상될 수 있습니다. 자세한 하이퍼파라미터 튜닝 기술은 하이퍼파라미터 튜닝 가이드에서 확인할 수 있습니다.