Với phương pháp đơn giản hóa đường cong số này chúng ta có thể thu nhận được các thông tin hình ảnh như mong muốn.. Có thể liệt kê một số phương pháp nhận dạng cơ bản như nhận dạng biên
Trang 1ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Trang 2ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
- -
LÊ NHẬT HUYẾN
ĐƠN GIẢN HÓA ĐƯỜNG CONG VÀ ĐA GIÁC
Chuyên ngành: Khoa học máy tính
Trang 3PHẦN MỞ ĐẦU
Hiện nay, cùng với sự phát triển của xã hội, vấn đề về tìm kiếm, lưu trữ
và truyền tải thông tin đang rất được quan tâm tại mọi quốc gia trên thế giới Đặc biệt là đối với thông tin dạng hình ảnh Các hệ thống thu, nhận và xử lí hình ảnh được ra đời với độ chính xác ngày càng cao Một trong các bài toán
về xử lí ảnh là giảm dung lượng của hình ảnh mà vẫn giữ được hình ảnh gần như ban đầu Vì giảm dung lượng hình ảnh sẽ giúp cho việc thu, nhận, xử lí thông tin được nhanh chóng và hiệu quả hơn Bên cạnh đó, việc thu thập, xử
lý và lưu trữ thông tin qua ảnh đang được quan tâm và ứng dụng rộng rãi trong nhiều lĩnh vực Với phương pháp đơn giản hóa đường cong số này chúng ta có thể thu nhận được các thông tin hình ảnh như mong muốn Cùng với sự phát triển của khoa học máy tính đã tạo môi trường thuận lợi cho bài toán đơn giản hóa đường cong Một số các thuật toán đơn giản hóa đã ra đời
và có độ chính xác cao, tuy nhiên tùy vào từng thuật toán và giá trị ngưỡng cụ thể mà cho ra những kết quả khác nhau
Ngày nay việc xử lý tự động được ứng dụng ngày càng nhiều trong các hệ thống điều khiển Nhận dạng, xử lý ảnh, đồ hoạ, tổng quát hoá bản đồ và cụ thể là phương pháp đơn giản hóa đường cong rất cần để thu gọn dữ liệu tăng tốc độ xử lý giảm bớt không gian lưu trữ
Mục đích của việc đơn giản hóa đường cong là giảm bớt các điểm dư thừa mà vẫn giữ được hình dạng vốn có của nó Một số thuật toán có thể tự động đơn giản hóa giúp cho công việc trở nên nhanh chóng và dễ dàng hơn Tuy nhiên, mỗi thuật toán có những ưu nhược điểm khác nhau Chính vì lý do đó, tôi đã
quyết định chọn đề tài “Phương pháp đơn giản hóa đường cong và đa giác”
là hướng nghiên cứu chính cho luận văn của mình
Trang 4Ngoài phần mở đầu, kết luận, tài liệu tham khảo và phụ lục, luận văn được tổ chức thành ba chương với bố cục như sau:
Chương I: Khái quát về xử lý ảnh và đơn giản hóa đường cong
Giớí thiệu khái quát bài toán đơn giản hóa đường cong và đa giác Tình hình nghiên cứu trong và ngoài nước về lĩnh vực Các ứng dụng của việc đơn giản hóa
Chương II: Các phương pháp đơn giản hóa đường cong và đa giác
Thu thập và tìm hiểu các kết quả đã được nghiên cứu để phục vụ cho việc so sánh thử nghiệm Trình bày các giải pháp kỹ thuật, thuật toán nhằm nâng cao chất lượng và độ chính xác cho kết quả
Chương III: Chương trình thử nghiệm
Xây dựng và cài đặt chương trình thử nghiệm, bao gồm mô tả bài toán, tập dữ liệu thử nghiệm, thiết kế hệ thống, cài đặt thuật toán và đánh giá kết quả thử nghiệm
Các kết quả đạt được:
Trình bày tổng quan về tổng quát hóa đường cong và những ứng dụng trong xử lý ảnh
như: Phương pháp điểm thứ n, phương pháp khoảng cách vuông góc, phương pháp Angularity, phương pháp Reuman-Witkam, phương pháp Bandwith, phương pháp hình tam giác, phương pháp Lang, phương pháp Douglas-Peuker và ứng dụng của nó trong việc giải quyết một số khó khăn trong quá trình xử lý và hiện thị bản đồ
cong tự động
Trang 5 Chương trình được viết bằng ngôn ngữ Visual C++
6.0 chủ yếu là mô phỏng các thuật toán bẵng dữ liệu là các đường cong đã có sẵn với ba thuật toán đơn giản hóa Đơn giản hóa đường cong được ứng dụng rất có hiệu quả trong các lĩnh vực khác nhau, bao gồm các hệ thống thông tin địa lý (GIS), đồ họa, xử lý ảnh, và nén dữ liệu Một trong những ứng dụng quan trọng nhất là để khái quát hóa bản đồ Các thuật toán này trong tương lai khi được áp dụng vào tệp dữ liệu ảnh bản đồ sinh ra từ các tệp chuẩn sẽ thu được kết quả rất tốt phục vụ cho công việc xử lý tự động hóa ảnh bản
đồ Việt Nam
Trang 6CHƯƠNG I KHÁI QUÁT VỀ XỬ LÝ ẢNH VÀ ĐƠN GIẢN HÓA ĐƯỜNG CONG
1.1 Giới thiệu chung về xử lý ảnh
Trong thực tế ảnh là một vùng liên tục về không gian và giá trị độ sáng, màu sắc được đưa vào máy tính là một ma trận hai chiều tập của các số nguyên mô tả ảnh Như vậy trước khi đưa vào máy tính ta phải rời rạc hóa ảnh bằng cách biến đổi tín hiệu liên tục sang tín hiệu rời rạc thông qua quá trình lấy mẫu và lượng hóa thành phần giá trị Trong quá trình này, người ta
sử dụng khái niệm đơn vị ảnh cơ sở mà ta quen gọi là Pixel (điểm ảnh) Như vậy, ảnh là một tập hợp các điểm ảnh Khi được số hóa, nó sẽ được biểu diễn bởi một ma trận hai chiều mà trong đó mỗi phần tử là một giá trị nguyên hoặc một vectơ cấu trúc màu
Xử lý ảnh là dùng các kỹ thuật xử lý để biến đổi một ảnh sang ảnh mới theo mục đích của người sử dụng Xử lý ảnh 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 như dịch, xoay, làm
rõ, xóa lỗi Cũng như xử lý dữ liệu bằng đồ hoạ, xử lý ảnh số là một lĩnh vực của tin học ứng dụng Tuy nhiên, xử lý dữ liệu bằng đồ hoạ đề cập đến những ảnh nhân tạo, các ảnh này được xem xét như là một cấu trúc dữ liệu và được tạo ra bởi các chương trình Đồ hoạ máy tính chủ yếu là tổng hợp các hình ảnh, trong khi xử lý ảnh là phân tích các ảnh tìm ra các dấu hiệu cơ bản đặc trưng cho ảnh
Các vấn đề cơ bản của xử lý ảnh gồm: biểu diễn ảnh, tăng cường chất lượng ảnh, khôi phục ảnh, biến đổi ảnh, phân tích ảnh, nhận dạng ảnh, nén ảnh
1.1.1 Tổng quan về một hệ thống xử lý ảnh
Con người thu nhận thông tin qua các giác quan, trong đó thị giác đóng vai trò quan trọng nhất Những năm trở lại đây với sự phát triển của phần
Trang 7cứng máy tính, xử lý ảnh và đồ hoạ đó phát triển một cách mạnh mẽ và có nhiều ứng dụng trong cuộc sống Xử lý ảnh và đồ hoạ đóng một vai trò quan trọng trong tương tác người máy
Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra kết quả mong muốn Kết quả đầu ra của một quá trình xử lý ảnh
có thể là một ảnh “tốt hơn” hoặc một kết luận
Hình 1.1: Quá trình xử lý ảnh
Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem như là đặc trưng cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của đối tượng trong không gian và nó có thể xem như một hàm n biến P(c1, c2, , cn) Do đó, ảnh trong xử lý ảnh có thể xem như ảnh n chiều
Một hệ thống xử lý ảnh hoàn chỉnh bao gồm: thu nhận ảnh, tiền xử lý, nhận dạng, phân tích ảnh, ra quyết định (Hình1.2)
Hình 1.2: Cấu trúc của một hệ xử lý ảnh
Ảnh được số hóa thông qua camera, scaner, máy chụp X-quang, máy ảnh số,… Ảnh cũng có thể được thu nhận từ vệ tinh qua các bộ cảm ứng
Thu nhận ảnh
Số hoá
Phân tích ảnh
Nhận dạng CAMERA
Lưu trữ
Hệ quyết định
ẢNH
Ảnh “tốt hơn”
Kết luận
Trang 8Tiếp theo là quá trình số hóa để biến đổi tín hiệu tương tự sang tín hiệu rời rạc Sau đó ảnh được lưu trữ dưới dạng tệp tin trên máy tính theo một định dạng ảnh chuẩn
Tiền xử lý là công việc tăng cường ảnh để nâng cao chất lượng ảnh Các thao tác tiền xử lý bao gồm: xóa nhiễu, làm trơn biên, khôi phục ảnh, làm nổi ảnh, tách cạnh, Sau đó, ảnh có thể được nén để giảm không gian lưu trữ
do kích thước ảnh thông thường là rất lớn
Trích chọn dấu hiệu: mỗi đối tượng trong ảnh có các đặc trưng riêng Các đặc trưng này được trích chọn phụ thuộc vào phương pháp nhận dạng Trong một ứng dụng có nhiều phương pháp nhận dạng, mỗi phương pháp nhận dạng lại có nhiều phương pháp chọn dấu hiệu khác nhau Trích chọn dấu hiệu có thể là phát hiện các đặc tính như biên, phân vùng ảnh, trích chọn các đặc tính Từ đó có thể nhận dạng được ảnh thông qua những dấu hiệu đã trích ra với sai số cho phép
Nhận dạng là quá trình nhận biết và đánh giá các nội dung của ảnh qua việc phân tích một hình ảnh thành những phần có nghĩa đề phân biệt đối tượng này với đối tượng khác Dựa vào đó ta có thể mô tả cấu trúc của hình ảnh ban đầu Có thể liệt kê một số phương pháp nhận dạng cơ bản như nhận dạng biên của các một đối tượng trên ảnh, tách cạnh, trích xương ảnh, phân đoạn hình ảnh, Kỹ thuật này được dùng nhiều trong y học (xử lý tế bào, nhiễm sắc thể), nhận dạng chữ trong văn bản, nhận dang vân tay,
Hậu xử lý là giai đoạn cuối của quá trình xử lý ảnh dựa trên kết quả ta
có thể so sánh, phân tích đưa ra các kết quả nhận dạng, ví dụ ta nhận ra những khuôn mặt của tội phạm, đồ vật mẫu, bản đồ địa hình, Kết quả ra của việc nhận dạng là giúp cho con người trong các xử lý tự động cần chính xác, kịp thời, nhanh chóng
Trang 91.1.2 Các vấn đề cơ bản của xử lý ảnh
1.1.2.1 Biểu diễn ảnh
Ảnh có thể biểu diễn dưới dạng tín hiệu tương tự hoặc tín hiệu số Trong biểu diễn số của các ảnh đa mức xám, một ảnh được biểu diễn dưới dạng một ma trận hai chiều Mỗi phần tử của ma trận biểu diễn cho mức xám hay cường độ của ảnh tại vị trí đó Mỗi phần tử trong ma trận được gọi là một phần tử ảnh, thông thường kí hiệu là PEL (Picture Element) hoặc là điểm ảnh (Pixel)
Trong quá trình xử lý ảnh, một ảnh thu nhập vào máy tính phải được
mã hóa Hình ảnh khi lưu trữ dưới dạng tập tin phải được số hóa Tiêu chuẩn đặt ra là ảnh phải được lưu trữ thế nào sao cho các ứng dụng khác nhau có thể thao tác trên các loại dữ liệu này Một số dạng ảnh đã được chuẩn hóa như GIF, BMP, PCX, ICO, JPG
Ảnh trên máy tính là kết quả thu nhận theo các phương pháp số hoá được nhúng trong các thiết bị kỹ thuật khác nhau Quá trình lưu trữ ảnh nhằm
2 mục đích:
• Tiết kiệm bộ nhớ
• Giảm thời gian xử lý
Việc lưu trữ thông tin trong bộ nhớ có ảnh hưởng rất lớn đến việc hiển thị, in ấn và xử lý ảnh được xem như là 1 tập hợp các điểm với cùng kích thước nếu sử dụng càng nhiều điểm ảnh thì bức ảnh càng đẹp, càng mịn và càng thể hiện rõ hơn chi tiết của ảnh người ta gọi đặc điểm này là độ phân giải
Việc lựa chọn độ phân giải thích hợp tuỳ thuộc vào nhu cầu sử dụng và đặc trưng của mỗi ảnh cụ thể, trên cơ sở đó các ảnh thường được biểu diễn theo 2 mô hình cơ bản
Trang 10Một trong những hướng nghiên cứu cơ bản trên mô hình biểu diễn này
là kỹ thuật nén ảnh các kỹ thuật nén ảnh lại chia ra theo 2 khuynh hướng là nén bảo toàn và không bảo toàn thông tin nén bảo toàn có khả năng phục hồi hoàn toàn dữ liệu ban đầu còn nếu không bảo toàn chỉ có khả năng phục hồi
độ sai số cho phép nào đó Theo cách tiếp cận này người ta đã đề ra nhiều quy cách khác nhau như BMP, TIF, GIF, PCX…
Hiện nay trên thế giới có trên 50 khuôn dạng ảnh thông dụng bao gồm
cả trong đó các kỹ thuật nén có khả năng phục hồi dữ liệu 100% và nén có khả năng phục hồi với độ sai số nhận được
Hình 1.3: Quá trình hiển thị và chỉnh sửa, lưu trữ ảnh thông qua DIB
Một số mô hình thường được dùng trong biểu diễn ảnh: Mô hình toán,
mô hình thống kê Trong mô hình toán, ảnh hai chiều được biểu diễn nhờ các
Trang 11được coi là một phần tử của một tập hợp đặc trưng bởi các đại lượng như: kỳ vọng toán học, hiệp biến, phương sai, moment
Mô hình Vector
Biểu diễn ảnh ngoài mục đích tiết kiệm không gian lưu trữ dễ dàng cho hiển thị và in ấn còn đảm bảo dễ dàng trong lựa chọn sao chép di chuyển tìm kiếm… Theo những yêu cầu này kỹ thuật biểu diễn vector tỏ ra ưu việt hơn
Trong mô hình vector người ta sử dụng hướng giữa các vector của điểm ảnh lân cận để mã hoá và tái tạo hình ảnh ban đầu ảnh vector được thu nhận trực tiếp từ các thiết bị số hoá như Digital hoặc được chuyển đổi từ ảnh Raster thông qua các chương trình số hoá
Công nghệ phần cứng cung cấp những thiết bị xử lý với tốc độ nhanh
và chất lượng cho cả đầu vào và ra nhưng lại chỉ hỗ trợ cho ảnh Raster
Do vậy, những nghiên cứu về biểu diễn vectơ đều tập trung từ chuyển đổi từ
ảnh Raster
Hình 1.4 Sự chuyển đổi giữa các mô hình biểu diễn ảnh
1.1.2.2 Khôi phục ảnh
Do những nguyên nhân khác nhau như chất lượng thiết bị thu nhận ảnh,
do nguồn sáng hay do nhiễu, ảnh có thể bị suy biến Do vậy cần phải khôi phục lại các suy giảm của ảnh để làm nổi bật một số đặc tính chính của ảnh, làm cho ảnh gần hơn với trạng thái trước khi ảnh bị biến dạng Sau đó ta dùng
kỹ thuật tăng cường ảnh, đây là bước quan trọng, tạo tiền đề cho xử lý ảnh
Nó gồm một loạt các kỹ thuật như: lọc độ tương phản, khử nhiễu, nổi màu mục đích làm rõ nét hơn các đặc trưng của ảnh để cho việc nhận dạng dễ
Trang 121.1.2.3 Biến đổi ảnh
Thuật ngữ biến đổi ảnh thường dùng để nói tới một lớp các ma trận đơn
vị và các kỹ thuật dùng để lọc, biến đổi ảnh (kỹ thuật mặt nạ) Cũng như các tín hiệu một chiều được biểu diễn bởi một chuỗi các hàm cơ sở, ảnh cũng có thể được biểu diễn bởi một chuỗi rời rạc các ma trận cơ sở gọi là ảnh cơ sở
Có nhiều loại biến đổi được dùng như :
Biến đổi Fourier, Sin, Cosin, Hadamard,
Tích Kronecker
Biến đổi KL (Karhumen Loeve): biến đổi này có nguồn gốc từ khai triển của các quá trình ngẫu nhiên gọi là phương pháp trích chọn các thành phần chính
Do phải xử lý nhiều thông tin, các phép toán nhân và cộng trong khai triển là khá lớn Do vậy, các biến đổi trên nhằm làm giảm thứ nguyên của ảnh
để việc xử lý ảnh được hiệu quả hơn
1.1.2.4 Phân tích ảnh
Phân tích ảnh liên quan đến việc xác định các độ đo định lượng của một ảnh để đưa ra một mô tả đầy đủ về ảnh Các kỹ thuật được sử dụng ở đây nhằm mục đích xác định biên của ảnh Có nhiều kỹ thuật khác nhau như lọc
vi phân hay dò theo quy hoạch động
Người ta cũng dùng các kỹ thuật để phân vùng ảnh Từ ảnh thu được, người ta tiến hành kỹ thuật tách hay hợp dựa theo các tiêu chuẩn đánh giá như: màu sắc, cường độ, Các phương pháp được biết đến như mảnh hóa biên, nhị phân hóa đường biên Cuối cùng, phải kể đến các kỹ thuật phân lớp dựa theo cấu trúc của ảnh
Trang 131.1.2.5 Nhận dạng ảnh
Nhận dạng tự động (automatic recognition), mô tả đối tượng, phân loại và phân nhóm các mẫu là những vấn đề quan trọng trong thị giác máy, được ứng dụng trong nhiều ngành khoa học khác nhau Tuy nhiên, một câu hỏi đặt ra là: mẫu (pattern) là gì? Watanabe, một trong những người đi đầu trong lĩnh vực này đã định nghĩa: “Ngược lại với hỗn loạn (chaos), mẫu là một thực thể (entity), được xác định một cách ang áng (vaguely defined) và có thể gán cho
nó một tên gọi nào đó” Ví dụ mẫu có thể là ảnh của vân tay, ảnh của một vật nào đó được chụp, một chữ viết, khuôn mặt người hoặc một ký đồ tín hiệu tiếng nói Khi biết một mẫu nào đó, để nhận dạng hoặc phân loại mẫu đó có thể:
Hoặc phân loại có mẫu (supervised classification), chẳng hạn phân
tích phân biệt (discriminant analyis), trong đó mẫu đầu vào được định danh như một thành phần của một lớp đã xác định
Hoặc phân loại không có mẫu (unsupervised classification hay
clustering) trong đó các mẫu được gán vào các lớp khác nhau dựa trên một tiêu chuẩn đồng dạng nào đó Các lớp này cho đến thời điểm phân loại vẫn chưa biết hay chưa được định danh
Nhận dạng ảnh là quá trình liên quan đến các mô tả đối tượng mà người
ta muốn đặc tả nó Quá trình nhận dạng thường đi sau quá trình trích chọn các đặc tính chủ yếu của đối tượng Có hai kiểu mô tả đối tượng:
Gần đây, một kỹ thuật nhận dạng mới dựa vào kỹ thuật mạng nơron đang được áp dụng và cho kết quả khả quan cho những cơ sở dữ liệu ảnh quá lớn Trên thực tế, người ta đã áp dụng kỹ thuật nhận dạng khá thành công với nhiều đối tượng khác nhau như nhận dạng vân tay, nhận dạng chữ Nhận dạng
Trang 14chữ in hoặc đánh máy phục vụ cho việc tự động hóa quá trình đọc tài liệu, tăng nhanh tốc độ và chất lượng thu nhận thông tin từ máy tính Nhận dạng chữ viết tay (với mức độ ràng buộc khác nhau về cách viết, kiểu chữ, ) phục
vụ cho nhiều lĩnh vực
1.1.2.6 Nén ảnh
Nhằm giảm thiểu không gian lưu trữ Thường được tiến hành theo cả hai cách khuynh hướng là nén có bảo toàn và không bảo toàn thông tin Nén không bảo toàn thì thường có khả năng nén cao hơn nhưng khả năng phục hồi thì kém hơn Trên cơ sở hai khuynh hướng, có 4 cách tiếp cận cơ bản trong nén ảnh:
Nén ảnh thống kê: Kỹ thuật nén này dựa vào việc thống kê tần xuất xuất hiện của giá trị các điểm ảnh, trên cơ sở đó mà có chiến lược mã hóa thích hợp
Nén ảnh không gian: Kỹ thuật này dựa vào vị trí không gian của các điểm ảnh để tiến hành mã hóa Kỹ thuật lợi dụng sự giống nhau của các điểm ảnh trong các vùng gần nhau
Nén ảnh sử dụng phép biến đổi: Đây là kỹ thuật tiếp cận theo hướng nén không bảo toàn và do vậy, kỹ thuật thướng nến hiệu quả hơn
Nén ảnh Fractal: Sử dụng tính chất Fractal của các đối tượng ảnh, thể hiện sự lặp lại của các chi tiết Kỹ thuật nén sẽ tính toán để chỉ cần lưu trữ phần gốc ảnh và quy luật sinh ra ảnh theo nguyên lý Fractal
Nén ảnh là việc hết sức cần thiết bởi nhu cầu lưu trữ dữ liệu ảnh cũng như truyền tải trên mạng ngày càng tăng Lượng thông tin để biểu diễn cho một ảnh là rất lớn Nén ảnh giúp giảm không gian lưu trữ và tăng tốc độ truyền trên mạng Nhiều phương pháp nén dữ liệu đã được nghiên cứu và áp dụng cho loại dữ liệu đặc biệt này
Trang 151.1.3 Ảnh nhị phân
Tuỳ theo vùng các giá trị xám của điểm ảnh, mà các ảnh được phân
chia ra thành ảnh màu, ảnh xám, ảnh nhị phân
Ảnh nhị phân: Khi trên một ảnh chỉ tồn tại các giá trị 0 hoặc 1 thì ta nói
đó là một ảnh nhị phân hoặc ảnh đen trắng và các điểm ảnh của nó gọi là điểm
ảnh nhị phân mỗi điểm chỉ có giá trị đen hoặc trắng không có các mức xám
khác nhau
Với ảnh xám: Nếu dùng 8 bit (1 byte) để biểu diễn mức xám, thì số các
mức xám có thể biểu diễn được là 28 hay 256 Mỗi mức xám được biểu diễn
dưới dạng là một số nguyên nằm trong khoảng từ 0 đến 255, với mức 0 biểu
diễn cho mức cường độ tối nhất và 255 biểu diễn cho mức cường độ sáng nhất
Với ảnh màu: Cách biểu diễn cũng tương tự như với ảnh đen trắng, chỉ
khác là các số tại mỗi phần tử của ma trận biểu diễn cho ba màu riêng rẽ gồm:
đỏ (red), lục (green) và lam (blue) Để biểu diễn cho một điểm ảnh màu cần
24 bit, 24 bit này được chia thành ba khoảng 8 bit Mỗi khoảng này biểu diễn
cho cường độ sáng của một trong các màu chính tổ hợp của các màu ta được
nhiều mức biểu diễn, như vậy mỗi điểm ảnh có thể được mô tả rõ giá trị màu
tự nhiên của nó
Ảnh đa cấp xám được áp dụng trong nhiều lĩnh vực như sinh vật học
hoặc trong công nghiệp Thực tế chỉ ra rằng bất kỳ ứng dụng nào trên ảnh
mức xám cũng ứng dụng được trên ảnh màu Ta có thể biến đổi ảnh màu về
ảnh xám Mỗi điểm của ảnh màu có 3 giá trị (Red, Green, Blue), nếu 3 giá trị
này bằng nhau thì ta có màu xám (Grey), khi đó với mỗi điểm ảnh ta chỉ cần
lưu một giá trị của nó
Trang 16Xử lý ảnh nhị phân là một phương pháp quan trọng của kỹ thuật xử lý ảnh Vì thế phần này sẽ trình bày về ảnh nhị phân và cách chuyển ảnh màu, ảnh đa cấp xám về ảnh nhị phân
Việc xử lý ảnh nhị phân là một bước tiền xử lý các ảnh, để phân đoạn
và tách ra các đặc tính Nhờ vậy ta có thể biết được mối quan hệ tôpô giữa các điểm ảnh cũng như thực hiện các phép biến đổi ảnh không tuyến tính đạt hiệu quả; trong quá trình xử lý ảnh các phép biến đổi này dẫn đến sự đơn giản hóa việc đánh giá ảnh Việc đếm các điểm ảnh trên ảnh nhị phân đã qua biến đổi tạo điều kiện thuận lợi cho việc tách ra các đặc tính Bằng cách sử dụng các ảnh nhị phân đã qua xử lý như là những mặt nạ đối với các ảnh xám, ta có thể tách ra các vùng đáng quan tâm của một ảnh xám từ tập hợp các ảnh
Để tạo ra một ảnh nhị phân, một ảnh xám cần phải được biến đổi thành một ảnh nhị phân nhờ một quá trình phân đoạn thích hợp Muốn thế phương pháp đơn giản nhất là phương pháp tách ngưỡng Các giá trị nằm ở bên trên ngưỡng được gán giá trị 1 còn ở bên dưới ngưỡng thì được gán giá trị 0 Việc tìm giá trị ngưỡng có thể thực hiện tự động nhờ kĩ thuật tách ngưỡng tự động
1.2 Các kỹ thuật xử lý ảnh
1.2.1 Các phép toán tiền xử lý
Tiền xử lý là bước xử lý ban đầu sau khi nhận được ảnh từ thiết bị vào (máy quét, camera số ) Mục đích của bước này là làm cho chất lượng ảnh tốt hơn hoặc làm đơn giản ảnh đầu vào để việc xử lý ảnh sau đó được thực hiện nhanh hơn Ảnh đầu vào có thể chứa nhiễu, các đường cong bị đứt đoạn, các đối tượng bị dính vào nhau, mờ nhạt giữa vùng ảnh và nền Quá trình tiền xử lý sẽ sử dụng các bộ lọc để xóa nhiễu, nối các đường cong bị đứt, tách các đối tượng bị dính, Các phép toán dò biên, tách cạnh, tìm xương cũng thường được thực hiện để tìm ra các điểm cần quan tâm
Trang 17Khi ta chỉ quan tâm đến cấu trúc của đối tượng trong ảnh mà không cần giữ lại màu sắc, bước tiền xử lý cũng giúp chuyển ảnh này sang ảnh đa cấp xám hoặc ảnh nhị phân khi cần thiết (xử lý ảnh nhị phân đơn giản hơn và tốc
độ xử lý nhanh hơn nhiều và có rất nhiều thuật toán xử lý cho ảnh nhị phân) Đây là một phương pháp quan trọng của xử lý ảnh số Ảnh nhị phân cũng thường được dùng như một mặt nạ để phân đoạn và tách ra các đặc trưng của ảnh màu và ảnh đa cấp xám Vì thế ở đây ta sẽ xem xét phương pháp chuyển đổi một ảnh màu hay ảnh đa cấp xám về ảnh nhị phân
Thuật toán cần đưa ra được tập hợp các điểm liên tục của đường cong biểu diễn cho đối tượng trong ảnh Tập điểm này được dùng làm đầu vào cho các thuật toán xử lý đường cong khác, ví dụ như đơn giản hóa đường cong
- Chọn đối tượng trong ảnh
Chọn đối tượng trong ảnh thực chất là chọn một vùng ảnh liên tục trong
đó các điểm ảnh có giá trị bằng nhau Ở bước thứ nhất trong thuật toán dò tìm đường cong, với đầu vào là ảnh I và điểm chọn P, ta cần đưa ra một tập hợp các điểm thuộc vùng ảnh liên tục A chứa điểm P trong I Điều này được thực hiện tương tự các thuật toán tô màu
- Tìm xương của đối tượng ảnh
Trang 18Sau khi chọn được vùng ảnh chứa đối tượng, ta cần tìm ra đường cong mảnh biểu diễn cho đối tượng đó Nếu đối tượng là các đường cong, ví dụ đường biên của các bản đồ thì ta chỉ cần quan tâm đến xương của ảnh Có rất nhiều thuật toán tìm xương của ảnh như thuật toán tìm trục trung vị, thuật toán tìm xương dựa trên các phép toán hình thái học, thuật toán làm mảnh,
1.3 Đơn giản hóa đa giác và ứng dụng
Đơn giản hóa đa giác là một trong những đối tượng nghiên cứu kỹ lưỡng nhất trong khái quát bản đồ Nó làm giảm số lượng các đỉnh của một chuỗi các đa giác để lại một hình đại diện ở một quy mô nhỏ hơn mà không chứa những chi tiết không cần thiết Bên cạnh đó, ứng dụng chính của nó trong tổng quát hóa đóng góp đáng kể trong các hệ thống thông tin địa lý (GIS), nó làm giảm dữ liệu của bản đồ kỹ thuật số để đẩy nhanh tiến độ xử lý
và hiển thị và để đồng nhất các bộ dữ liệu khác nhau trong quá trình tích hợp
dữ liệu Một loạt các kỹ thuật đã được trình bày bởi các nhà nghiên cứu trong các bối cảnh khác nhau như[Tobler 1964, Lang 1969, Reumann và Witkam
1974, Jenks 1981]
Trong bản đồ tự động, các thuật toán được sử dụng nhiều nhất là thuật toán cổ điển Ramer - Douglas.- Peucker (RDP) [Ramer 1972, Douglas và Peucker 1973], thuật toán của Visvalingam [Visvalingam và Whyatt năm 1993] và thuật toán của Wang và Müller [Wang và Müller 1998]
1.3.1 Khái niệm
Đơn giản hóa đa giác là hành vi chuyển đổi một mô hình đa giác thành một phiên bản đơn giản hơn Nó làm giảm số lượng đa giác cần thiết để đại diện cho một mô hình trong khi cố gắng để giữ lại một hình dạng gần nhất với hình xuất hiện ban đầu
Đơn giản hóa đa giác như xấp xỉ đa giác bởi các hình cơ sở, Đơn giản hóa đa giác của các hình ảnh 3D nhưng trong luận văn này thì đa giác có thể
Trang 19hiểu là một đường cong có trùng điểm đầu và điểm cuối, có thể phân chia đa giác thành hai đường cong bằng cách nối hai đỉnh xa nhất của đa giác Đa giác được nêu ở đây có thể chỉ là một tam giác nhưng cũng có thể là một đa giác gồm n cạnh
1.3.2 Tổng quan về đơn giản hóa đa giác
Đa giác là các bản vẽ cơ bản nhất trong đồ họa máy tính Chuyên ngành
đồ họa phần cứng máy tính có thể vẽ chúng một cách rất nhanh chóng và đa giác có thể đại diện gần như giống nhất cho bất kỳ một mô hình nào Nhưng
để đại diện cho một mô hình ba chiều thường đòi hỏi một số lượng lớn các đa giác Ví dụ trong lĩnh vực tìm kiếm làm mịn có thể cần đến ít nhất vài nghìn
đa giác
Ngày nay, hệ thống đồ họa máy tính có thể vẽ hàng triệu đa giác mỗi giây Mặc dù có vẻ tương đối lớn nhưng để đại diện chính xác cho mô hình ba chiều thì cũng cần đến khoảng 30.000 đa giác Hiện nay việc thực hiện hàng triệu đa giác là rất bình thường Phần cứng đồ họa máy tính sẽ khó có thể theo kịp trong các mô hình phức tạp hơn [4]
1.3.3 Ứng dụng trong khái quát hóa bản đồ
Đơn giản hóa dòng được sử dụng trong khái quát hóa bản đồ, làm giảm
sự phức tạp của một dòng mà vẫn giữ được các đặc điểm hình dạng cơ bản vốn có của nó Nó là một trong những cách được sử dụng nhiều nhất trong lĩnh vực này bởi vì dòng phù hợp với gần 80% các đối tượng trong bản đồ mà chúng ta thường gặp Đơn giản hóa dòng được nghiên cứu từ những năm
1960 và cũng đã có nhiều các thuật toán trình bày cũng như được sử dụng rộng rãi trong việc khái quát hóa Đã có nhiều những nhận xét và đánh giá mà chúng ta có thể tìm thấy trong các tài liệu để lựa chọn thuật toán cơ bản và phù hợp
Trang 20Đơn giản hóa dòng một cách phù hợp không chỉ bao gồm làm giảm độ phức tạp của dòng mà còn đảm bảo tính thống nhất của bản gốc và bản đồ được đơn giản hóa Một bản đồ được cho là phù hợp nếu nó giữ nguyên được hình dạng tỉ lệ và giữ một độ sai số nhất định giữa các đối tượng của nó Đơn giản hóa dòng phù hợp rất được quan tâm trong lĩnh vực tổng quát hóa bản đồ những năm gần đây Các kết quả đầu tiên đã được công nhận từ giữa những năm 1990 Hầu hết trong số này đều sử dụng phương pháp mà người ta gọi là đơn giản hóa vùng, là trong một thời điểm dòng duy nhất được đơn giản hóa cùng với sự xem xét trong vùng lân cận của nó Cuối cùng sẽ thu được một tập các dòng được đơn giản hóa và chúng được tái thiết lại để trở thành bản
đồ được đơn giản hóa
hiện nhiễu của một đa giác, có thể thu được bằng cách quét một hình ảnh của một đối tượng Bằng cách xử lý hình ảnh, chúng tôi hy vọng để loại bỏ nhiễu
và tái tạo lại đối tượng ban đầu Thứ hai là nén dữ liệu, một đối tượng lớn và phức tạp, đơn giản hóa nó bằng cách làm giảm chi tiết Quan trọng là cần đạt được một đa giác với số lượng đỉnh ít nhất mà trông về cơ bản vẫn giống với hình ban đầu Đây là một bước đột phá quan trọng trong đồ họa máy tính, thay thế một mô hình lớn với một mô hình nhỏ hơn có thể có ít tác động trực quan, nhưng mất ít thời gian để có thể biểu diễn
Trang 21CHƯƠNG II PHƯƠNG PHÁP ĐƠN GIẢN HÓA ĐƯỜNG CONG VÀ ĐA GIÁC
2.1 Các phương pháp đơn giản hóa đường cong
Đơn giản hóa đường cong là một chức năng quan trọng trong bản đồ, đại diện cho hình học topo và cũng được sử dụng rộng rãi trong các gói phần mềm thương mại (GIS) Hầu hết các thuật toán đơn giản hóa đường cong đều yêu cầu người sử dụng cung cấp một giá trị ngưỡng, giá trị ngưỡng này được
sử dụng để xác định mức độ đơn giản hóa được áp dụng Ngoài ra các thuật toán cũng có thể tự động đưa ra các giá trị ngưỡng và có thể đó là sự tự động lựa chọn giá trị ngưỡng tối ưu tùy thuộc vào các biến thể trên tập dữ liệu
Phần lớn các thuật toán đơn giản hóa đều không hoạt động bằng cách xác định giá trị ngưỡng dự phòng này để tính toán và giữ lại các đặc điểm nổi bật của đa giác Hầu hết các Phương pháp đơn giản hóa đều lựa chọn các điểm quan trọng dựa trên các mối quan hệ hình học topo và các điểm lân cận
nó, mức độ tìm kiếm ở khu vực lân cận này là rất khác nhau giữa các thuật toán Trong khi các Phương pháp đơn giản hóa chỉ duy trì hoặc loại bỏ các điểm thì các thuật toán làm mịn sẽ cố gắng thay thế các điểm nhằm làm giảm các góc cạnh sắc nét và đưa ra một đường thẳng với hình dạng trơn tru, mượt
mà hơn
Tất cả các thuật toán đơn giản hóa đều tạo ra lỗi vị trí trong thiết lập dữ liệu vì thực tế là nó tạo ra sự khác biệt giữa các dòng ban đầu và các phiên bản đơn giản của nó Số lượng lỗi này phụ thuộc vào giá trị ngưỡng và hình dạng của chính các dòng đó Điều quan trọng ở đây là duy trì một mức độ cụ thể về chất lượng mà không phụ thuộc vào giá trị ngưỡng riêng biệt Hơn thế nữa, dòng đơn giản hóa bao gồm việc loại bỏ có chọn lọc các đỉnh dọc theo một dòng để loại bỏ các thông tin không cần thiết Việc xác định để loại bỏ các thông tin không cần thiết là quá trình rất quan trọng vì nó ảnh hưởng trực tiếp đến chất lượng hình ảnh trong các phiên bản đơn giản
Trang 22Để làm rõ sự cần thiết phải đơn giản hóa dòng và xem xét việc nên loại
bỏ dữ liệu như thế nào chúng ta lưu ý như sau:
quả truy xuất và quản lý nhanh hơn (vẽ lại và hiển thị trên màn hình)
giác sẽ làm giảm số lượng các phân đoạn (điểm trùng hoặc giao tiếp nhau)
Với nhiều lý do khác quy định được nêu trên, đã có rất nhiều phương pháp đơn giản hóa đường cong và chúng đều có những ưu nhược điểm khác nhau với các điều kiện cụ thể
Các thuật toán đơn giản hóa có thể được nhóm lại như sau:
Thuật toán điểm thứ n
Kĩ thuật điểm thứ n là một phương trình O(n) thuật toán đơn giản hóa đường gấp khúc Nó cơ bản giữ lại điểm đầu tiên, điểm cuối cùng và điểm thứ
n trên dòng gấp khúc ban đầu Chúng ta có thể thấy rằng kĩ thuật này là rất hiệu quả trong việc tính toán tuy nhiên về độ chính xác thì không thể chấp
Trang 23nhận được bởi vì nó không kiểm tra bất kỳ thông tin nào dọc theo đường gấp khúc (Hình 2.1)
Hình 2.1a: Đường cong ban đầu
Hình 2.1b: Đường cong sau khi đơn giản hóa.
Hình 2.1: Thuật toán điểm thứ n
Hình minh họa trên cho thấy một hình nhiều nét gồm 10 đỉnh { v1, v2,… V10} và quá trình đơn giản hóa sử dụng kĩ thuật điểm thứ n với n = 3 Kết quả đơn giản hóa bao gồm các đỉnh: { v1, v4, v7, v10} Thuật toán là rất nhanh nhưng không bảo toàn các tính năng hình dạng của dòng
Để làm rõ hơn về vấn đề này ta cùng xem xét một hình 100 điểm ngẫu nhiên (Hình 2.2)
Dòng gốc được thể hiện bằng màu đen và phiên bản đơn giản được thể hiện bằng màu xám
Hình 2.2: Thuật toán điểm thứ n cho một hình 100 điểm với n = 3
Trang 242.1.2 Phương pháp xử lý vùng
Thuật toán khoảng cách vuông góc
Thể loại đơn giản hóa này liên quan đến mối quan hệ giữa hai hoặc ba điểm liên tiếp của bản gốc Mối quan hệ này đó là:
Khoảng cách vuông góc từ đường thẳng kết nối hai điểm đến một điểm trung gian
Các khoảng cách vuông góc này nếu nhỏ hơn giá trị ngưỡng thì điểm trung gian sẽ bị loại bỏ và nếu lớn hơn sẽ được giữ lại
Trang 25Thuật toán Angularity
Tương tự như thuật toán khoản cách vuông góc nhưng thay việc tính toán khoảng cách bởi tính góc Cụ thể thuật toán bắt đầu với điểm đầu đường cong (V1) là điểm chốt
Hình 2.4: Đơn giản hóa đường cong với thuật toán Angularity
điểm động (V2) là điểm trung gian
Góc tạo bởi điểm chốt, trung gian, động với điểm trung gian là đỉnh việc tính toán và kiểm tra
Nếu lớn hơn ngưỡng thì điểm trung gian có thể bỏ đi trong trường hợp ngược lại điểm chốt sẽ là điểm trung gian cũ và quá trình lặp với điểm trung gian là điểm động cũ, điểm động mới là điểm kế tiếp sau điểm động cũ Tiến trình
thực hiện cho đến hết đường cong
2.1.3 Phương pháp xử lý vùng mở rộng không ràng buộc
Các loại này thường mở rộng các kĩ thuật xử lý vùng thông thường và không có ràng buộc để đánh giá mối quan hệ trên các phần của đường dây Thuật toán Reumann – Witkam thuộc vào loại này
2.1.3.1 Thuật toán Reumann – Witkam
Kĩ thuật này tạo ra một dải băng và sẽ trải lên các đường gấp khúc ban đầu bằng cách dịch chuyển dải băng này Chiều dài và chiều rộng của dải băng được xác định là giá trị ngưỡng hoặc do người sử dụng xác định, tính toán, dải băng sẽ được trải lên các điểm liên tiếp nhau trên đường gấp khúc
Trang 26ban đầu Các dải đầu tiên được tạo ra bằng cách kết nối hai điểm đầu tiên của đường cong, sau đó được chuyển dịch đến các điểm kế tiếp lân cận theo hướng trùm các điểm vào trong của dải băng cho đến khi chạm vào đường bao của dải băng Theo các dải băng, với mỗi đỉnh vi được xem xét, tính toán khoảng cách vuông góc với đường dây này Chỉ số khóa mới được thiết lập ở đỉnh vi-1 nếu khoảng cách này vượt quá giá trị ngưỡng quy định Các đỉnh vi
và vi+1 được sử dụng để xác định một dòng và một dải băng mới
Quá trình này được thực hiện lặp đi lặp lại cho đến khi đạt được điểm cuối cùng của dường cong
là giá trị ngưỡng được xác định Nếu các điểm trung gian nằm trong giải băng thì loại bỏ
dụng là giá trị ngưỡng được xác định Đỉnh cuối cùng bên trong giải băng
Trang 27Hình 2.5c: Tiếp tục tạo một dải băng tương tự từ đỉnh v 4 đến đỉnh v 5 Đỉnh
Hình 2.5d: Tiến trình này tiếp tục cho đến khi giải băng bao trùm đến điểm cuối cùng của đường cong ban đầu
Hình 2.5: Thuật toán Reumann-Witkam cho đường cong 9 điểm
2.1.3.2 Thuật toán Band width
Trong thuật toán Band Width, ta hình dung có một dải băng di chuyển
từ đầu mút đường cong dọc theo đường cong sao cho đường cong nằm trong
di băng đó cho đến khi có điểm thuộc đường cong chạm vào biên của dải băng, điểm này sẽ được giữ lại Quá trình này được thực hiện với phần còn lại của đường cong bắt đầu từ điểm vừa tìm được cho đến khi hết đường cong
Cụ thể như sau:
Hình 2.6: Đơn giản hóa đường cong với thuật toán Band Width
Trang 28Bắt đầu bằng việc xác định điểm đầu tiên trên đường cong và coi đó
giữa điểm chốt và điểm động (V2) là điểm trung gian Ban đầu khoảng cách từ điểm trung gian đến đoạn thẳng nối điểm chốt và điểm động được tính toán và
điểm trung gian có thể bỏ đi, tiến trình tiếp tục với điểm chốt là điểm chốt cũ, điểm trung gian là điểm động cũ và điểm động là điểm kế tiếp sau điểm động
trước thì điểm trung gian sẽ được giữ lại, tiến trình tiếp tục với điểm chốt là điển trung gian, điểm trung gian là điểm động cũ và điểm động là điểm kế tiếp sau điểm động cũ Tiến trình được lặp cho đến hết đường cong (Hình 2.6: minh họa thuật toán Band-Width)
Thuật toán này tăng tốc độ trong trường hợp đường ống chứa nhiều điểm, điều đó có nghĩa là độ lệch giữa các điểm trong đường thẳng là nhỏ, hay độ dày nét của đường được véctơ hoá là mảnh
2.1.3.3 Thuật toán hình tam giác
Kĩ thuật này được Şadan Ekdemir đề cập đến trong đề tài “Efficient Implementation of Polyline Simplification for Large Datasets and Usability Evaluation” [9], dựa trên việc tìm hiểu một số thuật toán hiện có và đặc biệt là phương pháp khoảng cách vuông góc Phương pháp khoảng cách vuông góc
là một phương pháp sử dụng một giá trị ngưỡng từ điểm đến phân đoạn Đối với mỗi đỉnh khoảng cách vuông góc đến các phân đoạn S(vi-1, vi+1) được tính toán Các đỉnh có khoảng cách nhỏ hơn giá trị ngưỡng thì bị loại bỏ khỏi đường cong ban đầu, ba đỉnh đầu tiên của đường cong được xử lý, khoảng cách từ đỉnh thứ hai được tính toán Sau khi so sánh khoảng cách này đối với giá trị ngưỡng thì đỉnh thứ hai được coi là một phần của đơn giản hóa Thuật toán tiếp tục bằng cách di chuyển một đỉnh trên đường cong và áp dụng phương pháp tương tự cho các bộ liên tiếp ba đỉnh và kiểm tra các khoảng
Trang 29cách vuông góc với các phân đoạn, nếu khoảng cách này được tính nhỏ hơn giá trị ngưỡng thì đỉnh trung gian sẽ bị loại bỏ Thuật toán sẽ lần lượt di chuyển trên đường cong cho đến khi tìm được điểm cuối cùng
Kĩ thuật hình tam giác có thể được mô tả như là một bước xa hơn của
kĩ thuật khoảng cách vuông góc Sau khi tìm được khoảng cách vuông góc từ đỉnh vi đến phân đoạn, độ dài của phân đoạn S(vi – 1, vi +1) cũng được tính Vì vậy, một tam giác T cùng với các đỉnh T(vi – 1, vi, vi +1) được hình thành cùng với sự tính toán phân đoạn và đường cao Với những thông tin được biết như vậy, bằng cách áp dụng công thức hình học để tính diện tích tam giác Nếu giá trị diện tích của tam giác là lớn hơn giá trị ngưỡng thì đỉnh vi được giữ lại và trở thành điểm mới đầu tiên của tam giác tiếp theo Trong trường hợp ngược lại thì đỉnh vi sẽ bị loại bỏ và điểm mới đầu tiên cho tam giác tiếp theo sẽ là đỉnh vi +1 Quá trình này tiếp tục cho đến khi điểm cuối cùng của đường cong được tìm thấy (Hình 2.7)
Hình 2.7a: Khoảng cách vuông góc này lớn hơn giá trị ngưỡng thì đỉnh v2 được giữ lại
Hình 2.7b: Khoảng cách nhỏ hơn giá trị ngưỡng nên đỉnh v3 sẽ bị loại bỏ
Trang 30Hình 2.7c: Tiến trình sẽ lặp đi lặp lại cho đến đỉnh cuối cùng
Hình 2.7: Thuật toán hình tam giác
Thuật toán hình tam giác dựa trên các phương pháp đơn giản hóa đường cong bằng đo lường toán học Vùng diện tích thay thế giữa đường cong ban đầu và đường cong được đơn giản được xác định như một tiêu chí
đo lường của đơn giản hóa Mặc dù kĩ thuật này hoạt động rất giống với kĩ thuật khoảng cách vuông góc nhưng nó khác biệt ở chỗ là nó xem xét khoảng cách vuông góc giữa đỉnh cụ thể và chiều dài của phân đoạn Kĩ thuật này có thể bảo toàn một cách chi tiết hơn trong quá trình đơn giản hóa đa giác
2.1.4 Phương pháp xử lý vùng mở rộng ràng buộc
Hạn chế mở rộng thủ tục xử lý vùng sử dụng các tiêu chí của phương pháp không hạn chế mở rộng xử lý vùng và bổ xung thêm các hạn chế mở rộng để xác định một khu vực tìm kiếm cho dòng ban đầu Khu vực tìm kiếm này được sử dụng để phân chia dòng ban đầu thành các phần và thực hiện tính toán Vì vậy việc thay đổi các tham số mang lại các kết quả khác nhau và cũng cung cấp các mức độ cho các phương pháp đơn giản hóa Một ví dụ quan trọng cho phương pháp này là thuật toán đơn giản hóa Lang, được phát triển bởi Lang năm 1969
Thuật toán Lang
Khu vực tìm kiếm được xác định bởi người sử dụng và khoảng cách vuông góc từ đoạn thẳng kết nối hai điểm của khu vực này đến điểm giữa chúng của dòng ban Mỗi khu vực tìm kiếm được khởi tạo như là một khu vực