CoreML YOLOv8 λͺ¨λΈμ© λ΄λ³΄λ΄κΈ°
iPhone λ° Macκ³Ό κ°μ Apple λλ°μ΄μ€μ μ»΄ν¨ν° λΉμ λͺ¨λΈμ λ°°ν¬νλ €λ©΄ μνν μ±λ₯μ 보μ₯νλ νμμ΄ νμν©λλ€.
CoreML λ΄λ³΄λ΄κΈ° νμμ μ¬μ©νλ©΄ λͺ¨λΈμ μ΅μ νν μ μμ΅λλ€. Ultralytics YOLOv8 λͺ¨λΈμ μ΅μ ννμ¬ iOS λ° macOS μ ν리μΌμ΄μ μμ ν¨μ¨μ μΌλ‘ μ€λΈμ νΈλ₯Ό κ°μ§ν μ μμ΅λλ€. μ΄ κ°μ΄λμμλ λͺ¨λΈμ CoreML νμμΌλ‘ λ³ννλ λ¨κ³λ₯Ό μλ΄νμ¬ λͺ¨λΈμ΄ Apple λλ°μ΄μ€μμ λ μ½κ² μλν μ μλλ‘ ν©λλ€.
CoreML
CoreML λ Accelerate, BNNS λ° Metal μ±λ₯ μ °μ΄λλ₯Ό κΈ°λ°μΌλ‘ νλ Appleμ κΈ°λ³Έ λ¨Έμ λ¬λ νλ μμν¬μ λλ€. iOS μ ν리μΌμ΄μ μ μννκ² ν΅ν©λλ λ¨Έμ λ¬λ λͺ¨λΈ νμμ μ 곡νλ©° μ΄λ―Έμ§ λΆμ, μμ°μ΄ μ²λ¦¬, μ€λμ€-ν μ€νΈ λ³ν, μ¬μ΄λ λΆμκ³Ό κ°μ μμ μ μ§μν©λλ€.
Core ML νλ μμν¬λ μ¨λλ°μ΄μ€ μ»΄ν¨ν μ μ¬μ©νμ¬ μλνλ―λ‘ μ ν리μΌμ΄μ μ λ€νΈμν¬ μ°κ²°μ΄λ API νΈμΆ μμ΄λ Core MLμ νμ©ν μ μμ΅λλ€. μ¦, μ¬μ©μμ λλ°μ΄μ€μμ λ‘μ»¬λ‘ λͺ¨λΈ μΆλ‘ μ μνν μ μμ΅λλ€.
CoreML λͺ¨λΈμ μ£Όμ κΈ°λ₯
Appleμ CoreML νλ μμν¬λ μ¨λλ°μ΄μ€ λ¨Έμ λ¬λμ μν κ°λ ₯ν κΈ°λ₯μ μ 곡ν©λλ€. λ€μμ CoreML μ κ°λ°μλ₯Ό μν κ°λ ₯ν λκ΅¬λ‘ λ§λλ μ£Όμ κΈ°λ₯μ λλ€:
- ν¬κ΄μ μΈ λͺ¨λΈ μ§μ: TensorFlow , PyTorch, scikit-learn, XGBoost, LibSVMκ³Ό κ°μ μΈκΈ° μλ νλ μμν¬μμ λͺ¨λΈμ λ³ννκ³ μ€νν©λλ€.
-
μ¨λλ°μ΄μ€ λ¨Έμ λ¬λ: λ€νΈμν¬ μ°κ²°μ΄ νμ μμ΄ μ¬μ©μ λλ°μ΄μ€μμ μ§μ λͺ¨λΈμ μ€ννμ¬ λ°μ΄ν° νλΌμ΄λ²μλ₯Ό 보μ₯νκ³ μ μνκ² μ²λ¦¬ν©λλ€.
-
μ±λ₯ λ° μ΅μ ν: μ΅μνμ μ λ ₯κ³Ό λ©λͺ¨λ¦¬ μ¬μ©μΌλ‘ μ΅μ μ μ±λ₯μ λ΄κΈ° μν΄ λλ°μ΄μ€μ CPU, GPU, λ΄λ΄ μμ§μ μ¬μ©ν©λλ€. μ νλλ₯Ό μ μ§νλ©΄μ λͺ¨λΈ μμΆ λ° μ΅μ νλ₯Ό μν λꡬλ₯Ό μ 곡ν©λλ€.
-
ν΅ν©μ μ©μ΄μ±: λ€μν λͺ¨λΈ μ νμ λν ν΅ν© νμκ³Ό μ±μ μννκ² ν΅ν©ν μ μλ μ¬μ©μ μΉνμ μΈ APIλ₯Ό μ 곡ν©λλ€. λΉμ λ° μμ°μ΄μ κ°μ νλ μμν¬λ₯Ό ν΅ν΄ λλ©μΈλ³ μμ μ μ§μν©λλ€.
-
κ³ κΈ κΈ°λ₯: κ°μΈνλ κ²½νμ μν μ¨λλ°μ΄μ€ κ΅μ‘ κΈ°λ₯, λνν ML κ²½νμ μν λΉλκΈ° μμΈ‘, λͺ¨λΈ κ²μ¬ λ° κ²μ¦ λκ΅¬κ° ν¬ν¨λμ΄ μμ΅λλ€.
CoreML λ°°ν¬ μ΅μ
YOLOv8 λͺ¨λΈμ CoreML νμμΌλ‘ λ΄λ³΄λ΄λ μ½λλ₯Ό μ΄ν΄λ³΄κΈ° μ μ CoreML λͺ¨λΈμ΄ μΌλ°μ μΌλ‘ μ¬μ©λλ μμΉλ₯Ό μ΄ν΄ν΄ λ³΄κ² μ΅λλ€.
CoreML λ λ€μκ³Ό κ°μ λ¨Έμ λ¬λ λͺ¨λΈμ μν λ€μν λ°°ν¬ μ΅μ μ μ 곡ν©λλ€:
-
μ¨λλ°μ΄μ€ λ°°ν¬: μ΄ λ°©λ²μ CoreML λͺ¨λΈμ iOS μ±μ μ§μ ν΅ν©ν©λλ€. μ§μ° μκ°μ΄ μ§§κ³ , κ°μΈμ 보 보νΈκ° κ°νλλ©°(λ°μ΄ν°κ° λλ°μ΄μ€μ λ¨μ μκΈ° λλ¬Έμ), μ€νλΌμΈ κΈ°λ₯μ 보μ₯νλ λ° νΉν μ 리ν©λλ€. κ·Έλ¬λ μ΄ μ κ·Ό λ°©μμ νΉν λ ν¬κ³ 볡μ‘ν λͺ¨λΈμ κ²½μ° λλ°μ΄μ€μ νλμ¨μ΄ κΈ°λ₯μ λ°λΌ μ νλ μ μμ΅λλ€. μ¨λλ°μ΄μ€ λ°°ν¬λ λ€μ λ κ°μ§ λ°©λ²μΌλ‘ μ€νν μ μμ΅λλ€.
-
μλ² λλ λͺ¨λΈ: μ΄ λͺ¨λΈμ μ± λ²λ€μ ν¬ν¨λμ΄ μμΌλ©° μ¦μ μ‘μΈμ€ν μ μμ΅λλ€. μμ£Ό μ λ°μ΄νΈν νμκ° μλ μκ·λͺ¨ λͺ¨λΈμ μ΄μμ μ λλ€.
-
λ€μ΄λ‘λν λͺ¨λΈ: μ΄ λͺ¨λΈμ νμμ λ°λΌ μλ²μμ κ°μ Έμ΅λλ€. μ΄ μ κ·Ό λ°©μμ λκ·λͺ¨ λͺ¨λΈμ΄λ μ κΈ°μ μΈ μ λ°μ΄νΈκ° νμν λͺ¨λΈμ μ ν©ν©λλ€. μ± λ²λ€ ν¬κΈ°λ₯Ό μκ² μ μ§νλ λ° λμμ΄ λ©λλ€.
-
-
ν΄λΌμ°λ κΈ°λ° λ°°ν¬: CoreML λͺ¨λΈμ μλ²μμ νΈμ€ν λλ©° API μμ²μ ν΅ν΄ iOS μ±μμ μ‘μΈμ€ν©λλ€. μ΄ νμ₯ κ°λ₯νκ³ μ μ°ν μ΅μ μ μ¬μ©νλ©΄ μ±μ μμ νμ§ μκ³ λ λͺ¨λΈμ μ½κ² μ λ°μ΄νΈν μ μμ΅λλ€. 볡μ‘ν λͺ¨λΈμ΄λ μ κΈ°μ μΈ μ λ°μ΄νΈκ° νμν λκ·λͺ¨ μ±μ μ΄μμ μ λλ€. νμ§λ§ μΈν°λ· μ°κ²°μ΄ νμνλ©° μ§μ° μκ° λ° λ³΄μ λ¬Έμ κ° λ°μν μ μμ΅λλ€.
YOLOv8 λͺ¨λΈλ‘ λ΄λ³΄λ΄κΈ° CoreML
YOLOv8 μ CoreML μΌλ‘ λ΄λ³΄λ΄λ©΄ Apple μμ½μμ€ν λ΄μμ μ΅μ νλ μ¨λλ°μ΄μ€ λ¨Έμ λ¬λ μ±λ₯μ ꡬννμ¬ ν¨μ¨μ±, 보μ, iOS, macOS, watchOS, tvOS νλ«νΌκ³Όμ μνν ν΅ν© μΈ‘λ©΄μμ μ΄μ μ μ»μ μ μμ΅λλ€.
μ€μΉ
νμν ν¨ν€μ§λ₯Ό μ€μΉνλ €λ©΄ μ€νν©λλ€:
μ€μΉ κ³Όμ κ³Ό κ΄λ ¨λ μμΈν μ§μΉ¨κ³Ό λͺ¨λ² μ¬λ‘λ YOLOv8 μ€μΉ κ°μ΄λλ₯Ό μ°Έμ‘°νμΈμ. YOLOv8 μ νμν ν¨ν€μ§λ₯Ό μ€μΉνλ λμ λ¬Έμ κ° λ°μνλ©΄ μΌλ°μ μΈ λ¬Έμ κ°μ΄λλ₯Ό μ°Έμ‘°νμ¬ ν΄κ²° λ°©λ²κ³Ό νμ νμΈνμΈμ.
μ¬μ©λ²
μ¬μ© μ§μΉ¨μ μ΄ν΄λ³΄κΈ° μ μ Ultralytics μμ μ 곡νλ λ€μν YOLOv8 λͺ¨λΈμ νμΈνμΈμ. νλ‘μ νΈ μꡬ μ¬νμ κ°μ₯ μ ν©ν λͺ¨λΈμ μ ννλ λ° λμμ΄ λ κ²μ λλ€.
μ¬μ©λ²
from ultralytics import YOLO
# Load the YOLOv8 model
model = YOLO('yolov8n.pt')
# Export the model to CoreML format
model.export(format='coreml') # creates 'yolov8n.mlpackage'
# Load the exported CoreML model
coreml_model = YOLO('yolov8n.mlpackage')
# Run inference
results = coreml_model('https://ultralytics.com/images/bus.jpg')
λ΄λ³΄λ΄κΈ° νλ‘μΈμ€μ λν μμΈν λ΄μ©μ λ΄λ³΄λ΄κΈ° κ΄λ ¨ λ¬Έμ νμ΄μ§(Ultralytics )λ₯Ό μ°Έμ‘°νμΈμ.
λ΄λ³΄λΈ YOLOv8 CoreML λͺ¨λΈ λ°°ν¬
Ultralytics YOLOv8 λͺ¨λΈμ CoreML μΌλ‘ μ±κ³΅μ μΌλ‘ λ΄λ³΄λΈ λ€μ μ€μν λ¨κ³λ μ΄λ¬ν λͺ¨λΈμ ν¨κ³Όμ μΌλ‘ λ°°ν¬νλ κ²μ λλ€. λ€μν νκ²½μμ CoreML λͺ¨λΈμ λ°°ν¬νλ λ°©λ²μ λν μμΈν μ§μΉ¨μ λ€μ 리μμ€λ₯Ό μ°Έμ‘°νμΈμ:
-
CoreML λꡬ: μ΄ κ°μ΄λμλ TensorFlow, PyTorch, κΈ°ν λΌμ΄λΈλ¬λ¦¬μμ Core MLλ‘ λͺ¨λΈμ λ³ννλ μ§μΉ¨κ³Ό μμ κ° ν¬ν¨λμ΄ μμ΅λλ€.
-
ML λ° λΉμ : CoreML λͺ¨λΈ μ¬μ© λ° κ΅¬νμ λ€μν μΈ‘λ©΄μ λ€λ£¨λ ν¬κ΄μ μΈ λμμ λͺ¨μμ λλ€.
-
μ±μ ν΅μ¬ ML λͺ¨λΈ ν΅ν©νκΈ°: CoreML λͺ¨λΈμ iOS μ ν리μΌμ΄μ μ ν΅ν©νλ λ°©λ²μ λν ν¬κ΄μ μΈ κ°μ΄λλ‘, λͺ¨λΈ μ€λΉλΆν° λ€μν κΈ°λ₯μ μν΄ μ±μμ ꡬννλ λ¨κ³κΉμ§ μμΈν μ€λͺ ν©λλ€.
μμ½
μ΄ κ°μ΄λμμλ Ultralytics YOLOv8 λͺ¨λΈμ CoreML νμμΌλ‘ λ΄λ³΄λ΄λ λ°©λ²μ μ΄ν΄λ΄€μ΅λλ€. μ΄ κ°μ΄λμ μ€λͺ λ λ¨κ³λ₯Ό λ°λ₯΄λ©΄ YOLOv8 λͺ¨λΈμ CoreML μΌλ‘ λ΄λ³΄λΌ λ μ΅λνμ νΈνμ±κ³Ό μ±λ₯μ 보μ₯ν μ μμ΅λλ€.
μ¬μ©λ²μ λν μμΈν λ΄μ©μ CoreML 곡μ λ¬Έμλ₯Ό μ°Έμ‘°νμΈμ.
λν λ€λ₯Έ ν΅ν©μ λν΄ μμΈν μκ³ μΆλ€λ©΄ Ultralytics YOLOv8 ν΅ν© κ°μ΄λ νμ΄μ§λ₯Ό λ°©λ¬ΈνμΈμ. μ μ©ν 리μμ€μ μΈμ¬μ΄νΈλ₯Ό λ§μ΄ μ°Ύμ μ μμ΅λλ€.
μμ± 2024-02-07, μ λ°μ΄νΈ 2024-03-03
μ μ: glenn-jocher (1), RizwanMunawar (1), abirami-vina (1)