Trong luận văn, chúng tơi trình bày một phương pháp nhận dạng logo với giải thuật Nạve Bayes Neareast Neighbor NBNN sử dụng đặc trưng DSIFT.. Do đó, trong thời gian qua, có nhiều nghiên
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CẦN THƠ
VÕ THÀNH C
NHẬN DẠNG LOGO VỚI GIẢI THUẬT
NAIVE BAYES NEAREST NEIGHBOR
SỬ DỤNG ĐẶC TRƯNG DSIFT
Chuyên ngành: HỆ THỐNG THÔNG TIN
Mã số: 60 48 01 04
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Người hướng dẫn khoa học
TS Đỗ Thanh Nghị
TS Phạm Nguyên Khang
Cần Thơ – 2015
Trang 2iii
MỤC LỤC
DANH MỤC HÌNH v
DANH MỤC BẢNG vii
DANH MỤC CÁC TỪ VIẾT TẮT viii
TÓM TẮT ix
ABSTRACT x
MỞ ĐẦU 1
1 Đặt vấn đề 1
2 Mục tiêu của đề tài 2
3 Đối tượng và phạm vi nghiên cứu 2
4 Cấu trúc của luận văn 2
Chương 1 GIỚI THIỆU VỀ HỆ THỐNG NHẬN DẠNG LOGO VÀ CÁC NGHIÊN CỨU LIÊN QUAN 4
1.1 Giới thiệu về hệ thống nhận dạng logo 5
1.2 Các công trình nghiên cứu liên quan 6
Chương 2 ĐỊNH VỊ LOGO VỚI GIẢI THUẬT CASCADE OF BOOSTED SỬ DỤNG ĐẶC TRƯNG HAAR-LIKE 10
2.1 Đặc trưng Haar-like 10
2.2 Boosting 13
2.3 AdaBoost 15
2.4 Mô hình Cascade of Boosted Classifiers 16
Chương 3 NHẬN DẠNG LOGO VỚI GIẢI THUẬT NAIVE BAYES NEAREST NEIGHBOR SỬ DỤNG ĐẶC TRƯNG DSIFT 19
3.1 Giới thiệu về SIFT 19
3.1.1 Phát hiện các điểm cực trị (Detect of scale-space extrema) 20
3.1.2 Định vị các điểm hấp dẫn (Keypoint localization) 24
3.1.3 Gán hướng cho các điểm đặc trưng (Orientation assignment) 26
3.1.4 Tạo bộ mô tả cục bộ (Keypoint descriptor) 27
3.2 Đặc trưng DSIFT 28
3.3 Giải thuật Naive Bayes Nearest Neighbor 29
Chương 4 XÂY DỰNG HỆ THỐNG NHẬN DẠNG LOGO 34
4.1 Kiến trúc của hệ thống nhận dạng logo đề xuất 34
Trang 3iv
4.2 Thiết kế hệ thống 35
4.2.1 Xây dựng mô hình máy học để định vị logo 35
4.2.2 Thiết kế cơ sở dữ liệu 38
4.2.3 Thiết kế giao diện 39
4.3 Thực nghiệm 39
4.3.1 Chuẩn bị tập dữ liệu 40
4.3.2 Kết quả thực nghiệm phát hiện và định vị logo 42
4.3.3 Kết quả thực nghiệm nhận dạng logo 44
Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 50
5.1 Kết quả đạt được 50
5.2 Hướng phát triển 51
TÀI LIỆU THAM KHẢO 52
PHỤ LỤC 56
Trang 4v
DANH MỤC HÌNH
Hình 1 1: Logo BMW có những thay đổi về chi tiết bên trong 4
Hình 1 2: Hệ thống nhận dạng logo tổng quát 5
Hình 2 1: Các đặc trưng Haar-like cơ bản 10
Hình 2 2: Các đặc trưng Haar-like mở rộng 11
Hình 2 3: Mô tả cách tính giá trị 1 điểm có tọa độ (x, y) trong ảnh tích phân 12
Hình 2 4: Tính nhanh các điểm ảnh của vùng D trên ảnh 12
Hình 2 5: Tính nhanh tổng điểm ảnh của vùng D trên ảnh 13
Hình 2 6: Boosting 15
Hình 2 7: Mô hình Cascade of Boosted 17
Hình 3 1: Minh họa các bước chính trong giải thuật SIFT 20
Hình 3 2: Quá trình tính không gian đo (L) và hàm sai khác D 22
Hình 3 3: Quá trình tìm điểm cực trị trong các hàm sai khác DoG 23
Hình 3 4: Mô phỏng sử dụng công thức mở rộng của Taylor cho hàm DoG 24
Hình 3 5: Minh họa các bước của quá trình lựa chọn các điểm keypoints 26
Hình 3 6: Đặc trưng cục bộ SIFT được tính toán từ vùng xung quanh điểm đặc biệt (vòng tròn) 27
Hình 3 7: Xác định các điểm cần rút trích đặc trưng DSIFT 28
Hình 3 8: Đặc trưng cục bộ DSIFT được tính toán từ vùng xung quanh điểm trên lưới (vòng tròn) 29
Hình 3 9: Biểu đồ so sánh 1-NN, 20-NN và Quant 31
Hình 3 10: Láng giềng gần nhất từ một mô tả của ảnh truy vấn đến lớp đối tượng 32 Hình 4 1: Kiến trúc khung của hệ thống nhận dạng logo 34
Hình 4 2: Xác định vị trí của logo trong ảnh 36
Hình 4 3: Giao diện hệ thống 39
Hình 4 4: Một số logo trong tập dữ liệu tự thu thập 40
Hình 4 5: Các lớp logo trong tập FlickrLogos-32 42
Hình 4 6: Biểu đồ so sánh độ chính xác của bộ phát hiện và định vị logo với các tỷ lệ khác nhau 43
Hình 4 7: Biểu đồ so sánh độ chính xác nhận dạng logo với các tỷ lệ chia ảnh 45
Trang 5vi
Hình 4 8: Biểu đồ so sánh độ chính xác nhận dạng logo với đặc trưng DSIFT và SIFT 46 Hình 4 9: Ma trận phân lớp với NBNN + DSIFT 47 Hình 4 10: Ma trận phân lớp với NBNN + SIFT 48
Trang 6vii
DANH MỤC BẢNG
Bảng 4 1: Các công cụ dùng trong thực nghiệm 40
Bảng 4 2: Các lớp dương trong tập dữ liệu FlickrLogos-32 41
Bảng 4 3: Kết quả phát hiện và định vị logo với tỷ lệ khác nhau 43
Bảng 4 4: Số lượng đặc trưng DSIFT theo tỷ lệ chia ảnh 44
Bảng 4 5: Kết quả nhận dạng ứng với kích thước vùng trích đặc trưng DSIFT 45
Bảng 4 6: So sánh kết quả nhận dạng khi dùng đặc trưng DSIFT và SIFT 46
Bảng 4 7: So sánh kết quả nhận dạng khi dùng đặc trưng DSIFT và SIFT 48
Trang 7viii
DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt Từ đầy đủ
AdaBoost Adaptive Boosting
DoG Difference of Gaussian
DSIFT Dense Scale Invariant Feature Transform
KNN K-Nearest Neighbors
MAP Maximum A Posteriori
ML Maximum Likehood
MSER Maximally stable extremal regions
NBNN Nạve Bayes Neareast Neighbor
RSAT Rotated Summed Area Table
SAT Summed Area Table
SIFT Scale Invariant Feature Transform
SURF Speeded Up Robust Features
SVM Support Vector Machine
XML Extensible Mark-up Language
Trang 8ix
TĨM TẮT Ngày nay, logo được xem là thương hiệu gắn liền với doanh nghiệp Vì vậy nhận dạng logo là bài tốn nhận được rất nhiều sự quan tâm Trong luận văn, chúng tơi trình bày một phương pháp nhận dạng logo với giải thuật Nạve Bayes Neareast Neighbor (NBNN) sử dụng đặc trưng DSIFT Trước tiên, chúng tơi sử dụng Cascade of Boosted với tập đặc trưng Haar-like để dị tìm logo trong ảnh đầu vào Tiếp theo, chúng tơi sử dụng giải thuật NBNN với đặc trưng DSIFT để nhận dạng logo Tập dữ liệu dùng để huấn luyện và nhận dạng được thu thập từ internet Kết quả thực nghiệm cho thấy phương pháp đề xuất cho độ chính xác trong giai đoạn phát hiện logo gần 99% và trong nhận dạng là 97% Hơn nữa, phương pháp đề xuất đơn giản, hiệu quả và cĩ thời gian thực hiện nhanh, phù hợp với các hệ thống nhận dạng logo yêu cầu tính thời gian thực
Trang 9x
ABSTRACT Nowadays, logo is a trademark associated with company Many work related
to logo detection and recognition This thesis presents a method for recognizing logo from image using Nạve Bayes Neareast Neighbor (NBNN) algorithm and Dense SIFT (DSIFT) feature This work is distinguished by two steps Firstly, a machine learning algorithm, based on AdaBoost, was applied to locate the logo over the input image Then, NBNN algorithm was employed to recognize the logo with DSIFT Dataset was downloaded from internet Experimental results show that the proposed method achieved high accuracy (99% in detection and 97% in recognition) Furthermore, proposed method is extremely simple, efficient with less processing time, suitable for real-time logo recognition applications
Trang 101
MỞ ĐẦU
1 Đặt vấn đề
Trong nền kinh tế thị trường ngày nay, xây dựng thương hiệu là quá trình bao gồm nhiều hoạt động nhằm hướng đến mục tiêu chung là tạo ra một vị trí xác định cho doanh nghiệp trên thị trường Trong đó, logo được xem là biểu tượng quan trọng làm nổi bật thương hiệu, tạo dấu ấn riêng cho doanh nghiệp Logo có vai trò quan trọng trong việc gợi nhớ cho khách hàng về sản phẩm và dịch vụ của công ty Trong thời đại bùng nổ thông tin, người tiêu dùng không đủ thời gian để tìm kiếm thông tin mình cần Để tìm kiếm thông tin nhanh chóng và hiệu quả, thực tế đa phần người ta chỉ đọc lướt qua các trang web để tìm các kết quả có sẵn Trong bối cảnh đó, một logo có thể được xem là "con đường tắt" làm cho khách hàng nhớ đến những thông điệp mà doanh nghiệp muốn chuyển tải đến họ Đôi khi những đứa trẻ nhỏ cũng có thể nhận ra các logo quen thuộc trước khi chúng có thể nói một câu hoàn chỉnh
Hiện nay các thương hiệu nổi tiếng trên thế giới đều tiến hành đăng ký sở hữu trí tuệ cho logo của công ty mình Như vậy có thể nói logo là hình ảnh hữu hiệu trong việc quảng bá các sản phẩm, dịch vụ tới khách hàng Nó đóng vai trò quan trọng trong việc xây dựng, phát triển hình ảnh, thương hiệu của doanh nghiệp và trở thành một trong những sản phẩm sở hữu trí tuệ quan trọng của các doanh nghiệp trong kinh doanh Ngày nay logo xuất hiện ngày càng nhiều trong các nhãn hiệu hàng hóa, trong các bảng tiếp thị, quảng cáo hoặc trên truyền hình, internet Bên cạnh đó, việc các doanh nghiệp mới ra đời sao chép hay “nhái” logo của những thương hiệu nổi tiếng đang là vấn đề làm đau đầu các nhà quản lý, nó trực tiếp gây hại đến thương hiệu, làm ảnh hưởng đến quá trình kinh doanh của các doanh nghiệp và cả người tiêu dùng
Do đó, trong thời gian qua, có nhiều nghiên cứu liên quan đến phát hiện và nhận dạng logo như hệ thống tự động nhận dạng các sản phẩm trên web để cải thiện công cụ tìm kiếm thương mại; hệ thống xác nhận việc hiển thị của những logo quảng cáo trong các sự kiện thể thao; hệ thống phát hiện những logo gần như trùng lắp và sử dụng trái phép; hệ thống nhận dạng các cửa hàng dành cho người khiếm thị; hệ thống phân tích video để thống kê logo của một công ty được hiển thị bao lâu, …[1] Tuy nhiên, các hệ thống nhận dạng logo phái đối mặt với thách thức là thời gian nhận dạng phải đáp ứng yêu cầu thời gian thực và độ chính xác
Trang 112
khi nhận dạng phải cao Vì vậy việc xây dựng mơ hình cho bài tốn nhận dạng logo đáp ứng hai yêu cầu trên là cần thiết
2 Mục tiêu của đề tài
Mục tiêu của đề tài là xây dựng một mơ hình cho bài tốn nhận dạng logo với mong muốn cĩ thời gian xử lý nhanh và độ chính xác cao Ngồi ra mơ hình đề xuất phải khơng quá phức tạp để cĩ thể ứng dụng vào việc xây dựng các hệ thống nhận dạng logo trong thực tế
3 Đối tượng và phạm vi nghiên cứu
Để xây dựng mơ hình cho bài tốn nhận dạng logo, trước tiên luận văn sẽ tập trung nghiên cứu về mơ hình tổng quát của một hệ thống nhận dạng logo Tiếp theo
sẽ nghiên cứu các phương pháp được áp dụng trong các giai đoạn của một hệ thống nhận dạng logo, phân tích và đề xuất một phương pháp cho bài tốn nhận dạng logo Sau cùng là nghiên cứu cách thức thực nghiệm để đánh giá hiệu quả của phương pháp đã đề xuất
4 Cấu trúc của luận văn
Cấu trúc của luận văn được tổ chức thành 5 chương Nội dung các chương cĩ thể tĩm tắt như sau:
Chương 1: Giới thiệu về hệ thống nhận dạng logo và các nghiên cứu liên quan Chương 1 sẽ giới thiệu tổng quát về hệ thống nhận dạng logo nhằm giúp người đọc cĩ cái nhìn tổng quan về các thành phần bên trong của một hệ thống nhận dạng logo Bên cạnh đĩ sẽ trình bày các phương pháp nghiên cứu cĩ liên quan đến nhận dạng logo và ý nghĩa thực tiễn của đề tài
Chương 2: Định vị logo với giải thuật Cascade of Boosted sử dụng đặc trưng Haar-like Chương 2 sẽ trình bày về phương pháp định vị logo trong ảnh sử dụng đặc trưng Haar-like kết hợp với giải thuật AdaBoost và mơ hình phân tầng Cascade
Chương 3: Nhận dạng logo với giải thuật Nạve Bayes Nearest Neighbor sử dụng đặc trưng DSIF Chương 3 sẽ tập trung trình bày về đặc trưng SIFT, DSIFT
và giải thuật Nạve Bayes Nearest Neighbor dùng để nhận dạng logo
Chương 4: Xây dựng hệ thống nhận dạng logo Chương 4 sẽ trình bày chi tiết về kiến trúc khung của hệ thống nhận dạng logo được đề xuất, cách tiến hành thực nghiệm và một số kết quả thực nghiệm Ngồi ra trong chương này chúng tơi
Trang 123
sẽ tập trung phân tích các yếu tố có ảnh hưởng đến độ chính xác của hệ thống nhận dạng logo cũng như đánh giá tính hiệu quả của phương pháp đã đề xuất
Chương 5: Kết luận và hướng phát triển Chương 5 sẽ tổng kết các kết quả chính đạt được của luận văn và đề xuất hướng nghiên cứu tiếp theo
Trang 134
Chương 1 GIỚI THIỆU VỀ HỆ THỐNG NHẬN DẠNG LOGO VÀ CÁC NGHIÊN CỨU LIÊN QUAN
Mục tiêu lâu dài của thị giác máy tính chắc chắn là nhận dạng đối tượng Nhiều nghiên cứu đã được dành riêng cho nhận dạng đối tượng nói chung và cũng
có nhiều bài toán đã được khám phá, tuy nhiên các nhiệm vụ vẫn còn nhiều thách thức Việc nhận dạng đối được ứng dụng rất nhiều trong các bài toán truy vấn ảnh dựa vào nội dung, chú thích ảnh tự động [2] Nhận dạng logo có thể được xem như một tập con của nhận dạng đối tượng bởi vì hầu hết các logo được xem là đối tượng
có bề mặt bằng phẳng Logo là một đối tượng đặc biệt được dùng để xác định một vật gì đó hoặc một ai đó Trong ngành công nghiệp và thương mại, logo có vai trò quan trọng nhắc khách hàng gợi nhớ đến một sản phẩm hoặc dịch vụ đặc biệt Chính điều này đã thúc đẩy sự tích cực của các công ty trong việc tìm ra các giải pháp phân tích hình ảnh thông minh để tìm bằng chứng về những logo “nhái” logo của họ hoặc để cảnh báo khách hàng những thay đổi nhỏ của logo nhái so với bản gốc Do đó, bài toán nhận dạng logo là một bài toán đã và đang thu hút được sự quan tâm của nhiều nhà nghiên cứu Tuy nhiên, một lớp logo cụ thể có thể có nhiều
sự biến đổi bên trong và việc nhận dạng logo trong hình ảnh tự nhiên phải đối phó với góc nhìn nghiêng, nhiễu, che khuất một phần, điều kiện chiếu sáng, … đó là sự khác biệt chính giữa các hệ thống nhận dạng logo
Hình 1 1 : Logo BMW có những thay đổi về chi tiết bên trong
Trang 145
1.1 Giới thiệu về hệ thống nhận dạng logo
Một hệ thống nhận dạng logo tự động bao gồm 2 bộ phận chính (Hình 1.2): (1) Phát hiện và rút trích logo từ ảnh đầu vào; (2) Nhận dạng logo được rút trích từ (1)
và trả về kết quả nhận dạng
- Bộ phát hiện và rút trích logo: để nhận dạng logo, đầu tiên hệ thống phải
phát hiện và định vị được các vùng chứa logo trong ảnh truy vấn Sau đó hệ thống tự động rút trích vùng chứa logo và chuyển cho bộ nhận dạng logo để
xử lý Như vậy một hệ thống nhận dạng logo tốt trước tiên phải đảm bảo phát hiện chính xác vùng có chứa logo Độ chính xác của bộ phát hiện và định vị logo có ảnh hưởng rất lớn đến kết quả nhận dạng của toàn hệ thống Nếu bộ phát hiện và định vị logo xác định sai vùng chứa logo thì kéo theo kết quả nhận dạng cũng sai
- Bộ nhận dạng logo: có chức năng nhận dạng logo từ vùng chứa logo đã được
rút trích và trả về kết quả nhận dạng Ngoài yêu cầu về độ chính xác cao, thời gian xử lý ít cũng là một tiêu chí quan trọng đối với các hệ thống nhận dạng logo
Hình 1 2 : Hệ thống nhận dạng logo tổng quát
Như vậy, một hệ thống nhận dạng logo tốt trong thực tế phải đảm bảo cả hai tiêu chí: độ chính xác khi nhận dạng cao và thời gian xử lý thấp (đáp ứng yêu cầu
về tính thời gian thực) Hiện nay, rất nhiều nhà nghiên cứu tập trung vào việc xây dựng các giải pháp, thuật toán cho bài toán nhận dạng logo nhằm đáp ứng hai tiêu chí nêu trên Bên cạnh đó, một mô hình đơn giản, dễ cài đặt mà vẫn đáp ứng yêu
Trang 156
cầu về độ chính xác và thời gian xử lý cũng là rất được quan tâm
Tiếp theo chúng tôi sẽ trình bày các nghiên cứu có liên quan đến bài toán nhận dạng logo cũng như phân tích, đánh giá các phương pháp hiện có để giúp người đọc có cái nhìn tổng quát về những điểm mạnh, điểm yếu của các nhóm phương pháp
1.2 Các công trình nghiên cứu liên quan
Bài toán phát hiện và nhận dạng các đối tượng trong ảnh như mặt người, biển
số xe, biển báo giao thông, rất được quan tâm [12] Các nhà sản xuất máy ảnh như Canon, Nikon, Samsung,… cũng đã tích hợp các giải thuật nhận dạng vào trong sản phẩm của mình về phát hiện mặt người Những vấn đề chính thường gặp phải trong nhận dạng đối tượng là đối tượng hiển thị trong ảnh có những sự biến đối về điều kiện chiếu sáng, biến đổi hình học và sự thay đổi bên trong của chính đối tượng
Trong lĩnh vực nhận dạng logo, các phương pháp nhận dạng logo có thể dựa vào đặc trưng toàn cục hoặc đặc trưng cục bộ [10] Hướng tiếp cận dựa trên đặc trưng toàn cục như đặc trưng hình dáng, lược đồ màu, kết cấu của logo đòi hỏi tập ảnh dùng để huấn luyện rất lớn, chi phí tính toán cao [9] Những đặc trưng toàn cục
có thể giúp cho việc phát hiện logo nhanh nhưng việc nhận dạng thì không thích hợp trong thế giới thực bởi vì nó không đầy đủ thông tin để phân biệt các logo thuộc các lớp khác nhau Ngoài ra, đặc trưng toàn cục thường không bất biến với những phép biến đổi hình học
Những năm gần đây, hướng tiếp cận dựa trên đặc trưng cục bộ như Harris, SIFT, SURF đã được nhiều tác giả nghiên cứu và vận dụng thành công vào bài toán phát hiện và nhận dạng logo trong thế giới thực [4, 13, 18, 28] Do các đặc trưng cục bộ này có thể bất biến với những phép biến đổi hình học và mạnh đối với sự thay đổi về điều kiện chiếu sáng, nhiễu, sự che khuất nên rất thích hợp đối với bài toán phân lớp hoặc nhận dạng đối tượng Ngoài ra, việc biểu diễn ảnh theo các đặc trưng cục bộ sẽ cô đọng hơn vì thế sẽ giảm kích thước trong không gian tìm kiếm hoặc so sánh Tuy nhiên, việc sử dụng đặc trưng cục bộ có thể làm mất thông tin về
bố trí không gian của ảnh nên có thể thiếu khả năng mô tả ảnh
Trong những nghiên cứu trước đây về nhận dạng đối tượng, có rất nhiều cách tiếp cận để giải quyết, tuy nhiên với mỗi loại đối tượng sẽ có một phương pháp cụ thể để thực hiện Trong lĩnh vực nhận dạng logo, các phương pháp có thể chia thành các nhóm sau: phương pháp so khớp mẫu, phương pháp máy học