Ultralytics Docs: ์ฌ๋ผ์ด์ฑ ์ถ๋ก ์ SAHI์ ํจ๊ป YOLOv8 ์ฌ์ฉ
SAHI (์ฌ๋ผ์ด์ฑ ์ง์ ํ์ดํผ ์ถ๋ก )์ YOLOv8 ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํ Ultralytics ๋ฌธ์์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค. ์ด ํฌ๊ด์ ์ธ ๊ฐ์ด๋๋ YOLOv8 ์ ํจ๊ป SAHI๋ฅผ ๊ตฌํํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ํ์ ์ง์์ ์ ๊ณตํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. SAHI๊ฐ ๋ฌด์์ธ์ง, ์ฌ๋ผ์ด์ค ์ถ๋ก ์ด ๋๊ท๋ชจ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ํ ์ด์ ์ ์ด๋ฌํ ๊ธฐ๋ฅ์ YOLOv8 ์ ํตํฉํ์ฌ ๊ฐ์ฒด ๊ฐ์ง ์ฑ๋ฅ์ ํฅ์์ํค๋ ๋ฐฉ๋ฒ์ ๋ํด ์์ธํ ์ดํด๋ด ๋๋ค.
SAHI ์๊ฐ
SAHI(์ฌ๋ผ์ด์ฑ ์ง์ ํ์ดํผ ์ถ๋ก )๋ ๋๊ท๋ชจ ๊ณ ํด์๋ ์ด๋ฏธ์ง์ ๊ฐ์ฒด ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ์ ์ต์ ํํ๋๋ก ์ค๊ณ๋ ํ์ ์ ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ํต์ฌ ๊ธฐ๋ฅ์ ์ด๋ฏธ์ง๋ฅผ ๊ด๋ฆฌ ๊ฐ๋ฅํ ์ฌ๋ผ์ด์ค๋ก ๋ถํ ํ๊ณ ๊ฐ ์ฌ๋ผ์ด์ค์์ ๊ฐ์ฒด ๊ฐ์ง๋ฅผ ์คํํ ๋ค์ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ ์ฐ๊ฒฐํ๋ ๊ฒ์ ๋๋ค. SAHI๋ YOLO ์๋ฆฌ์ฆ๋ฅผ ๋น๋กฏํ ๋ค์ํ ๋ฌผ์ฒด ๊ฐ์ง ๋ชจ๋ธ๊ณผ ํธํ๋๋ฏ๋ก ์ปดํจํ ๋ฆฌ์์ค๋ฅผ ์ต์ ํํ์ฌ ์ฌ์ฉํ ์ ์๋ ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค.
Watch: SAHI(์ฌ๋ผ์ด์ฑ ์ง์ ํ์ดํผ ์ถ๋ก )๋ฅผ ์ฌ์ฉํ ์ถ๋ก (์ฌ๋ผ์ด์ฑ ์ง์ ํ์ดํผ ์ถ๋ก ) Ultralytics YOLOv8
SAHI์ ์ฃผ์ ๊ธฐ๋ฅ
- ์ํํ ํตํฉ: SAHI๋ YOLO ๋ชจ๋ธ๊ณผ ์์ฝ๊ฒ ํตํฉ๋๋ฏ๋ก ๋ง์ ์ฝ๋ ์์ ์์ด๋ ์ฌ๋ผ์ด์ฑ ๋ฐ ํ์ง๋ฅผ ์์ํ ์ ์์ต๋๋ค.
- ๋ฆฌ์์ค ํจ์จ์ฑ: SAHI๋ ํฐ ์ด๋ฏธ์ง๋ฅผ ์์ ๋ถ๋ถ์ผ๋ก ๋๋์ด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ต์ ํํ์ฌ ๋ฆฌ์์ค๊ฐ ์ ํ๋ ํ๋์จ์ด์์ ๊ณ ํ์ง ํ์ง๋ฅผ ์คํํ ์ ์๋๋ก ํฉ๋๋ค.
- ๋์ ์ ํ๋: SAHI๋ ์ค๋งํธ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ์คํฐ์นญ ํ๋ก์ธ์ค ์ค์ ๊ฒน์น๋ ๊ฐ์ง ์์๋ฅผ ๋ณํฉํจ์ผ๋ก์จ ๊ฐ์ง ์ ํ๋๋ฅผ ์ ์งํฉ๋๋ค.
์ฌ๋ผ์ด์ค ์ถ๋ก ์ด๋ ๋ฌด์์ธ๊ฐ์?
์ฌ๋ผ์ด์ค ์ถ๋ก ์ ํฐ ์ด๋ฏธ์ง๋ ๊ณ ํด์๋ ์ด๋ฏธ์ง๋ฅผ ์์ ์ธ๊ทธ๋จผํธ(์ฌ๋ผ์ด์ค)๋ก ์ธ๋ถํํ๊ณ , ์ด๋ฌํ ์ฌ๋ผ์ด์ค์์ ๊ฐ์ฒด ๊ฐ์ง๋ฅผ ์ํํ ๋ค์, ์ฌ๋ผ์ด์ค๋ฅผ ๋ค์ ์ปดํ์ผํ์ฌ ์๋ณธ ์ด๋ฏธ์ง์์ ๊ฐ์ฒด ์์น๋ฅผ ์ฌ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋งํฉ๋๋ค. ์ด ๊ธฐ์ ์ ์ปดํจํ ๋ฆฌ์์ค๊ฐ ์ ํ๋์ด ์๊ฑฐ๋ ๋ฉ๋ชจ๋ฆฌ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ ์ด๊ณ ํด์๋ ์ด๋ฏธ์ง๋ก ์์ ํ ๋ ๋งค์ฐ ์ ์ฉํฉ๋๋ค.
์ฌ๋ผ์ด์ค ์ถ๋ก ์ ์ด์
-
์ปดํจํ ๋ถ๋ด ๊ฐ์: ์ด๋ฏธ์ง ์ฌ๋ผ์ด์ค๊ฐ ์์์๋ก ์ฒ๋ฆฌ ์๋๊ฐ ๋นจ๋ผ์ง๊ณ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ์ ์ด์ ธ ์ ์ฌ์ ํ๋์จ์ด์์ ๋ ์ํํ๊ฒ ์๋ํฉ๋๋ค.
-
๋ณด์กด๋ ๊ฐ์ง ํ์ง: ๊ฐ ์ฌ๋ผ์ด์ค๋ ๋ ๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌ๋๋ฏ๋ก, ์ฌ๋ผ์ด์ค๊ฐ ๊ด์ฌ ์๋ ๋ฌผ์ฒด๋ฅผ ์บก์ฒํ ์ ์์ ๋งํผ ์ถฉ๋ถํ ํฌ๋ค๋ฉด ๋ฌผ์ฒด ๊ฐ์ง ํ์ง์ด ์ ํ๋์ง ์์ต๋๋ค.
-
ํฅ์๋ ํ์ฅ์ฑ: ์ด ๊ธฐ์ ์ ์ฌ์ฉํ๋ฉด ์ด๋ฏธ์ง์ ํฌ๊ธฐ์ ํด์๋์ ๋ฐ๋ผ ๋ฌผ์ฒด ๊ฐ์ง ๊ธฐ๋ฅ์ ๋ณด๋ค ์ฝ๊ฒ ํ์ฅํ ์ ์์ผ๋ฏ๋ก ์์ฑ ์ด๋ฏธ์ง์์ ์๋ฃ ์ง๋จ์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด์์ ์ ๋๋ค.
YOLOv8 SAHI ์์ | YOLOv8 SAHI์ ํจ๊ป |
---|---|
![]() |
![]() |
์ค์น ๋ฐ ์ค๋น
์ค์น
์์ํ๋ ค๋ฉด ์ต์ ๋ฒ์ ์ SAHI ๋ฐ Ultralytics ์ ์ค์นํ์ธ์:
๋ชจ๋ ๊ฐ์ ธ์ค๊ธฐ ๋ฐ ๋ฆฌ์์ค ๋ค์ด๋ก๋
ํ์ํ ๋ชจ๋์ ๊ฐ์ ธ์ค๊ณ YOLOv8 ๋ชจ๋ธ๊ณผ ๋ช ๊ฐ์ง ํ ์คํธ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
from sahi.utils.file import download_from_url
from sahi.utils.yolov8 import download_yolov8s_model
# Download YOLOv8 model
yolov8_model_path = "models/yolov8s.pt"
download_yolov8s_model(yolov8_model_path)
# Download test images
download_from_url(
"https://raw.githubusercontent.com/obss/sahi/main/demo/demo_data/small-vehicles1.jpeg",
"demo_data/small-vehicles1.jpeg",
)
download_from_url(
"https://raw.githubusercontent.com/obss/sahi/main/demo/demo_data/terrain2.png",
"demo_data/terrain2.png",
)
ํ์ค ์ถ๋ก ์ ์ฌ์ฉํ YOLOv8
๋ชจ๋ธ ์ธ์คํด์คํ
๋ค์๊ณผ ๊ฐ์ด ๊ฐ์ฒด ๊ฐ์ง๋ฅผ ์ํด YOLOv8 ๋ชจ๋ธ์ ์ธ์คํด์คํํ ์ ์์ต๋๋ค:
from sahi import AutoDetectionModel
detection_model = AutoDetectionModel.from_pretrained(
model_type="yolov8",
model_path=yolov8_model_path,
confidence_threshold=0.3,
device="cpu", # or 'cuda:0'
)
ํ์ค ์์ธก ์ํ
์ด๋ฏธ์ง ๊ฒฝ๋ก ๋๋ ๋ฉ์ด๋ฆฌ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ์ฌ ํ์ค ์ถ๋ก ์ ์ํํฉ๋๋ค.
from sahi.predict import get_prediction
# With an image path
result = get_prediction("demo_data/small-vehicles1.jpeg", detection_model)
# With a numpy image
result = get_prediction(read_image("demo_data/small-vehicles1.jpeg"), detection_model)
๊ฒฐ๊ณผ ์๊ฐํ
์์ธก๋ ๋ฐ์ด๋ฉ ๋ฐ์ค์ ๋ง์คํฌ๋ฅผ ๋ด๋ณด๋ด๊ณ ์๊ฐํํฉ๋๋ค:
์ฌ๋ผ์ด์ค ์ถ๋ก ์ ์ฌ์ฉํ YOLOv8
์ฌ๋ผ์ด์ค ํฌ๊ธฐ์ ๊ฒน์นจ ๋น์จ์ ์ง์ ํ์ฌ ์ฌ๋ผ์ด์ค ์ถ๋ก ์ ์ํํฉ๋๋ค:
from sahi.predict import get_sliced_prediction
result = get_sliced_prediction(
"demo_data/small-vehicles1.jpeg",
detection_model,
slice_height=256,
slice_width=256,
overlap_height_ratio=0.2,
overlap_width_ratio=0.2,
)
์์ธก ๊ฒฐ๊ณผ ์ฒ๋ฆฌ
SAHI๋ PredictionResult
๊ฐ์ฒด๋ฅผ ๋ค์ํ ์ด๋
ธํ
์ด์
ํ์์ผ๋ก ๋ณํํ ์ ์์ต๋๋ค:
# Access the object prediction list
object_prediction_list = result.object_prediction_list
# Convert to COCO annotation, COCO prediction, imantics, and fiftyone formats
result.to_coco_annotations()[:3]
result.to_coco_predictions(image_id=1)[:3]
result.to_imantics_annotations()[:3]
result.to_fiftyone_detections()[:3]
๋ฐฐ์น ์์ธก
์ด๋ฏธ์ง ๋๋ ํ ๋ฆฌ์ ๋ํ ์ผ๊ด ์์ธก์ ๊ฒฝ์ฐ:
from sahi.predict import predict
predict(
model_type="yolov8",
model_path="path/to/yolov8n.pt",
model_device="cpu", # or 'cuda:0'
model_confidence_threshold=0.4,
source="path/to/dir",
slice_height=256,
slice_width=256,
overlap_height_ratio=0.2,
overlap_width_ratio=0.2,
)
์ด์ ๋๋ฌ์ต๋๋ค! ์ด์ ํ์ค ์ถ๋ก ๊ณผ ์ฌ๋ผ์ด์ค ์ถ๋ก ๋ชจ๋์ YOLOv8 ์ ์ฌ์ฉํ ์ ์๊ฒ ๋์์ต๋๋ค.
์ธ์ฉ ๋ฐ ๊ฐ์ฌ
์ฐ๊ตฌ ๋๋ ๊ฐ๋ฐ ์์ ์ SAHI๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์๋ณธ SAHI ๋ ผ๋ฌธ์ ์ธ์ฉํ๊ณ ์ ์๋ฅผ ์ธ์ ํด ์ฃผ์ธ์:
@article{akyon2022sahi,
title={Slicing Aided Hyper Inference and Fine-tuning for Small Object Detection},
author={Akyon, Fatih Cagatay and Altinuc, Sinan Onur and Temizel, Alptekin},
journal={2022 IEEE International Conference on Image Processing (ICIP)},
doi={10.1109/ICIP46576.2022.9897990},
pages={966-970},
year={2022}
}
์ปดํจํฐ ๋น์ ์ปค๋ฎค๋ํฐ๋ฅผ ์ํด ์ด ๊ท์คํ ๋ฆฌ์์ค๋ฅผ ๋ง๋ค๊ณ ์ ์ง ๊ด๋ฆฌํด ์ฃผ์ SAHI ์ฐ๊ตฌ ๊ทธ๋ฃน์ ๊ฐ์ฌ์ ๋ง์์ ์ ํฉ๋๋ค. SAHI์ ์ ์์์ ๋ํ ์์ธํ ๋ด์ฉ์ SAHI GitHub ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
๊ฐ์ฒด ๊ฐ์ง์์ ์ฌ๋ผ์ด์ค ์ถ๋ก ์ ์ํด YOLOv8 ์ SAHI์ ํตํฉํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์?
Ultralytics YOLOv8 ์ ์ฌ๋ผ์ด์ค ์ถ๋ก ์ ์ํ SAHI(์ฌ๋ผ์ด์ฑ ์ง์ ํ์ดํผ ์ถ๋ก )์ ํตํฉํ๋ฉด ๊ณ ํด์๋ ์ด๋ฏธ์ง๋ฅผ ๊ด๋ฆฌ ๊ฐ๋ฅํ ์ฌ๋ผ์ด์ค๋ก ๋ถํ ํ์ฌ ๊ฐ์ฒด ๊ฐ์ง ์์ ์ ์ต์ ํํ ์ ์์ต๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๊ฐ์ ํ๊ณ ๋์ ๊ฐ์ง ์ ํ๋๋ฅผ ๋ณด์ฅํฉ๋๋ค. ์์ํ๋ ค๋ฉด ultralytics ๋ฐ sahi ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค:
๊ทธ๋ฐ ๋ค์ YOLOv8 ๋ชจ๋ธ์ ๋ค์ด๋ก๋ํ๊ณ ์ด๋ฏธ์ง๋ฅผ ํ ์คํธํฉ๋๋ค:
from sahi.utils.file import download_from_url
from sahi.utils.yolov8 import download_yolov8s_model
# Download YOLOv8 model
yolov8_model_path = "models/yolov8s.pt"
download_yolov8s_model(yolov8_model_path)
# Download test images
download_from_url(
"https://raw.githubusercontent.com/obss/sahi/main/demo/demo_data/small-vehicles1.jpeg",
"demo_data/small-vehicles1.jpeg",
)
์์ธํ ์ง์นจ์ ์ฌ๋ผ์ด์ค ์ถ๋ก ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ธ์.
ํฐ ์ด๋ฏธ์ง์์ ๋ฌผ์ฒด ๊ฐ์ง๋ฅผ ์ํด YOLOv8 ์ ํจ๊ป SAHI๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ์ด์ ๋ ๋ฌด์์ธ๊ฐ์?
ํฐ ์ด๋ฏธ์ง์์ ๋ฌผ์ฒด ๊ฐ์ง๋ฅผ ์ํด Ultralytics YOLOv8 ๊ณผ ํจ๊ป SAHI๋ฅผ ์ฌ์ฉํ๋ฉด ๋ช ๊ฐ์ง ์ด์ ์ด ์์ต๋๋ค:
- ์ปดํจํ ๋ถ๋ด ๊ฐ์: ์ฌ๋ผ์ด์ค๊ฐ ์์์๋ก ์ฒ๋ฆฌ ์๋๊ฐ ๋น ๋ฅด๊ณ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ์ ์ด ๋ฆฌ์์ค๊ฐ ์ ํ๋ ํ๋์จ์ด์์๋ ๊ณ ํ์ง ํ์ง๋ฅผ ์คํํ ์ ์์ต๋๋ค.
- ํ์ง ์ ํ๋ ์ ์ง: SAHI๋ ์ง๋ฅํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ๊ฒน์น๋ ์์๋ฅผ ๋ณํฉํ์ฌ ํ์ง ํ์ง์ ์ ์งํฉ๋๋ค.
- ํฅ์๋ ํ์ฅ์ฑ: ๋ค์ํ ์ด๋ฏธ์ง ํฌ๊ธฐ์ ํด์๋์ ๊ฑธ์ณ ๋ฌผ์ฒด ๊ฐ์ง ์์ ์ ํ์ฅํ ์ ์์ด ์์ฑ ์ด๋ฏธ์ง ๋ถ์ ๋ฐ ์๋ฃ ์ง๋จ๊ณผ ๊ฐ์ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด์์ ์ ๋๋ค.
๋ฌธ์์์ ์ฌ๋ผ์ด์ค ์ถ๋ก ์ ์ด์ ์ ๋ํด ์์ธํ ์์๋ณด์ธ์.
SAHI์์ YOLOv8 ์ ์ฌ์ฉํ ๋ ์์ธก ๊ฒฐ๊ณผ๋ฅผ ์๊ฐํํ ์ ์๋์?
์, SAHI์์ YOLOv8 ์ ์ฌ์ฉํ๋ฉด ์์ธก ๊ฒฐ๊ณผ๋ฅผ ์๊ฐํํ ์ ์์ต๋๋ค. ๊ฒฐ๊ณผ๋ฅผ ๋ด๋ณด๋ด๊ณ ์๊ฐํํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
result.export_visuals(export_dir="demo_data/")
from IPython.display import Image
Image("demo_data/prediction_visual.png")
์ด ๋ช ๋ น์ ์๊ฐํ๋ ์์ธก์ ์ง์ ๋ ๋๋ ํฐ๋ฆฌ์ ์ ์ฅํ ๋ค์ ์ด๋ฏธ์ง๋ฅผ ๋ก๋ํด ๋ ธํธ๋ถ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ณผ ์ ์์ต๋๋ค. ์์ธํ ๊ฐ์ด๋๋ ํ์ค ์ถ๋ก ์น์ ์ ์ฐธ์กฐํ์ธ์.
SAHI๋ YOLOv8 ๊ฐ์ฒด ๊ฐ์ง๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ์ด๋ค ๊ธฐ๋ฅ์ ์ ๊ณตํ๋์?
SAHI(์ฌ๋ผ์ด์ฑ ์ง์ ํ์ดํผ ์ถ๋ก )๋ ๊ฐ์ฒด ๊ฐ์ง๋ฅผ ์ํด Ultralytics YOLOv8 ์ ๋ณด์ํ๋ ๋ช ๊ฐ์ง ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค:
- ์ํํ ํตํฉ: SAHI๋ YOLO ๋ชจ๋ธ๊ณผ ์ฝ๊ฒ ํตํฉ๋๋ฏ๋ก ์ต์ํ์ ์ฝ๋ ์กฐ์ ๋ง ํ์ํฉ๋๋ค.
- ๋ฆฌ์์ค ํจ์จ์ฑ: ํฐ ์ด๋ฏธ์ง๋ฅผ ์์ ์กฐ๊ฐ์ผ๋ก ๋ถํ ํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋๊ณผ ์๋๋ฅผ ์ต์ ํํฉ๋๋ค.
- ๋์ ์ ํ๋: ์คํฐ์นญ ๊ณผ์ ์์ ๊ฒน์น๋ ๊ฐ์ง ์์๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๋ณํฉํจ์ผ๋ก์จ SAHI๋ ๋์ ๊ฐ์ง ์ ํ๋๋ฅผ ์ ์งํฉ๋๋ค.
๋ ์์ธํ ์์๋ณด๋ ค๋ฉด SAHI์ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ํด ์ฝ์ด๋ณด์ธ์.
YOLOv8 ๋ฐ SAHI๋ฅผ ์ฌ์ฉํ์ฌ ๋๊ท๋ชจ ์ถ๋ก ํ๋ก์ ํธ๋ฅผ ์ฒ๋ฆฌํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์?
YOLOv8 ๋ฐ SAHI๋ฅผ ์ฌ์ฉํ์ฌ ๋๊ท๋ชจ ์ถ๋ก ํ๋ก์ ํธ๋ฅผ ์ฒ๋ฆฌํ๋ ค๋ฉด ๋ค์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด์ธ์:
- ํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํฉ๋๋ค: ultralytics ๋ฐ sahi์ ์ต์ ๋ฒ์ ์ด ์ค์น๋์ด ์๋์ง ํ์ธํฉ๋๋ค.
- ์ฌ๋ผ์ด์ค ์ถ๋ก ์ ๊ตฌ์ฑํฉ๋๋ค: ํน์ ํ๋ก์ ํธ์ ๋ง๋ ์ต์ ์ ์ฌ๋ผ์ด์ค ํฌ๊ธฐ์ ๊ฒน์นจ ๋น์จ์ ๊ฒฐ์ ํฉ๋๋ค.
- ์ผ๊ด ์์ธก ์คํ: SAHI์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง ๋๋ ํ ๋ฆฌ์ ๋ํ ์ผ๊ด ์์ธก์ ์ํํ๋ฉด ํจ์จ์ฑ์ด ํฅ์๋ฉ๋๋ค.
๋ฐฐ์น ์์ธก์ ์์ ๋๋ค:
from sahi.predict import predict
predict(
model_type="yolov8",
model_path="path/to/yolov8n.pt",
model_device="cpu", # or 'cuda:0'
model_confidence_threshold=0.4,
source="path/to/dir",
slice_height=256,
slice_width=256,
overlap_height_ratio=0.2,
overlap_width_ratio=0.2,
)
์์ธํ ๋จ๊ณ๋ ๋ฐฐ์น ์์ธก ์น์ ์ ์ฐธ์กฐํ์ธ์.