๋ค์์ ์ฌ์ฉํ์ฌ ๊ฑฐ๋ฆฌ ๊ณ์ฐ Ultralytics YOLO11
๊ฑฐ๋ฆฌ ๊ณ์ฐ์ด๋ ๋ฌด์์ธ๊ฐ์?
๋ ๋ฌผ์ฒด ์ฌ์ด์ ๊ฐ๊ฒฉ์ ์ธก์ ํ๋ ๊ฒ์ ์ง์ ๋ ๊ณต๊ฐ ๋ด์์ ๊ฑฐ๋ฆฌ ๊ณ์ฐ์ด๋ผ๊ณ ํฉ๋๋ค. ์ ๊ฒฝ์ฐ Ultralytics YOLO11์ ๊ฒฝ์ฐ ์ฌ์ฉ์๊ฐ ๊ฐ์กฐ ํ์ํ ๊ฒฝ๊ณ ์์์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํด ๊ฒฝ๊ณ ์์ ์ค์ฌ์ด ์ฌ์ฉ๋ฉ๋๋ค.
Watch: ๋ค์์ ์ฌ์ฉํ์ฌ ๊ฑฐ๋ฆฌ ๊ณ์ฐ Ultralytics YOLO11
๋น์ฃผ์ผ
๋ค์์ ์ฌ์ฉํ์ฌ ๊ฑฐ๋ฆฌ ๊ณ์ฐ Ultralytics YOLO11 |
---|
๊ฑฐ๋ฆฌ ๊ณ์ฐ์ ์ฅ์ ์?
- ํ์งํ ์ ๋ฐ๋: ์ปดํจํฐ ๋น์ ์์ ์์ ์ ํํ ๊ณต๊ฐ ์์น ํ์ ์ ํฅ์์ํต๋๋ค.
- ํฌ๊ธฐ ์ถ์ : ๋ ๋์ ์ปจํ ์คํธ ์ดํด๋ฅผ ์ํด ๊ฐ์ฒด ํฌ๊ธฐ๋ฅผ ์ถ์ ํ ์ ์์ต๋๋ค.
๊ฑฐ๋ฆฌ ๊ณ์ฐ
- ๋ง์ฐ์ค ์ผ์ชฝ ๋ฒํผ์ผ๋ก ๋ ๊ฐ์ ๊ฒฝ๊ณ ์์๋ฅผ ํด๋ฆญํ์ฌ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํฉ๋๋ค.
YOLO11 ์ ์ฌ์ฉํ ๊ฑฐ๋ฆฌ ๊ณ์ฐ ์์
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("Path/to/video/file.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("distance_calculation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Init distance-calculation obj
distance = solutions.DistanceCalculation(model="yolo11n.pt", show=True)
# 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
im0 = distance.calculate(im0)
video_writer.write(im0)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
์ฐธ๊ณ
- ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ํด๋ฆญํ๋ฉด ๊ทธ๋ ค์ง ๋ชจ๋ ์ ์ด ์ญ์ ๋ฉ๋๋ค.
- ๋ง์ฐ์ค ์ผ์ชฝ ํด๋ฆญ์ผ๋ก ์ ์ ๊ทธ๋ฆด ์ ์์ต๋๋ค.
๊ฑฐ๋ฆฌ๋ ์ถ์ ์น์ ๋๋ค.
Distance will be an estimate and may not be fully accurate, as it is calculated using 2-dimensional data, which lacks information about the object's depth.
์ธ์ DistanceCalculation()
Name |
Type |
Default |
์ค๋ช |
---|---|---|---|
model |
str |
None |
Ultralytics YOLO ๋ชจ๋ธ ํ์ผ ๊ฒฝ๋ก |
line_width |
int |
2 |
๊ฒฝ๊ณ ์์์ ์ ๋๊ป์ ๋๋ค. |
show |
bool |
False |
๋น๋์ค ์คํธ๋ฆผ ํ์ ์ฌ๋ถ๋ฅผ ์ ์ดํ๋ ํ๋๊ทธ์ ๋๋ค. |
์ธ์ model.track
์ธ์ | ์ ํ | ๊ธฐ๋ณธ๊ฐ | ์ค๋ช |
---|---|---|---|
source |
str |
None |
์ด๋ฏธ์ง ๋๋ ๋์์์ ์์ค ๋๋ ํฐ๋ฆฌ๋ฅผ ์ง์ ํฉ๋๋ค. ํ์ผ ๊ฒฝ๋ก ๋ฐ URL์ ์ง์ํฉ๋๋ค. |
persist |
bool |
False |
ํ๋ ์ ๊ฐ ์ค๋ธ์ ํธ๋ฅผ ์ง์์ ์ผ๋ก ์ถ์ ํ์ฌ ๋น๋์ค ์ํ์ค ์ ์ฒด์์ ID๋ฅผ ์ ์งํ ์ ์์ต๋๋ค. |
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 |
์ถ์ ๊ฒฐ๊ณผ์ ํ์๋ฅผ ์ ์ดํ์ฌ ์ถ์ ๋ ๊ฐ์ฒด์ ์๊ฐ์ ์ถ๋ ฅ์ ์ ๊ณตํฉ๋๋ค. |
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
Ultralytics YOLO11 ์ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด ๊ฐ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ๋ ค๋ฉด ์ด๋ป๊ฒ ํ๋์?
๋ค์์ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด ๊ฐ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ๋ ค๋ฉด Ultralytics YOLO11๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ง๋ ๊ฐ์ฒด์ ๊ฒฝ๊ณ ์์ ์ค์ฌ์ ์๋ณํด์ผ ํฉ๋๋ค. ์ด ํ๋ก์ธ์ค์๋ DistanceCalculation
ํด๋์ค์์ Ultralytics' solutions
๋ชจ๋์ ํธ์ถํ๊ณ ๋ชจ๋ธ์ ์ถ์ ์ถ๋ ฅ์ ์ฌ์ฉํ์ฌ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํฉ๋๋ค. ๊ตฌํ์ ๊ฑฐ๋ฆฌ ๊ณ์ฐ ์์.
Ultralytics YOLO11 ์ผ๋ก ๊ฑฐ๋ฆฌ ๊ณ์ฐ์ ์ฌ์ฉํ๋ฉด ์ด๋ค ์ด์ ์ด ์๋์?
Ultralytics YOLO11 ์ผ๋ก ๊ฑฐ๋ฆฌ ๊ณ์ฐ์ ์ฌ์ฉํ๋ฉด ๋ช ๊ฐ์ง ์ฅ์ ์ด ์์ต๋๋ค:
- ํ์งํ ์ ๋ฐ๋: ๊ฐ์ฒด์ ์ ํํ ๊ณต๊ฐ ์์น๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ํฌ๊ธฐ ์ถ์ : ๋ฌผ๋ฆฌ์ ํฌ๊ธฐ๋ฅผ ์ถ์ ํ์ฌ ๋งฅ๋ฝ์ ๋ ์ ์ดํดํ ์ ์๋๋ก ๋์์ค๋๋ค.
- ์ฅ๋ฉด ์ดํด: 3D ์ฅ๋ฉด ์ดํด๋๋ฅผ ํฅ์์์ผ ์์จ ์ฃผํ ๋ฐ ๊ฐ์์ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ ๋์ ์์ฌ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์๋๋ก ์ง์ํฉ๋๋ค.
Ultralytics YOLO11 ์ผ๋ก ์ค์๊ฐ ๋์์ ์คํธ๋ฆผ์์ ๊ฑฐ๋ฆฌ ๊ณ์ฐ์ ์ํํ ์ ์๋์?
์, Ultralytics YOLO11 ์ ์ฌ์ฉํ์ฌ ์ค์๊ฐ ๋์์ ์คํธ๋ฆผ์์ ๊ฑฐ๋ฆฌ ๊ณ์ฐ์ ์ํํ ์ ์์ต๋๋ค. ์ด ๊ณผ์ ์๋ ๋ค์์ ์ฌ์ฉํ์ฌ ๋น๋์ค ํ๋ ์์ ์บก์ฒํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค. OpenCV์คํ ์ค YOLO11 ๋ฌผ์ฒด ๊ฐ์ง๋ฅผ ์ฌ์ฉํ์ฌ DistanceCalculation
ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ์ ํ๋ ์์์ ์ค๋ธ์ ํธ ๊ฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ ์ ์์ต๋๋ค. ์์ธํ ๊ตฌํ ๋ฐฉ๋ฒ์ ๋น๋์ค ์คํธ๋ฆผ ์์.
Ultralytics YOLO11 ์ ์ฌ์ฉํ์ฌ ๊ฑฐ๋ฆฌ ๊ณ์ฐ ์ค์ ๊ทธ๋ ค์ง ํฌ์ธํธ๋ฅผ ์ญ์ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํ๋์?
Ultralytics YOLO11 ์ผ๋ก ๊ฑฐ๋ฆฌ ๊ณ์ฐ ์ค์ ๊ทธ๋ ค์ง ์ ์ ์ญ์ ํ๋ ค๋ฉด ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ ํด๋ฆญํ๋ฉด ๋ฉ๋๋ค. ์ด ์์ ์ ์ํํ๋ฉด ๊ทธ๋ ค์ง ๋ชจ๋ ์ ์ด ์ง์์ง๋๋ค. ์์ธํ ๋ด์ฉ์ ๊ฑฐ๋ฆฌ ๊ณ์ฐ ์์ ์๋์ ์ฐธ๊ณ ์น์ ์ ์ฐธ์กฐํ์ธ์.
Ultralytics YOLO11 ์์ DistanceCalculation ํด๋์ค๋ฅผ ์ด๊ธฐํํ๊ธฐ ์ํ ์ฃผ์ ์ธ์๋ ๋ฌด์์ ๋๊น?
์ด๊ธฐํ๋ฅผ ์ํ ์ฃผ์ ์ธ์๋ DistanceCalculation
ํด๋์ค Ultralytics YOLO11 ํฌํจ:
model
: ๋ชจ๋ธ ํ์ผ ๊ฒฝ๋ก.show
: ๋น๋์ค ์คํธ๋ฆผ์ ํ์ํ ์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ ํ๋๊ทธ์ ๋๋ค.line_width
: ๊ฒฝ๊ณ ์์์ ๋๊ป์ ์ด๋ฏธ์ง์ ๊ทธ๋ ค์ง ์ ์ ๋๋ค.
์ ์ฒด ๋ชฉ๋ก๊ณผ ๊ธฐ๋ณธ๊ฐ์ DistanceCalculation์ ์ธ์๋ฅผ ์ฐธ์กฐํ์ธ์.