FOMO là một mạng nơ-ron TinyML cho việc nhận diện đối tượng trong thời gian thực
Bài viết này là một phần của sự đưa tin về những điều mới nhất trong nghiên cứu AI.
Một kỹ thuật học máy mới được phát triển bởi các nhà nghiên cứu tại Edge Impulse, một nền tảng để tạo các mô hình ML cho các thiết bị ở Edge, giúp chạy nhận diện đối tượng thời gian thực trên các thiết bị với khả năng tính toán và bộ nhớ rất nhỏ. Được gọi là Faster Objects, More Objects (FOMO), kiến trúc học sâu mới này có thể mở khóa ứng dụng thị giác máy tính mới.
Hầu hết các mô hình nhận diện đối tượng sâu rộng có yêu cầu về bộ nhớ và tính toán nằm ngoài khả năng của các bộ xử lý nhỏ. Ngược lại, FOMO chỉ cần vài trăm kilobyte bộ nhớ, điều này làm cho nó trở thành một kỹ thuật tuyệt vời cho TinyML, một phân nhóm của học máy tập trung vào việc chạy mô hình ML trên các vi điều khiển và các thiết bị có bộ nhớ hạn chế hoặc không có kết nối internet.
Phân loại hình ảnh so với nhận diện đối tượng
TinyML đã đạt được tiến bộ lớn trong việc phân loại hình ảnh, nơi mô hình học máy chỉ cần dự đoán sự xuất hiện của một loại đối tượng cụ thể trong một hình ảnh. Ngược lại, nhận diện đối tượng đòi hỏi mô hình phải xác định hơn một đối tượng cũng như hộp giới hạn của mỗi trường hợp.
TNW Conference 2024 - Mời tất cả các Startup tham gia vào ngày 20-21 tháng 6
Trình diễn Startup của bạn trước các nhà đầu tư, những người thay đổi và khách hàng tiềm năng với gói Startup được chọn lọc của chúng tôi.

Mô hình nhận diện đối tượng phức tạp hơn nhiều so với các mạng phân loại hình ảnh và đòi hỏi nhiều bộ nhớ hơn.
“Chúng tôi đã thêm hỗ trợ thị giác máy tính vào Edge Impulse từ năm 2020, và chúng tôi đã thấy một sự gia tăng đáng kể về các ứng dụng (40% trong số dự án của chúng tôi là ứng dụng thị giác máy tính),” Jan Jongboom, CTO tại Edge Impulse, nói với TechTalks. “Nhưng với các mô hình hiện đại nhất, bạn chỉ có thể thực hiện phân loại hình ảnh trên vi điều khiển.”
Phân loại hình ảnh rất hữu ích cho nhiều ứng dụng. Ví dụ, một camera an ninh có thể sử dụng phân loại hình ảnh TinyML để xác định xem có người trong khung hình hay không. Tuy nhiên, có thể làm nhiều công việc hơn.
“Đó là một sự phiền toái lớn khi bạn chỉ được giới hạn trong những nhiệm vụ phân loại cơ bản này. Có nhiều giá trị khi thấy ‘có ba người ở đây’ hoặc ‘nhãn này ở góc trên bên trái,’ ví dụ, đếm đối tượng là một trong những yêu cầu lớn nhất chúng tôi thấy trên thị trường hiện nay,” Jongboom nói.
Các mô hình ML nhận diện đối tượng trước đây phải xử lý ảnh đầu vào nhiều lần để định vị các đối tượng, điều này làm cho chúng chậm và tốn nhiều tính toán. Các mô hình gần đây như YOLO (You Only Look Once) sử dụng phát hiện một lần để cung cấp nhận diện đối tượng gần thời gian thực. Nhưng yêu cầu bộ nhớ của chúng vẫn lớn. Ngay cả các mô hình được thiết kế cho ứng dụng ở Edge cũng khó chạy trên các thiết bị nhỏ.
“YOLOv5 hoặc MobileNet SSD chỉ là những mạng lưới cực kỳ lớn mà sẽ không bao giờ vừa vặn trên MCU và khó chứa trên các thiết bị loại Raspberry Pi,” Jongboom nói.
Hơn nữa, những mô hình này không tốt trong việc nhận diện các đối tượng nhỏ và chúng cần rất nhiều dữ liệu. Ví dụ, YOLOv5 đề xuất hơn 10,000 trường hợp đào tạo cho mỗi lớp đối tượng.
Ý tưởng đằng sau FOMO là không phải tất cả các ứng dụng nhận diện đối tượng đều đòi hỏi đầu ra chính xác cao mà các mô hình học sâu hiện đại cung cấp. Bằng cách tìm sự cân đối đúng giữa độ chính xác, tốc độ và bộ nhớ, bạn có thể làm cho các mô hình học sâu của mình trở nên rất nhỏ trong khi vẫn giữ cho chúng hữu ích.
Thay vì nhận diện hộp giới hạn, FOMO dự đoán trung tâm của đối tượng. Điều này là vì nhiều ứng dụng nhận diện đối tượng chỉ quan tâm đến vị trí của đối tượng trong khung hình chứ không phải kích thước của chúng. Việc nhận diện trọng tâm hiệu suất tính toán nhiều hơn so với dự đoán hộp giới hạn và yêu cầu ít dữ liệu hơn.

Định nghĩa lại kiến trúc học sâu cho nhận diện đối tượng
FOMO cũng áp dụng một thay đổi cấu trúc lớn vào kiến trúc học sâu truyền thống.
Các bộ nhận diện đối tượng một lần chỉ gồm một tập hợp các lớp tích chập để trích xuất đặc trưng và một số lớp kết nối đầy đủ để dự đoán hộp giới hạn. Các lớp tích chập trích xuất đặc trưng hình ảnh theo cách phân cấp. Lớp đầu tiên phát hiện những thứ đơn giản như đường và cạnh theo các hướng khác nhau. Thông thường, mỗi lớp tích chập được kết hợp với một lớp gộp, giảm kích thước đầu ra của lớp và giữ lại những đặc điểm nổi bật nhất trong mỗi khu vực.
Đầu ra của lớp gộp sau đó được đưa vào lớp tích chập tiếp theo, trích xuất đặc trưng cấp cao hơn, chẳng hạn như góc, cung và vòng tròn. Khi thêm nhiều lớp tích chập và lớp gộp, các bản đồ đặc trưng zoom ra và có thể phát hiện những thứ phức tạp như khuôn mặt và đối tượng.
Each layer of the neural network encodes specific features from the input image.Cuối cùng, các lớp kết nối đầy đủ làm phẳng đầu ra của lớp tích chập cuối cùng và cố gắng dự đoán lớp và hộp giới hạn của đối tượng.
FOMO loại bỏ các lớp kết nối đầy đủ và một số lớp tích chập cuối cùng. Điều này biến đầu ra của mạng nơ-ron thành một phiên bản giảm kích thước của hình ảnh, với mỗi giá trị đầu ra đại diện cho một miếng nhỏ của hình ảnh đầu vào. Sau đó, mạng được đào tạo trên một hàm mất riêng biệt để mỗi đơn vị đầu ra dự đoán xác suất lớp cho miếng tương ứng trong hình ảnh đầu vào. Đầu ra thực sự trở thành một bản đồ nhiệt cho các loại đối tượng.
FOMO’s output layer produces a heatmap of class probabilities for each corresponding area in the input image.Có nhiều lợi ích chính của phương pháp này. Đầu tiên, FOMO tương thích với các kiến trúc hiện tại. Ví dụ, FOMO có thể được áp dụng vào MobileNetV2, một mô hình học sâu phổ biến cho phân loại hình ảnh trên các thiết bị Edge.
Ngoài ra, bằng cách giảm kích thước mạng nơ-ron đáng kể, FOMO giảm yêu cầu về bộ nhớ và tính toán của các mô hình nhận diện đối tượng. Theo Edge Impulse, nó nhanh hơn 30 lần so với MobileNet SSD trong khi có thể chạy trên các thiết bị có ít hơn 200 kilobyte RAM.
Ví dụ, video dưới đây cho thấy một mạng nơ-ron FOMO phát hiện đối tượng ở 30 khung hình mỗi giây trên một Arduino Nicla Vision với hơn 200 kilobyte bộ nhớ. Trên Raspberry Pi 4, FOMO có thể phát hiện đối tượng ở 60fps so với hiệu suất 2fps của MobileNet SSD.
Jongboom nói với tôi rằng FOMO được truyền cảm hứng từ công việc mà Mat Kelcey, Kỹ sư chính tại Edge Impulse, thực hiện về kiến trúc mạng nơ-ron để đếm ong.
“Các thuật toán nhận diện đối tượng truyền thống (YOLOv5, MobileNet SSD) không tốt trong loại vấn đề này (đối tượng có kích thước tương tự, nhiều đối tượng rất nhỏ) nên anh ấy đã thiết kế một kiến trúc tùy chỉnh tối ưu cho những vấn đề này,” ông nói.
Độ chi tiết của đầu ra của FOMO có thể được cấu hình dựa trên ứng dụng và có thể phát hiện nhiều trường hợp của đối tượng trong một hình ảnh.
FOMO can detect many small object instances in an imageGiới hạn của FOMO
Những lợi ích của FOMO không đi kèm với sự đánh đổi. Nó hoạt động tốt nhất khi các đối tượng có kích thước giống nhau. Giống như một lưới các hình vuông có kích thước bằng nhau, mỗi hình vuông phát hiện một đối tượng. Do đó, nếu có một đối tượng rất lớn ở phía trước và nhiều đối tượng nhỏ ở phía sau, nó sẽ không hoạt động tốt.
Ngoài ra, khi các đối tượng quá gần nhau hoặc chồng lấp nhau, chúng sẽ chiếm cùng một ô lưới, làm giảm độ chính xác của bộ nhận diện đối tượng (xem video dưới đây). Bạn có thể vượt qua giới hạn này đến một mức độ bằng cách giảm kích thước ô của FOMO hoặc tăng độ phân giải hình ảnh.
FOMO đặc biệt hữu ích khi máy ảnh ở vị trí cố định, ví dụ như quét các đối tượng trên băng chuyền hoặc đếm ô tô trong bãi đỗ xe.
Đội ngũ Edge Impulse dự định mở rộng công việc của họ trong tương lai, bao gồm việc làm cho mô hình còn nhỏ hơn, dưới 100 kilobyte và làm cho nó tốt hơn trong việc học chuyển giao.
Bài viết này ban đầu được viết bởi Ben Dickson và được xuất bản bởi Ben Dickson trên TechTalks, một xuất bản phẩm nghiên cứu xu hướng công nghệ, cách chúng ảnh hưởng đến cuộc sống và kinh doanh của chúng ta, và các vấn đề mà chúng giải quyết. Nhưng chúng tôi cũng thảo luận về mặt tối của công nghệ, những hậu quả đen tối của công nghệ mới, và những điều chúng ta cần phải chú ý. Bạn có thể đọc bài viết gốc tại đây.
