Phát hiện đối tượng được dùng trong nhiều lĩnh vực khác nhau như: nhận dạng khuôn mặt, nhận dạng sâu bênh, phát hiện biểu hiện tổn thương da, phát hiện loại sản phẩm, … Phát hiện đối tượ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO UBND TỈNH THANH HÓA
TRƯỜNG ĐẠI HỌC HỒNG ĐỨC
LƯU TÙNG DƯƠNG
NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT HỌC SÂU
TRONG NHẬN DẠNG MỘT SỐ SÂU BỆNH TRÊN CÂY LÚA
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
THANH HÓA - 2019
Trang 2TRƯỜNG ĐẠI HỌC HỒNG ĐỨC
LƯU TÙNG DƯƠNG
NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT HỌC SÂU
TRONG NHẬN DẠNG MỘT SỐ SÂU BỆNH TRÊN CÂY LÚA
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 8480101
Người hướng dẫn khoa học: TS Hoàng Văn Dũng
THANH HÓA - 2019
Trang 3Danh sách Hội đồng chấm luận văn Thạc sĩ khoa học
(theo quyết định số …/QĐ-ĐHHĐ ngày tháng năm 2019 của Hiệu trưởng
Trường Đại học Hồng Đức)
Học hàm, học vị, Họ và tên Cơ quan công tác Chức danh
trong Hội đồng
Chủ tịch Phản biện 1 Phản biện 2
Ủy viên Thư ký
Xác nhận của Người hướng dẫn
Học viên đã chỉnh sửa theo ý kiến của Hội đồng
Thanh Hóa, ngày tháng năm 2019 (Ký và ghi rõ họ tên)
TS Hoàng Văn Dũng
Trang 4LỜI CAM ĐOAN
Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy giáo hướng dẫn TS Hoàng Văn Dũng
Các tài liệu tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố
Tôi xin cam đoan luận văn này không trùng lặp với các khóa luận, luận văn, luận án và các công trình nghiên cứu đã công bố
Người cam đoan
Lưu Tùng Dương
Trang 5LỜI CẢM ƠN
Em xin chân thành cám ơn quý thầy, cô trong khoa Công nghệ thông tin & Truyền thông đã trang bị cho em một kiến thức nền tảng giúp em có thể hoàn thành tốt luận văn này Cám ơn các bạn trong lớp đã chia sẻ các kinh nghiệm và
đã hỗ trợ trong lúc làm luận văn
Đặc biệt em xin chân thành cảm ơn thầy hướng dẫn, T.S Hoàng Văn Dũng
đã hỗ trợ em trong quá trình thực hiện luận văn này
Mặc dù đã cố gắng hết khả năng nhưng không thể nào tránh khỏi những thiếu sót Rất mong nhận được sự góp ý quý báu của quý thầy cô để em hoàn chỉnh hơn
Người cảm ơn
Lưu Tùng Dương
Trang 6MỤC LỤC
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu nghiên cứu 2
3 Nhiệm vụ và giới hạn của đề tài 2
3.1 Nhiệm vụ của đề tài 2
3.2 Giới hạn của đề tài 2
4 Phương pháp nghiên cứu 2
5 Cấu trúc luận văn 3
CHƯƠNG I: TỔNG QUAN VỀ NHẬN DẠNG XỬ LÝ ẢNH 4
VÀ HỌC MÁY 4
1.1 Một số kỹ thuật xử lý ảnh 4
1.1.1 Tổng quan về xử lý ảnh 4
1.1.2 Một số dạng ảnh 5
1.1.3 Các thành phần trong hệ thống xử lý ảnh 6
1.1.4 Phương pháp phát hiện biên ảnh 7
1.1.4.1 Một số khái niệm 7
1.1.4.2 Kỹ thuật phát hiện biên Gradient 7
1.1.4.3 Kỹ thuật phát hiện biên Canny 8
1.1.4.4 Phát hiện biên gián tiếp 9
1.1.5 Phân vùng ảnh 10
1.1.5.1 Phân vùng theo ngưỡng biên độ 10
1.1.5.2 Phân vùng theo miền đồng nhất 11
1.1.5.3 Phương pháp tách cây tứ phân 11
1.1.5.4 Phương pháp cục bộ 11
1.1.5.5 Phương pháp tổng hợp 12
1.1.5.6 Phân vùng theo kết cấu bề mặt 12
1.2 Một số vấn đề về học máy 13
1.2.1 Khái niệm học máy 13
1.2.2 Phân loại phương pháp học máy 13
Trang 71.2.3 Ứng dụng của học máy 14
1.3 Một số kỹ thuật nhận dạng mẫu 14
1.3.1 Tổng quan về nhận dạng 14
1.3.2 Quá trình nhận thức của con người là quá trình nhận dạng 15
1.3.3 Kỹ thuật trượt window trong nhận dạng 15
1.3.4 Huấn luyện mô hình trong nhận dạng 19
1.3.5 Phương pháp nhận dạng đối tượng trong ảnh 20
1.4 Một số kỹ thuật học máy sử dụng trong nhận dạng 21
1.4.1 Máy vector hỗ trợ SVM 21
1.4.2 Mạng Nơron nhân tạo 23
1.4.3 Kỹ thuật học sâu 26
1.4.3.1 Tổng quan về học sâu 26
1.4.3.2 Mạng Neural học sâu 27
CHƯƠNG II: KỸ THUẬT MẠNG TÍCH CHẬP TRONG DỰ ĐOÁN BỆNH VỀ LÚA 29
2.1 MẠNG NEURAL TÍCH CHẬP 29
2.1.1 Khái niệm 29
2.1.2 Cấu trúc cơ bản của mạng CNN 29
2.1.3.2 Mạng ZFNet 33
2.1.3.3 Mạng GoogLeNet 34
2.1.3.4 Mạng neural tích chập 3D-CNN 36
2.2 GIẢI PHÁP DỰ ĐOÁN BỆNH LÚA BẰNG MẠNG TÍCH CHẬP 37
2.2.1 Mô tả bài toán nhận dạng bệnh lúa 37
2.2.2 Giải pháp tổng quát 38
2.2.3 Định nghĩa kiến trúc mạng CNN 39
2.2.4 Các vấn đề trong dự đoán loại bệnh: 40
2.2.5 Tăng cường dữ liệu cho mạng học sâu 41
CHƯƠNG III THỰC NGHIỆM, ĐÁNH GIÁ KẾT QUẢ 43
3.1 Dữ liệu dùng trong thực nghiệm 43
3.2 Xây dựng mạng học sâu 43
3.3 Kết quả thực nghiệm 46
Trang 83.4 Tiêu chí đánh giá 48
3.5 Kết quả đánh giá 50
3.6 Đánh giá hệ thống 54
3.7 Chương trình minh họa 55
CHƯƠNG IV KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 57
4.1 Kết luận 57
4.2 Hướng phát triển 57
TÀI LIỆU THAM KHẢO 58
Trang 9
DANH SÁCH CÁC HÌNH
Hình 1 1: Sơ đồ các bước cơ bản trong xử lý 5
Hình 1 2: Cấu trúc điểm ảnh với 3 lớp màu RGB 5
Hình 1 3: Ảnh đa mức xám 6
Hình 1 4: Sơ đồ tổng quát hệ thống xử lý ảnh 6
Hình 1 5: Ví dụ về pixel cần tính vector gradient 8
Hình 1 6: Phần ngưỡng 9
Hình 1 7: Liên thông 12
Hình 1 8: Trượt window 16
Hình 1 9: Nhận dạng bằng phương pháp trượt window trên nhiều mức tỷ lệ 18
Hình 1 10: Gom cụm các nhận dạng cùng một đối tượng: 19
Hình 1 11: Đường thẳng phân chia 2 lớp trong không gian 2 chiều 22
Hình 1 12: Margin trong SVM 22
Hình 1 13: Kiến trúc chung của mạng nơron nhân tạo 24
Hình 1 14: (a) Mô hình mạng neural cạn[27] (b) Mô hình mạng neural sâu[37] 27
Hình 1 15: Biểu diễn đặc trưng đối tượng trong mạng học sâu [28] 28
Hình 2 1: Phép MaxPooling (2x2), stride=2 (nguồn internet) 30
Hình 2 2: Kiến trúc 8 lớp của mô hình AlexNet 31
Hình 2 3: Kiến trúc 8 lớp của mô hình FZNet 33
Hình 2 4: Một dạng cụ thể của kiến trúc mạng GoogLeNet 35
Hình 2 5: Mạng neural học sâu đơn giản gồm 3 inception 36
Hình 2 6: Ph p tích chập khối 3D-CNN) 37
Hình 2 7: Sơ đồ tổng quát giải pháp phân loại bệnh qua hình ảnh 38
Hình 3 1: Mô hình kiến trúc mạng CNN 46
Hình 3 2: Trọng số của bộ lọc của lớp tích chập đầu tiên Lớp này bao gồm 32 bộ lọc kích thước 7 x 7, mỗi bộ lọc được kết nối với ba kênh đầu vào ảnh màu RGB 47
Hình 3 3: Đầu ra 32 bộ tích chập tại lớp convolution đầu tiên 47
Hình 3 4: Giá trị chỉnh sửa tuyến tính sau lớp tích chập đầu tiên 48
Hình 3 5: Đầu ra của 32 mẫu tại lớp Convolution thứ hai 48
Hình 3 6: Bệnh đạo ôn 50
Hình 3 7: Cháy bìa lá 50
Trang 10Hình 3 8: Ngộ độc phèn 51
Hình 3 9: Sâu cuốn lá 51
Hình 3 10: Minh họa một số mẫu bệnh chuẩn đoán đúng 54
Hình 3 11: Minh họa một số mẫu bệnh chuẩn đoán nhầm 54
Trang 11DANH SÁCH CÁC BẢNG BIỂU
Bảng 2 1: Bảng mô tả kiến trúc 25 lớp của mạng AlexNet trong Matlab 31
Bảng 2 2: Tham số mạng CNN 39
Bảng 2 3: Tham số mạng NN 40
Bảng 3 1: Mô tả các loại bệnh về lúa 50
Bảng 3 2: Số liệu về tập dữ liệu dùng để huấn luyện 51
Bảng 3 3: Số liệu về tập dữ liệu dùng để đánh giá 51
Bảng 3 4: Kết quả số liệu đánh giá trên tập dữ liệu tự thu thập 52
Bảng 3 5: Độ chính xác tính theo từng loại bệnh riêng biệt 52
Bảng 3 6: Kết quả đánh giá theo các tiêu chí chẩn đoán 53
Trang 12DANH SÁCH CÁC CHỮ VIẾT TẮT
ANN Artificial Neural Network Mạng Neural nhân tạo
CNN Convolutional Neural Network Mạng Neural tích chập
SVM Support vector machine Máy vector hỗ trợ
AI Artificial Intelligence Trí tuệ nhân tạo
GPU Graphics Processing Unit Đơn vị xử lý đồ họa
MLNN Multi Layer Neural Network Mạng Neural đa lớp
ReLU Rectified Linear Unit Hiệu chỉnh đơn vị tuyến tính CUDA Compute Unified Device
Architecture
Kiến trúc thiết bị tính toán hợp nhất
Trang 13MỞ ĐẦU
1 Lý do chọn đề tài
Hiện nay đã có nhiều nghiên cứu về các hệ thống tự động phát hiện đối tượng trong lĩnh vực thị giác máy tính Phát hiện đối tượng được dùng trong nhiều lĩnh vực khác nhau như: nhận dạng khuôn mặt, nhận dạng sâu bênh, phát hiện biểu hiện tổn thương da, phát hiện loại sản phẩm, …
Phát hiện đối tượng cụ thể là biểu hiện của sâu bệnh để phân loại các bệnh trên cây lúa, đã được quan tâm từ lâu nay Cùng với yêu cầu phát triển xã hội, hiệu quả các
hệ thống phát hiện đòi hỏi ngày càng được cải thiện và nâng cấp Có nhiều hướng tiếp cận khác nhau để giải bài toán phát hiện khác nhau như: xác định biên, tìm kiểm sâu trong việc nhận dạng
Theo dự báo của các tổ chức quốc tế, đến năm 2050, sản xuất lương thực trên thế giới phải tăng 70% so với hiện nay để nuôi đủ chín tỷ người Lượng gạo giao dịch thương mại vào năm 2022 ước đạt 45 triệu tấn, tăng 23% so với năm 2013 Giá lương thực toàn cầu có thể tăng 10 - 14% trong 10 năm tới
Ở nước ta sản xuất lúa gạo góp phần quan trọng bảo đảm an ninh lương thực, xóa đói giảm nghèo, thúc đẩy xuất khẩu, tăng thu ngoại tệ và nâng cao vị thế của Việt Nam trên thế giới Theo đó, giai đoạn 1989 đến 2012, xuất khẩu gạo tăng bình quân 14%/năm về lượng và 10% giá trị Gạo Việt có mặt trên 150 quốc gia, vùng lãnh thổ Diện tích trồng và năng suất tăng liên tục, sau 20 năm từ 1995 đến 2015 tăng từ 3,2 triệu ha lên 4,3 triệu ha vùng ĐBSCL…
Bên cạnh kết quả đạt được, hạn chế của ngành lúa gạo còn rất nhiều, trong đó công tác sản xuất còn gặp nhiều khó khăn như việc phòng chống sâu bệnh trên cây lúa
từ đó dẫn đến hiệu quả năng suất chất lượng chưa cao, hiện nay trung bình mỗi hộ canh tác lúa được lợi nhuận 35 - 40 triệu đồng/ha/năm, thấp hơn 2,7 lần so với Thái-lan; 1,5 lần so với Indonesia và Philippines Việc áp dụng các biện pháp phòng trừ sâu bệnh vẫn còn nhiều hạn chế, nhiều loại bệnh chưa có thuốc đặc trị, việc sử dụng thuốc bảo vệ thực vật trên cây lúa cũng có nhiều vấn đề đáng bàn… Vấn đề này được nhiều
cá nhân tổ chức nghiên cứu quan tâm Tuy nhiên có những vùng miền và địa hình trồng cây lúa của người dân Việt Nam khác nhau Trong khi đó tình hình nghiên cứu phòng ngừa, khắc phục còn nhiều hạn chế và chưa kịp thời chính xác
Trang 14Việc nghiên cứu, tìm hiểu nền tảng công nghệ, các lý thuyết cơ bản trong bài toán xử lý ảnh và áp dụng trong việc nhận dạng sâu bệnh nhằm hỗ trợ cho công tác cảnh báo đến người sản xuất, phát hiện bệnh sớm và phân loại bệnh là việc hết sức quan trọng và có tính cấp thiết cao quyết định cách phòng trừ sâu bệnh Do vậy, tôi đã
chọn đề tài ―Nghiên cứu sử dụng kỹ thuật Học sâu trong nhận dạng một số sâu
bệnh trên cây Lúa‖ nhằm hỗ trợ chuẩn đoán và phân loại bệnh để có cách phòng trừ
bệnh
2 Mục tiêu nghiên cứu
Mục tiêu của đề tài là nghiên cứu áp dụng kỹ thuật học sâu trong xây dựng cấu trúc mạng, tổ chức huấn luyện, các biện pháp tiền xử lý hình ảnh nhằm nâng cao độ chính xác nhận dạng sâu bệnh Kết quả nghiên cứu có thể là cơ sở hỗ trợ việc chuẩn đoán, phân loại bệnh để có cách phòng trừ bệnh phù hợp, hiệu quả
3 Nhiệm vụ và giới hạn của đề tài
3.1 Nhiệm vụ của đề tài
Tìm hiểu lý thuyết về xử lý ảnh và một số kỹ thuật trí tuệ nhân tạo
Tìm hiểu phương pháp học sâu, xây dựng mô hình kiến trúc mạng tích chập, huấn luyện và tăng cường dữ liệu nhằm nâng cao độ chính xác nhận dạng sâu bệnh
Xây dựng module nhận dạng ra từng loại phân tích sâu bệnh của hình ảnh trên
cơ sở đầu vào là các mẫu chứa trong hình ảnh sâu bệnh
3.2 Giới hạn của đề tài
Đề tài này tập trung nghiên đề xuất giải pháp nâng cao độ chính xác nhận dạng các mẫu hình ảnh Chúng tôi không chú trọng vào việc trích xuất vùng chứa hình ảnh sâu bệnh từ ảnh tổng thể, nhiệm vụ này có thể sử dụng những phương pháp hiện nay, như phương pháp phân đoạn đoạn ngữ nghĩa hay phương pháp trích vùng quan tâm bằng màu sắc và hình dáng
4 Phương pháp nghiên cứu
Phương pháp nghiên cứu lý thuyết
Nghiên cứu cơ sở lý thuyết về trí tuệ nhân tạo, mạng neural và các kỹ thuật nhận dạng và xử lý ảnh
Nghiên cứu nguyên lý hoạt động của mạng tích chập học sâu và ứng dụng của
nó trong nhận dạng mẫu
Trang 15Phân tích đánh giá tổn thương da và sử dụng kỹ thuật học sâu để nhận dạng phân loại ra từng loại bệnh
Phương pháp nghiên cứu thực nghiệm
Cài đặt, thực nghiệm giải pháp kỹ thuật học sâu trong phân tích, biểu diễn dữ liệu và phân loại bệnh
Đánh giá tính hiệu quả của giải pháp ứng dụng kỹ thuật học sâu với các các tiếp cận khác về nhận dạng sâu bệnh, nhận x t đánh giá về giải pháp và đề xuất ứng dụng
Cài đặt thử nghiệm và đánh giá các cải tiến thuật toán nhận dạng sâu bệnh bằng
kỹ thuật học sâu
5 Cấu trúc luận văn
Đề tài ―Nghiên cứu sử dụng kỹ thuật Học sâu trong nhận dạng một số sâu
bệnh trên cây Lúa‖ gồm 4 chương
Chương 1: Tổng quan về học máy, nhận dạng và xử lý ảnh: Trình bày khái niệm, các nội dung cơ bản của học máy, nhận dạng và xử lý ảnh Các ứng dụng của học máy và kỹ thuật xử lý ảnh trong thực tế
Chương 2: Kỹ thuật Học sâu cho bài toán nhận dạng biểu hiện của sâu bệnh trên cây Lúa: Nghiên cứu kỹ thuật Học sâu và một số kỹ thuật trí tuệ nhân tạo truyền thống áp dụng cho bài toán nhận dạng sâu bệnh
Chương 3: Thực nghiệm đánh giá, cài đặt, thử nghiệm và đánh giá giải pháp;
mô tả quá trình thực nghiệm xây dựng mạng neural học sâu, tổ chức huyến luyện và kiểm tra đánh giá mô hình mạng; xây dựng dữ liệu một số loại hình ảnh hiểu hiện và loại bệnh, mô tả về quá trình xây dựng dữ liệu và tiền xử lý cơ sở dữ liệu; đánh giá, so sánh giữa kỹ thuật Học sâu và phương pháp khác hiện nay về độ chính xác và thời gian thực hiện trên tập dữ liệu tự tạo và bộ dữ liệu chuẩn của nhóm nghiên cứu khác
Chương 4: Kết luận và hướng phát triển
Trang 16CHƯƠNG I: TỔNG QUAN VỀ NHẬN DẠNG XỬ LÝ ẢNH
VÀ HỌC MÁY 1.1 Một số kỹ thuật xử lý ảnh
1.1.1 Tổng quan về xử lý ảnh
Xử lý ảnh là một ngành khoa học mới so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh Nó được đưa vào giảng dạy đại học thời gian vài chục năm gần đây ở nước ta Xử lý ảnh là môn học liên quan đến nhiều lĩnh vực và cần nhiều kiến thức cơ sở khác Đầu tiên phải kể đến Xử lý tín hiệu số là một môn học hết sức cơ bản cho xử lý tín hiệu chung, các khái niệm về tích chập, các biến đổi Fourier, biến đổi Laplace, các bộ lọc hữu hạn… Thứ hai, các công cụ toán như: Đại số tuyến tính, xác suất, thống kê Một số kiến thứ cần thiết như Trí tuệ nhân tao, Mạng nơ ron nhân tạo cũng được đề cập trong quá trình phân tích và nhận dạng ảnh
Các phương pháp xử lý ảnh được bắt đầu từ các ứng dụng nhằm nâng cao chất lượng ảnh như : Nâng cao độ sáng hay độ phân giải của hình ảnh, bằng các phương pháp phân tích được nghiên cứu trong giai đoạn thiết bị phần cứng bị hạn chế Về sau
sự phát triển của máy tính đã tạo điều kiện cho việc thực hiện các thuật toán xử lý ảnh Ứng dụng xử lý ảnh ngày càng được mở rộng sang nhiều lĩnh vực khác như: Phân tích hình ảnh, chẩn đoán bệnh qua các loại hình ảnh tia Gamma, X-quang, scan PET/CT (cắt lớp phát xạ); Lĩnh vực tự động hóa, robot: Hệ thống xe không người lái, giám sát sản xuất sản phẩm công nghiệp, robot phục vụ dân sự, điều khiển giao thông thông minh; biểu hiện tâm lý, giao thông thông minh, giám sát an ninh, Xử lý hình ảnh được thực hiện trên hầu hết các thiết bị có màn hình hiển thị như camera kỹ thuật số, điện thoại thông minh, ti vi thông minh, máy tính xách tay
Các phương pháp tri thức nhân tạo như mạng nơ ron nhân tạo, các thuật toán xử
lý hiện đại và cải tiến, các công cụ nén ảnh ngày càng được áp dụng rộng rãi và thu nhiều kết quả khả quan Để dễ tưởng tượng, x t các bước cần thiết trong xử lý ảnh Đầu tiên, ảnh tự nhiên từ thế giới ngoài được thu nhận qua các thiết bị thu
Trước đây, ảnh thu qua Camera là các ảnh tương tự Gần đây, với sự phát triển của công nghệ, ảnh màu hoặc đen trắng được lấy ra từ Camera, sau đó nó được chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo Mặt khác, ảnh cũng có thể tiếp nhận từ vệ tinh; có thể quét từ ảnh chụp bằng máy quét ảnh
Trang 17Hình 1 1: Sơ đồ các bước cơ bản trong xử lý
1.1.2 Một số dạng ảnh
- Ảnh màu: Thường là các ảnh chứa thông tin về đối tượng được biểu diễn dưới dạng màu sắc mà mắc thường có thể quan sát được Mỗi điểm ảnh có cấu trúc gồm nhiều kênh khác nhau, thông thường trong máy tính, nó biểu diễn 3 lớp màu cơ bản RGB (Red,Green,Blue) [13]
Hình 1 2: Cấu trúc điểm ảnh với 3 lớp màu RGB
- Ảnh đa mức xám: thường biểu diễn thông tin liên quan đến cường độ đa xám của đối tượng trong không gian mà không được thể hiện bởi màu sắc thực của nó) [13]
Trang 18Hình 1 3: Ảnh đa mức xám
- Ảnh hồng ngoại (infrared image): biễu diễn trực quan quang phổ, liên quan đến phổ điện từ Nó cung cấp thông tin ảnh dựa trên phản xạ ánh sáng hồng ngoại hoặc bức xạ hồng ngoại mà các đối tượng trong khung nhìn phát ra Dựa vào khả năng thu nhận phản xạ hoặc bức xạ hồng ngoại mà các loại camera hồng ngoại có thể thu được các hình ảnh trong điều kiện không có ánh sáng hoặc ánh sáng kém
1.1.3 Các thành phần trong hệ thống xử lý ảnh
Hệ thống xử lý ảnh là đối tượng nghiên cứu liên quan đến các kỹ thuật thị giác máy (computer vision), nó là quá trình biến đổi từ một ảnh ban đầu được thu nhận từ thiết bị sang một không gian mới, làm nổi bật các đặc tính dữ liệu, thuận lợi cho quá trình xử lý thông tin và nâng cao độ chính xác Nó có thể bao gồm một số thành phần chính như sau:
Hình 1 4: Sơ đồ tổng quát hệ thống xử lý ảnh
Hệ thống xử lý ảnh hoạt động theo các bước sau:
- Thu nhận ảnh: Là việc hình ảnh về thế giới thực được thu nhận và chuyển qua tín hiệu ảnh rời rạc thông qua các thiết bị thu hình ảnh
Trang 19- Tiền xử lý: Là bước xử lý trên ảnh đầu vào nhằm khử nhiễu, làm nổi bật một số tính chất của ảnh nhằm nâng cao chất lượng các bước xử lý sau
- Trích chọn đặc trưng: Là quá trình biến đổi dữ liệu ảnh đầu vào thành tập các đặc trưng Các đặc trưng thường có đặc tính phân biệt cao của các mẫu đầu vào, việc phân biệt các mẫu dữ liệu ảnh đầu vào dễ dàng hơn nhằm nâng cao chất lượng phân loại mẫu so với xử lý dữ liệu thô trên giá trị pixel ảnh Việc trích chọn đặc trưng dùng
để thể hiện thông tin trong ảnh trong khi dữ liệu có tính phân biệt cao và cũng có thể làm giảm kích thước
- Phân loại, nhận dạng mẫu: Là quá trình xử lý dữ liệu bằng các kỹ thuật, phương pháp phân tích đặc trưng để phân loại các mẫu về các nhóm có chung một số tính chất nào đó Các phương pháp phân loại, nhận dạng mẫu thường liên quan đến các kỹ thuật học máy, bao gồm cả học có giám sát và học không có giám sát
- Biểu diễn tri thức: Là việc thể hiện ở mức độ cao của biểu diễn dữ liệu, các mẫu
dữ liệu sau khi phân loại, nhận dạng được biểu diễn dưới dạng tri thức giúp hệ thống
có khả năng ―hiểu biết‖ ngữ nghĩa của nó theo từng kiểu ứng dụng khác nhau trong hệ thống trí tuệ nhân tạo và hệ thống thông minh
- Ra quyết định: Là bước cuối cùng của một hệ thống nói chung trong lĩnh vực thị giác máy tính Các mẫu được biểu diễn dưới dạng tri thức và được suy luận ngữ nghĩa để đưa ra các quyết định thực hiện một nhiệm vụ nào đó
1.1.4 Phương pháp phát hiện biên ảnh
1.1.4.1 Một số khái niệm
- Điểm Biên: Một điểm ảnh được coi là điểm biên nếu có sự thay đổi nhanh hoặc đột ngột về mức xám (hoặc màu) Ví dụ trong ảnh nhị phân, điểm đen gọi là điểm biên nếu lân cận nó có ít nhất một điểm trắng
- Đường biên đường bao: boundary): Tập hợp các điểm biên liên tiếp tạo thành một đường biên hay đường bao
- Ý nghĩa của đường biên: Đường biên là một loại đặc trưng cục bộ tiêu biểu trong phân tích, nhận dạng ảnh Người ta sử dụng biên làm phân cách các vùng xám (màu) cách biệt
1.1.4.2 Kỹ thuật phát hiện biên Gradient
Gradient là một vec tơ f(x, y) có các thành phần biểu thị tốc độ thay đổi mức xám của điểm ảnh theo hai hướng x, y trong bối cảnh xử lý ảnh hai chiều)
Trang 20Error! No text of specified style in document 1
Error! No text of specified style in document 2
Trong đó, dx, dy là khoảng cách (tính bằng số điểm) theo hướng x và y Tuy ta nói là lấy đạo hàm nhưng thực chất chỉ là mô phỏng và xấp xỉ đạo hàm bằng các kỹ thuật nhân chập vì ảnh số là tín hiệu rời rạc nên đạo hàm không tồn tại (thực tế chọn dx= dy=1)
Một vector gradient có thể được tính cho mỗi pixel của một ảnh Nó là sự thay đổi trong giá trị pixel theo hướng x và hướng y quanh mỗi pixel Ví dụ, tính vector gradient tại pixel được tô nỗi bằng màu xanh trong hình 1.6a dưới đây theo phương pháp chập với các bộ lọc [-1 0 1] và [-1 0 1] T
:
Hình 1 5: Ví dụ về pixel cần tính vector gradient
Đây là một ảnh tỉ lệ xám, do đó các giá trị pixel chỉ trong khoảng từ 0 đến 255
0 là điểm đen, 255 là điểm trắng) Các giá trị pixel bên trái và bên phải của pixel đang xét (hình 1.7.) là 128 và 84 Tỉ lệ thay đổi theo phương x là 128-84=44 Tương tự, các giá trị pixel bên trên và bên dưới của pixel đang x t là 161 và 54 Tỉ lệ thay đổi theo phương y là 161-54=107 Do đó:
Độ lớn: G = 442 1072 115.69
33.73)44
107(
Vector gradient bây giờ có thể được vẽ như một mũi tên trên ảnh
1.1.4.3 Kỹ thuật phát hiện biên Canny
Trang 21Đây là một thuật toán tương đối tốt, có khả năng đưa ra đường biên mảnh, và phát hiện chính xác điểm biên với điểm nhiễu
Ta có thuật toán như sau:
- Bước 1: Làm trơn ảnh
Tính I H, với:
Gọi G là kết quả lọc nhiễu: G= IH
- Bước 2: Tính gradient của ảnh bằng mặt nạ Prewitt, kết quả đặt vào Gx,Gy
Gx = GHx, Gy = GHy
- Bước 3: Tính gradient hướng tại mỗi điểm (i,j) của ảnh Hướng này sẽ được
nguyên hóa để nằm trong 8 hướng [0 7], tương đương với 8 lân cận của một điểm ảnh
- Bước 4: Dùng ràng buộc ―loại bỏ những điểm không phải là cực đại‖ để xóa bỏ
những điểm không là biên Xét (i,j), là gradient hướng tại i,j) I1, I2 là hai điểm lân cận của i,j) theo hướng Theo định nghĩa điểm biên cục bộ thì (i,j) là biên nếu I(i,j) cực đại địa phương theo hướng gradient
Nếu I(i,j) > I1 và I(i,j) > I2 thì mới giữ lại I i,j), ngược lại xóa I(i,j) về điểm ảnh nền
- Bước 5: Phân ngưỡng Với các điểm được giữ lại, thực hiện lấy ngưỡng
gradient biên độ lần cuối để xác định các điểm biên thực sự
Hình 1 6: Phần ngưỡng
1.1.4.4 Phát hiện biên gián tiếp
Bằng cách nào đấy, ta thu được các vùng ảnh khác nhau thì đường phân cách
Trang 22giữa các vùng đó chính là biên Nói cách khác, việc xác định đường bao của ảnh được thực hiện từ ảnh đã được phân vùng Phương pháp dò biên gián tiếp khó cài đặt nhưng
áp dụng tốt khi sự biến thiên độ sáng nhỏ Để có thể tiến hành xác định biên theo cách gián tiếp này, ta cần giải quyết được bài toán phân vùng ảnh
1.1.5 Phân vùng ảnh
Phân vùng ảnh là bước then chốt trong xử lý ảnh Giai đoạn này nhằm phân tích ảnh thành những thành phần có cùng tính chất nào đó dựa theo biên hay các vùng liên thông Tiêu chuẩn để xác định các vùng liên thông có thể là cùng mức xám, cùng màu hay cùng độ nhám…
Vùng ảnh là một chi tiết, một thực thể trông toàn cảnh Nó là một tập hợp các điểm có cùng hoặc gần cùng một tính chất nào đó: mức xám, mức màu, độ nhám… Vùng ảnh là một trong hai thuộc tính của ảnh Nói đến vùng ảnh là nói đến tính chất bề mặt Đường bao quanh một vùng ảnh (Boundary) là biên ảnh Các điểm trong một vùng ảnh có độ biến thiên giá trị mức xám tương đối đồng đều hay tính kết cấu tương đồng
Dựa vào đặc tính vật lý của ảnh, người ta có nhiều kỹ thuật phân vùng: Phân vùng dựa theo miền liên thông gọi là phân vùng dựa theo miền đồng nhất hay miền kề, phân vùng dựa vào biên gọi là phân vùng biên Ngoài ra còn có các kỹ thuật phân vùng khác dựa vào biên độ, phân vùng dựa theo kết cấu
1.1.5.1 Phân vùng theo ngƣỡng biên độ
Đặc tính đơn giản nhất và có thể hữu ích nhất của ảnh đó là biên độ của các tính chất vật lý của ảnh như: Độ tương phản, độ truyền sáng, màu sắc hoặc quang phổ Như vậy, có thể dùng ngưỡng biên độ để phân vùng khi biên độ đủ lớn đặc trưng cho ảnh Ví dụ, biên độ trong bộ cảm biến ảnh hồng ngoại có thể phản ánh vùng có nhiệt
độ thấp hay vùng có nhiệt độ cao Kỹ thuật phân ngưỡng theo biên độ rất có lợi đối với ảnh nhị phân như văn bản in, đồ họa, ảnh màu hay ảnh X-quang
Việc chọn ngưỡng rất quan trọng Nó bao gồm các bước:
* Xem x t lược đồ xám của ảnh để xác định các đỉnh và các khe Nếu ảnh có dạng rắn lượn (nhiều đỉnh và khe), các khe có thể dùng để chọn ngưỡng
* Chọn ngưỡng t sao cho một phần xác định trước η của toàn bộ số mẫu là thấp hơn t
* Điều chỉnh ngưỡng dựa trên lược đồ xám của các điểm lân cận
* Chọn ngưỡng theo lược đồ xám của những điểm thỏa mãn tiêu chuẩn chọn Thí dụ, với ảnh có độ tương phản thấp, lược đồ của những điểm có biên độ Laplace
Trang 23g(m,n) lớn hơn giá trị t định trước (sao cho từ 5% đến 10% số điểm ảnh với Gradient lớn nhất sẽ coi như biên) sẽ cho ph p xác định các đặc tính ảnh lưỡng cực tốt hơn ảnh gốc
Ta xét ví dụ sau về việc phân vùng dựa trên ngưỡng biên độ:
Giả sử ảnh có lược đồ xám và cách chọn các ngưỡng như hình trên với: T0=Lmin, …, T4=Lmax Ta có 5 ngưỡng và phân ảnh thành 4 vùng, ký hiệu Ck là vùng thứ k của ảnh, k=1,2,3,4 Cách phân vùng theo nguyên tắc :
P(m,n) Ck nếu Tk-1 ≤ P(m,n) < Tk , k=1,2,3,4
Khi phân vùng xong, nếu ảnh rõ nét thì việc phân vùng coi như kết thúc Nếu không, cần điều chỉnh ngưỡng
1.1.5.2 Phân vùng theo miền đồng nhất
Kỹ thuật phân vùng ảnh thành các miền đồng nhất dựa vào các tính chất quan trọng nào đó của miền ảnh Việc lựa chọn các tính chất của miền sẽ xác định tiêu chuẩn phân vùng Tính đồng nhất của một miền ảnh là điểm chủ yếu xác định tính hiệu quả của việc phân vùng Các tiêu chuẩn hay được dùng là sự thuần nhất về mức xám, màu sắc đối với ảnh màu, kết cấu sợi và chuyển động
Các phương pháp phân vùng ảnh theo miền đồng nhất thường áp dụng là :
- Phương pháp tách cây tứ phân
- Phương pháp cục bộ
- Phương pháp tổng hợp
1.1.5.3 Phương pháp tách cây tứ phân
Phương pháp này về nguyên tắc sẽ kiểm tra tiêu chuẩn đồng đều trên một miền lớn của ảnh Khi tiêu chuẩn này thỏa mãn thì quá trình phân đoạn kết thúc Ngược lại thì chia miền đang x t thành bốn miền nhỏ hơn Với mỗi miền nhỏ, ta lại áp dụng một cách đệ quy phương pháp trên cho đến khi tất cả các miền đều thỏa mãn
Tiêu chuẩn để x t đồng đều có thể dựa vào mức xám, số đo độ không đồng đều hoặc độ chênh giữa giá trị mức xám lớn nhất và giá trị mức xám nhỏ nhất trong miền đang xét Nếu vùng đang x t là đồng nhất thì tính lại giá trị cho các điểm thuộc vùng, giá trị đó có thể lấy trung bình: tổng giá trị mức xám/tổng số điểm trong vùng
1.1.5.4 Phương pháp cục bộ
Ý tưởng của phương pháp này là xem x t ảnh từ các miền nhỏ nhất rồi hợp chúng lại nếu thỏa tiêu chuẩn để được một miền đồng nhất lớn hơn Ta lại thực hiện với các miền thu được cho đến khi không thể hợp lại được nữa Số miền còn lại cho ta
Trang 24kết quả phân đoạn Miền nhỏ nhất của bước xuất phát là điểm ảnh Việc hợp hai vùng được thực hiện theo nguyên tắc: - Khi hợp hai vùng này ta phải thu được một vùng đồng nhất - Hai vùng này phải kế cận nhau
Trong xử lý ảnh, người ta dùng khái niệm liên thông để xác định kế cận Có hai khái niệm liên thông đó là 4 liên thông và 8 liên thông
4 liên thông 8 liên thông
Hình 1 7: Liên thông
1.1.5.5 Phương pháp tổng hợp
Hai phương pháp nối (hợp) và tách đều có nhược điểm Phương pháp tách sẽ tạo nên một cấu trúc phân cấp và thiết lập mối quan hệ giữa các vùng Tuy nhiên, nó thực hiện việc chia quá chi tiết Phương pháp hợp cho phép làm giảm số miền liên thông xuống tối thiểu, nhưng cấu trúc hàng ngang dàn trải, không cho ta thấy rõ mối liên hệ giữa các miền
Vì nhược điểm này, người ta nghĩ đến phối hợp cả 2 phương pháp Trước tiên, dùng phương pháp tách để tạo nên cây tứ phân, phân đoạn theo hướng từ gốc đến lá Tiếp theo, tiến hành duyệt cây theo chiều ngược lại và hợp các vùng có cùng tiêu chuẩn Với phương pháp này ta thu được một cấu trúc ảnh với các miền liên thông có kích thước tối đa
1.1.5.6 Phân vùng theo kết cấu bề mặt
Kết cấu thường được nhận biết trên bề mặt của các đối tượng như gỗ, cát, vải vóc… Kết cấu là thuật ngữ phản ánh sự lặp lại của các phần tử sợi texel) cơ bản Sự lặp lại này có thể ngẫu nhiên hay có tính chu kì hoặc gần chu kì Một texel chứa rất nhiều điểm ảnh Trong phân tích ảnh, kết cấu được chia làm hai loại chính là: Loại thống kê và loại cấu trúc
Khi đối tượng xuất hiện trên một nền có tính kết cấu cao, việc phân đoạn dựa vào tính kết cấu trở nên quan trọng Nguyên nhân là kết cấu sợi thường chứa mật độ cao các gờ edge) làm cho phân đoạn theo biên kém hiệu quả, trừ phi ta loại tính kết cấu
Trang 25Nhìn chung, việc phân loại và phân vùng dựa vào kết cấu là một vấn đề phức tạp Trong thực tế, ta thường chỉ giải quyết vấn đề này bằng cách cho biết trước các loại kết cấu (dựa vào quy luật hay cách phân bố của nó)
1.2 Một số vấn đề về học máy
1.2.1 Khái niệm học máy
Học máy (machine learning) là một lĩnh vực nghiên cứu trong trí tuệ nhân tạo, nó liên quan đến việc nghiên cứu, xây dựng các kĩ thuật để các hệ thống ―học‖ tự động từ
dữ liệu từ đó giải quyết những vấn đề cụ thể nào đó Trong học máy, máy tính không cần phải được lập trình một cách rõ ràng mà nó có thể tự thay đổi và cải thiện các thuật toán của mình
Học máy có liên quan đến thống kê, nó nghiên cứu việc phân tích dữ liệu và tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính toán Máy học nghiên cứu sự phát triển các giải thuật suy luận xấp xỉ mà có thể xử lý được, nó nghiên cứu cách thức để mô hình hóa bài toán cho phép máy tính tự động hiểu, xử lý và học từ dữ liệu để thực hiện nhiệm vụ được giao cũng như cách đánh giá giúp tăng tính hiệu quả Ngày nay, học máy cho phép máy tính giao tiếp với con người và được áp dụng rộng rãi trong nhiều lĩnh vực như: tự lái xe, chẩn đoán y khoa, phát hiện thẻ tín dụng giả, phân tích thị trường chứng khoán, phân loại các chuỗi DNA, nhận dạng tiếng nói
và chữ viết, dịch tự động, chơi trò chơi và cử động rô-bốt
1.2.2 Phân loại phương pháp học máy
Học máy có hai loại phương pháp học máy chính
Phương pháp quy nạp: Máy học/phân biệt các khái niệm dựa trên dữ liệu đã thu thập được trước đó Phương pháp này cho phép tận dụng được nguồn dữ liệu rất nhiều
Học có giám sát—trong đó, thuật toán tạo ra một hàm ánh xạ dữ liệu vào tới kết quả mong muốn Một phát biểu chuẩn về một việc học có giám sát là bài toán phân loại: chương trình cần học cách xấp xỉ biểu hiện của) một hàm ánh xạ một vector tới một vài lớp bằng cách xem x t một số mẫu dữ liệu - kết quả của hàm đó Học không giám sát—mô hình hóa một tập dữ liệu, không có sẵn các ví dụ đã được gắn nhãn Học nửa giám sát—kết hợp các ví dụ có gắn nhãn và không gắn nhãn để sinh một
Trang 26hàm hoặc một bộ phân loại thích hợp
Học tăng cường—trong đó, thuật toán học một chính sách hành động tùy theo các quan sát về thế giới Mỗi hành động đều có tác động tới môi trường, và môi trường cung cấp thông tin phản hồi để hướng dẫn cho thuật toán của quá trình học
Chuyển đổi—tương tự học có giám sát nhưng không xây dựng hàm một cách rõ ràng Thay vì thế, cố gắng đoán kết quả mới dựa vào các dữ liệu huấn luyện, kết quả huấn luyện, và dữ liệu thử nghiệm có sẵn trong quá trình huấn luyện
Học cách học trong đó thuật toán học thiên kiến quy nạp của chính mình, dựa theo các kinh nghiệm đã gặp
Phân tích hiệu quả các thuật toán học máy là một nhánh của ngành thống kê, được biết với tên lý thuyết học điện toán
1.2.3 Ứng dụng của học máy
Học máy có ứng dụng rộng khắp trong các ngành khoa học/sản xuất, đặc biệt những ngành cần phân tích khối lượng dữ liệu khổng lồ Một số ứng dụng thường thấy:
Xử lý ngôn ngữ tự nhiên (Natural Language Processing): Xử lý văn bản, giao tiếp người - máy, …
Nhận dạng (Pattern Recognition): Nhận dạng tiếng nói, chữ viết tay, vân tay, thị giác máy Computer Vision) …
Tìm kiếm (Search Engine)
Chẩn đoán trong y tế: Phân tích ảnh X-quang, các hệ chuyên gia chẩn đoán tự động
Tin sinh học: Phân loại chuỗi gene, quá trình hình thành gene/protein
Vật lý: Phân tích ảnh thiên văn, tác động giữa các hạt …
Phát hiện gian lận tài chính (financial fraud): Gian lận thẻ tỉn dụng
Phân tích thị trường chứng khoán (stock market analysis)
Chơi trò chơi: Tự động chơi cờ, hành động của các nhân vật ảo
Rôbốt: Là tổng hợp của rất nhiều ngành khoa học, trong đó học máy tạo nên
hệ thần kinh/bộ não của người máy
1.3 Một số kỹ thuật nhận dạng mẫu
1.3.1 Tổng quan về nhận dạng
Nhận dạng là quá trình phân loại các đối tượng được biểu diễn theo một mô hình nào đó và gán cho chúng vào một lớp gán cho đối tượng một tên gọi) dựa theo những quy luật và các mẫu chuẩn Quá trình nhận dạng dựa vào những mẫu học biết trước gọi là nhận dạng có thầy hay học có thầy supervised learning), trong trường hợp ngược lại gọi là học không có thầy non supervised learning) Ta sẽ lần lượt giới thiệu các khái niệm này Chương 1 tập trung xây dựng các khái niệm cơ bản về nhận dạng
Trang 27cũng như xử lý ảnh, nhằm cung cấp các kiến thức cơ bản, làm tiền đề luận cứ cho các
lý luận học thuật ở các chương sau này
1.3.2 Quá trình nhận thức của con người là quá trình nhận dạng
Các thực thể xã hội con người, doanh nghiệp, quốc gia) muốn tồn tại thì phải đáp ứng được tốt nhất các như cầu và đòi hỏi của mình Để làm được điều này, các thực thể xã hội phải tìm mọi cách có hiệu quả nhất tác động lên các đối tượng, từ đó mới có giải pháp sử dụng có hiệu quả đối tượng thuộc phạm vi tác động của mình Đây
là quá trình nhận thức của con người đối với các đối tượng Quá trình nhận thức của con người về một đối tượng nào đó là quá trình quan sát, tìm hiểu, giả thiết phân tích) đối tượng đó để tìm ra các quy luật tồn tại và biến đổi của nó tổng hợp)
- Trước một đối tượng cần nhận biết, ban đầu con người còn chưa biết, họ phải vận dụng tất cả các tri thức vốn có để tạm hiểu đối tượng, tức là để tổng hợp sơ lược các hiểu biết về đối tượng
- Tiếp đó con người phải tiến hành quá trình phân tích, đó là thao tác trí tuệ diễn
ra trong đầu của người nghiên cứu (chủ thể tư duy), nhằm tách ra từ đối tượng những đặc điểm, thuộc tính bộ phân, những mối lien hệ và quan hệ giữa chúng để nhận thức đối tượng sâu sắc hơn, đó là quá trình nhận thức mang tính trực quan sinh động nhằm tìm ra các thuộc tính phân biệt của đối tượng Quá trình mà người nghiên cứu đưa ra các giả thiết để nhận thức đối tượng sâu sắc hơn, gọi là quá trình nhận thức theo giả thiết
- Cuối cùng là quá trình tổng hợp chung, chính là quá trình nhận thức sâu sắc nhất Đây là quá trình đối chiếu, so sánh để khái quát hóa nhiều thuộc tính đặc trưng của đối tượng cần nghiên cứu thành các thuộc tính chung mang tính bản chất, tính quy luật của cả một nhóm các đối tượng cùng loại Đây là quá trình tư duy trừu tượng của con người mà kết quả cuối cùng là sự hiểu biết bản chất của đối tượng cho dưới hình thức dạng một cách tư duy thường thấy ở con người Người nghiên cứu mô hình hóa các đối tượng phải nghiên cứu theo dạng mô hình) trong đầu qua sự cảm nhận của riêng mình, hoặc qua sự học hỏi kinh nghiệm của người khác để xây dựng ra, rồi tìm cách thực hiện thành công dạng trong đầu thành dạng trên thực tế phục vụ cho các lợi ích của mình Điều này đã từng được C.MAC nói đến: con ong xây dựng một cái tổ hết sức cân xứng, khó có một kiến trúc sư nào có thể thực hiện nổi, nhưng con ong đã làm việc này theo bản năng, còn một kiến trúc sư dù là tồi, trước khi xây dựng một ngôi nhà ở ngoài đời thì họ đã xây dựng ngôi nhà trong đầu
1.3.3 Kỹ thuật trượt window trong nhận dạng
Trang 28Trượt window hay còn gọi là trượt cửa sổ mẫu (slide window) trên ảnh toàn cảnh để trích mẫu biểu diễn đặc trưng và nhận dạng đối tượng Một câu hỏi đặt ra là từ một ảnh toàn cảnh ban đầu làm sao để trích ra các mẫu để nhận dạng liệu có đối tượng trong đó hay không Theo nguyên tắc phải trích ra từng vùng ảnh nhỏ (gọi là mẫu) từ ảnh toàn cảnh sau đó đưa vào bộ nhận dạng và cho ra kết quả là có đối tượng hay không Kết quả trả về là vị trí vùng chứa đối tượng quan tâm được nhận dạng Như vậy, ta hiểu window chính là một cửa sổ tương ứng với kích thước mẫu, cửa sổ này được trượt trên ảnh toàn cảnh để trích mẫu Tại mỗi vị trí của cửa sổ trên ảnh toàn cảnh thực hiện trích mẫu ảnh chính là trích vùng ảnh tương ứng trong cửa sổ từ ảnh gốc để nhận dạng Để có thể truy hồi lại vị trí kích thước vùng chứa đối tượng quan tâm khi nhận dạng được, các thông tin về vị trí của đối tượng trên ảnh gốc, cùng với hệ
số tỷ lệ kích thước ảnh co giãn ảnh so với ảnh gốc ban đầu được lưu trữ lại Như vậy,
hệ thống nhận dạng trượt window quét qua toàn bộ các vị trí trên ảnh với một số tỷ lệ
co giãn ảnh cụ thể nhằm trích mẫu và nhận dạng các đối tượng quan tâm, sau đó ánh
xạ ngược lại để biết vị trí đối tượng trong ảnh toàn cảnh
Trang 29nhỏ lại (giảm kích thước) hoặc phóng to tăng kích thước), tập các ảnh được phóng to/ thu nhỏ được gọi là tháp chóp ảnh (image pyramid) Tất cả các mẫu được đưa vào để phân loại và nhận dạng đối tượng quan tâm Các mẫu được xác định là positive thì dựa vào vị trí và tỷ lệ co giãn được lưu lại trước đó để biến đổi ngược lại và ánh xạ vào ảnh toàn cảnh nhằm biết được vị trí đối tượng trong ảnh gốc ban đầu
+ Gom các mẫu nhận dạng chồng lấp
Thông thường, phương pháp trượt window sẽ cho nhiều kết quả nhận dạng được chồng lấp từng phần lên nhau, do các mẫu trích ra trong vùng lân cận đều chứa đối tượng quan tâm Quan sát thấy rằng trường hợp nhận dạng nhầm sẽ có rất ít mẫu nhận dạng chồng lấp, nhưng quanh đối tượng quan tâm sẽ có rất nhiều mẫu được nhận dạng Nói cách khác, có nhiều phát hiện trùng lặp trên cùng một vùng chứa đối tượng khi dùng mô hình trượt window để phát hiện tất cả đối tượng quan tâm có trong ảnh Khi đó, một giải pháp cần thiết là phải gộp các window nhận dạng được thành một window duy nhất cho cùng một đối tượng Thông thường việc gom cụm được xác định dựa vào mức độ giao nhau (chồng lấp) giữa các vùng nhận dạng Xác định tỷ số giữa vùng giao nhau của hai vùng nhận dạng được (a và b) là hợp của hai vùng phát hiện (kiểu tỷ số dạng ‗Union‘) hoặc tỷ số giữa vùng giao nhau của hai vùng nhận dạng chồng lấp với giá trị nhỏ nhất của hai vùng nhận dạng đó kiểu tỷ số ‗Min‘) theo các công thức sau:
Trang 30Hình 1 9: Nhận dạng bằng phương pháp trượt window trên nhiều mức tỷ lệ
Ví dụ trong bài toán nhận dạng sâu bệnh bằng cách sử dụng phương pháp phân loại SVM và biểu diễn đặc trưng theo phương pháp HOG, với các tham số mặc định
do Dalal và Triggs trình bày trong [10]:
- Kích thước window mẫu 64×128 pixel cho mỗi mức tỷ lệ
- Sử dụng đặc trưng HOG để trích xuất và biểu diễn đặc trưng đối tượng
- Xác định hệ số tin cậy trong phân loại (score) cho mỗi window bằng một bộ phân loại SVM tuyến tính
- Thực hiện phương pháp không cực đại (non-maximum suppression) để loại bỏ các phát hiện trùng lặp có hệ số score thấp hơn
Hai window được gọi là nhận dạng trên cùng đối tượng nếu chúng thỏa mãn tiêu chí chồng lên nhau (overlap) lớn hơn 50% Bên cạnh đó, trong quá trình nhận dạng sẽ có những mẫu bị nhận dạng nhầm, tuy nhiên xác suất để có nhiều window cùng nhận dạng nhầm trong một vùng lân cận thường thấp hơn các nhận dạng đúng xung quanh vùng có chứa đối tượng Tính chất này được sử dụng để loại bỏ những nhận dạng nhầm trong thực tế ứng dụng Nghĩa là nếu có một số lượng các window nhận dạng xảy ra trên cùng một vùng nhỏ hơn ngưỡng xác định trước) được xem như nhận dạng nhầm và bị loại bỏ Ví dụ thiết lập ngưỡng về số lần nhận dạng chồng nhau
là 3, thì chỉ những vùng nào có từ 3 nhận dạng chồng nhau trên 50% sẽ được gom cụm
và xác nhận vùng ảnh đó có đối tượng quan tâm, ngược lại cửa sổ sẽ bị đánh dấu xóa
và nó được xem như nền (background)
Trang 31Hình 1 10: Gom cụm các nhận dạng cùng một đối tượng:
(a) Hai window nhận dạng chồng lên nhau, (b) nhiều window nhận dạng trên cùng một
vùng, (c) gom cụm và loại trừ những nhận dạng nhầm
1.3.4 Huấn luyện mô hình trong nhận dạng
Để sử dụng các kỹ thuật học máy trong nhận dạng đối tượng, trước hết cần phải huấn luyện mô hình đối tượng Sau đó, mô hình đối tượng đã huấn luyện được sử dụng
để nhận dạng mẫu Các mẫu được trích ra từ ảnh đầu vào (ảnh toàn cảnh) thông qua phương pháp trượt window Các thành phần huấn luyện mô hình đối tượng được tóm tắt như sau:
+ Đầu vào: Tập dữ liệu huấn luyện gồm các mẫu ảnh positive (mẫu chứa đối tượng quan tâm) và các mẫu ảnh negative (mẫu không chứa đối tượng quan tâm)
+ Trích rút đặc trưng: Các mẫu dữ liệu đưa vào được trích rút đặc trưng theo cùng phương pháp giống nhau (ví dụ đặc trưng HOG) và được biểu diễn dưới dạng các vector có số phần tử giống nhau (cùng số chiều) Thông thường các mẫu ảnh này có cùng kích thước (chiều rộng Wn và chiều cao Hn), nếu không thì phải chuẩn hóa về cùng kích thước Trong thực tế, việc xử lý trích chọn đặc trưng có thể được thực hiện chung cho các mẫu Như vậy, đầu vào của quá trình training là tập mẫu dữ liệu đã được biểu diễn dưới dạng vector đặc trưng
+ Huấn luyện mô hình: Dùng một hoặc kết hợp một số phương pháp phân loại
dữ liệu để huấn luyện mô hình Ví dụ có thể sử dụng AdaBoost, Random forest, SVM, Mỗi phương pháp huấn luyện sẽ cho ra kết quả mô hình nhận dạng khác nhau
+ Đầu ra: Mô hình đối tượng đã được huấn luyện cùng với phương pháp huấn luyện Ví dụ nếu dùng phương pháp Linear SVM để huấn luyện thì khi nhận dạng
Trang 32cũng sử dụng phương pháp Linear SVM Nếu tập dữ liệu chỉ có 2 lớp positive (+1) và negative (-1) thì gọi là phân loại nhị phân (mỗi mẫu thuộc về một trong hai lớp positive hoặc negative)
1.3.5 Phương pháp nhận dạng đối tượng trong ảnh
Mục tiêu của hệ thống nhận dạng đối tượng là phân lớp mẫu nhằm xác định lớp của đối tượng và cần chỉ ra được vị trí, kích thước của đối tượng quan tâm trong ảnh toàn cảnh Tuy nhiên, kích thước các đối tượng quan tâm hoặc tỷ lệ về kích thước đối tượng so với kích thước ảnh không được xác định trước Trong thực tế, tùy thuộc vào phạm vi quan sát (field of view) của camera, kích thước của vật thể và khoảng cách của chúng đến camera khác nhau nên tỷ lệ kích thước đối tượng trong ảnh toàn cảnh cũng khác nhau Thông thường, kích thước đối tượng trong ảnh toàn cảnh phụ thuộc vào khoảng cách từ đối tượng đến camera và phạm vi quan sát của camera Bên cạnh
đó, phạm vi xuất hiện của đối tượng trong ảnh cũng không xác định trước Trong trường hợp tổng quát, quá trình trích mẫu để nhận dạng cần phải thực hiện trên nhiều mức tỷ lệ kích thước ảnh (image pyramids) và quét hết toàn bộ ảnh (từ trên xuống dưới, từ trái qua phải) Do vậy, phương pháp trượt window được sử dụng để tiến hành trích mẫu và gom cụm nhận dạng Tuy nhiên với một số bài toán cụ thể, phạm vi tìm kiếm đối tượng có thể được giới hạn Nhận dạng đối tượng xe, người đi bộ thì thường chỉ xuất hiện ở phần thấp trong ảnh, trong khi đó liên quan đến bầu trời thì chỉ xuất hiện phần trên cao của ảnh Dựa vào quy luật này, với một số ứng dụng cụ thể có thể giới hạn phạm vi trượt window Quá trình thực hiện trích mẫu và nhận dạng trên nhiều mức tỷ lệ image pyramids) được mô tả như sau:
- Đầu vào: Ảnh toàn cảnh cần nhận dạng đối tượng trong đó
- Mô hình đối tượng: Bộ phân loại đã huấn luyện với kích thước mẫu được chuẩn hóa chiều rộng Wn và chiều cao Hn
- Xác định ngưỡng nhận dạng thc và bước trượt Ns
- Kết quả mong đợi đầu ra: Vị trí và kích thước các đối tượng được mô tả theo
vị trí của đường bao chứa đối tượng, gọi là các bounding boxes)
- Xây dựng nhiều mức scale ảnh (gọi là hình chóp ảnh- image pyramids) + Bắt đầu với ảnh gốc tương ứng mức tỷ lệ Ss=1, tính hệ số Se= min(Wi/Wn, Hi/Hn), trong đó Wi, Hi tương ứng với chiều rộng và chiều cao của ảnh ở mức tỷ lệ thứ
i
+ Tính số mức tỷ lệ để xử lý:
Trang 33)/log(
r
s e n
S
S S floor S
- Đối với mỗi tỷ lệ Si=[Ss, Sr,…, Sn]
+ Biến đổi ảnh đầu vào theo kích thước tương ứng giá trị tỷ lệ bằng cách nội suy
+ Trích mẫu theo phương pháp trượt window với các bước trượt Ns
+ Trích xuất đặc trưng của mẫu bước trích xuất đặc trưng có thể thực hiện trên toàn bộ ảnh sau đó trích xuất đặc trưng trong vùng con tương ứng với từng mẫu)
+ Nhận dạng mẫu với các giá trị chắc chắn về đối tượng quan tâm (giá trị score)
+ Các mẫu có hệ số tin cậy lớn hơn ngưỡng c wi)>thc được đưa vào danh sách ứng cử viên L theo thứ tự c
- Loại bỏ không cực đại (non-maximum suppression): Đối với mỗi window wi trong danh sách L, tiến hành gom các window nhận dạng chồng lên nhau Bắt đầu với
bộ nhận dạng (gọi là detector) có giá trị phản hồi (hệ số tin cậy) lớn nhất Loại bỏ tất
cả các window U≠wi chồng lên wi, trong đó phần chồng lên được tính trong ảnh gốc bằng các window đã được biến đổi trở lại theo tỷ lệ ảnh gốc đầu vào
Danh sách L cuối cùng là danh sách các đối tượng được nhận dạng, cùng với vị trí và kích thước tương ứng của nó
1.4 Một số kỹ thuật học máy sử dụng trong nhận dạng
2 chiều thì siêu phẳng này là 1 đường thẳng phân cách chia mặt phẳng không gian thành 2 phần tương ứng 2 lớp với mỗi lớp nằm ở 1 phía của đường thẳng Ví dụ, ta có các điểm dữ liệu như hình dưới đây với mỗi điểm thuộc 1 trong 2 lớp cho trước:
Trang 34Hình 1 11: Đường thẳng phân chia 2 lớp trong không gian 2 chiều
Bản chất của phương pháp SVM là chuyển không gian dữ liệu ban đầu thành một không gian mới hữu hạn chiều mà ở đó cho khả năng phân lớp dễ dàng hơn Một quả bất kì nằm trên mặt bàn sẽ được gắn với một tọa độ cụ thể Ví dụ, quả táo nằm cách
m p trái 2cm và cách m p dưới 5cm được thể hiện trên trục tọa độ x, y) tương ứng là (2, 5), x và y chính là tọa độ trong không gian hai chiều của quả táo Khi đưa lên chiều thứ 3 là z(x, y), ta có thể tính được tọa độ của z trong không gian 3 chiều dựa vào tọa
độ x,y ban đầu Điểm làm SVM hiệu quả hơn các phương pháp khác chính là việc sử dụng Kernel Method giúp cho SVM không còn bị giới hạn bởi việc phân lớp một cách tuyến tính, hay nói cách khác các siêu phẳng có thể được hình thành từ các hàm phi tuyến Margin là khoảng cách giữa siêu phẳng đến 2 điểm dữ liệu gần nhất tương ứng với các phân lớp Trong ví dụ quả táo quả lê đặt trên mặt bán, margin chính là khoảng cách giữa cây que và hai quả táo và lê gần nó nhất Điều quan trọng ở đây đó là phương pháp SVM luôn cô gắng cực đại hóa margin này, từ đó thu được một siêu phẳng tạo khoảng cách xa nhất so với 2 quả táo và lê Nhờ vậy, SVM có thể giảm thiểu việc phân lớp sai misclassification) đối với điểm dữ liệu mới đưa vào
Hình 1 12: Margin trong SVM
Là một kĩ thuật phân lớp khá phổ biến, SVM thể hiện được nhiều ưu điểm trong
số đó có việc tính toán hiệu quả trên các tập dữ liệu lớn Có thể kể thêm một số ưu
Trang 35điểm của phương pháp này như:
Xử lý trên không gian số chiều cao: SVM là một công cụ tính toán hiệu quả trong không gian chiều cao, trong đó đặc biệt áp dụng cho các bài toán phân loại văn bản và phân tích quan điểm nơi chiều có thể cực kỳ lớn
Tiết kiệm bộ nhớ: Do chỉ có một tập hợp con của các điểm được sử dụng trong quá trình huấn luyện và ra quyết định thực tế cho các điểm dữ liệu mới nên chỉ có những điểm cần thiết mới được lưu trữ trong bộ nhớ khi ra quyết dịnh
Tính linh hoạt - phân lớp thường là phi tuyến tính Khả năng áp dụng Kernel mới cho ph p linh động giữa các phương pháp tuyến tính và phi tuyến tính từ đó khiến cho hiệu suất phân loại lớn hơn
Tuy nhiên SVM cho kết quả không tốt khi số lượng thuộc tính (p) của tập dữ liệu lớn hơn rất nhiều so với số lượng dữ liệu n) Đồng việc phân lớp của SVM chỉ là việc cố gắng tách các đối tưjợng vào hai lớp được phân tách bởi siêu phẳng SVM Điều này chưa giải thích được xác suất xuất hiện của một thành viên trong một nhóm
là như thế nào
SVM là một phương pháp hiệu quả cho bài toán phân lớp dữ liệu Nó là một công cụ đắc lực cho các bài toán về xử lý ảnh, phân loại văn bản, phân tích quan điểm Một yếu tố làm nên hiệu quả của SVM đó là việc sử dụng Kernel function khiến cho các phương pháp chuyển không gian trở nên linh hoạt hơn
1.4.2 Mạng Nơron nhân tạo
Mạng neural nhân tạo ANN- artificial neural network) thường được gọi tắt là mạng neural NN- neural network) Mạng neural là mô hình tính toán được xây dựng dựa trên nguyên tắc hoạt động và phát triển của mạng neural sinh học Kiến trúc mạng neural gồm tập các nút gọi là các neural và tập các cung hay gọi là cạnh) để kết nối các neural với nhau Tập các nút được tổ chức thành các lớp, gọi là các layer Trong đó
có một lớp đầu vào input layer) và một lớp đầu ra output layer), các lớp giữa gọi là các lớp ẩn hidden layer) Mỗi cung kết nối 2 cặp neural với nhau, trong đó có một nút vào và một nút ra, nhằm mục đích truyền thông tin và xử lý tính giá trị mới cho các nút
ra Mối liên hệ giữa các nút được thể hiện thông qua hàm biến đổi gọi là hàm truyền) cùng với bộ trọng số tương ứng cho hàm truyền Thông thường, kiến trúc của một mạng neural được xây dựng trước và các trọng số được xác định trong quá trình huấn luyện, tuy nhiên một số kiểu mạng có khả năng thay đổi để thích ứng adaptive) với dữ liệu thực tế và có thể tự thay đổi cấu trúc của mạng dựa trên các thông tin trong quá
t nh học, một số kiểu như mạng neural đa lớp MLNN- Multi layer neural network) và mạng Neural tự tổ chức SOM- Self organizing maps)
Trang 36Kiến trúc của mạng neural
Mạng Nơron nhân tạo (Artificial Neural Network- ANN) là mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn các Nơron được gắn kết để xử lý thông tin ANN giống như bộ não con người, được học bởi kinh nghiệm (thông qua huấn luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết (unseen data)
Kiến trúc chung của một mạng nơron nhân tạo (ANN) gồm 3 thành phần đó là: Input Layer, Hidden Layer và Output Layer (Xem Hình 1.15)
Trong đó, lớp ẩn (Hidden Layer) gồm các Nơron nhận dữ liệu input từ các Nơron ở lớp Layer) trước đó và chuyển đổi các input này cho các lớp xử lý tiếp theo Trong một ANN có thể có nhiều lớp ẩn
Hình 1 13: Kiến trúc chung của mạng nơron nhân tạo Trong đó các Processing Elements PE) của ANN gọi là Nơron, mỗi Nơron nhận các dữ liệu vào (Inputs) xử lý chúng và cho ra một kết quả (Output) duy nhất Kết quả xử lý của một Nơron có thể làm Input cho các Nơron khác
- Quá trình xử lý thông tin của một ANN:
+ Inputs (dữ liệu vào): Mỗi Input tương ứng với 1 thuộc tính (attribute) của dữ