Ultralytics YOLO27:

Ultralytics Solutions: YOLO26을 활용하여 실제 문제 해결#

Ultralytics Solutions는 YOLO 모델의 최첨단 애플리케이션을 제공하며, 객체 수 세기, 블러 처리, 보안 시스템 등 다양한 산업에서 효율성과 정확도를 향상하는 실제 솔루션을 제공합니다. 실용적이고 영향력 있는 구현을 위한 YOLO26의 강력한 기능을 확인해 보세요.

Ultralytics Solutions 썸네일



Watch: How to Run Ultralytics Solutions from the Command Line (CLI) | Ultralytics YOLO26 🚀

솔루션#

다음은 뛰어난 컴퓨터 비전 프로젝트를 만드는 데 사용할 수 있는 엄선된 Ultralytics 솔루션 목록입니다.

  • 분석: YOLO26을 활용한 설명적, 예측적, 처방적 분석을 통해 포괄적인 데이터 분석을 수행하여 패턴을 발견하고 정보에 기반한 의사 결정을 내립니다.
  • 거리 계산: YOLO26에서 바운딩 박스 중심점을 사용하여 객체 간 거리를 계산하며, 이는 공간 분석에 필수적입니다.
  • 히트맵: 검출 히트맵을 활용하여 행렬 전반의 데이터 강도를 시각화하고 컴퓨터 비전 작업에서 명확한 인사이트를 제공합니다.
  • 객체 추적을 사용한 인스턴스 세그멘테이션: YOLO26으로 인스턴스 세그멘테이션과 객체 추적을 구현하여 정밀한 객체 경계와 지속적인 모니터링을 수행합니다.
  • Streamlit을 사용한 실시간 추론: 사용자 친화적인 Streamlit 인터페이스를 통해 웹 브라우저에서 직접 YOLO26의 강력한 기능을 활용하여 실시간 객체 검출을 수행합니다.
  • 객체 블러 처리: YOLO26을 사용하여 객체를 블러 처리함으로써 이미지 및 동영상 처리에서 개인정보를 보호합니다.
  • 객체 수 세기: YOLO26으로 실시간 객체 수 세기를 수행하는 방법을 알아봅니다. 실시간 동영상 스트림에서 객체를 정확하게 셀 수 있는 전문성을 습득합니다.
  • 영역별 객체 수 세기: YOLO26을 사용하여 특정 영역의 객체 수를 세고 다양한 영역에서 정확하게 검출합니다.
  • 객체 크롭: YOLO26을 사용한 객체 크롭을 익혀 이미지와 동영상에서 객체를 정밀하게 추출합니다.
  • 주차 관리: YOLO26으로 주차 구역의 차량 흐름을 정리하고 안내하여 공간 활용도와 사용자 경험을 최적화합니다.
  • 대기열 관리: YOLO26을 사용하여 효율적인 대기열 관리 시스템을 구현하고 대기 시간을 최소화하며 생산성을 향상합니다.
  • 보안 알람 시스템: 새로운 객체가 감지되면 알림을 트리거하는 보안 알람 시스템을 YOLO26으로 구축합니다. 특정 요구 사항에 맞게 시스템을 사용자 지정할 수 있습니다.
  • 유사도 검색: OpenAI CLIP 임베딩과 코사인 유사도 검색을 결합하여 지능형 이미지 검색을 활성화하고, "가방을 들고 있는 사람" 또는 "이동 중인 차량"과 같은 자연어 질의를 사용할 수 있습니다.
  • 속도 추정: YOLO26과 객체 추적 기술을 사용하여 객체 속도를 추정하며, 이는 자율주행 차량 및 교통 모니터링과 같은 애플리케이션에 중요합니다.
  • 구역 내 객체 추적: YOLO26을 사용하여 동영상 프레임의 특정 구역 내 객체를 추적하는 방법을 익혀 정밀하고 효율적인 모니터링을 수행합니다.
  • VisionEye 객체 매핑: 특정 객체에 사람의 눈이 초점을 맞추는 방식을 모방하는 시스템을 개발하여 세부 정보를 식별하고 우선순위를 지정하는 컴퓨터의 기능을 향상합니다.
  • 운동 모니터링: YOLO26을 사용하여 운동을 모니터링하는 방법을 알아봅니다. 다양한 피트니스 루틴을 실시간으로 추적하고 분석하는 방법을 학습합니다.

솔루션 인수#

인수유형기본값설명
modelstrNoneUltralytics YOLO 모델 파일의 경로입니다.
regionlist 또는 dictNone관심 영역을 정의하는 점으로, (x, y) 튜플 목록 또는 여러 영역에 대해 영역 이름을 점 목록에 매핑하는 딕셔너리(RegionCounter만 해당)입니다. None인 경우 영역이 필요한 솔루션은 사전 정의된 기본값으로 대체됩니다.
show_inboolTrue동영상 스트림에 진입 수를 표시할지 제어하는 플래그입니다.
show_outboolTrue동영상 스트림에 이탈 수를 표시할지 제어하는 플래그입니다.
analytics_typestr'line'그래프 유형입니다. 즉, line, bar, area 또는 pie입니다.
colormapintcv2.COLORMAP_DEEPGREEN히트맵에 사용할 컬러맵입니다.
line_widthint2솔루션이 그리는 박스, 키포인트 및 카운트의 선 두께입니다.
verboseboolTrue입력 형태, 클래스별 개수 및 처리 속도의 프레임별 로그를 활성화합니다. 추적 호출 자체는 항상 로그를 출력하지 않습니다.
json_filestrNone모든 주차 좌표 데이터가 포함된 JSON 파일의 경로입니다.
up_anglefloat145.0'up' 포즈의 각도 임계값입니다.
kptslist[int]'[6, 8, 10]'운동 모니터링에 사용되는 세 키포인트 인덱스의 목록입니다. 이러한 키포인트는 어깨, 팔꿈치, 손목과 같은 신체 관절 또는 부위에 해당하며, 팔굽혀펴기, 턱걸이, 스쿼트 및 복근 운동과 같은 운동에 사용됩니다.
down_angleint90'down' 포즈의 각도 임계값입니다.
blur_ratiofloat0.5블러 강도의 백분율을 조정하며, 값의 범위는 0.1 - 1.0입니다.
crop_dirstr'cropped-detections'크롭된 검출 결과를 저장할 디렉터리 이름입니다.
recordsint5보안 알람 시스템으로 이메일을 트리거할 총 검출 개수입니다.
vision_pointtuple[int, int](20, 20)VisionEye Solution을 사용하여 비전이 객체를 추적하고 경로를 그릴 지점입니다.
sourcestrNone입력 소스(동영상, RTSP 등)의 경로입니다. Solutions 명령줄 인터페이스(CLI)에서만 사용할 수 있습니다.
figsizetuple[float, float](12.8, 7.2)히트맵이나 그래프와 같은 분석 차트의 그림 크기입니다.
fpsfloat30.0속도 계산에 사용되는 초당 프레임 수입니다.
max_histint5속도 및 방향 계산을 위해 객체당 추적할 최대 과거 지점 수입니다.
meter_per_pixelfloat0.05픽셀 거리를 실제 단위로 변환하는 데 사용되는 배율입니다.
max_speedint120시각적 오버레이의 최대 속도 제한입니다(알림에 사용됨).
datastr'images'유사도 검색에 사용되는 이미지 디렉터리의 경로입니다.
imgszint640모델 추론을 위한 입력 이미지 크기입니다.
추적 인수

솔루션은 아래의 추적 및 추론 인수를 model.track()(으)로 전달합니다.

인수유형기본값설명
trackerstr'botsort.yaml'사용할 추적 알고리즘을 지정합니다. 기본 제공 옵션: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml입니다.
conffloat0.25검출 결과의 신뢰도 임계값을 설정합니다. 값이 낮을수록 더 많은 객체를 추적할 수 있지만 오탐이 포함될 수 있습니다.
ioufloat0.7겹치는 검출 결과를 필터링하기 위한 교집합 대비 합집합 (IoU) 임계값을 설정합니다.
classeslistNone클래스 인덱스로 결과를 필터링합니다. 예를 들어 classes=[0, 2, 3]은 지정된 클래스만 추적합니다.
devicestrNone추론에 사용할 장치를 지정합니다(예: cpu, cuda:0 또는 0). 사용자는 CPU, 특정 GPU 또는 기타 컴퓨팅 장치 중에서 모델 실행 장치를 선택할 수 있습니다.
imgszint or tuple640목표 추론 이미지 크기: 정사각형의 경우 정수 또는 (height, width) 쌍입니다. 형태는 모델 스트라이드에 맞게 조정됩니다.
max_detint300추적 전 프레임당 유지되는 최대 검출 수로, 솔루션이 밀집된 장면에서 처리하는 객체를 제한합니다.
quantizeint or strNone추론 정밀도: PyTorch 및 TorchScript 모델의 경우 16(FP16) 또는 32/설정 안 함(FP32); 기타 형식은 아티팩트와 런타임이 선택하는 정밀도로 계산됩니다. 더 이상 사용되지 않는 half 플래그를 대체합니다.
시각화 인수

show_conf, show_labels 및 기타 언급된 인수를 사용하여 시각화를 사용자 지정할 수 있습니다.

인수유형기본값설명
showboolFalseTrue인 경우 annotation이 추가된 이미지 또는 비디오를 window에 표시합니다. 개발 또는 테스트 중 즉각적인 시각적 피드백을 제공하는 데 유용합니다.
show_confboolTrue각 detection의 confidence score를 label과 함께 표시합니다. 각 detection에 대한 모델의 확신 정도를 파악할 수 있습니다.
show_labelsboolTruevisual output에 각 detection의 label을 표시합니다. 검출된 객체를 즉시 파악할 수 있습니다.

SolutionAnnotator 사용법#

모든 Ultralytics Solutions는 별도의 클래스 SolutionAnnotator를 사용합니다. 이 클래스는 기본 Annotator 클래스를 확장하며 다음 메서드를 제공합니다.

메서드반환 유형설명
draw_region()None지정된 점, 색상 및 두께를 사용하여 영역을 그립니다.
queue_counts_display()None지정된 영역의 대기열 개수를 표시합니다.
display_analytics()None주차장 관리의 전체 통계를 표시합니다.
estimate_pose_angle()float객체 포즈에서 세 점 사이의 각도를 계산합니다.
draw_specific_kpts()np.ndarray이미지에 지정된 키포인트를 그립니다.
plot_workout_information()int이미지에 레이블이 지정된 텍스트 박스를 그립니다.
plot_angle_and_count_and_stage()None운동 모니터링을 위해 각도, 단계 수 및 단계를 시각화합니다.
plot_distance_and_line()None중심점 간 거리를 표시하고 선으로 연결합니다.
display_objects_labels()None객체 클래스 레이블로 바운딩 박스에 주석을 추가합니다.
sweep_annotator()None수직 스윕 선과 선택적 레이블을 시각화합니다.
visioneye()None객체 중심점을 시각적 "눈" 지점에 매핑하고 연결합니다.
adaptive_label()None바운딩 박스 중앙에 원형 또는 직사각형 배경 레이블을 그립니다.

SolutionResults 사용#

Similarity Search을 제외하면 각 Solution 호출은 SolutionResults 객체를 반환합니다.

  • 객체 수 세기의 경우 결과에는 in_count, out_countclasswise_count가 포함됩니다.
SolutionResults
import cv2

from ultralytics import solutions

im0 = cv2.imread("path/to/img")

region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]

counter = solutions.ObjectCounter(
    show=True,  # display the output
    region=region_points,  # pass region points
    model="yolo26n.pt",  # model="yolo26n-obb.pt" for object counting with OBB model.
    # classes=[0, 2],  # count specific classes i.e. person and car with COCO pretrained model.
    # tracker="botsort.yaml"  # Choose trackers i.e "bytetrack.yaml"
)
results = counter(im0)
print(results.in_count)  # display in_counts
print(results.out_count)  # display out_counts
print(results.classwise_count)  # display classwise_count

SolutionResults 객체에는 다음 속성이 있습니다.

Attribute유형설명
plot_imnp.ndarray카운트, 블러 효과 또는 솔루션별 개선 사항과 같은 시각적 오버레이가 적용된 이미지입니다.
in_countint동영상 스트림에서 정의된 구역에 진입하는 것으로 검출된 객체의 총 개수입니다.
out_countint동영상 스트림에서 정의된 구역을 이탈하는 것으로 검출된 객체의 총 개수입니다.
classwise_countDict[str, int]고급 분석을 위해 클래스별 진입 및 이탈 객체 수를 기록하는 딕셔너리입니다.
queue_countint사전 정의된 대기열 또는 대기 영역 내에 현재 있는 객체 수입니다(대기열 관리에 적합).
workout_countlist[int]AI Gym의 트랙별 운동 반복 횟수입니다(현재 추적 중인 개인마다 하나의 항목).
workout_anglelist[float]AI Gym의 트랙별 운동 각도입니다(현재 추적 중인 개인마다 하나의 항목).
workout_stagelist[str]AI Gym의 트랙별 현재 운동 단계입니다(현재 추적 중인 개인마다 하나의 항목).
pixels_distancefloat두 객체 또는 점(예: 바운딩 박스) 사이의 픽셀 기반 거리입니다. (거리 계산에 적합합니다.)
available_slotsint모니터링 영역의 비어 있는 슬롯 수입니다(주차 관리에 적합).
filled_slotsint모니터링 영역의 사용 중인 슬롯 수입니다. (주차 관리에 적합합니다.)
email_sentbool알림 또는 경고 이메일이 성공적으로 전송되었는지를 나타냅니다(보안 알람에 적합).
total_tracksint동영상 분석 중 관찰된 고유 객체 트랙의 총 개수입니다.
region_countsDict[str, int]사용자가 정의한 영역 또는 구역 내 객체 수입니다.
speed_dictDict[str, float]속도 분석에 유용한 계산된 객체 속도의 트랙별 딕셔너리입니다.
total_crop_objectsintObjectCropper 솔루션이 생성한 크롭된 객체 이미지의 총 개수입니다.
speedDict[str, float]추적 및 솔루션 처리 성능 지표가 포함된 딕셔너리입니다.

자세한 내용은 SolutionResults 클래스 문서를 참조하세요.

CLI를 통한 Solutions 사용법#

명령 정보

대부분의 솔루션은 명령줄 인터페이스(CLI)를 통해 직접 사용할 수 있습니다.

구문

yolo SOLUTIONS SOLUTION_NAME ARGS
  • SOLUTIONS는 필수 키워드입니다.
  • SOLUTION_NAME은 다음 중 하나입니다: ['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye', 'region', 'security', 'parking'].
  • ARGS (선택 사항)는 기본 설정을 재정의하기 위한 arg=value 쌍(예: show_in=True)입니다.
yolo solutions count show=True # for object counting

yolo solutions count source="path/to/video.mp4" # specify video file path

솔루션에 기여하기#

커뮤니티의 기여를 환영합니다! Ultralytics YOLO의 특정 측면을 능숙하게 다루지만 아직 솔루션에서 다루지 않은 내용이 있다면 전문 지식을 공유해 주시기 바랍니다. 가이드를 작성하는 것은 커뮤니티에 기여하고 문서를 더욱 포괄적이고 사용자 친화적으로 만드는 데 도움을 주는 훌륭한 방법입니다.

시작하려면 기여 가이드를 읽고 풀 리퀘스트(PR)를 제출하는 방법과 관련 지침을 확인해 주세요 🛠️. 여러분의 기여를 기다리겠습니다!

함께 Ultralytics YOLO 생태계를 더욱 강력하고 다재다능하게 만들어 나갑시다 🙏!

FAQ#

  • Ultralytics YOLO26은 고급 객체 감지 기능을 활용하여 실시간 객체 카운팅에 사용할 수 있습니다. 객체 카운팅에 대한 자세한 가이드를 따라 YOLO26을 설정하고 실시간 비디오 스트림을 분석할 수 있습니다. YOLO26을 설치하고 모델을 로드한 다음 비디오 프레임을 처리하여 객체를 동적으로 카운팅하면 됩니다.

  • Ultralytics YOLO26은 실시간 객체 감지 및 알림 메커니즘을 제공하여 보안 시스템을 강화합니다. YOLO26을 활용하면 감시 영역에서 새로운 객체가 감지될 때 알림을 트리거하는 보안 경보 시스템을 만들 수 있습니다. YOLO26으로 강력한 보안 모니터링을 위한 보안 경보 시스템을 설정하는 방법을 알아보세요.

  • Ultralytics YOLO26은 대기열에 있는 사람을 정확하게 카운팅하고 추적하여 대기 시간을 줄이고 서비스 효율성을 최적화하는 데 도움을 줌으로써 대기열 관리 시스템을 크게 개선할 수 있습니다. 대기열 관리에 대한 자세한 가이드를 따라 효과적인 대기열 모니터링 및 분석을 위해 YOLO26을 구현하는 방법을 알아보세요.

  • 예, Ultralytics YOLO26은 피트니스 루틴을 실시간으로 추적하고 분석하여 운동을 효과적으로 모니터링하는 데 사용할 수 있습니다. 이를 통해 운동 자세와 수행 능력을 정밀하게 평가할 수 있습니다. YOLO26을 사용하여 AI 기반 운동 모니터링 시스템을 설정하는 방법은 운동 모니터링 가이드에서 확인하세요.

  • Ultralytics YOLO26은 특정 영역 전반의 데이터 강도를 시각화하는 히트맵을 생성하여 활동이나 관심도가 높은 영역을 강조할 수 있습니다. 이 기능은 다양한 컴퓨터 비전 작업의 패턴과 추세를 파악하는 데 특히 유용합니다. YOLO26으로 종합적인 데이터 분석 및 시각화를 위한 히트맵을 생성하고 사용하는 방법을 자세히 알아보세요.

댓글