Meet YOLO26: next-gen vision AI.

Link to this sectionUltralytics YOLO26를 활용한 보안 경보 시스템 프로젝트#

AI-powered security alarm system with object detection

Ultralytics YOLO26를 활용한 보안 경보 시스템 프로젝트는 최첨단 컴퓨터 비전 기능을 통합하여 보안 조치를 강화합니다. Ultralytics에서 개발한 YOLO26은 실시간 객체 탐지를 제공하여 시스템이 잠재적인 보안 위협을 신속하게 식별하고 대응할 수 있도록 합니다. 이 프로젝트는 다음과 같은 여러 가지 장점을 제공합니다:

  • 실시간 탐지: YOLO26의 효율성 덕분에 보안 경보 시스템이 보안 사고를 실시간으로 탐지하고 대응할 수 있어 대응 시간이 최소화됩니다.
  • 정확도: YOLO26은 객체 탐지 정확도로 잘 알려져 있어 오탐지(false positive)를 줄이고 보안 경보 시스템의 신뢰성을 향상합니다.
  • 통합 기능: 이 프로젝트는 기존 보안 인프라와 원활하게 통합되어 지능형 감시 기능을 한 단계 업그레이드할 수 있습니다.


Watch: Security Alarm System with Ultralytics YOLO26 + Solutions Object Detection

Link to this sectionYOLO26을 사용하여 보안 알림 전송#

SecurityAlarm 솔루션은 비디오 피드에서 객체를 추적하며, 감지된 객체 수가 records 임계값에 도달하면 즉시 주석이 달린 이미지가 첨부된 이메일 알림을 한 통 발송합니다. 앱 비밀번호를 사용하여 Gmail 계정을 인증한 다음 소스에서 솔루션을 실행하십시오.

참고

앱 비밀번호 생성이 필요합니다

  • 앱 비밀번호 생성기로 이동하여 'security project'와 같은 앱 이름을 지정하고 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="yolo26n.pt",  # e.g., yolo26s.pt, yolo26m.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

코드를 실행하면 객체가 탐지될 때마다 한 번의 이메일 알림을 받게 됩니다. 알림은 반복되지 않고 즉시 전송됩니다. 프로젝트 요구 사항에 맞게 코드를 사용자 정의할 수 있습니다.

Link to this section이메일 수신 샘플#

Security alert email notification example

Link to this sectionSecurityAlarm 인수#

다음은 SecurityAlarm 인수를 정리한 표입니다:

인수유형기본값설명
modelstrNoneUltralytics YOLO 모델 파일 경로입니다.
recordsint5보안 경보 시스템에서 이메일을 발송하기 위해 필요한 총 탐지 횟수입니다.

SecurityAlarm 솔루션은 다양한 track 파라미터를 지원합니다:

인수유형기본값설명
trackerstr'botsort.yaml'사용할 추적 알고리즘을 지정합니다. 기본 옵션은 다음과 같습니다: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.1탐지에 대한 신뢰도 임계값을 설정합니다. 값이 낮을수록 더 많은 객체가 추적되지만 잘못된 긍정 탐지(false positives)가 포함될 수 있습니다.
ioufloat0.7겹치는 탐지를 필터링하기 위한 Intersection over Union (IoU) 임계값을 설정합니다.
classeslistNone클래스 인덱스로 결과를 필터링합니다. 예를 들어, classes=[0, 2, 3]은 지정된 클래스만 추적합니다.
verboseboolTrue추적 결과 표시를 제어하여 추적된 객체의 시각적 출력을 제공합니다.
devicestrNone추론을 위한 장치(예: cpu, cuda:0 또는 0)를 지정합니다. 사용자가 모델 실행을 위해 CPU, 특정 GPU 또는 기타 컴퓨팅 장치를 선택할 수 있도록 합니다.

또한 다음과 같은 시각화 설정을 사용할 수 있습니다:

인수유형기본값설명
showboolFalseTrue일 경우, 주석이 달린 이미지나 비디오를 창에 표시합니다. 개발 또는 테스트 중 즉각적인 시각적 피드백을 확인하는 데 유용합니다.
line_widthint or NoneNone바운딩 박스의 선 굵기를 지정합니다. None일 경우, 선 굵기가 이미지 크기에 따라 자동으로 조정됩니다. 명확성을 위해 시각적 커스터마이징을 제공합니다.
show_confboolTrue각 탐지에 대한 신뢰도 점수를 레이블과 함께 표시합니다. 각 탐지에 대한 모델의 확신도를 파악할 수 있습니다.
show_labelsboolTrue시각적 출력에서 각 탐지에 대한 레이블을 표시합니다. 탐지된 객체를 즉시 이해할 수 있도록 합니다.

Link to this section작동 원리#

보안 알람 시스템은 객체 추적을 사용하여 비디오 피드를 모니터링하고 잠재적인 보안 위협을 감지합니다. 시스템이 지정된 임계값(records 매개변수로 설정)을 초과하는 객체를 감지하면, 감지된 객체가 표시된 이미지 첨부 파일과 함께 이메일 알림을 자동으로 발송합니다.

이 시스템은 다음 기능을 제공하는 SecurityAlarm 클래스를 활용합니다:

  1. 프레임 처리 및 객체 탐지 추출
  2. 탐지된 객체 주위에 BBox(바운딩 박스)를 포함한 프레임 주석 작성
  3. 탐지 임계값이 초과될 때 이메일 알림 전송

이 구현은 홈 보안, 소매업 감시 및 탐지된 객체에 대한 즉각적인 알림이 중요한 기타 모니터링 애플리케이션에 이상적입니다.

Link to this sectionFAQ#

Link to this sectionUltralytics YOLO26은 어떻게 보안 경보 시스템의 정확도를 향상합니까?#

Ultralytics YOLO26은 고정밀 실시간 객체 탐지를 제공하여 보안 경보 시스템을 강화합니다. 고급 알고리즘은 오탐지를 크게 줄여 시스템이 실제 위협에만 대응하도록 보장합니다. 이러한 향상된 신뢰성은 기존 보안 인프라와 원활하게 통합되어 전반적인 감시 품질을 높여줍니다.

Link to this sectionUltralytics YOLO26을 기존 보안 인프라와 통합할 수 있습니까?#

네, Ultralytics YOLO26은 기존 보안 인프라와 원활하게 통합할 수 있습니다. 이 시스템은 다양한 모드를 지원하며 사용자 정의를 위한 유연성을 제공하므로, 고급 객체 감지 기능을 통해 기존 설정을 향상할 수 있습니다. 프로젝트에 YOLO26을 통합하는 방법에 대한 자세한 지침은 통합 섹션을 방문하십시오.

Link to this sectionUltralytics YOLO26을 실행하기 위한 스토리지 요구 사항은 무엇입니까?#

일반적인 환경에서 Ultralytics YOLO26을 실행하려면 보통 5GB 정도의 여유 디스크 공간이 필요합니다. 여기에는 YOLO26 모델 및 추가 종속성을 저장하기 위한 공간이 포함됩니다. 클라우드 기반 솔루션의 경우, Ultralytics Platform은 효율적인 프로젝트 관리 및 데이터셋 처리를 제공하여 스토리지 요구 사항을 최적화할 수 있습니다. 확장된 스토리지를 포함한 향상된 기능을 확인하려면 Pro Plan에 대해 자세히 알아보십시오.

Link to this sectionUltralytics YOLO26이 Faster R-CNN이나 SSD와 같은 다른 객체 탐지 모델과 차별화되는 점은 무엇입니까?#

Ultralytics YOLO26은 실시간 감지 기능과 더 높은 정확도로 Faster R-CNN 또는 SSD와 같은 모델보다 우위를 점합니다. 독창적인 아키텍처 덕분에 정밀도를 저하시키지 않으면서 이미지를 훨씬 빠르게 처리할 수 있어 보안 알람 시스템과 같이 시간에 민감한 애플리케이션에 이상적입니다. 객체 감지 모델에 대한 포괄적인 비교는 가이드에서 살펴볼 수 있습니다.

Link to this sectionUltralytics YOLO26을 사용하여 보안 시스템에서 오탐지 빈도를 어떻게 줄일 수 있습니까?#

오탐지를 줄이려면 Ultralytics YOLO26 모델이 다양하고 잘 주석 처리된 데이터셋으로 적절하게 학습되었는지 확인하십시오. 하이퍼파라미터를 미세 조정하고 새로운 데이터로 모델을 정기적으로 업데이트하면 탐지 정확도를 크게 향상할 수 있습니다. 자세한 하이퍼파라미터 튜닝 기술은 하이퍼파라미터 튜닝 가이드에서 찾을 수 있습니다.

댓글