Hôm nay, chúng ta sẽ cùng review thuật toán SSD, một thuật toán mà chúng ta chỉ cần thực hiện một lần để predict ra nhiều đối tượng trong một ảnh, trong khi các thuật toán sử dụng Regional Proposal Network (RPN) ví dụ như R-CNN, phải thực hiện 2 lần, một lần cho việc tìm kiếm region proposals, một lần cho việc detect object trên từng region proposals. Vì thế SSD có thể sử dụng trong các ứng dụng real-time vì tốc độ của nó.
R-CNN (Region-based Convolutional Neural Networks) là thuật toán detect object, ý tưởng thuật toán này chia làm 2 bước chính. Đầu tiên, sử dụng selective search để đi tìm những bounding-box phù hợp nhất (ROI hay region of interest). Sau đó sử dụng CNN để extract feature từ những bounding-box đó.
SURF descriptors, được giới thiệu bởi Bay et al. trong bài báo ECCV năm 2006, SURF: Speeded Up Robust Feature, thuật toán này rất giống với SIFT descriptor - nhưng mang hai ưu điểm chính.
RootSIFT được xem như là một extension của SIFT, được sử dụng để tăng đáng kể độ chính xác nhận dạng đối tượng, lượng tử hóa và độ chính xác truy xuất. Tuy nhiên, việc implement vô cùng đơn giản và bạn không cần phải thay đổi source code của thuật toán SIFT ban đầu
SIFT thực sự dễ hiểu hơn rất nhiều so với thuật toán Difference of Gaussian (DoG) cũng được David Lowe đề xuất trong bài báo ICCV năm 1999 của mình, Object recognition from local scale-invariant features.
Thuật toán SIFT yêu cầu một tập hợp các input keypoint. Sau đó, đối với mỗi input keypoint, SIFT lấy vùng 16 x 16 pixel bao quanh pixel trung tâm của vùng keypoint:
Bài viết này tập trung vào bài báo “Going deeper with convolutions” mà từ đó ý tưởng nổi bật về mạng Inception được đưa ra. Mạng Inception đã từng được coi là một kiến trúc (hoặc mô hình) học tập tối tân (SOTA) để giải quyết các vấn đề nhận dạng và phát hiện hình ảnh.
Phân loại hình ảnh, ở cốt lõi của nó, là nhiệm vụ gán nhãn cho hình ảnh từ một định nghĩa. Thực tế, điều này có nghĩa là nhiệm vụ của chúng ta là phân tích một hình ảnh đầu vào và trả lại một nhãn phân loại hình ảnh. Nhãn luôn từ một tập hợp các danh mục có thể được xác định trước.1. Phân loại ảnh là gì?
Ngày nay, Face detection luôn là một chủ đề thú vị, chủ yếu là vì kết quả rất trực quan - và nó không cần nhiều trí tưởng tượng để hiểu cách face detection có thể được sử dụng trong các ứng dụng trong thế giới thực. Từ hệ thống an ninh gia đình, đến giám sát, hoặc chỉ đơn giản là điều khiển TV của bạn, nhận diện khuôn mặt là một phần quan trọng của thị giác máy tính. Và hôm nay, chúng ta có thể khám phá cách thức mà nó thực hiện trong OpenCV.
Tiếp tục series về Keypoint Detector, hôm nay mình sẽ giới thiệu một thuật toán mới để xác định keypoint trong một bức ảnh: GFTT - Good Features to Track.
Thuật toán này được giới thiệu trong bài báo khoa học của Shi-Tomasi năm 1994 Good Features to Track. GFTT là một phiên bản chỉnh sửa của thuật toán Harris (để biết thêm về Harris, các bạn hãy xem tại đây)
Harris keypoint detetor được Harris và Stephens giới thiệu vào năm 1988 trong bài báo A Combined Corner and Edge Detox. Đây là một trong những thuật toán xác định corners phổ biến nhất mà bạn sẽ gặp rất nhiều trong thế giới computer vision. Thuật toán này khá nhanh (không nhanh bằng FAST keypoint detector), nhưng độ chính xác khi xác định góc lại tốt hơn.
FAST keypoint detector được sử dụng để phát hiện các góc trong hình ảnh, được triển khai trong thư viện OpenCV và được áp dụng nhiều nhất cho các ứng dụng thời gian thực hoặc các thiết bị bị hạn chế tài nguyên, nơi không có nhiều thời gian tính toán hoặc sức mạnh để sử dụng các keypoint detector tiên tiến hơn.
Đôi khi, hình ảnh được chụp từ máy ảnh có thể cung cấp chất lượng thấp, điều này thường xuyên xảy ra trong điều kiện ánh sáng không đảm bảo (quá sáng hoặc quá tối). Để giải quyết vấn đề này, cách thông dụng nhất trong việc xử lý các bức ảnh có chất lượng thấp là chúng ta sẽ thực hiện chỉnh sửa trên từng điểm ảnh. Phương pháp này gọi là Point Operation.