DSpace at VNU: GÁN NHÃN ĐỐI TƯỢNG DỰA VÀO KỸ THUẬT NHẬN DẠNG Nguyen Vu Quang tài liệu, giáo án, bài giảng , luận văn, lu...
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN
Mã số: Chuyên ngành đào tạo thí điểm
TÓM TẮT LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Đỗ Năng Toàn
Hà Nội - 2015
Trang 2PHẦN MỞ ĐẦU
Cùng với sự phát triển ngày càng mạnh mẽ của khoa học kĩ thuật trong một vài thập kỷ gần đây, xử lý ảnh tuy là một ngành khoa học còn tương đối mới mẻ so với nhiều ngành khoa học khác nhưng hiện nay nó đang là một trong những lĩnh vực phát triển rất nhanh và thu hút sự quan tâm đặc biệt từ các nhà khoa học, thúc đẩy các trung tâm nghiên cứu, ứng dụng về lĩnh vực hấp dẫn này
Nhận dạng và gán nhãn cho hình ảnh đóng vai trò quan trọng trong nhiều ứng dụng thực tế về khoa học kĩ thuật cũng như trong cuộc sống thường ngày như: sản xuất và kiểm tra chất lượng, sự di chuyển của Robot, các phương tiện đi lại tự trị, công cụ hướng dẫn cho người mù, an ninh và giám sát, nhận dạng đối tượng, nhận dạng mặt, các ứng dụng trong y học, sản xuất, hiệu chỉnh video,…
Một trong những ứng dụng quan trọng, là việc nhận dạng và gán nhãn cho các loại hình ảnh … Tự động nhận dạng ảnh và đặt vị trí nhãn là một lĩnh vực trong trực quan hóa thông tin Nhãn là các đoạn văn bản nhằm truyền đạt thông tin, làm rõ ý nghĩa của các cấu trúc phức tạp được biểu diễn ở dạng đồ họa
Bài toán nhận dạng và gán nhãn đã được đề cập, nghiên cứu nhiều trên thế giới Tại Việt Nam bài toán này cũng đang rất được chú trọng và được ứng dụng trong rất nhiều lĩnh vực Vì vậy, đề tài này được xây dựng với các mục đích: Tìm hiểu về bài toán nhận dạng hình ảnh và gán nhãn, ứng dụng của nó trong các lĩnh vực; Tìm hiểu một số vấn đề, các thuật toán liên quan; Đặt nền tảng cho cá nhân nghiên cứu, tìm hiểu sâu hơn về vấn đề này Từ đó thiết kế một chương trình thử nghiệm nhận dạng và gán nhãn cho một ảnh cụ thể
Luận văn gồm phần mở đầu, phần kết luận và 3 chương, nội dung các chương như sau:
Chương 1: Khái quát về gán nhãn và bài toán nhận dạng đối tượng
Trang 3Chương này khái quát lại cơ bản những kiến thức về bài toán gán nhãn gồm xử lý ảnh và gán nhãn trong xử lý ảnh Đồng thời nói
về bài toán nhận dạng đối tượng, vai trò và tầm quan trọng của bài toán nhận dạng đối tượng, các phương pháp nhận dạng đối tượng cũng như một số hệ thống nhận dạng đối tượng nổi tiếng trên thế giới
Chương 2: Một số vấn đề trong nhận dạng đối tượng sử dụng mạng nơron
Chương 2 đề cập đến một số vấn đề trong nhận dạng đối tượng
sử dụng mạng nơron Mô tả kiến trúc của một hệ thống nhận dạng đối tượng sử dụng mạng nơron nhân tạo và cách thiết kế, huấn luyện mạng nơron nhân tạo cho việc nhận dạng
Chương 3: Chương trình thử nghiệm
Chương này áp dụng các kiến thức nghiên cứu trong chương 1
và chương 2, sử dụng mạng nơron nhiều lớp lan truyền ngược và kỹ thuật gán nhãn để xây dựng một chương trình nhận dạng ký tự
Trang 4CHƯƠNG 1: KHÁI QUÁT VỀ GÁN NHÃN VÀ BÀI TOÁN NHẬN DẠNG ĐỐI TƯỢNG
Chương này khái quát lại cơ bản những kiến thức về bài toán gán nhãn gồm xử lý ảnh và gán nhãn trong xử lý ảnh Đồng thời nói
về bài toán nhận dạng đối tượng, vai trò và tầm quan trọng của bài toán nhận dạng đối tượng, các phương pháp nhận dạng đối tượng cũng như một số hệ thống nhận dạng đối tượng nổi tiếng trên thế giới
1.1 Khái quát về gán nhãn
1.1.1 Xử lý ảnh
Xử lý ảnh là một phần của lĩnh vực xử lý tín hiệu số Tăng cường chất lượng thông tin hình ảnh đối với quá trình tri giác của con người và biễu diễn trên máy tính Xử lý ảnh số bao gồm các phương pháp và kỹ thuật để biến đổi, để truyền tải hoặc mã hóa các ảnh tự nhiên
Xử lý ảnh liên quan đến việc thay đổi hình ảnh để đạt được một trong hai mục đích:
- Thứ nhất: biến đổi ảnh và làm đẹp ảnh
- Thứ hai: tự động phân tích nhận dạng ảnh hay đoán nhận ảnh
và đánh giá các nội dung của ảnh
- Tạo các bức ảnh có hiệu ứng nghệ thuật
Có thể tạm phân biệt các hệ thống xử lý ảnh theo mức độ phức tạp của thuật toán xử lý như sau:
- Xử lý ảnh mức thấp: đó là các quá trình biến đổi đơn giản như thực hiện các bộ lọc nhằm khử nhiễu trong ảnh, tăng cường độ
Trang 5tương phản hay độ nét của ảnh Trong trường hợp này, tín hiệu đưa vào hệ thống xử lý và tín hiệu ở đầu ra là ảnh quang học
- Xử lý ảnh mức trung: quá trình xử lý phức tạp hơn, thường được sử dụng để phân lớp, phân đọan ảnh, xác định và dự đóan biên ảnh, nén anh để lưu trữ hoặc truyền phát Đặc điểm của các hệ thống
xử lý ảnh mức trung là tín hiệu đầu vào là hình ảnh, còn tín hiệu đầu
ra là các thành phần được tách ra từ hình ảnh gốc, hoặc luồng dữ liệu nhận được sau khi nén ảnh
- Xử lý ảnh mức cao: là quá trình phân tích và nhận dạng hình ảnh Đây cũng là quá trình xử lý được thực hiện trong hệ thống thì giác của con người
Chúng ta có thể thấy rằng, không phải bất kỳ một ứng dụng xử
lý ảnh nào cũng bắt buộc phải tuân theo các bước xử lý đã nêu ở trên,
ví dụ như các ứng dụng chỉnh sửa ảnh nghệ thuật chỉ dừng lại ở bước tiền xử lý Một cách tổng quát thì những chức năng xử lý bao gồm cả nhận dạng và giải thích thường chỉ có mặt trong hệ thống phân tích ảnh tự động hoặc bán tự động, được dùng để rút trích ra những thông tin quan trọng từ ảnh, ví dụ như các ứng dụng nhận dạng kí tự quang học, nhận dạng chữ viết tay vv…
1.1.2 Gán nhãn trong xử lý ảnh
Nhãn là các đoạn văn bản nhằm truyền đạt thông tin, làm rõ
ý nghĩa của các cấu trúc phức tạp được biểu diễn ở dạng đồ họa Bài toán tự động gán nhãn được xác định là một lĩnh vực nghiên cứu quan trọng của ACM Computational Geometry Task Force (Đội tính toán hình học ACM)
Gán nhãn là nguồn của nhiều bài toán tối ưu hóa hình học Ngay cả khi nhãn được đặt vào vị trí cố định tương ứng với một điểm, đây vẫn là bài toán NP-hard Các bản đồ cần được gán nhãn, vậy cần có các giải thuật hiệu quả, giải thuật heuristics để xác định những ràng buộc, vị trí có thể
Trang 6Gán nhãn cho đối tượng là xác định nhãn phân loại cho từng thành phần trong đối tượng quan sát được Gán nhãn cho đối tượng được sử dụng nhiều trong các bài toán gán nhãn từ loại, nhận dạng hình ảnh, âm thanh hay các bài toán về dự đoán gen
Đây là bài toán có ứng dụng trong nhiều lĩnh vực bao gồm vẽ bản đồ, hệ thống thông tin địa lý và vẽ đồ thị Hiện trên thế giới đã có nhiều công trình nghiên cứu về bài toán gán nhãn tự động Tuy nhiên
ở Việt Nam, bài toán này còn được đề cập đến một cách hạn chế
Trong bài toán gán nhãn cho đối tượng thành công, nhãn phải được đặt sao cho người xem dễ đọc và theo tiêu chuẩn chất lượng thẩm mỹ cơ bản Nhãn phải được đặt ở vị trí tốt nhất có sẵn theo một
số quy tắc cơ bản: Nhãn phải được dễ dàng đọc, nhanh chóng xác định vị trí một nhãn và đối tượng mà nó thuộc về thì nên được dễ dàng thừa nhận, nhãn phải được đặt rất gần với các đối tượng của chúng, nhãn không được che khuất các nhãn khác hoặc các đối tượng khác, một nhãn phải được đặt ở vị trí thích hợp nhất trong số tất cả các vị trí dễ đọc Tóm tắt các đánh giá chất lượng gán nhãn trong ba quy tắc cơ bản sau đây:
- Không có sự chồng chéo của một nhãn với các nhãn khác, các đối tượng đồ họa khác của bản vẽ
- Mỗi nhãn có thể dễ dàng được xác định là của đối tượng nào trong hình vẽ
- Mỗi nhãn phải được đặt ở vị trí tốt nhất có thể (trong số tất
cả các nhãn có vị trí chấp nhận được) Thứ tự hiển thị ưu tiên giữa các vị trí nhãn có thể thay đổi tùy theo ứng dụng cụ thể
1.2 Bài toán nhận dạng đối tượng
1.2.1 Giới thiệu
Như chúng ta biết, sự xuất hiện hình ảnh của một bề mặt phụ thuộc vào nhiều yếu tố: Ánh sáng, các thông số máy ảnh và định vị máy ảnh Trong rất nhiều lĩnh vực như điều khiển, tự động hóa, công nghệ thông tin…, nhận dạng được đối tượng là vấn đề mấu chốt
Trang 7quyết định sự thành công của bài toán Nhận dạng là bước đầu tiên và quan trọng nhất của nhiều lĩnh vực khoa học, đặc biệt trong lĩnh vực điều khiển và tự động hóa nếu không nhận dạng chính xác đối tượng điều khiển thì sẽ không có giải pháp tối ưu nhất để điều khiển chúng
Từ việc một đối tượng phải được nhận dạng từ sự xuất hiện của nhiều vật thể, sự phức tạp của nhận dạng đối tượng phụ thuộc vào nhiều yếu tố 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 chúng một tên (gán cho đối tượng một tên gọi, tức là một dạng) dựa theo những quy luật và mẫu chuẩn
1.2.2 Các cách tiếp cận
1.2.2.1 Nhận dạng đối tượng dùng thống kê
Khái niệm: Nhận dạng đối tượng dùng thống kê là một phương pháp nhận dạng đối tượng dựa vào các đặc tính thống kê của các đối tượng Nhận dạng đối tượng dùng thống kê sử dụng các phương pháp máy học dựa trên thống kê để học và rút ra đối tượng tham khảo từ một lượng dữ liệu lớn
1.2.2.2 Nhận dạng dựa theo cấu trúc
Biểu diễn định tính
Trong cách biểu diễn này, người ta quan tâm đến các dạng và mối quan hệ giữa chúng Giả thiết rằng, mỗi đối tượng được biểu diễn bởi một dãy ký tự, các đặc tính biểu diễn bởi cùng một số ký tự Phương pháp nhận dạng ở đây là nhận dạng logic, dựa vào hàm phân biệt là hàm Bool Cách nhận dạng là nhận dạng các từ có cùng độ dài
1.2.2.3 Nhận dạng dựa trên mạng nơron
Giới thiệu
Xét trường hợp đối tượng phi tuyến có độ phức tạp cao, nếu
sử dụng phương pháp giải tích thông thường để nhận dạng sẽ rất khó khăn, thậm chí không thực hiện được do sự hiểu biết nghèo nàn về đối tượng Vì vậy các nhà khoa học đã đưa ra ý tưởng là sử dụng công cụ tính toán mềm như hệ mờ, mạng nơron, đại số gia tử để xấp
Trang 8xỉ -chính là nhận dạng đối tượng Mạng nơron là một trong những công cụ hữu hiệu để nhận dạng mô hình đối tượng, bằng phương pháp này ta không biết được mô hình toán thực sự của đối tượng nhưng hoàn toàn có thể sử dụng kết quả xấp xỉ để thay thế đối tượng
Cấu trúc neural nhân tạo
Mô hình nơron nhân tạo gồm 3 phần chính: Bộ tổng liên kết đầu vào, bộ động học tuyến tính và bộ phi tuyến
1.2.3 Một số hệ thống nhận dạng đối tượng hiện nay
1.2.4 Quy trình hoạt động của một hệ thống nhận dạng đối tượng
Trang 9CHƯƠNG 2: NHẬN DẠNG ĐỐI TƯỢNG SỬ DỤNG MẠNG
NƠRON
Chương 2 đề cập đến một số vấn đề trong nhận dạng đối tượng sử dụng mạng Nơron Mô tả kiến trúc của một hệ thống nhận dạng đối tượng sử dụng mạng nơron nhân tạo và cách thiết kế, huấn luyện mạng nơron nhân tạo cho việc nhận dạng
2.1 Kiến trúc một hệ thống nhận dạng đối tượng sử dụng mạng nơron nhân tạo
2.1.1 Khái niệm mạng nơron nhân tạo
Mạng nơron nhân tạo hay thường gọi ngắn gọn là mạng
nơron, trong tiếng anh là Artificial Neural Network Nó gồm có một
nhóm các nơron nhân tạo nối với nhau, và xử lý thông tin bằng cách truyền theo các kết nối và tính giá trị mới tại các nút Trong nhiều trường hợp, mạng nơron nhân tạo là một hệ thống thích ứng, tự thay đổi cấu trúc của mình dựa trên các thông tin bên
ngoài hay bên trong chảy qua mạng trong quá trình học
2.1.2 Lịch sử phát triển của mạng nơron
2.1.3 Mô hình nơron
2.1.3.1 Nơron nhân tạo đơn giản
Một nơron nhân tạo đơn giản là một thiết bị với nhiều đầu vào và có một đầu ra Nơron có hai chế độ hoạt động: chế độ huấn luyện và chế độ sử dụng Trong chế độ huấn luyện, nơron có thể được huấn luyện với một số các đối tượng đầu vào tới khi không được sử dụng nữa Trong chế độ sử dụng thì khi phát hiện một đối tượng đã học tại đầu vào, đầu ra của nó sẽ trở thành đầu ra hiện tại Nếu đối tượng đầu vào không thuộc vào danh sách đối tượng đã học thì luật loại bỏ được sử dụng để tiếp tục dùng hay loại bỏ nơron
2.1.3.2 Nơron phức tạp hơn (Mô hình McCulloch và Pitts: MCP)
Sự khác biệt với mô hình đơn giản ở trên là đầu vào của mô hình này có trọng số, hiệu quả của nó là mỗi đầu vào có một sự đưa
Trang 10ra quyết định phụ thuộc vào trọng số của từng đầu vào Trọng số của một đầu vào là một số mà khi nhân với đầu vào thì ta có được trọng
số đầu vào Những đầu vào trọng số này được nhóm lại với nhau và nếu chúng vượt quá giá trị ngưỡng thì nơron sẽ bị loại bỏ Với các trường hợp khác thì nơron không bị loại bỏ
2.1.4 So sánh mạng nơron với máy tính truyền thống
2.1.5 Một số kiến trúc mạng nơron dùng nhận dạng đối tượng 2.1.5.1 Mạng truyền thẳng
Mạng truyền thẳng cho phép tín hiệu truyền chỉ theo một đường từ đầu vào tới đầu ra, không có sự phản hồi hay lặp lại Mạng này có xu hướng truyền thẳng giữa đầu vào với đầu ra Chúng được dùng rộng rãi trong nhận dạng đối tượng Cách tổ chức trong mạng truyền thẳng là tham chiếu tới phương pháp từ dưới lên hoặc là từ trên xuống
2.1.5.3 Các lớp mạng
Các loại phổ biến nhất của mạng nơron nhân tạo bao gồm ba nhóm hoặc lớp của các đơn vị: một lớp của các đơn vị "đầu vào" được kết nối với một lớp của các đơn vị "ẩn", và lớp đơn vị “ẩn” này được kết nối với một lớp của đơn vị "đầu ra"
2.1.5.4 Perceptrons
Nghiên cứu có ảnh hưởng nhất trên mạng nơron trong những năm 60 được tiến hành dưới tiêu đề của “perceptron” một thuật ngữ
Trang 11được đặt ra bởi Frank Rosenblatt Perceptron (hình 2.5) trở thành một
mô hình MCP (nơron với đầu vào trọng số) với một số bổ sung, sửa chữa, tiền xử lý Các đơn vị có nhãn A1, A2, Aj, Ap được gọi là đơn
vị kết nối và nhiệm vụ của chúng là trích xuất các đặc điểm riêng biệt
từ những hình ảnh đầu vào
2.1.6 Ứng dụng của mạng nơron nhân tạo
2.2 Thiết kế mạng nơron nhân tạo
2.2.1 Các bước thiết kế
Các bước trong thiết kế một mô hình mạng nơron nhân tạo, gồm 7 bước:
Bước 1: Lựa chọn biến
Bước 2: Thu thập dữ liệu
Bước 3: Tiền xử lý dữ liệu
Bước 4: Các tập dữ liệu huấn luyện, kiểm thử, và chứng thực
Bước 5: Sơ đồ mạng nơron:
Bước 7: Triển khai
2.2.2 Chi tiết các bước thiết kế một mạng nơron
Trang 122.3 Huấn luyện mạng
2.3.1 Các phương pháp học
Hình trạng mạng và trọng số của các liên kết bên trong mạng quyết định chức năng của một mạng nơron Hình trạng của mạng bao gồm số lớp, số đơn vị trên mỗi tầng, và cách mà các lớp được liên kết với nhau của mạng và thường là cố định Một thuật toán huấn luyện được lưa chọn sẽ quyết định các trọng số Tiến trình điều chỉnh các trọng số để mạng “nhận biết” được quan hệ giữa đầu vào và đích mong muốn được gọi là học hay huấn luyện
2.3.2 Học có giám sát trong các mạng nơron
Học có giám sát có thể được xem như việc xấp xỉ một ánh xạ: X→ Y, trong đó X là tập các vấn đề và Y là tập các lời giải tương ứng cho vấn đề đó Các đối tượng (x, y) với x = (x1, x2, , xn) ∈ X, y
= (yl, y2,…,ym) ∈ Y được cho trước
2.3.3 Thuật toán lan truyền ngược Back-Propagation
Thuật toán lan truyền ngược là dạng tổng quát của thuật toán trung bình bình phương tối thiểu Thuật toán này thuộc dạng thuật toán xấp xỉ để tìm các điểm mà tại đó hiệu năng của mạng là tối ưu Chỉ số tối ưu thường được xác định bởi một hàm số của ma trận trọng
số và các đầu vào nào đó mà trong quá trình tìm hiểu
bài toán đặt ra
2.3.3.1 Mô tả thuật toán
Mạng lan truyền ngược là một hàm phi tuyến có thể xấp xỉ gần đúng nhất một hàm đích được cho qua một số đối tượng trong tập đối tượng Một mạng lan truyền tổng quát là một mạng có n (n>2) lớp: lớp thứ nhất gọi là lớp nhập, lớp thứ n là lớp xuất và n-2 lớp ẩn Phần lớn các mạng chỉ có một biến phụ thuộc nhưng với mô hình tả trên mạng nơron cho phép số nút trong lớp nhập, lớp xuất, và lớp ẩn