Đưa Ultralytics YOLO11 lên các thiết bị Apple thông qua CoreML
Xem cách dễ dàng đưa Ultralytics YOLO11 lên các thiết bị Apple với CoreML và kích hoạt các tác vụ thị giác máy tính ngoại tuyến nhanh chóng cho các ứng dụng iOS thời gian thực.

Với việc Apple giới thiệu các tính năng như Apple Intelligence, rõ ràng AI trên thiết bị đang trở thành một phần trọng tâm trong cách chúng ta sử dụng điện thoại. Đối với các nhà phát triển, sự thay đổi này có nghĩa là người dùng đang áp dụng các ứng dụng iOS tận dụng các khả năng như computer vision để mang lại trải nghiệm thông minh hơn, phản hồi nhanh hơn.
Computer vision là một dạng trí tuệ nhân tạo (AI) cho phép máy tính hiểu và phân tích thông tin trực quan, chẳng hạn như hình ảnh hoặc video. Trên các thiết bị di động, công nghệ này có thể được sử dụng theo thời gian thực để phát hiện, phân loại và tương tác với các đối tượng thông qua camera của điện thoại. Các model Vision AI như Ultralytics YOLO11 có thể được huấn luyện tùy chỉnh để nhận diện các đối tượng cụ thể, tùy thuộc vào nhu cầu ứng dụng của bạn.
Tuy nhiên, YOLO11 của Ultralytics không được thiết lập để chạy ngay trên iOS mà không cần qua các bước trung gian. Để triển khai YOLO11 trên iPhone hoặc các thiết bị Apple khác, đặc biệt là cho mục đích sử dụng ngoại tuyến, mô hình này cần được chuyển đổi sang định dạng tối ưu hóa cho hệ sinh thái của Apple.
Đây chính xác là loại vấn đề mà CoreML được xây dựng để giải quyết. CoreML là framework machine learning của Apple, được xây dựng để chạy các model cục bộ và tích hợp mượt mà vào các ứng dụng iOS và macOS. Tính năng CoreML integration, được hỗ trợ bởi Ultralytics, giúp việc xuất model của bạn để triển khai cục bộ trên iPhone trở nên dễ dàng.
Trong bài viết này, chúng ta sẽ tìm hiểu kỹ hơn cách xuất model Ultralytics YOLO11 sang định dạng CoreML. Chúng ta cũng sẽ khám phá các use case thời gian thực cho thấy ưu điểm của việc chạy các model computer vision trực tiếp trên thiết bị iOS. Hãy bắt đầu ngay!
CoreML là gì?#
CoreML là một machine learning (ML) framework do Apple phát triển, giúp các nhà phát triển tích hợp trực tiếp các model ML đã được huấn luyện vào các ứng dụng trong toàn bộ hệ sinh thái của Apple, bao gồm iOS (iPhone và iPad), macOS (Mac), watchOS (Apple Watch) và tvOS (Apple TV). Framework này được thiết kế để làm cho machine learning dễ tiếp cận và hiệu quả trên các thiết bị Apple bằng cách cho phép các model chạy trực tiếp trên thiết bị mà không cần kết nối internet.
Cốt lõi của CoreML là một định dạng model thống nhất hỗ trợ nhiều tác vụ AI như phân loại hình ảnh, phát hiện đối tượng, nhận dạng giọng nói và xử lý ngôn ngữ tự nhiên. Framework này được tối ưu hóa để tận dụng tối đa phần cứng của Apple, sử dụng CPU (central processing unit), GPU (graphics processing unit) và ANE (Apple Neural Engine) để thực thi các model một cách nhanh chóng và hiệu quả.
CoreML hỗ trợ nhiều loại model và tương thích với các thư viện machine learning phổ biến, bao gồm TensorFlow, PyTorch, scikit-learn, XGBoost và LibSVM. Điều này giúp các nhà phát triển dễ dàng mang các khả năng ML tiên tiến vào các ứng dụng hàng ngày đồng thời đảm bảo chúng chạy mượt mà trên các thiết bị Apple.

Hình 1. CoreML hỗ trợ các model từ các framework AI phổ biến khác (Nguồn).
Các tính năng chính của CoreML#
Dưới đây là một số tính năng chính giúp CoreML trở thành công cụ đáng tin cậy để tích hợp AI vào các ứng dụng Apple:
- Model optimization: CoreML hỗ trợ các kỹ thuật nén như quantization và pruning để giảm kích thước model và cải thiện hiệu năng khi chạy.
- Cá nhân hóa trên thiết bị: Framework ML của Apple hỗ trợ cá nhân hóa trên thiết bị, cho phép các model được huấn luyện và cập nhật cục bộ dựa trên tương tác của người dùng.
- Dự đoán bất đồng bộ (Asynchronous predictions): Framework này cho phép ứng dụng của bạn chạy dự đoán ở chế độ nền, giữ cho giao diện người dùng mượt mà và phản hồi nhanh trong khi xử lý các tác vụ AI.
- Multi-task learning: CoreML hỗ trợ các model có thể thực hiện nhiều tác vụ cùng lúc, như phát hiện đối tượng và nhận dạng văn bản trong cùng một hình ảnh.
Cách xuất Ultralytics YOLO11 sang định dạng CoreML#
Bây giờ chúng ta đã hiểu rõ hơn về framework CoreML, hãy cùng đi qua cách sử dụng tích hợp CoreML được Ultralytics hỗ trợ để xuất model YOLO11 sang định dạng CoreML.
Bước 1: Thiết lập môi trường của bạn#
Để truy cập các tính năng tích hợp do Ultralytics cung cấp, hãy bắt đầu bằng việc cài đặt Ultralytics Python package. Đây là một thư viện nhẹ, dễ sử dụng, đơn giản hóa các tác vụ như huấn luyện, đánh giá, dự đoán và xuất các model Ultralytics YOLO.
Bạn có thể cài đặt gói Python của Ultralytics bằng cách chạy “pip install ultralytics” trong terminal dòng lệnh của bạn. Nếu bạn đang sử dụng môi trường như Jupyter Notebook hoặc Google Colab, hãy thêm dấu chấm than (!) trước lệnh: “!pip install ultralytics”.
Nếu bạn gặp bất kỳ vấn đề nào trong quá trình cài đặt hoặc khi xuất sang CoreML, hãy tham khảo tài liệu chính thức của Ultralytics hoặc hướng dẫn Common Issues guide để được hỗ trợ.
Bước 2: Xuất Ultralytics YOLO11 sang CoreML#
Sau khi cài đặt thành công package, bạn đã sẵn sàng load một model Ultralytics YOLO11 và chuyển đổi nó sang định dạng CoreML.
Nếu bạn chưa chắc chắn nên sử dụng model YOLO11 được huấn luyện sẵn nào, bạn có thể khám phá dải các models supported bởi Ultralytics. Mỗi model mang lại sự cân bằng khác nhau về tốc độ, kích thước và độ chính xác, và bạn có thể chọn model phù hợp nhất cho dự án của mình. Bạn cũng có thể sử dụng một model YOLO11 huấn luyện tùy chỉnh nếu bạn đã tự huấn luyện trên tập dữ liệu của riêng mình.
Trong đoạn mã dưới đây, một tệp model YOLO11 tiền huấn luyện có tên "yolo11n.pt" được sử dụng. Trong quá trình xuất, nó được chuyển đổi thành một gói CoreML có tên "yolo11n.mlpackage."
Model "yolo11n" là phiên bản nano, được tối ưu hóa cho tốc độ và mức sử dụng tài nguyên thấp. Tùy thuộc vào nhu cầu của dự án, bạn cũng có thể chọn các kích thước model khác như "s" cho nhỏ, "m" cho trung bình, "l" cho lớn hoặc "x" cho cực lớn. Mỗi phiên bản cung cấp sự cân bằng khác nhau giữa hiệu suất và độ chính xác.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="coreml")Bước 3: Chạy inference bằng model CoreML đã xuất#
Sau khi xuất sang định dạng CoreML, Ultralytics YOLO11 có thể được tích hợp dễ dàng vào các ứng dụng iOS, hỗ trợ các tác vụ computer vision thời gian thực như object detection trên các thiết bị như iPhone, iPad và Mac.
Ví dụ, đoạn mã dưới đây minh họa cách tải model CoreML đã xuất và thực hiện inference. Inference là quá trình sử dụng một model đã được huấn luyện để đưa ra các dự đoán trên dữ liệu mới. Trong trường hợp này, model phân tích một hình ảnh gia đình đang chơi bóng.
coreml_model = YOLO("yolo11n.mlpackage")
results = coreml_model("https://images.pexels.com/photos/4933841/pexels-photo-4933841.jpeg", save=True)Sau khi chạy mã, hình ảnh đầu ra sẽ được lưu trong thư mục "runs/detect/predict".

Hình 2. Sử dụng model Ultralytics YOLO11 đã xuất ở định dạng CoreML để phát hiện đối tượng. Hình ảnh bởi tác giả.
Các model CoreML đã xuất có thể được sử dụng ở đâu?#
Việc xuất Ultralytics YOLO11 sang CoreML mang lại sự linh hoạt để xây dựng các ứng dụng computer vision đa dạng có thể chạy hiệu quả trên iPhone, iPad và Mac. Tiếp theo, hãy xem xét một số kịch bản thực tế nơi sự tích hợp này tỏ ra đặc biệt hữu ích.
Các ứng dụng thực tế tăng cường (AR) và trò chơi được điều khiển bởi các model CoreML#
Augmented reality (AR) kết hợp nội dung kỹ thuật số với thế giới thực bằng cách phủ các yếu tố ảo lên các khung hình camera trực tiếp. Công nghệ này đang trở thành một phần cốt lõi của game di động, tạo ra những trải nghiệm mang tính tương tác và chìm đắm hơn.
Với Ultralytics YOLO11 được xuất sang định dạng CoreML, các lập trình viên iOS có thể xây dựng các tựa game AR nhận diện các vật thể thực tế như ghế đá, cây cối hoặc biển báo bằng camera của điện thoại. Trò chơi sau đó có thể phủ các vật phẩm ảo, chẳng hạn như tiền xu, manh mối hoặc sinh vật, lên trên các vật thể này để nâng cao trải nghiệm xung quanh của người chơi.
Đằng sau hậu trường, quá trình này hoạt động bằng cách sử dụng object detection và object tracking. Ultralytics YOLO11 phát hiện và nhận diện các vật thể trong thời gian thực, trong khi tính năng tracking giữ cho các vật thể đó luôn trong khung nhìn khi camera di chuyển, đảm bảo các yếu tố ảo luôn căn chỉnh chính xác với thế giới thực.
Người chơi có thể hướng điện thoại của họ, khám phá môi trường xung quanh và tương tác với những gì họ thấy để thu thập vật phẩm hoặc hoàn thành các thử thách nhanh. Tất cả những điều này có thể chạy trực tiếp trên thiết bị mà không cần kết nối internet, làm cho trải nghiệm trở nên mượt mà và hấp dẫn.
Các ứng dụng iOS tích hợp các model CoreML cho ANPR thời gian thực#
Automatic Number Plate Recognition (ANPR) là một ứng dụng computer vision được sử dụng để phát hiện và đọc biển số xe. Ứng dụng này thường được dùng trong các hệ thống an ninh, giám sát giao thông và kiểm soát ra vào. Với CoreML và các model như YOLO11, ANPR giờ đây có thể chạy hiệu quả trên các thiết bị iOS.
Việc sở hữu một ứng dụng ANPR trên iPhone có thể đặc biệt hữu ích trong các môi trường tập trung vào an ninh. Ví dụ, nó có thể giúp các đội nhanh chóng xác định xem một phương tiện đi vào khu vực hạn chế có được ủy quyền hay không.
Một ứng dụng như vậy có thể sử dụng một vision AI model như Ultralytics YOLO11, được tích hợp thông qua CoreML, để phát hiện các phương tiện và định vị biển số của chúng trong thời gian thực bằng camera của thiết bị. Khi phát hiện ra biển số, công nghệ Optical Character Recognition (OCR) có thể đọc số biển số. Ứng dụng sau đó có thể so sánh số này với cơ sở dữ liệu cục bộ hoặc trên đám mây để xác minh quyền truy cập hoặc gắn cờ các phương tiện trái phép.

Hình 3. Vision AI có thể được sử dụng để phát hiện và đọc số biển số xe. (Nguồn).
Các ứng dụng tập trung vào khả năng tiếp cận có thể tận dụng các model CoreML#
AI đã tạo ra tác động lớn đối với accessibility, giúp phá bỏ các rào cản cho những người khiếm thị. Với các công cụ như CoreML và các computer vision model như Ultralytics YOLO11, các lập trình viên có thể xây dựng các ứng dụng iOS mô tả thế giới xung quanh người dùng trong thời gian thực, giúp các công việc hàng ngày trở nên dễ dàng và độc lập hơn.
Ví dụ, một người khiếm thị có thể hướng camera iPhone của họ vào môi trường xung quanh. Ứng dụng sử dụng phát hiện đối tượng để nhận diện các phần tử chính, như phương tiện, con người hoặc biển báo đường phố và mô tả những gì nó nhìn thấy. Điều này có thể được sử dụng trong các tình huống như điều hướng trên đường phố đông đúc hoặc hiểu biết về tình trạng khẩn cấp.

Hình 4. Ví dụ về việc sử dụng Ultralytics YOLO11 để phát hiện người
Các điểm chính cần lưu ý#
Việc xuất Ultralytics YOLO11 sang định dạng CoreML tạo ra những cơ hội mới cho các ứng dụng thời gian thực, bao gồm cả object detection ngoại tuyến trên các thiết bị iOS. Từ nông nghiệp, bảo mật cho đến accessibility, sự kết hợp này cho phép các lập trình viên xây dựng các ứng dụng thông minh, hiệu quả và tập trung vào quyền riêng tư chạy hoàn toàn trên thiết bị.
Chỉ với vài bước đơn giản, bạn có thể chuyển đổi model Ultralytics YOLO11 và bổ sung các tính năng computer vision đáng tin cậy cho iPhone. Tuyệt vời nhất là nó hoạt động mà không cần kết nối internet. Nhìn chung, việc tích hợp CoreML mang sức mạnh của AI nâng cao vào các ứng dụng di động hàng ngày, giúp chúng nhanh hơn, phản hồi tốt hơn và sẵn sàng chạy ở bất cứ đâu.
Bạn muốn tìm hiểu thêm về AI? Hãy khám phá GitHub repository của chúng tôi, kết nối với our community và xem qua our licensing options để bắt đầu nhanh chóng cho dự án computer vision của bạn. Tìm hiểu cách các đổi mới như AI in retail và computer vision in logistics đang định hình tương lai trên các trang giải pháp của chúng tôi.






