Trong những năm gần thì các công trình nghiêncứu đã đưa ra các khái niệm về đặc trưng cục bộ và đặc trưng toàn cục nhưng việctính toán trên các đặc trưng này còn gặp rất nhiều hạn c
Trang 1NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM (Của Giáo viên hướng dẫn)
Điểm: Đồng ý/ Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp?
Hà Nội, ngày tháng năm 2015
Trang 2GIÁO VIÊN HƯỚNG DẪN
(Ký, họ tên)
Trang 3NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM (Của Giáo viên phản biện)
Điểm: Đồng ý/ Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp?
Hà Nội, ngày tháng năm 2015 GIÁO VIÊN HƯỚNG DẪN
Trang 4(Ký, họ tên)
Trang 5LỜI CẢM ƠN
Đầu tiên, em xin chân thành cảm ơn đến khoa Công nghệ thông tin 1, Họcviện công nghệ bưu chính viễn thông đã tạo điều kiện tốt nhất cho em thực hiện đềtài tốt nghiệp
Em xin gửi lời cảm ơn đến các thầy cô giáo trong khoa đã truyền đạt và dạybảo cho em rất nhiều kiến thức hay và bổ ích cho cuộc sống trong suốt quá trình 4năm học tập tại học viện Em chân thành cảm ơn thầy cô đã trang bị cho em hànhtrang để em đầy đủ tự tin bước trên con đường sau này
Đặc biệt, em xin dành lời cảm ơn sâu sắc nhất tới thầy Ngô Quốc Dũng.Thầy đã tận tình, chỉ bảo em trong suốt quá trình học tập, và dành thời gian xemxét, sửa đổi, góp ý cho em hoàn thiện đồ án tốt nghiệp được tốt nhất
Xin chân thành cảm ơn những người thân trong gia đình, cùng các anh chị
em, bạn bè đã giúp đỡ, động viên mình trong quá trình thực hiện và hoàn thànhluận văn này
Em xin chân thành cảm ơn!
Hà Nội, tháng 12 năm 2015
Sinh viên
Hoàng Văn Công
Trang 6MỤC LỤC
LỜI CẢM ƠN iii
DANH MỤC BẢNG, HÌNH VẼ vi
CHƯƠNG I: PHÁT BIỂU BÀI TOÁN 1
1.1 Đặt vấn đề 1
1.2 Bài toán đặt ra 2
1.3 Tổng quan về ứng dụng 2
1.4 Kết luận 3
CHƯƠNG II: PHƯƠNG PHÁP ĐỀ XUẤT 4
2.1 Đặt vấn đề 4
2.1.1 Một số nghiên cứu trước đây 4
2.2 Một số phương pháp trích chọn đặc trưng và đo độ tương đồng giữa các ảnh 8
2.2.1 Harris 8
2.2.2 SIFT( Scale Invarian Feature Transform) 9
2.2.3 SURF( Speed Up Robust Feature) 11
2.3 Các phương pháp phân loại ảnh 19
2.3.1 Tổng quan 19
2.3.2 Phương pháp K-Means 19
2.3.3 Phương pháp K-Nearest Neighbor(KNN) 20
2.3.4 Phương pháp Support Vector Machine(SVM) 20
2.4 Phương pháp đề xuất 23
2.4.1 Các bước cơ bản 24
2.5 Kết luận 27
CHƯƠNG III: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 28
3.1 Xác định yêu cầu 28
3.1.1 Yêu cầu xây dựng bài toán 28
3.1.2 Mô tả hệ thống 28
3.1.3 Các tác nhân của hệ thống 28
3.1.4 Danh sách các UseCase 29
3.1.5 Sơ đồ UseCase tổng quát 30
3.1.6 Một số kịch bản cho UseCase 31
Trang 73.1.7 Giao diện của ứng dụng 35
3.2 Phân tích yêu cầu 38
3.2.1 Phân tích tĩnh 38
CHƯƠNG IV: THỬ NGHIỆM VÀ ĐÁNH GIÁ 47
4.1 Xây dựng bộ dữ liệu 47
4.1.1 So sánh giữa các thuật toán trích chọn đặc trưng 47
4.1.2 Xây dựng bộ dữ liệu đánh giá độ chính xác của thuật toán SURF 48
4.1.3 Xây dựng bộ dữ liệu của ứng dụng 49
4.2 Những vấn đề gặp phải 55
4.3 Kết luận 56
CHƯƠNG V: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 57
Tài liệu tham khảo 58
Trang 8DANH MỤC HÌNH VẼ
Hình 2.1: Quy trình huấn luyện ảnh 8
Hình 2.2: Quy trình kiểm thử ảnh 8
Hình 2.3: Bộ mô tả 10
Hình 2.4: Ảnh tích hợp 12
Hình 2.5: Thay vì lặp lại việc giảm kích cỡ ảnh(bên trái), việc sử dụng ảnh tích hợp cho phép tăng tỷ lệ lọc với giá trị không đổi(bên phải) 13
Hình 2.6: Biểu đồ tỷ lệ phát hiện 14
Hình 2.7: Những điểm quan tâm được phát hiện trên một cánh đồng hoa hướng dương. 15
Hình 2.8: Phép lọc Haar wavelet 16
Hình 2.9: Gán hướng 16
Hình 2.10: Chi tiết của ảnh 17
Hình 2.11: Xây dựng bộ mô tả 17
Hình 2.12: Các mục mô tả của miền con 18
Hình 2.13: So khớp 18
Hình 2.14: Bài toán phân 2 lớp với SVM 22
Hình 2.15 Tổng quan phương pháp 24
Hình 3.1 Biểu đồ giao tiếp của chức năng Tính lượng dinh dưỡng 39
Hình 3.2 Biểu đồ giao tiếp của chức năng Tính lại lượng dinh dưỡng 39
Hình 3.3 Biểu đồ giao tiếp của chức năng Thêm món ăn bằng tay 40
Hình 3.4 Biểu đồ giao tiếp của chức năng Thêm món ăn bằng ảnh 40
Hình 3.5 Biểu đồ trạng thái của chức năng Tính lượng dinh dưỡng 41
Hình 3.6 Biểu đồ trạng thái của chức năng Tính lại lượng dinh dưỡng 42
Hình 3.7 Biểu đồ trạng thái của chức năng Thêm món ăn bằng tay 43
Hình 3.8 Biểu đồ trạng thái của chức năng Thêm món ăn bằng ảnh 44
Hình 3.9 Biểu đồ tuần tự của chức năng Tính lượng dinh dưỡng 45
Hình 3.10 Biểu đồ tuần tự của chức năng Tính lại lượng dinh dưỡng 45
Hình 3.11 Biểu đồ tuần tự của chức năng Thêm món ăn bằng tay 46
Hình 3.12 Biểu đồ tuần tự của chức năng Thêm món ăn bằng ảnh 46
Trang 10CHƯƠNG I: PHÁT BIỂU BÀI TOÁN
Trong chương này, đồ án sẽ trình bày các phần sau đây:
Với sự phát triển nhanh chóng của điện thoại thông minh hiện này nhưiPhone và Android, chúng đã đủ sức mạnh để, ghi nhận hình ảnh thời gian thực.Hiện nay, CPU của điện thoại thông minh gần như tương đương với CPU của máytính phát hành cách đây vài năm về hiệu suất
Hệ thống điện thoại di động thế hệ cũ với hình ảnh ghi nhận cần gửi hìnhảnh đến máy chủ hiệu suất cao, gây ra sự chậm trễ truyền tải, đòi hỏi chi phí đườngtruyền , và sự phụ thuộc vào mạng truyền tải Ngoài ra, theo tỷ lệ số lượng ngườidùng tăng, nhiều tài nguyên máy tính của máy chủ là cần thiết, gây ra sự khó khăntrong việc nhận ra các đối tượng trong một thời gian thực Do đó việc nhận dạngthời gian thực là một yêu cầu cần thiết trong công nghệ hiện nay
Mặt khác, điện thoại thông minh nhận dạng hình ảnh có nhiều ưu điểm vềtiện lợi và chi phí Bằng cách tận dụng sức mạnh tính toán mạnh mẽ của cácsmartphone cũng như kỹ thuật nhận dạng đối tượng được cải tiến, đồ án đề xuấtmột ứng dụng quản lý dinh dưỡng có chứa hệ thống nhận dạng thực phẩm thời gianthực chạy trên điện thoại thông minh với hệ điều hành Android
Trang 111.2 Bài toán đặt ra
Hầu hết các ứng dụng quản lý dinh dưỡng trước đây đều yêu cầu phải lựachọn các thức ăn bằng tay, nó tốn quá nhiều thời gian và phiền phức cho nhữngngười sử dụng trong một thời gian dài Việc người dùng phải ghi lại thông tin món
ăn gây ra nhiều bất tiện, vì họ không thể biết chính xác lượng dinh dưỡng mà họ đãnhập vào với món ăn đó
Trước khó khăn này, luận văn xây dựng một ứng dụng nhằm giải quyết vấnđề trên Thao tác của người dùng rất đơn giản, họ chỉ việc chụp ảnh món ăn, cácthao tác còn lại như tính toán và quản lý lượng dinh dưỡng của món ăn sẽ do ứngdụng đảm nhiệm
Với những lý do trên, em xây dựng đồ án với nội dung là: “Áp dụng thuật
toán SURF và SVM trong việc xây dựng ứng dụng quản lý dinh dưỡng dưa trên nền tảng Android”.
Thời gian ngồi mỗi ngủ(tiếng)
Thời gian ngủ mỗi ngày(tiếng)
Thời gian tập thể thao mỗi ngày(tiếng)
Giới tính(Con trai/Con gái)
Mục tiêu muốn đạt được của người dùng(Bình thường/Ăn kiêng/Tập thểhình)
Người dùng có thể cập nhật lại thông tin để hệ thống tính toán lại lượng dinhdưỡng cần thiết
Trong phạm vi đồ án này, ứng dụng chứa 15 món ăn Việt Nam mà hệ thống
có thể nhận dạng được bằng cách chụp lại món ăn này
Nếu người dùng biết rõ thông tin dinh dưỡng về món ăn, họ có thể cập nhậtthông tin món ăn vào database
Ứng dụng ghi lại thông tin về những món mà người dùng đã ăn
Trang 12Đưa ra lời khuyên về món ăn với người sử dụng.
Ứng dụng đưa ra thông tin về các món ăn khá phong phú
Một số tiện ích khác như ghi lại số cân nặng, hay nhật kí để sau người dùngxem lại…
Các bước cơ bản để nhận diện món ăn:
Người sử dụng dùng điện thoại thông minh ghi lại món ăn trước khi lựa chọn
Hệ thống liên tục nhận lại khung hình ảnh từ điện thoại ở chế độ nền
Người sử dụng kéo một khung giới hạn với mặt hàng thực phẩm trên mànhình điện thoại Người sử dụng có thể điều chỉnh khung giới hạn cho phùhợp với món ăn
Nhận dạng thực phẩm được thực hiện tại vùng trong khung giới hạn
Hệ thống đưa ra tên món ăn nhận dạng được cũng như lượng dinh dưỡng màmón ăn này chứa
Người dùng có thể chọn món ăn này nếu như kết quả là chính xác, hoặc cóthể quay lại bước trước để nhận dạng lại nếu thấy thông tin chưa hoàn toànchính xác
Người dùng nhập khối lượng món ăn
Trang 13CHƯƠNG II: PHƯƠNG PHÁP ĐỀ XUẤT
Trong chương này, đồ án sẽ trình bày các phần sau đây:
Một trong những ứng dụng quan trọng nhất của phân loại ảnh tự động làtrong các hệ thống tìm kiếm ảnh Từ một tập con các ảnh đã phân lớp sẵn, tất cảcác ảnh trong miền tìm kiếm sẽ được xử lý rút ra những vector đặc trưng sau đóđược đưa qua phân nhóm để hình thành các nhóm đặc trưng và được gán nhãn lớptương ứng
2.1.1 Một số nghiên cứu trước đây
Xử lý ảnh, phân loại ảnh trong những năm gần đây là lĩnh vực đang đượcgiới khoa học quan tâm không những trong mà còn ngoài nước Một số công trìnhliên quan đến vấn đề xử lý ảnh đặc biệt là phân loại ảnh:
Trang 14Các nghiên cứu đáng chú ý trên thế giới:
Đề tài “Beyond Bags of Features: Spatial Pyramid Matching for Recognizing Natural Scene Categories” của đồng tác giả Svetlana Lazebnik,
Cordelia Schmid, Jean Ponce.[1]
Trong đề tài này tác giả đưa ra phương pháp xác định loại quang cảnh dựavào độ xấp xỉ hình học toàn cục Trong những năm gần thì các công trình nghiêncứu đã đưa ra các khái niệm về đặc trưng cục bộ và đặc trưng toàn cục nhưng việctính toán trên các đặc trưng này còn gặp rất nhiều hạn chế vì lý do có rất nhiều đặctrưng trong một bức ảnh khiến cho việc tính toán trở nên phức tạp và hao tốn nhiềutài nguyên hệ thống Chính vì lẽ đó mà các tác giả trong đề tài đã nghiên cứu vàđưa ra khái niệm Bags of Features hay Bags of Words (BOF hay BOW) nhằm mụcđích giảm thiểu thời gian tính toán cho hệ thống
Bài báo “Boosting Image Classification with LDA-based Feature Combination for Digital Photograph Management” của đồng tác giả Xuezheng
Liu, Lei Zhang, Mingjing Li, Hongjiang Zhang, Dingxing Wang.[2]
Bài báo này sử dụng thuật toán LDA để gán tên lớp cho những thuộc tính màđã rút ra được LDA – SVM thường được thấy trong các đề tài tính toán hoặc làmviệc trên văn bản LDA dùng để gán nhãn vào các đặc trưng sau đó các đặc trưng
sẽ được tính toán và phân vào các nhóm theo một tiêu chí nào đó nhờ vào SVM.Trong đề tài các tác giả đã dùng LDA cho việc gán nhãn các đặc trưng hình ảnhnhằm mục đích tránh sử dụng thuật toán phân cụm, một trong những nguyên nhângây hao tốn tài nguyên hệ thống khi phải làm việc trên một số lượng lớn các đặctrưng
Bài báo “Unsupervised real-time constrained linear discriminant analysis
to hyperspectral image classification”, Qian Du, Department of Electrical and
Computer Engineering, Missisippi State University, MS 39762, USA Accepted 14August 2006.[3]
Khi số lượng các đặc trưng trở lên nhiều thì việc tính toán sẽ gặp nhiều khókhăn tác giả Qian Du đã cải thiện được thuật toán CLDA theo cách không giám sátnhằm mục đích các đặc trưng được phân vào các nhóm trong khi các khái niệmnhóm đó là chưa có Vốn dĩ CLDA là một phương pháp có giám sát tức là các đặc
Trang 15trưng cần được gán cho một trọng số, một nhãn nào đó mà đã có khái niệm trước
đó Trong thực tế thì việc làm này gặp khó khăn vì phải phân định rõ ràng trọng sốhay tên nhóm trước
Đề tài “Object Recognitionusing Local Descriptors” của tác giả Javier
Ruiz và Patricio Loncomila thuộc trung tâm nghiên cứu khoa học Chile.[4]
Trong đề tài tác giả đã sử dụng đặc trưng cục bộ bất biến để xác thực đốitượng trong ảnh, mục đích chính là dùng để tìm ảnh và cũng đã đưa ra cách xâydựng cơ sở dữ liệu để cải tiến tốc độ tìm kiếm, đó là sử dụng Kd-trees
Bài báo “Object Recognition from Local Scale-Invariant Features” của
tác giả David G Lowe, thuộc khoa khoa học máy tính, trường đại học BritishColumbia.[5]
David G Lowe cũng chính là tác giả đưa ra khái niệm về đặc trưng cục bộbất biến Local Scale-Invariant Features (SIFT), được ứng dụng nhiều trong các bàitoán truy tìm ảnh, phân loại ảnh và xác thực
Các đặc trưng hình ảnh bao gồm nhiều loại: màu sắc, kết cấu, hình dạng, …tuy nhiên các đặc trưng này ít nhiều lại phụ thuộc vào không gian ảnh, biến đổiảnh
Trong công việc xác định đối tượng trong ảnh, tác giả đã lưu trữ các đặctrưng và đánh chỉ mục cho chúng khi các ảnh tham gia truy vấn sẽ được rút ra cácđặc trưng SIFT và đem ra so sánh với các đặc trưng đã có trong cơ sở dữ liệu Việclàm này sẽ làm hao tốn rất nhiều thời gian tính toán của hệ thống
Bài báo “Texture classification of aerial image based on bayesian network augmanted naive bayes”, YU Xin, ZHENG Zhaobao, ZHANG Haitao, YE
Zhiwei.[6]
Bài báo đã có sự so sánh hai phương thức Bayesian Networks AugmentedNaive Bayes (BAN) và Naive Bayes Classifiers (NBC) and PCA-NBC trong phânloại ảnh và nhận thấy BAN chạy tốt hơn NBC và PCA-NBC
Bài báo “Speeded-up Robust Features (SURF)”, Herbert Bay, Andreas
Ess, Tinne Tuytelaars, Luc Van Gool, 12/2007.[7]
Bài báo với mong muốn thay thế đặc trưng SIFT bằng SURF và sử dụng matrận Hessian để đo bộ phát hiện đặc trưng, nhằm ứng dụng trong các hệ thống
Trang 16Of Interest (ROI), tạm gọi vùng đặc trưng bằng cách di chuyển khung đối chiếu độclập với nhau.
Các nghiên cứu đáng chú ý tại Việt Nam:
Trong nước tuy còn ít đề tài nghiên cứu về lĩnh vực phân loại ảnh, mà chỉ tậpchung chủ yếu vào nghiên cứu các công cụ đối sánh ảnh, tìm ảnh nhưng có sử dụngcác đặc trưng bất biến cùng các kỹ thuật phân cụm và cây quyết định Điển hìnhcho vấn đề này có các bài báo sau:
Đề tài “ Phương pháp trích chọn đặc trưng ảnh trong thuật toán học máy tìm kiếm ảnh áp dụng vào bài toán tìm kiếm sản phẩm”, Nguyễn Thị Hoàn.[9]
Đề tài có giới thiệu và ứng dụng đặc trưng SIFT cho bài toán của mình
Đề tài “Nghiên cứu phương pháp kết hợp các đặc trưng màu sắc hình dạng và vị trí để truy vấn ảnh” luận văn thạc sĩ của tác giả Trần Sơn Hải, năm
2007.[10]
Luận văn này đã đề xuất một phương pháp kết hợp các đặc trưng màu sắc,hình dạng và vị trí bằng hệ thống liên mạng meta-Nơron Hệ thống liên mạng meta-Nơron không những áp dụng vào các đặc trưng màu sắc, hình dạng và vị trí của ảnh
mà còn có thể áp dụng cho các đặc trưng lượng tử khác Các đặc trưng lượng tử bất
kì rút trích từ ảnh sẽ qua các mạng Nơron con cho ra các output cục bộ Các outputcủa các mạng con sẽ là ngõ vào của mạng meta-Nơron để cho ra các kết quả outputcuối cùng của toàn hệ thống liên mạng
Trang 172.1.2 Quy trình phân loại ảnh
Hình 2.1: Quy trình huấn luyện ảnh
Hình 2.2: Quy trình kiểm thử ảnhĐối với tập huấn luyện thì số lượng ảnh cần nhiều vì thế tiến trình huấnluyện sẽ rất lâu Điểm quan trọng nằm ở chỗ rút đặc trưng, phải xác định đặc trưngthích hợp cho bài toán vì ảnh hưởng đến độ chính xác của chương trình
2.2 Một số phương pháp trích chọn đặc trưng và đo độ tương đồng giữa các ảnh.
Trong những năm gần đây việc sử dụng các đặc trưng cục bộ đã trở thànhmột trong những hướng tiếp cận có ảnh hưởng lớn trong việc nhận dạng đối tượngdựa vào nội dung ảnh Việc phát hiện các điểm đặc trưng là bước đầu tiên trong quátrình so khớp và nhận dạng Vì vậy, một thuật toán đáng tin cậy cho việc trích chọncác điểm bất biến là rất cần thiết cho nhiều ứng dụng Phần tiếp theo trình bày một
số kỹ thuật cho việc trích chọn các điểm bất biến trong ảnh
2.2.1 Harris
Phát hiện góc (corner detection) hoặc phát hiện điểm quan tâm (interestpoint detection) là một hướng tiếp cận được sử dụng trong các hệ thống thị giácmáy tính để trích chọn các loại đặc trưng và suy luận ra các nội dung của một ảnh.Việc phát hiện góc được dùng thường xuyên trong phát hiện, theo dõi chuyển động,
mô hình 3D và nhận dạng đối tượng
Train
Images
Feature Selection
Trained Classifier
Trained Classifier Train Label
Test
Images
Feature Selection
Trained Classifier
Lable Prediction
Trang 18Phương pháp phát hiện góc Harris là một phương pháp phát hiện điểm quantâm phổ biến vì nó bất biến đối với phép quay, thay đổi độ sáng và nhiễu ảnh.Phương pháp này dựa trên hàm tương quan tự động cục bộ của một tín hiệu; ở đóhàm tương quan tự động cục bộ đo các thay đổi cục bộ của tín hiệuvới các mảnhảnh được dịch chuyển một lượng nhỏ theo các hướng khác nhau
2.2.2 SIFT( Scale Invarian Feature Transform)
Đây là một trong những phương pháp hiệu quả để trích chọn các điểm bấtbiến từ các ảnh được dùng để thực hiện so khớp tin cậy giữa các tầm nhìn khácnhau của cùng một đối tượng hoặc quang cảnh Phương pháp này được gọi là
“Phép biến đổi đặc trong bất biến tỷ lệ” (Scale Invariant Feature Transform – SIFT)
vì nó biến đổi dữ liệu ảnh thành các tọa độ bất biến tỷ lệ có liên quan tới các đặctrưng cục bộ Thuật toán này gồm 4 giai đoạn chính: phát hiện các cực trị trongkhông gian tỷ lệ, định vị chính xác điểm khóa, gán hướng cho các điểm khóa, xâydựng đặc trưng
2.2.2.1 Phát hiện cực trị
Giai đoạn đầu tiên của phát hiện điểm khóa là tìm ra các vị trí và các tỷ lệ cóthể được gán lặp đi lặp lại dưới các tầm nhìn khác nhau của cùng một đối tượng.Việc phát hiện các vị trí bất biến khi có sự thay đổi tỷ lệ của ảnh có thể được thựchiện bằng việc tìm kiếm các đặc trưng ổn định qua tất cả các tỷ lệ có thể, sử dụngmột hàm liên tục tỷ lệ được hiểu như không gian tỷ lệ
2.2.2.2 Định vị chính xác điểm khóa
Một điểm khóa ứng cử được tìm thấy bằng việc so sánh một điểm ảnh vớicác láng giềng của nó, bước tiếp theo là thực hiện điều chỉnh chi tiết với dữ liệu lâncận cho vị trí, tỷ lệ, và tỷ lệ của các độ cong chủ yếu Thông tin này cho phép loại
bỏ các điểm có độ tương phản thấp hoặc được định vị kém dọc biên
Công việc ban đầu của hướng tiếp cận này đã định vị một cách đơn giản cácđiểm khóa ở vị trí và tỷ lệ của điểm mẫu trung tâm Tuy nhiên, gần đây người ta sửdụng một phương pháp khác đó là làm phù hợp một hàm bậc hai 3D cho các 16điểm mẫu địa phương để xác định vị trí nội suy của điểm cực đại, và các thửnghiệm đã cho thấy rằng phương pháp này mang lại sự cải tiến đáng kể cho việc sokhớp và độ ổn định
Trang 192.2.2.3 Gán hướng cho các điểm khóa
Bằng việc gán một hướng thích hợp cho mỗi điểm khóa dựa trên các đặc tínhảnh cục bộ, bộ mô tả điểm khóa có liên quan tới hướng này và vì vậy đạt được sựbất biến đối với phép quay ảnh
2.2.2.4 Xây dựng bộ mô tả cục bộ
Các thao tác ở trên đã gán vị trí, tỷ lệ và hướng cho mỗi điểm khóa Cáctham số này áp đặt cho hệ tọa độ 2D cục bộ để mô tả một vùng ảnh cục bộ Bướctiếp theo là tính toán một bộ mô tả cho vùng ảnh cục bộ đó để có thể bất biến đốivới các thay đổi còn lại như thay đổi độ sáng hoặc điểm nhìn 3D
Để tránh tất cả các ảnh hưởng biên là điều thật sự quan trọng, ở đó bộ mô tảthay đổi đột ngột vì một mẫu thay đổi liên tục từ một biểu đồ này sang một biểu đồkhác hoặc từ một hướng này sang hướng khác Vì vậy, sử dụng phép nội suy tuyếntính bậc 3 để phân bố giá trị của mỗi mẫu gradient vào các bin biểu đồ gần kề Mặtkhác, mỗi entry trong một bin được tăng lên nhiều lần bởi trọng số là 1-d cho mỗichiều, trong đó d là khoảng cách của mẫu từ giá trị trung tâm của bin đó được đodưới dạng các đơn vị của khoảng cách bin biểu đồ
Hình 2.3 Bộ mô tả
Bộ mô tả được tạo nên từ một vectơ chứa các giá trị của tất cả các entry củabiểu đồ hướng, tương ứng với các chiều dài của các mũi tên bên phải của hình 2.3.Hình này thể hiện một mảng 4x4 các biểu đồ với 8 bin hướng Vì vậy, một vectơđặc trưng có 4x4x8 =128 phần tử để mô tả cho mỗi điểm khóa
Trang 20Cuối cùng, vectơ đặc trưng được sửa đổi để giảm các tác động của sự thayđổi về độ sáng.
2.2.3 SURF( Speed Up Robust Feature)
SURF là một phương pháp phát hiện và mô tả hình ảnh mạnh mẽ, do HerbertBay đưa ra lần đầu vào năm 2006, có thể được sử dụng trong các nhiệm tầm nhìncủa máy tính như nhận dạng đối tượng, phục hồi 3D Nó được lấy cảm hứng từ mô
tả SIFT Phiên bản tiêu chuẩn của SURF nhanh hơn nhiều so với SIFT và nó chốnglại sự biến đổi hình ảnh khác nhau tốt hơn SIFT SURF dựa trên tổng xấp xỉ cácđặc trưng Haar wavelet 2D và sử dụng hiệu quả cho các ảnh tích hợp (integralimage)
Phương pháp này dựa trên các ma trận Hessian, nhưng sử dụng một xấp xỉ
cơ bản, cũng giống như DoG là một phát hiện cơ bản dựa trên Laplacian Nó dựatrên hình ảnh tích hợp để giảm thời gian tính toán và được gọi nó là phát hiện 'Fast-Hessian' Mặt khác, mô tả này mô tả một phân bố các đặc trưng Haarwavelet trongcác láng giềng của điểm quan tâm Hơn nữa, chỉ sử dụng kích thước 64, để giảmthời gian tính toán các đặc trưng và so khớp, đồng thời tăng sự chắc chắn
2.2.3.1 Ảnh tích hợp( integral image)
Ảnh tích hợp, được đưa ra bởi Viola và Jones trong “Rapid object detectionusing a boosted cascade of simple Features”, là một mảng 2 chiềuvới kích thướcbằng kích thước của ảnh cần tính các đặc trưng, với mỗi phần tử của mảng nàyđược tính bằng cách tính tổng của điểm ảnh phía trên (dòng-1) và bên trái (cột-1)của nó Bắt đầu từ vị trí trên, bên trái đến vị trí dưới, phải của ảnh, việc tính toánnày đơn thuần chỉ đựa trên phép cộng số nguyên đơn giản, do đó tốc độ thực hiệnrất nhanh
Trang 21Với I được tính toán, chỉ mất bốn phép cộng để tính toán tổng các cường
độ bất kỳ dạng thẳng đứng, hình chữ nhật diện tích, độc lập với kích thước của nó
2.2.3.2 Phát hiện Fast_Hessian
Phương pháp SURF dựa vào phát hiện về các ma trận Hessian vì hiệu suấttốt của nó về thời gian tính toán và độ chính xác Tuy nhiên, thay vì sử dụng mộtbiện pháp khác để lựa chọn vị trí và tỷ lệ (như đã được thực hiện trong phát hiệnHessian-Laplace), ở đây dựa trên các định thức Hessian cho cả hai Với một điểmx=(x, y) trong một ảnh I, các ma trận Hessian H(x,σ) ở x có tỷ lệ σ được định nghĩa) ở x có tỷ lệ σ) ở x có tỷ lệ σ được định nghĩa được định nghĩanhư sau:
với ảnh I tại điểm x, tương tự cho L x xy( , )và L yy( , )x
Hàm Gaussians được tối ưu cho việc phân tích không gian tỷ lệ Tuy nhiêntrong thực tế, hàm Gaussian cần phải được rời rạc và cắt bỏ, thậm chí với cả bộ lọcGaussian thì răng cưa vẫn còn xảy ra ngay sau khi những hình ảnh kết quả được lấymẫu giảm
Trang 22Ngoài ra, các tính chất không có cấu trúc mới có thể xuất hiện tiến tới độphân giải thấp hơn có thể đã được chứng minh trong trường hợp 1D, nhưng không
áp dụng trong trường hợp liên quan đến 2D
2.2.3.3 Sự biểu diễn không gian tỷ lệ
Không gian tỷ lệ thường được chia thành các octave (một octave đại diện chomột loạt các bản đồ đặc trưng lọc thu được bằng cách ghép các ảnh đầu vào tương tựnhau với kích thước lọc tăng dần) và thể hiện như kim tự tháp ảnh Các ảnh liên tụcđược làm mịn bởi hàm Gaussian, rồi sau đó được lấy mẫu giảm để đạt được một mứccao hơn của kim tự tháp Do việc sử dụng các bộ lọc vuông và ảnh tích hợp, chúng takhông phải áp dụng lặp đi lặp lại phép lọc tương tự cho đầu ra của một lớp đã đượclọc kề trước đó, nhưng để thay thế có thể áp dụng những bộ lọc như vậy của bất kỳkích thước chính xác cùng tốc độ trực tiếp trên ảnh gốc Do đó không gian tỷ lệ đượcphân tích bằng cách mở rộng kích thước bộ lọc thay vì lặp đi lặp lại việc giảm kíchthước ảnh Đầu ra trên bộ lọc 9x9 được xem là lớp tỷ lệ ban đầu, ở đây sẽ giới thiệu
là tỷ lệ s=1.2 (tương ứng với các dẫn suất Gaussian với σ) ở x có tỷ lệ σ được định nghĩa =1.2) Các lớp tiếp theo thuđược bằng cách lọc các ảnh với mặt nạ lớn dần, có tính đến tính rời rạc của các ảnhtích hợp và cấu trúc cụ thể của các bộ lọc Cụ thể điều này đưa đến các bộ lọc kíchthước 9x9, 15x15, 21x21, 27x27,vv…Ở quy mô lớn hơn, bước giữa kích cỡ bộ lọcliên tục phải phù hợp với tỷ lệ Do đó, đối với từng octave mới, sự gia tăng kíchthước bộ lọc là tăng gấp đôi (từ 6 đến 12 đến 24) Đồng thời, khoảng lấy mẫu để táchcác điểm quan tâm có thể được tăng lên gấp đôi
Hình 2.5: Thay vì lặp lại việc giảm kích cỡ ảnh(bên trái), việc sử dụng ảnh
tích hợp cho phép tăng tỷ lệ lọc với giá trị không đổi(bên phải)
Trang 23Khi tỷ lệ thiết kế bộ lọc không thay đổi sau khi mở rộng, các xấp xỉ đạo hàmGaussian có cùng tỷ lệ phù hợp Ví dụ, bộ lọc 27x27 tương ứng vớiσ) ở x có tỷ lệ σ được định nghĩa=3×1.2=3.6=s Hơn nữa, khi các chỉ tiêu Frobenius vẫn không đổi cho các bộ lọc,chúng là tỷ lệ đã được chuẩn hóa.
2.2.3.4 Định vị điểm quan tâm
Để định vị điểm quan tâm trong ảnh và trên các tỷ lệ, một sự loại trừ khôngcực đại trong một láng giềng 3x3x3 được áp dụng, cực đại của định thức ma trậnHessian được nội suy trong tỷ lệ và không gian ảnh
Hình 2.6: Biểu đồ tỷ lệ phát hiện.
Số lượng điểm quan tâm được phát hiện trên mỗi octave phân ra nhanh chóng.
Nội suy không gian tỷ lệ là đặc biệt quan trọng trong trường hợp này, như sựkhác biệt tỷ lệ giữa các lớp đầu tiên của mỗi octave là tương đối lớn Ví dụ:
Trang 24Hình 2.7: Những điểm quan tâm được phát hiện trên một cánh đồng hoa hướng dương.
2.2.3.5 Bộ mô tả điểm quan tâm và so khớp
Bộ mô tả của phương pháp này mô tả sự phân bố cường độ nội dung bêntrong láng giềng của các điểm quan tâm, giống như thông tin gradient được rúttrích bởi phương pháp SIFT và những biến đổi của nó Ở đây xây dựng sự phân bốcủa các đặc trưng Haar wavelet bậc nhất ở x và y hướng hơn là gradient, khai thácảnh tích hợp cho tốc độ và chỉ sử dụng kích thước 64 Điều này làm giảm thời giantính toán đặc trưng và so khớp, và đồng thời chứng minh sự gia tăng độ chắc chắn.Hơn nữa, ở đây sẽ trình bày bước đánh chỉ mục mới dựa trên dấu hiệu Laplacian,
đó không chỉ làm tăng độ chắc chắn mà còn tăng tốc độ so khớp Phương pháp pháthiện-mô tả này được gọi là SURF (Speed Up Robust Feature) Bước đầu tiên gồm
có cố định hướng lặp dựa trên thông tin từ vùng tròn bao quanh điểm quan tâm Sau
đó, xây dựng một vùng hình vuông phù hợp với hướng được chọn và trích xuất mô
tả SURF từ nó Cuối cùng các đặc trưng được khớp giữa hai ảnh
Trang 25trong hình Chỉ 6 phép toán được sử dụng để tính toán đặc trưng ở x hoặc y hướng
ở bất kỳ tỷ lệ nào
Hình 2.8: Phép lọc Haar waveletPhép lọc Haar wavelet để tính toán đặc trưng ở x( bên trái ) và y hướng( bên
phải) Vùng đen có trọng số -1 và vùng trắng có trọng số+1
Mỗi một đặc trưng wavelet được tính toán và điều chỉnh với hàm Gaussian(σ) ở x có tỷ lệ σ được định nghĩa=2.5s) ở tâm điểm của điểm quan tâm, các đặc trưng được biểu diễn như vectortrong không gian với độ lớn đặc trưng theo chiều ngang dọc theo hoành độ và độlớn đặc trưng thẳng dọc theo tung độ Hướng chủ đạo được ước tính bằng cách tính
tổng tất cả các đặc trưng trong một cửa sổ định hướng trượt bao quanh một góc
3
Hình 2.9: Gán hướng
Trang 26Một cửa sổ dịch hướng kích thước
3
phát hiện hướng trội của các đặc trưng Haar wavelet có trọng số Gaussian ở mỗi điểm mẫu trong vòng tròn láng giền quanh điểm quan tâm.
2.2.3.5.2 Bộ mô tả dựa trên tổng các đặc trưng Haar Wavelet
Để tách mô tả, bước đầu tiên bao gồm việc xây dựng một khu vực trung tâmhình vuông bao quanh điểm quan tâm và hướng theo hướng đã chọn trong phầntrước Kích thước cửa sổ này là 20s Ví dụ:
Hình 2.10: Chi tiết của ảnh
Chi tiết của ảnh Graffiti thể hiện kích thước của cửa sổ bộ mô tả hướng ở các
tỉ lệ khác nhau
Hình 2.11: Xây dựng bộ mô tả
Trang 27Để xây dựng bộ mô tả, một khung lưới hướng bậc 2 với 4x4 vùng con hình vuông được đặt trên các điểm quan tâm(bên trái) Ở mỗi hình vuông đặc trưng wavelet được tính toán Sự chia nhỏ 2x2 của mỗi hình vuông tương ứng với các trường thực của bộ mô tả Những cái này là tổng của dx,dy, |dx| và |dy|, tính toán
tương đối hướng của lưới (bên phải)
Sau đó các đặc trưng wavelet dx, dy được tổng hợp qua từng khu vực con vàhình thành một tập chỉ mục vector đặc trưng đầu tiên
Hình 2.12: Các mục mô tả của miền con
Các mục mô tả của miền con đại diện cho tính chất của mẫu cường độ cơ
bản Hình 2.12 bên trái: trong trường hợp của một miền con đồng nhất, tất cả các
giá trị là tương đối thấp.Hình 2.12 ở giữa: sự có mặt của tần số trong x hướng, giá trị của ∑|| là cao, nhưng tất cả các trương hợp khác vẫn thấp Nếu cường độ tăng dần theo x hướng, cả ∑ và ∑|| đều cao.
2.2.3.5.3 Lập chỉ mục và so khớp
Hình 2.13: So khớpNếu độ tương phản giữa 2 điểm quan tâm khác nhau(tối trên nền sáng và
sáng trên nền tối), ứng viên sẽ không được xem là so khớp có giá trị.
Trang 282.3 Các phương pháp phân loại ảnh
2.3.1 Tổng quan
Phân loại ảnh là một quá trình phức tạp và đòi hỏi phải xem xét nhiều yếu tố.Nhìn chung các bước chính của quá trình phân loại ảnh có thể bao gồm: xác địnhmột hệ thống phân loại cụ thể và phù hợp, lựa chọn mẫu đào tạo, tiền xử lý ảnh,khai thác tính năng, lựa chọn các phương pháp tiếp cận phân loại phù hợp, và đánhgiá độ chính xác Nhu cầu của người sử dụng, quy mô của công trình nghiên cứu,điều kiện kinh tế, và kỹ năng của nhà phân tích là những yếu tố quan trọng ảnhhưởng đến sự lựa chọn dữ liệu, thiết kế của các thủ tục phân loại, và kết quả củacác thủ tục phân loại
Trong những năm gần đây, nhiều phương pháp phân loại tiên tiến đượcnghiên cứu, chẳng hạn như Neural Network, Fuzzy-sets, và các hệ thống chuyêngia đã được áp dụng rộng rãi cho việc phân loại ảnh Cách tiếp cận với bài toáiphân loại ảnh có thể được nhóm thành hình thức có giám sát (supervised) và khônggiám sát (unsupervised), hoặc có tham số (parametric) và không tham số(unparametric), hoặc cứng (hard) và mềm (Fuzzy), hoặc cho mỗi điểm ảnh(perpixel), nhóm điểm ảnh (subpixel), và vùng (perfield)
2.3.2 Phương pháp K-Means
K-Means là thuật toán rất quan trọng và được sử dụng phổ biến trong kỹthuật phân cụm Tư tưởng chính của thuật toán K-Means là tìm cách phân nhómcác đối tượng (objects) đã cho vào K cụm (K là số các cụm được xác đinh trước, Knguyên dương) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâmnhóm (centroid ) là nhỏ nhất
Thuật toán KMeans được mô tả như sau:
1 Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster) Mỗi cụm được đại diệnbằng các tâm của cụm
2 Tính khoảng cách giữa các đối tượng (objects) đến K tâm (thường dùng khoảngcách Euclidean)
3 Nhóm các đối tượng vào nhóm gần nhất
4 Xác định lại tâm mới cho các nhóm
Trang 295 Thực hiện lại bước 2 cho đến khi không có sự thay đổi nhóm nào của các đốitượng.
2.3.3 Phương pháp K-Nearest Neighbor(KNN)
K-Nearest Neighbor là phương pháp truyền thống khá nổi tiếng theo hướngtiếp cận thống kê đã được nghiên cứu trong nhiều năm qua KNN được đánh giá làmột trong những phương pháp tốt nhất được sử dụng từ những thời kỳ đầu trongnghiên cứu về phân loại hình ảnh
Ý tưởng của phương pháp này đó là khi cần phân loại một ảnh mới, thuậttoán sẽ xác định khoảng cách (có thể áp dụng các công thức về khoảng cách nhưEuclide, Cosine, Manhattan, …) của tất cả các ảnh trong tập huấn luyện đến ảnhnày để tìm ra K ảnh gần nhất, gọi là K Nearest Neighbor – K láng giềng gần nhất,sau đó dùng các khoảng cách này đánh trọng số cho tất cả các chủ đề Khi đó, trọng
số của một chủ đề chính là tổng tất cả các khoảng cách ở trên của các ảnh trong Kláng giềng có cùng chủ đề, chủ đề nào không xuất hiện trong K láng giềng sẽ cótrọng số bằng 0 Sau đó các chủ đề sẽ được sắp xếp theo giá trị trọng số giảm dần
và các chủ đề có trọng số cao sẽ được chọn làm chủ đề của ảnh cần phân loại
2.3.4 Phương pháp Support Vector Machine(SVM)
2.3.4.1 Tổng quát về SVM
Phân lớp (classification) và dự đoán (prediction) là hai bài toán cơ bản và córất nhiều ứng dụng trong tất cả các lĩnh vực Có nhiều phương pháp đã được nghiêncứu và ứng dụng cho các bài toán dạng này như: mạng Nơron nhân tạo, phươngpháp học thống kê,… Trong phần này, chúng ta sẽ đi sâu nghiên cứu phương phápSupport Vector Machines, một phương pháp rất hiệu quả hiện nay
SVM được coi là công cụ mạnh cho những bài toàn phân lớp phi tuyến.Phương pháp này thực hiện phân lớp dựa trên nguyên lý cực tiểu hóa rủi ro có cấutrúc SRM (Structural Risk Minimization), được xem là một trong các phương phápphân lớp giám sát không tham số tinh vi nhất cho đến nay Các hàm công cụ đadạng của SVM cho phép tạo không gian chuyển đổi để xây dựng mặt phẳng phânlớp
SVM dạng chuẩn lấy một tập hợp các dữ liệu đầu vào và dự báo mỗi dữ liệuđầu vào ứng với một lớp (class) trong số hai lớp mà dữ liệu ấy có khả năng rơi vào
Trang 30Điều này làm cho dạng chuẩn SVM trở nên không có tính xác suất mà là một công
cụ binary tuyến tính
Bài toán phân lớp, sử dụng SVM nhằm mục đích tìm một siêu phẳng có biêncực đại giữa lớp mẫu âm và mẫu dương, đồng thời cực tiểu hóa các mẫu khôngphân chia được trong tập huấn luyện SVM dựa trên cơ sở toán học vững chắc Tuynhiên việc huấn luyện mẫu sử dụng SVM đòi hỏi phải giải bài toán tối ưu nhiềubiến Ban đầu, SVM được phát triển để giải các bài toán phân lớp, về sau do tính
ưu việt, nó còn được ứng dụng rộng rãi để giả các bài toán hồi quy
2.3.4.2 Bài toán phân lớp
Phân lớp là quá trình nhóm các đối tượng “giống” nhau vào “một lớp” dựatrên các đặc trưng dữ liệu của chúng Tuy nhiên, phân lớp là một hoạt động tiềm ẩntrong tư duy con người khi nhận dạng thế giới thực, đóng vai trò quan trọng làm cơ
sở đưa ra các dự báo, các quyết định Phân lớp và cách mô tả các lớp giúp cho trithức được định dạng và lưu trữ trong đó
Khi nghiên cứu một đối tượng, hiện tượng, chúng ta chỉ có thể dựa vào một
số hữu hạn các đặc trưng của chúng Nói cách khác, ta chỉ xem xét biểu diễn củađối tượng, hiện tượng trong một không gian hữu hạn chiều, mỗi chiều ứng với mộtđặc trưng được lựa chọn Khi đó, phân lớp dữ liệu trở thành phân hoạch dữ liệuthành các tập con theo một chuẩn nhận dạng được
Một cách hình thức, xem X {(x , ,x )} 1 n là không gian biểu diễn n-chiều cácđặc trưng của đối tượng, hiện tượng Khi đó, mỗi đối tượng của X sẽ thuộc về mộtlớp C knào đó và các lớp C k tạo thành một phân hoạch trên X, gọi là C(X)
Vậy, việc phân lớp các đối tượng là xác định một hàm f: X→C(X), và bàitoán phân lớp có thể được mô tả một cách hình thức như sau:
Cho tập mẫu : ={(X ,C )|X R ,Cn R ,i=1, }
Trang 31Như vậy việc giải bài toán phân lớp là quá trình xây dựng một mô hình (cáchàm, các luật…) để quyết định mỗi đối tượng, vật thể thuộc vào lớp nào dựa trêncác đặc trưng dữ liệu của chúng Quá trình phân lớp sẽ trở nên khó khăn hơn khiđối tượng có nhiều đặc trưng dữ liệu, và quá trình phân lớp cũng cần xác định đặctrưng nào cần thiết cho việc phân lớp, đặc trưng nào dư thừa.
2.3.4.3 Bài toán phân 2 lớp với SVM
Bài toán đặt ra là: Xác định hàm phân lớp để phân lớp các mẫu trong tươnglai, nghĩa là với một dữ liệu mới xt thì cần phải xác định xt được phân vào lớp +1hay lớp -1?
Nếu dữ liệu phân chia tuyến tính, hàm quyết định được xác định:
f x x b
Với w là vector l chiều và b là vector vô hướng
Siêu phẳng phân chia thỏa mãn: (wl ) 1
i i
y x b với i=1,…,l
Hình 2.14: Bài toán phân 2 lớp với SVMTrong đó:
các điểm có nhãn +1 (Lớp I)
: các điểm có nhãn -1 (Lớp II)
Trang 32Siêu phẳng tối ưu có thể xác định được bằng việc giải bài toán tối ưu bậchai: cực tiểu 1 2
|| w ||
2
Với ràng buộc: y i(wx ib) 1
2.3.4.4 Bài toán phân nhiều lớp với SVM
Để phân nhiều lớp thì kĩ thuật SVM nguyên thủy sẽ chia không gian dữ liệuthành 2 phần và quá trình này lặp lại nhiều lần Khi đó hàm quyết định phân dữ liệuvào lớp thứ I của tập n 2-lớp sẽ là:
f x i( )= -1 nếu thuộc phần còn lại
Như vậy, bài toán phân nhiều lớp sử dụng phương pháp SVM hoàn toàn cóthể thực hiện giống như bài toán hai lớp Bằng cách sử dụng chiến lược “một đốimột” (one – against – one)
Giả sử bài toán cần phân loại có k lớp (k>1), chiến lược “một đối một” sẽtiến hành k(k-1)/2 lần phân lớp nhị phân sử dụng phương pháp SVM Mỗi lớp sẽtiến hành phân tách với k-1 lớp còn lại để xác định k-1 hàm phân tách dựa vào bàitoán phân hai lớp bằng phương pháp SVM
2.4 Phương pháp đề xuất
Khi xử lý ảnh cho bước đầu tiên trong phân đoạn ảnh ta sẽ gặp một sốtrường hợp như:
Vị trí thực phẩm trong hình : Thứ tự hình ảnh đứng trước, đứng sau, hay
chỉ thấy được một góc của thực phẩm Việc này làm tăng tính phức tạp trong việcxác nhận hình ảnh thực của mỗi loại thực phẩm có trong hình
Sự đa dạng về hình dạng: Không phải tất cả các loại thực phẩm sẽ có
hình dạng giống nhau cho mỗi lần chụp Mỗi bức ảnh tuy chụp cùng một khungcảnh nhưng sẽ cho các hình dạng khác nhau với mỗi loại thực phẩm
Sự thay đổi trong kết cấu hình ảnh: điều kiện ánh sáng khác nhau và điều
kiện kết hợp các thành phần thực phẩm trong mỗi hình cũng khác nhau, cũng nhưviệc tạo một phông nền lộn xộn gây khó khăn cho việc phát hiện đối tượng cầnquan tâm
Trang 33Với nhứng vấn đề gặp phải, việc lựa chọn xây dựng điểm cục bộ bất biến làcần thiết Luận văn áp dụng phân tích thành phần đặc trưng bất biến của tấm ảnh cụthể là thuật toán SURF phục vụ cho việc tiến hành rút lấy những đặc trưng bất biếncủa ảnh sau đó dùng giải thuật SVM để tiến hành phân lớp Thực nghiệm cho thấy
độ chính xác cao, phù hợp để áp dụng vào hệ thống phân lớp tự động
2.4.1 Các bước cơ bản
Hình 2.15 Tổng quan phương pháp
Bước 1: Trích chọn đặc trưng