Ultralytics YOLO11 🚀을 사용한 오브젝트 블러링
오브젝트 블러란 무엇인가요?
객체 흐리게 처리 Ultralytics YOLO11 는 이미지 또는 동영상에서 감지된 특정 개체에 블러 효과를 적용하는 기능입니다. 이는 YOLO11 모델 기능을 사용하여 주어진 장면 내에서 개체를 식별하고 조작할 수 있습니다.
Watch: 오브젝트 블러를 사용하여 Ultralytics YOLO11
오브젝트 블러의 장점
- 개인정보 보호: 물체 흐림 효과는 이미지나 동영상에서 민감한 정보나 개인 식별 정보를 숨겨 개인 정보를 보호하는 데 효과적인 도구입니다.
- 선택적 초점: YOLO11 을 사용하면 선택적으로 흐리게 처리하여 사용자가 특정 개체를 대상으로 지정할 수 있으므로 개인정보 보호와 관련 시각 정보 유지 간의 균형을 유지할 수 있습니다.
- 실시간 처리: YOLO11 의 효율성은 실시간으로 물체를 흐리게 처리할 수 있어 동적 환경에서 즉각적인 개인 정보 보호 강화가 필요한 애플리케이션에 적합합니다.
- 규정 준수: 시각적 콘텐츠에서 식별 가능한 정보를 익명화하여 조직이 GDPR과 같은 데이터 보호 규정을 준수할 수 있도록 지원합니다.
- 콘텐츠 조정: 미디어 플랫폼에서 부적절하거나 민감한 콘텐츠를 흐리게 처리하는 동시에 전체적인 문맥을 유지하는 데 유용합니다.
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("object_blurring_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Initialize object blurrer object
blurrer = solutions.ObjectBlurrer(
show=True, # display the output
model="yolo11n.pt", # model for object blurring i.e. yolo11m.pt
# line_width=2, # width of bounding box.
# classes=[0, 2], # count specific classes i.e, person and car with COCO pretrained model.
# blur_ratio=0.5, # adjust percentage of blur intensity, the value in range 0.1 - 1.0
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = blurrer(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
ObjectBlurrer
인수
다음은 표입니다. ObjectBlurrer
인수를 사용합니다:
인수 | 유형 | 기본값 | 설명 |
---|---|---|---|
model |
str |
None |
Ultralytics YOLO 모델 파일 경로. |
line_width |
None or int |
None |
경계 상자의 선 너비를 지정합니다. 만약 None 를 클릭하면 이미지 크기에 따라 선 너비가 자동으로 조정됩니다. 선명도를 위한 시각적 사용자 지정 기능을 제공합니다. |
blur_ratio |
float |
0.5 |
흐림 강도의 백분율을 범위 내 값으로 조정합니다. 0.1 - 1.0 . |
그리고 ObjectBlurrer
솔루션은 또한 다양한 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 를 클릭하면 이미지 크기에 따라 선 너비가 자동으로 조정됩니다. 선명도를 위한 시각적 사용자 지정 기능을 제공합니다. |
실제 애플리케이션
보안 감시에서의 개인 정보 보호
보안 카메라와 감시 시스템은 YOLO11 사용하여 얼굴, 번호판 또는 기타 식별 정보를 자동으로 흐리게 처리하면서 중요한 활동을 캡처할 수 있습니다. 이를 통해 공공장소의 프라이버시 권리를 존중하면서 보안을 유지할 수 있습니다.
의료 데이터 익명화
의료 영상에서는 스캔이나 사진에 환자 정보가 표시되는 경우가 많습니다. YOLO11 연구 또는 교육 목적으로 의료 데이터를 공유할 때 이러한 정보를 감지하고 흐리게 처리하여 HIPAA와 같은 규정을 준수할 수 있습니다.
문서 삭제
민감한 정보가 포함된 문서를 공유할 때 YOLO11 서명, 계좌 번호 또는 개인 정보와 같은 특정 요소를 자동으로 감지하고 흐리게 처리하여 문서 무결성을 유지하면서 수정 프로세스를 간소화할 수 있습니다.
미디어 및 콘텐츠 제작
콘텐츠 제작자는 YOLO11 사용하여 동영상과 이미지에서 브랜드 로고, 저작권이 있는 자료 또는 부적절한 콘텐츠를 흐리게 처리하여 전반적인 콘텐츠 품질을 유지하면서 법적 문제를 방지할 수 있습니다.
자주 묻는 질문
물체 흐림이란 무엇인가요 Ultralytics YOLO11 ?
물체 흐림 효과 Ultralytics YOLO11 는 이미지나 동영상에서 특정 물체를 자동으로 감지하여 흐리게 처리하는 효과를 적용합니다. 이 기술은 관련 시각 데이터는 유지하면서 민감한 정보를 숨겨 개인정보 보호를 강화합니다. YOLO11 실시간 처리 기능으로 즉각적인 개인정보 보호 및 선택적 초점 조정이 필요한 애플리케이션에 적합합니다.
YOLO11 을 사용하여 실시간 오브젝트 블러를 구현하려면 어떻게 해야 하나요?
YOLO11 로 실시간 객체 흐림 효과를 구현하려면 제공된 Python 예제를 따르세요. 여기에는 물체 감지에는 YOLO11 를 사용하고 흐림 효과 적용에는 OpenCV를 사용합니다. 다음은 단순화된 버전입니다:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
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
video_writer = cv2.VideoWriter("object_blurring_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Init ObjectBlurrer
blurrer = solutions.ObjectBlurrer(
show=True, # display the output
model="yolo11n.pt", # model="yolo11n-obb.pt" for object blurring using YOLO11 OBB model.
blur_ratio=0.5, # set blur percentage i.e 0.7 for 70% blurred detected objects
# line_width=2, # width of bounding box.
# classes=[0, 2], # count specific classes i.e, person and car with COCO pretrained model.
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = blurrer(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
물체 흐림에 Ultralytics YOLO11 을 사용하면 어떤 이점이 있나요?
Ultralytics YOLO11 는 오브젝트 흐림 효과에 몇 가지 이점을 제공합니다:
- 개인정보 보호: 민감하거나 식별 가능한 정보를 효과적으로 가릴 수 있습니다.
- 선택적 초점: 특정 개체를 대상으로 흐리게 처리하여 필수 시각적 콘텐츠를 유지합니다.
- 실시간 처리: 동적 환경에서 오브젝트 블러링을 효율적으로 실행하여 즉각적인 프라이버시 향상에 적합합니다.
- 사용자 지정 가능한 강도: 흐림 비율을 조정하여 프라이버시 요구와 시각적 컨텍스트의 균형을 맞출 수 있습니다.
- 클래스별 블러링: 특정 유형의 오브젝트만 선택적으로 흐리게 처리하고 다른 오브젝트는 표시합니다.
자세한 적용 사례는 물체 흐림 효과의 장점 섹션에서 확인하세요.
개인정보 보호를 위해 동영상에서 얼굴을 흐리게 처리하는 데 Ultralytics YOLO11 사용할 수 있나요?
예, Ultralytics YOLO11 은 동영상에서 얼굴을 감지하고 흐리게 처리하여 개인정보를 보호하도록 설정할 수 있습니다. 얼굴을 구체적으로 인식하도록 미리 훈련하거나 훈련된 모델을 사용하여 감지 결과를 OpenCV로 처리하여 블러 효과를 적용할 수 있습니다. 물체 감지에 대한 가이드( YOLO11 )를 참조하여 얼굴 감지 대상에 맞게 코드를 수정하세요.
YOLO11 은 물체 흐림 효과를 위한 Faster R-CNN과 같은 다른 물체 감지 모델과 어떻게 비교되나요?
Ultralytics YOLO11 은 일반적으로 속도 측면에서 Faster R-CNN과 같은 모델보다 성능이 뛰어나므로 실시간 애플리케이션에 더 적합합니다. 두 모델 모두 정확한 감지 기능을 제공하지만, YOLO11 의 아키텍처는 실시간 물체 흐림과 같은 작업에 중요한 빠른 추론에 최적화되어 있습니다. 기술적 차이점 및 성능 지표에 대한 자세한 내용은 YOLO11 설명서를 참조하세요.