NGHIÊN CỨU GIẢI PHÁP NHẬN DẠNG BIỂN SỐ XE TRÊN CƠ SỞ CÔNG NGHỆ XỬ LÝ ẢNH Mục tiêu của luận văn là ứng dụng thuật toán phân tích phổ tần số trên cơ sở công nghệ xử lý ảnh để trích biển số xe mô tô và phân tích biểu đồ mức xám trong việc tách ký tự. Xây dựng chương trình nhận dạng trực tuyến xe mô tô hai bánh, xây dựng chương trình nhận dạng ký tự đơn trên biển số ứng dụng mạng neural dùng ngôn ngữ lập trình Csharp và thư viện AForge trong xử lý ảnh
Trang 1TRÍCH YẾU LUẬN VĂN CAO HỌC
Cơ quan công tác: ĐẠI HỌC GIAO THÔNG VẬN TẢI TP HỒ CHÍ MINH
2 Mục đích nghiên cứu của đề tài
Mục tiêu của luận văn là ứng dụng thuật toán phân tích phổ tần số trên cơ sở công nghệ xử lý ảnh để trích biển số xe mô tô và phân tích biểu đồ mức xám trong việc tách ký tự Xây dựng chương trình nhận dạng trực tuyến xe mô tô hai bánh, xây dựng chương trình nhận dạng ký tự đơn trên biển số ứng dụng mạng neural dùng ngôn ngữ lập trình Csharp và thư viện AForge trong xử lý ảnh
3 Phương pháp nghiên cứu và kết quả đạt được:
Ứng dụng các thuật toán về xử lý ảnh để xử lý trích lọc biển số xe và xây dựng kết quả nghiên cứu trên nền Visual Studio Dot Net (Cshap)
Ứng dụng được thư viện AForge trong xử lý ảnh và thu nhận tín hiệu video Ứng dụng mạng neural để nhận dạng ký tự
4 Điểm bình quân môn học: Điểm bảo vệ luận văn
Xác nhận của cán bộ hướng dẫn : Học viên thực hiện
Xác nhận của bộ môn :
CAO HỮU VINH
Trang 2LỜI NÓI ĐẦU
1 Tính cấp thiết của đề tài
Cùng với sự phát triển của khoa học kỹ thuật và nhu cầu đi lại ngày càng tăng
và số lượng các phương tiện giao thông trên đường xuất hiện ngày càng nhiều Với
số lượng phương tiện giao thông lớn và ngày càng tăng nhanh làm nảy sinh nhiều vấn đề trong việc quản lý và kiểm soát các phương tiện giao thông Để giải quyết vấn đề này yêu cầu đặt ra là áp dụng các giải pháp quản lý tự động
Một trong những giải pháp như vậy là nhận dạng biển số xe trên cơ sở công nghệ xử lý ảnh Nhận dạng và xử lý ảnh cũng là một trong những giải pháp có tầm ứng dụng to lớn Có thể kể ra hàng loạt các lĩnh vực đã áp dụng kỹ thuật nhận dạng ảnh như: xử lý ảnh chụp vệ tinh, dự báo thời tiết, điều khiển giao thông công cộng, nhận dạng chữ viết tay, phân tích chữ ký, nhận dạng vân tay, nhận dạng mặt người,…Với mục đích ứng dụng công nghệ xử lý ảnh trong quản lý các phương tiện
giao thông nên đề tài “ Nghiên cứu giải pháp nhận dạng biển số xe trên cơ sở công nghệ xử lý ảnh” được em lựa chọn với mong muốn có thể ứng dụng công
nghệ vào trong vấn để quản lý các phương tiện giao thông
Ở đề tài này tôi sẽ trình bày phương pháp nhận dạng biển số xe thông qua camera, sau đó qua các quá trình xử lý ảnh, tách ký tự, nhận dạng ký tự ta sẽ nhận được kết quả của biển số xe
Giải pháp này được ứng dụng rất nhiều trong các hệ thống nhận dạng quản lý phương tiện giao thông tại các trạm thu phí, trạm cân, bãi giữ xe tự động, kiểm soát
lưu lượng giao thông hay trong các ứng dụng an ninh như tìm kiếm xe bị mất cắp
2 Đối tượng nghiên cứu
Trang 3Phân tích ảnh và nhận dạng biển số xe
4 Mục tiêu nghiên cứu của đề tài
Nghiên cứu về lý thuyết ảnh số, xử lý ảnh, mạng neural, các thuật toán trích lọc vùng chứa biển số xe, tách ký tự và nhận dạng ký tự
Xử lý ảnh từ Data có sẵn và thu ảnh trực tiếp từ camera chuyên dùng
Xây dựng phần mềm mô phỏng đề tài
5 Phương pháp nghiên cứu
Nghiên cứu lý thuyết và xây dựng phần mềm mô phỏng trên máy tính
6 Kết cấu của luận văn
Chương 1: Lý thuyết xử lý ảnh
Chương 2: Công nghệ xử lý ảnh trong giao thông
Chương 3: Giải pháp nhận dạng biển số xe
Chương 4: Xây dựng phần mềm nhận dạng biển số xe
Kết luận và hướng phát triển của đề tài
Trang 4MỤC LỤC
Trích yếu luận văn cao học I Lời nói đầu II
1 Tính cấp thiết của đề tài II
2 Đối tượng nghiên cứu II
3 Phạm vi nghiên cứu II
4 Mục tiêu nghiên cứu III
5 Phương pháp nghiên cứu III
6 Kết cấu luận văn III
Mục Lục IV Danh mục các ký hiệu, thuật ngữ viết tắt VIII Danh mục các bảng biểu và hình vẽ IX
Chương 1: Lý thuyết xử lý ảnh 1
1.1 Biểu diễn hệ thống ảnh 2
1.1.1 Hệ thống ảnh tuyến tính 3
1.1.2 Hệ thống ảnh phi tuyến 4
1.2 Khái niệm xử lý ảnh số 5
1.2.1 Khái niệm về phần tử ảnh 5
1.2.2 Ảnh xám 6
1.2.3 Ảnh trắng đen hay ảnh nhị phân 6
1.2.4 Ảnh màu và mô hình màu RGB 6
1.2.5 Hệ tọa độ pixel 9
1.2.6 Các định dạng ảnh 9
1.3 Các vấn đề trong quá trình xử lý ảnh 15
1.3.1 Mục đích của việc xử lý ảnh số 15
1.3.2 Kỹ thuật nâng cao chất lượng ảnh 15
1.3.3 Biến đổi lược đồ mức xám (Histogram) 16
Trang 51.3.3.1 Lọc tuyến tính 16
1.3.3.2 Lọc phi tuyến 16
1.3.4 Kỹ thuật tăng độ sắc nét của ảnh 17
1.3.4.1 Khái niệm biên 17
1.3.4.2 Làm nổi biên 18
1.3.4.3 Kỹ thuật tách biên 18
1.3.5 Phân vùng ảnh 29
1.3.6 Nhận dạng ảnh 29
1.4 Kết luận chương 1 30
Chương 2: Công nghệ xử lý ảnh trong giao thông 31
2.1 Ứng dụng hệ thống giao thông thông minh 31
2.2 Một số ứng dụng hệ thống giao thông thông minh ở Việt Nam 35
2.2.1 Xây dựng các trạm thu phí tự động 35
2.2.2 Hệ thống thu phí một dừng 35
2.2.3 Hệ thông thu phí mở không dừng 35
2.2.4 Hệ thống thu phí kín 36
2.2.5 Hệ thống kiểm soát trọng tải 36
2.2.6 VOV giao thông 37
2.3 Các ứng dụng hệ thống giao thông thông minh ở Việt Nam trong tương lai.37 2.3.1 Hệ thống điều khiển giao thông thông minh 37
2.3.2 Hệ thống tự động báo kẹt xe 38
2.4 Kết luận chương 2 38
Chương 3: Giải pháp nhận dạng biển số xe 39
3.1 Các phương pháp nhận dạng biển số xe 39
3.1.1 Trích biển số xe 40
3.1.2 Cách ly các ký tự 42
3.1.3 Nhận dạng ký tự 44
3.2 Xử lý ảnh và nhận dạng 44
3.2.1 Kỹ thuật chuyển ảnh sang ảnh mức xám (Gray Level) 45
Trang 63.2.2 Lược đồ mức xám (Histogram) 45
3.2.3 Xử lý ảnh bằng thuật toán K-means 46
3.2.4 Lọc trung vi (Median) 48
3.2.5 Bộ lọc BlobsFiltering 49
3.3 Mạng Neural nhân tạo 50
3.3.1 Giới thiệu 50
3.3.2 Ứng dụng của Neural Network 51
3.3.3 Mô hình một Neural nhân tạo 52
3.3.4 Thiết lập mạng Neural 54
3.3.5 Các bước chuẩn bị thiết lập mạng 54
3.3.5.1 Thu thập dữ liệu để huấn luyện mạng 54
3.3.5.2 Dữ liệu số 55
3.3.5.3 Dữ liệu phi số 55
3.3.5.4 Huấn luyện 56
3.3.5.5 Các bước thiết kế 56
3.4 Phân loại cấu trúc mạng 56
3.4.1 Mạng có cấu trúc tiến 56
3.4.2 Mạng có cấu trúc lan truyền ngược 57
3.4.2.1 Các loại neural ( Tansig, Logsig, Purelin ) 57
3.4.2.2 Cấu trúc các lớp trong mạng lan truyền ngược 58
3.4.2.3 Huấn luyện cho mạng lan truyền ngược 59
3.4.2.4 Nguyên lý chung 59
3.4.2.5 Vấn đề quá khớp và năng lực của mạng 60
3.5 Ứng dụng mạng Neural trong lĩnh vực nhận dạng 61
3.5.1 Nhiệm vụ 61
3.5.2 Cách tiếp cận 62
3.6 Kết luận chương 3 63
Chương 4: Xây dựng phần mềm nhận dạng biển số xe 64
4.1Mô hình tổng quát hệ thống nhận dạng trực tuyến xe mô tô hai bánh 64
Trang 74.1.1 Thu nhận ảnh 64
4.1.2 Nhận ảnh và các tham số đầu vào 64
4.2 Trích biển số, xử lý ảnh biển số và tách ký tự chữ số xe mô tô 64
4.2.1 Thuật toán trích biển số dùng phương pháp phân tích phổ tần số (Fast Fourier Transform) 65
4.2.2 Tổng kết thuật toán trích biển số 71
4.2.3 Tiền xử lý 71
4.2.4 Thuật toán tách ký tự 73
4.3 Nhận dạng ký tự đơn trên biển số bằng mạng Neural nhân tạo 76
4.3.1 Mô hình mạng 76
4.3.2 Tạo mạng 76
4.3.2.1 Mạng chữ 76
4.3.2.2 Mạng số 77
4.3.3 Khởi tạo trọng số 77
4.3.4 Huấn luyện mạng 78
4.4 Xây dựng hệ thống nhận dạng biển số 79
4.4.1 Xây dựng hệ thống 79
4.4.2 Giao diện chương trình 80
4.5 Thử nghiệm và đánh giá kết quả 81
4.5.1 Dữ liệu thử nghiệm 81
4.5.2 Kết quả thử nghiệm 82
4.5.3 Đánh giá kết quả 82
4.6 Một số kết quả minh họa thử nghiệm thuật toán 83
4.6.1 Trường hợp ảnh chụp ban ngày 83
4.6.2 Trường hợp ảnh chụp ban đem 84
4.7 Kết luận chương 4 84
Kết Luận và hướng phát triển đề tài 85
5.1 Các mặt đã đạt được 85
5.2 Các mặt còn hạn chế 85
Trang 85.3 Đề xuất hướng phát triển 85
5.4 Sử dụng một số chức năng trong thư viện Aforge 86
Lời cảm ơn 88
Tài liệu tham khảo 89
Trang 9DANH MỤC CÁC KÝ HIỆU, THUẬT NGỮ VIẾT TẮT
TIFF Targed image file format Định dạng tập tin ảnh
IFD Image file directory Thư mục tập tin hình ảnh
GIF Graphics interchanger
minh bởi Lempel –Zip và Welch
PST Point spread function
Trang 10DANH MỤC CÁC BẢNG BIỂU VÀ HÌNH VẼ
Hình 1.1 Biểu diễn hệ thống ảnh 3
Hình 1.2 Hệ thống ảnh phi tuyến 4
Hình 1.3 Ma trận số 5
Hình 1.4 Mảng hai chiều của một file ảnh 6
Hình 1.5 Mô hình màu RGB 7
Hình 1.6 Hệ tọa độ pixel 9
Hình 1.7 Lượt đồ xám 16
Hình 1.8 Hương biên 19
Hình 1.9 Ý nghĩa đạo hàm trong dò biên 22
Hình 1.10 Mô tả biến đổi Radon 25
Hình 1.11 Biểu diễn hình chiếu theo một góc trong biến đổi Radon 26
Hình 1.12 Biểu diễn phép biến đổi Radon dưới dạng hình học 26
Hình 1.13 Biến đổi ảnh sang ảnh nhị phân 27
Hình 1.14 Hình thể hiện miền Radon 27
Hình 1.15 Hình thể hiện sự phát hiện các đường thẳng trong biển đổi Radon 28
Hình 1.16 Trường hợp các đường thẳng lệch về phía dưới 28
Hình 1.17 Trường hợp đường thẳng lệch về phía trên 29
Hình 2.1 Quan hệ giữa HTXLA và các HT khác trong giao thông 31
Hình 2.2 Dòng giao thông ở Hong Kong (Trái) và ở Hà Nội (Phải) 32
Hình 2.3 Hệ thống giao thông thông minh 35
Hình 2.4 Hệ thống thu phí mở không dừng 35
Hình 2.5 Hệ thống thu phí kín 36
Hình 3.1 Lược đồ xám của các loại ảnh 46
Hình 3.2 Phân cụm ảnh 46
Hình 3.3 Các bước của thuật toán K - means 47
Hình 3.4 Mang neural 50
Hình 3.5 Mô hình toán học tổng quát của mạng neural 50
Hình 3.6 Neural một ngõ vào 52
Trang 11Hình 3.7 Neural có nhiều ngõ vào 53
Hình 3.8 Các hàm truyền cơ bản 53
Hình 3.9 Cấu trúc mạng neural tiến 56
Hình 3.10 Cấu tạo một neural 57
Hình 3.11 Hàm truyền logsig 57
Hình 3.12 Hàm truyền tansig 57
Hình 3.13 Hàm truyền pureline 58
Hình 3.14 Cấu trúc mạng một lớp 58
Hình 3.15 Mạng 2 lớp dùng neural tagsig và pureline 59
Bảng 4.1 Bảng mô tả thông tin biển số xe mô tô 65
Hình 4.1 Phân tích phổ ngang cho ảnh chứa biển số 68
Hình 4.2 Tách dòng chứa biển số 68
Hình 4.3 Phân tích phổ ngang cho ảnh chứa biển số 69
Hình 4.4 Tách biển số 69
Hình 4.5 Một số ảnh sau khi tách được biển số 71
Hình 4.6 Tiền xử lý ảnh 72
Hình 4.7 Lược đồ trích ngang để tách dòng 73
Hình 4.8 Lược đồ chiều dọc để tách ký tự 73
Hình 4.9 Kết quả tách ký tự 73
Hình 4.10 Chuẩn hóa ký tự về 20x10 76
Hình 4.11 Sơ đồ mạng neural nhận dạng ký tự chữ 77
Hình 4.12 Sơ đồ mạng neural nhận dạng ký tự số 77
Hình 4.13 Giao diện chính của chương trình 80
Hình 4.14 Chụp ảnh biển số xe 81
Hình 4.15 Nhận dạng và lưu xuống cơ sở dữ liệu 81
Bảng 4.2 Mô tả nguồn dữ liệu để text 82
Bảng 4.3 Bảng thống kê kết quả thử nghiệm trên tập dữ liệu test 82
Hình 4.16 Các bước trích biển số trong trường hợp 1 84
Hình 4.17 Các bước trích biển số trong trường hợp 2 84
Trang 12CHƯƠNG 1: LÝ THUYẾT XỬ LÝ ẢNH
Khái niệm:
Khái niệm về ảnh số xuất hiện từ năm 1964 Chẳng bao lâu, một nhánh mới của khoa học gọi là xử lý ảnh số ra đời Kể từ đó, liên tục phát triển và tạo ra các kỹ thuật quan trọng ảnh hưởng trực tiếp đến các lĩnh vực truyền thông, truyền hình, kỹ xảo đồ họa
Trong những năm gần đây, kỹ thuật xử lý ảnh ngày càng sử dụng phổ biến trong các hệ thống thông tin và tự động, các hệ thống này ngày càng thông minh hơn, không chỉ dừng lại ở việc xử lý để nâng cao chất lượng ảnh, lưu trữ ảnh hay phân tích kết cấu của ảnh mà còn tự động nhận dạng các đối tượng trong ảnh để có thể rút ra những thông tin chứa trong ảnh Chẳng hạn trong lĩnh vực thám không, các hình chụp từ trên không gian ( bằng máy bay, vệ tinh ) nhờ hệ thống xử lý ảnh
tự động để có thể xác định một thông tin về một vùng nào đó dưới mặt đất hay một hiện tượng tự nhiên đang diễn ra nhằm dự báo các hiện tượng tương tự trong tương lai Hay trong lĩnh vực y học cũng sử dụng kỹ thuật xử lý ảnh chụp cắt lớp cơ thể người, ảnh chụp siêu âm, ảnh chụp tế bào, nhiễm sắc thể để nhận dạng và chuẩn đoán bệnh Hay trong lĩnh vực xử lý đo lường cũng cần xử lý ảnh chụp các quá trình để nhận dạng, đo lường như mực nước ở các đập nước đo liều lượng, đo tốc độ dòng chảy, năng lượng của các hạt nguyên tử
Cùng với sự phát triển mạnh mẽ của máy tính số, xử lý ảnh số với sự hỗ trợ của máy tính cũng được phát triển và có nhiều ứng dụng Các ứng dụng cụ thể như: Trong lãnh vực truyền hình, cũng như việc lấy hình ảnh từ vệ tinh về trái đất thì ảnh
có thể giảm chất lượng do tác động của nhiễu từ môi trường hay nhiễu trong các thiết bị xuất nhập Trong đo đạc bản đồ phục vụ cho việc xây dựng các bản đồ, trong quá trình chụp ảnh đôi khi bản đồ bị mờ, nhoè hoặc bị nhiễu do điều kiện khách quan của môi trường chụp Do đó việc xử lý khôi phục lại ảnh gốc là rất quan trọng
Vấn đề xử lý hình ảnh bằng kỹ thuật số đã được quan tâm, có thể tóm tắt các hướng nghiên cứu chính trong xử lý hình ảnh bằng phương pháp số như sau:
Trang 13- Mã hóa, xấp xỉ và nén hình ảnh (digitalization, approximation, compression)
- Khôi phục ảnh, làm nổi bật các đặc trưng lọc, biến đổi, tạo lại hình ảnh (restoration, filtering, enhancement, transforms, reconstruction)
- Nhận dạng hình ảnh (pictorial pattern recognition)
- Các đặc trưng phân đoạn, phân tích ảnh (feature detection, segmentation image analysis)
- Ghép (matching) và biến đổi thời gian (time varying imaging)
- Tạo dạng và mẫu (shape, pattern)
Hình ảnh của một đối tượng là sự sao chụp lại đối tượng đó Mắt ta cảm thụ hình ảnh một cách gián tiếp Ảnh được hình thành qua hệ thống ảnh Trong thực tế ảnh sao chụp không phải là lý tưởng, ảnh bị méo, sai lệch với nhiều mức độ khác nhau, vì vậy việc xử lý khôi phục hình ảnh là nhằm khôi phục lại ảnh nguyên gốc theo một tiêu chuẩn nào đó
Hình ảnh được phân chia thành hai loại:
về thông tin trong ảnh và các thuật toán xử lý nhanh
Trong đề tài này, quá trình xử lý ảnh nhằm trích vùng chứa biển số xe, phân đoạn những ký tự riêng biệt, trích đặc trưng của ký tự, rồi đưa những đặc trưng này vào mạng neural so sánh với tập dữ liệu đã được huấn luyện trước để có thể nhận dạng được từng ký tự của biển số xe
1.1 Biểu diễn hệ thống ảnh
Một hệ thống ảnh có thể biểu diễn như sau:
Trang 14Với H : Hệ thống ảnh tuyến tính f(i,j) : Vật thể
g(x,y) : Ảnh
Vật thể (đối tượng) nằm trong mặt phẳng (i,j) được mô tả bằng một hàm 2 biến (ảnh 2 chiều), f(i,j) là độ chói của vật tại (i,j) Qua hệ thống tạo ảnh ta có ảnh của vật (i,j) là g(x,y) nằm trong mặt phẳng ảnh, g(x,y) gọi là hàm chói của ảnh Đối tượng được chiếu sáng bằng một hàm nào đó được truyền qua hệ thống tạo ảnh Kết quả là ảnh của vật được tạo
Trên mặt phẳng (x,y) Hệ thống tạo ra điểm ảnh (x,y ) bằng năng lượng phát ra
từ vật thể Hệ thống ảnh nhận các thành phần năng lượng bức xạ từ điểm (i,j) và từ các điểm ảnh lân cận Nếu lân cận được giới hạn thì gọi là quá trình tạo điểm ảnh
Hệ thống tạo ảnh có thể là tuyến tính hoặc phi tuyến
1.1.1 Hệ thống ảnh tuyến tính
Ta giả thiết hệ thống ảnh h(x,y,i,j) là tuyến tính chỉ phụ thuộc và các điểm ảnh được chọn và các điểm ảnh lân cận Ta có thể biểu diễn như sau:
g(x,y)=∬ ∞ ∞ ( , , , ) ( , ) (1.1) Với giả thiết h (x,y,i,j) chỉ phụ thuốc giữa điểm ảnh được chọn và điểm ảnh lân cận
h(x,y,i,j) = h(x-i,y-j)
Công thức (1.1) có thể xác định như sau:
g(x,y)=∬ ∞ ∞ ( − , − , ) ( , ) (1.2) với f(x,y): hàm biểu diễn vật thể
Hình 1.1 Biểu diễn hệ thống ảnh
Trang 15g(x,y): hàm biểu diễn ảnh
h( x,y,i,j): hàm phân tán điểm PST ( point spread function)
hoặc
g(x,y)=h(x,y)*f(x,y) (1.3)
Đó là quá trình tạo ảnh bằng hệ thống tuyến tính
Trong hệ thống tạo ảnh tuyến tính, hàm h(x,y,i,j) phụ thuộc vào các giá trị đầu vào f(i,j) Lượng ánh sáng bức xạ từ vật thể (không gian 3 chiều) phụ thuộc vào độ sâu và cấu trúc của vật thể điều đó ảnh hưởng đến việc tạo ảnh Hàm phân tán điểm (chỉ xét 2 chiều)
h=h[x,y,i,j,f(i,j)] (1.4)
Hàm biểu diễn ảnh
g(x,y)=∬ ∞ ∞ [( , , , ) ( , )] ( , ) (1.5) Nếu h[ x,y,i ,j , f(i, j) ] là hàm có tính Gauss, thì có thể đạo hàm theo f(i,j) và phân tích h[x, y, i, j, f(i,j)] thành chuỗi Taylor
Nếu giới hạn đến hai thành phần điều kiện của chuỗi Taylor thì ta thấy rằng h[x, y, i, j, f(i,j) ] là hàm tuyến tính
Trang 161.2 Khái niệm xử lý ảnh số
1.2.1 Khái niệm về phần tử ảnh:
Ảnh trong thực tế liên tục về không gian và độ sáng, để ảnh có thể xử lý bằng máy tính ta cần thiết phải số hóa ảnh Quá trình này người ta biến đổi tín hiệu tương tự thành tín hiệu rời rạc thông qua quá trình lấy mẫu và lượng thành phần giá trị mà về mặt nguyên tắc bằng mắt thường không phân biệt được hai điểm liền kề nhau Quá trình này người ta sử dụng khái niệm phần tử ảnh mà ta thường gọi là pixel, nó là phần tử nhỏ nhất của ảnh Như vậy, một ảnh là một tập hợp các pixel
Một ảnh số là một mảng các điểm ảnh được số hóa và đưa vào bộ nhớ của máy tính Một số nhị phân chứa trong mỗi điểm ảnh thể hiện cường độ hay bước sóng ánh sáng trong ảnh
Trang 17Độ phân giải của một ảnh là khu vực của mỗi điểm ảnh, thông thường nó
là số điểm ảnh trên mỗi hàng của ảnh, nó là một hàm của khoảng cách từ camera đến khung nhìn, chiều dài hội tụ của thấu kính và số điểm ảnh mỗi hàng của ảnh Như màn hình máy tính có nhiều loại với độ phân giải khác nhau: màn hình CGA có độ phân giải 320x200, màn hình VGA là 640x350
Cấu trúc một file ảnh
Tổng quát, một file ảnh là một tập hợp nhiều điểm ảnh, mỗi điểm ảnh được biểu như thế nào còn tùy vào file ảnh đó là màu hay xám, nhưng cơ bản ảnh vẫn là mảng hai chiều
Hình 1.4: Mảng hai chiều của một file ảnh
1.2.2 Ảnh xám
Với ảnh này, mỗi pixel được xác định bằng cặp tọa độ (x,y) Vậy toàn bộ ảnh là mảng 2 chiều mà giá trị của mỗi phần tử mảng chính là giá trị mức xám
từ 0 đến 255
1.2.3 Ảnh trắng đen hay ảnh nhị phân
Ảnh trắng đen cũng tương tự như ảnh xám, chỉ khác ở chỗ ảnh trắng đen chỉ có hai mức xám là 0 (trắng) và 1 (đen)
1.2.4 Ảnh màu và mô hình màu RGB
Màu của một pixel được xây dựng trên nhiều mô hình: RGB, HSV
Trang 18Ánh sáng trắng được hình thành từ bảy màu khác nhau: đỏ, cam, vàng, lục, lam, chàm, tím Các màu này tạo nên một dãy màu liên tục mà ta không thấy được ranh giới giữa chúng Nhưng xét về cấu tạo của mắt và việc nhìn thì tất cả các màu đều được liên kết bởi các màu cơ bản sau:
Hình 1.5: Mô hình màu RGB Các màu R, G, B nằm ở đỉnh của khối lập phương Màu lam - lục, đỏ - lam, vàng nằm ở ba đỉnh bên kia của khối lập phương Màu đen nằm ở gốc tọa
độ Màu trắng nằm ở đỉnh xa gốc tọa độ nhất Thang mức xám kéo dài từ đen đến trắng (đường nối gốc tọa độ và đỉnh màu trắng)
Mỗi màu cơ bản được mã hóa bởi 8 bit, vậy với ba màu phối hợp nhau tạo thành 255x255x255=16.581.375 màu thứ cấp mà mắt người có thể cảm nhận được
Thường ta giả thiết là tất cả các giá trị màu được chuẩn hóa (khối hình lập phương là hình khối đơn vị) Tất cả các giá trị màu R, G, B nằm trong đoạn [0 1]
Trang 19Mô hình màu R, G, B bao gồm ba mặt phẳng độc lập (một mặt phẳng dùng cho một màu độc lập) Nếu đưa mô hình RGB vào monitor RGB thì ba màu này phối hợp nhau tạo thành ảnh màu hoàn chỉnh Vì vậy, để sử dụng mô hình RGB cho xử lý ảnh có ý nghĩa thì các ảnh phải được biểu diễn theo một
mặt phẳng màu
Phân ngưỡng ảnh bằng phương pháp Otsu:
Cho một ảnh thang xám 2D chứa N pixel với giá trị mức xám thay đổi từ
1 đến L, số pixel tương ứng với giá trị mức xám I được ký hiệu là , xác suất xuất hiện của mức xám I trong ảnh là:
Trong trường hợp phân ngưỡng 2 mức ảnh, các pixel được phân chia thành 2 lớp (class), với mức xám [1, ,t] và với mức xám [t+1, ,L) Khi đó sự phân bố xác xuất mức xám của 2 lớp như sau:
Đối với phân ngưỡng 2 mức, Otsu đã kiểm nghiệm rằng giá trị ngưỡng tối ưu
∗ được chọn sao cho phương sai σ đạt cực đại
∗ = ArgMax{ σ ( ) } 1 < t < L
Trang 201.2.5 Hệ tọa độ pixel:
Thông thường để thuận tiện trong việc định vị trong ảnh, người ta sử dụng hệ tọa độ pixel Trong hệ tọa độ này ảnh được xem như một lưới các phần tử Số cột tăng dần từ trái qua phải và số hàng tăng dần từ trên xuống dưới Đơn vị của tọa độ là các số nguyên, các tọa độ lẻ là không có ý nghĩa trong hệ tọa độ này
Hình 1.6 Hệ tọa độ pixel
1.2.6 Các định dạng ảnh
Ảnh thu được sau quá trình số hóa có nhiều loại khác nhau phụ thuộc vào
kỹ thuật số hóa ảnh Ở các phần trên ta đã biết ảnh được chia làm hai loại: ảnh đen trắng và ảnh màu Ảnh thu nhận được có thể lưu trữ trên tệp để tiện cho các bước xử lý tiếp theo Phần bên dưới sẽ trình bày một số kiểu định dạng ảnh thông dụng hay dùng trong kỹ thuật xử lý ảnh hiện nay
Trang 21Bốn byte tiếp mô tả kích cỡ pixel
Hai byte tiếp mô tả số pixel trên một dòng ảnh
Hai byte cuối là số dòng ảnh trong ảnh
Ảnh IMG được nén theo từng dòng, mỗi dòng bao gồm các gói (pack) Các dòng giống nhau cũng được nén thành một gói Có bốn loại gói sau:
Loại 1: Gói các dòng giống nhau Quy cách gói tin này như sau: 0x00
0x00 0xFF Count Ba byte đầu cho biết số các dãy giống nhau, byte cuối cho biết số các dòng giống nhau
Loại 2: Gói các dãy giống nhau Quy cách gói tin này như sau: 0x00
Count Byte thứ hai cho biết số các dãy giống nhau được nén trong gói Độ dài của dãy ghi ở đầu tệp
Loại 3: Dãy các pixel không giống nhau, không lặp lại và không nén
được Quy cách như sau: 0x80 Count Byte thứ hai cho biết độ dài dãy các pixel không giống nhau không nén được
Loại 4: Dãy các pixel giống nhau Tùy theo các bit cao của byte đầu
được bật hay tắt Nếu bit cao được bật (giá trị 1) thì đây là gói nén các byte chỉ gồm bit 0, số các byte được nén được tính bởi bảy bit thấp còn lại Nếu bit cao tắt (giá trị 0) thì đây là gói nén các byte gồm toàn bit 1, số các byte được nén được tính bởi bảy bit thấp còn lại
Các gói tin của file IMG phong phú như vậy là do ảnh IMG là ảnh đen trắng Do vậy, chỉ cần một bit cho một pixel thay vì bốn hay tám như đã nói ở trên Toàn bộ ảnh chỉ có điểm sáng và tối tương ứng giá trị 1 hoặc giá trị 0 Tỉ
lệ nén của kiểu định dạng này là khá cao
b Định dạng ảnh PCX
Định dạng ảnh PCX là một trong những kiểu định dạng cổ điển nhất Nó
sử dụng phương pháp mã loạt dài RLE (Run Length Encoded) để nén dữ liệu ảnh Quá trình nén và giải nén được thực hiện trên từng dòng ảnh Thực tế phương pháp giải nén PCX kém hiệu quả hơn so với kiểu IMG Tệp PCX gồm
ba phần: đầu tệp (header), dữ liệu ảnh (image data), bảng màu mở rộng
Trang 22Header của tệp PCX có kích thước cố định gồm 128 byte và được phân bố như sau:
+Một byte: chỉ kiểu định dạng, nếu là kiểu PCX/PCC nó luôn có giá trị là 0Ah
+ Một byte: chỉ ra version sử dụng để nén ảnh, có thể có các giá trị sau: 0: version 2.5; 2: version 2.8 với bảng màu; 3: version 2.8 hay 3.0 không có bảng màu;5: version 3.0 có bảng màu
+ Một byte: chỉ ra phương pháp mã hóa Nếu là 0 thì mã hóa theo phương pháp BYTE PACKED, nếu là 1 thì mã hóa theo phương pháp RLE
+ Một byte: số bit cho một điểm ảnh plane
+ Một word: tọa độ góc trái trên của ảnh Với kiểu PCX nó có giá trị là (0, 0), còn PCC thì khác (0, 0)
+ Một word: tọa độ góc phải dưới
+ Một word: kích thước bề rộng và bề cao ảnh
+ Một word: số điểm ảnh
+ Một word: độ phân giải màn hình
+ 48 byte: chia thành 16 nhóm, mỗi nhóm ba byte Mỗi nhóm này chứa thong tin về một thanh ghi màu Như vậy ta có 16 thanh ghi màu
+ Một byte: không dùng đến và luôn đạt là 0
+ Một byte: số bit plane mà ảnh sử dụng Với ảnh 16 màu, giá trị này là bốn,
với ảnh 256 màu (1pixel/8bit) thì số bit plane lại là một
+ Một byte: số byte cho một dòng quét ảnh
+ Một word: kiểu bảng màu
+ 58 byte: không dùng
Tóm lại, định dạng ảnh PCX thường được dùng để lưu trữ ảnh vì thao tác đơn giản, cho phép nén và giải nén nhanh Tuy nhiên vì cấu trúc của nó cố định nên trong một số trường hợp nó làm tăng kích thước lưu trữ Và vì vậy
Trang 23mà một số ứng dụng lại sử dụng một kiểu định dạng khác mềm dẻo hơn đó là TIFF
c Định dạng ảnh TIFF (Targed Image File Format)
Kiểu định dạng TIFF được thiết kế để làm nhẹ bớt các vấn đề liên quan đến việc mở rộng tệp ảnh cố định Về cấu trúc nó cũng có ba phần chính:
Phần Header (IFH): có trong tất cả các tệp TIFF và gồm tám byte:
+ Một word: chỉ ra kiểu tạo tệp trên máy tính PC hay Macinfosh Hai loại này khác nhau rất lớn ở thứ tự các byte lưu trữ trong các số dài hai hay bốn byte Nếu trường này có giá trị là 4D4Dh thì đó là ảnh cho máy Macintosh; nếu là 4949h là của máy PC
+ Một word: version Từ này luôn có giá trị là 42 Có thể coi đó là đặc trưng của file TIFF vì nó không thay đổi
+ Hai word: giá trị Offset theo byte tính từ đầu file tới cấu trúc IFD (Image File Directory) là cấu trúc thứ hai của file Thứ tự các byte ở đây phụ thuộc vào dấu hiệu trường đầu tiên
Phần thứ hai (IFD): Nó không ở ngay sau cấu trúc IFH mà vị trí nó
được xác định bởi trường Offset trong đầu tệp Có thể có một hay nhiều IFD cùng tồn tại trong file (nếu file có nhiều hơn một ảnh)
Một IFD gồm:
+ Hai byte: chứa các DE (Directory Entry)
+ 12 byte là các DE xếp liên tiếp, mỗi DE chiếm mười hai byte
+ Bốn byte: chứa Offset trỏ tới IFD tiếp theo Nếu đây là IFD cuối cùng thì trường này có giá trị là 0
Phần dữ liệu thứ ba (các DE): các DE có độ dài cố định gồm 12 byte
chia làm bốn phần:
+ Hai byte: chỉ ra dấu hiệu mà tệp ảnh đã được xây dựng
+ Hai byte: kiểu dữ liệu của tham số ảnh Có năm kiểu tham số cơ bản: 1: BYTE (1 byte)
Trang 24+ Bốn byte : đó là Offset tới điểm bắt đầu dữ liệu thực liên quan tới dấu hiệu, tức là dữ liệu liên quan với DE không phải lưu trữ vật lý cùng với nó nằm ở một vị trí nào đó trong file
Dữ liệu chứa trong tệp thường được tổ chức thành các nhóm dòng (cột) quét của dữ liệu ảnh Cách tổ chức này làm giảm bộ nhớ cần thiết cho việc đọc tệp Việc giải nén được thực hiện theo bốn kiểu khác nhau được lưu trữ trong
ba dấu hiệu nén Như đã nói ở trên, file ảnh TIFF là dùng để giải quyết vấn đề khó mở rộng của file PCX Tuy nhiên, với cùng một ảnh thì việc dùng file PCX chiếm ít không gian nhớ hơn
d Định dạng ảnh GIF (Graphics Interchanger Format)
Cách lưu trữ kiểu PCX có lợi về không gian lưu trữ với ảnh đen trắng kích thước tệp có thể nhỏ hơn bản gốc từ năm đến bảy lần Với 16 màu kích thước ảnh nhỏ hơn ảnh gốc hai đến ba lần, có trường hợp có thể xấp xỉ ảnh gốc Tuy nhiên, với ảnh 256 màu thì nó bộc lộ rõ khả năng nén rất kém Điều này có thể lý giải như sau: khi số màu tăng lên các loạt dài xuất hiện ít hơn và
vì thế lưu trữ theo kiểu PCX không còn lợi nữa Hơn nữa, nếu ta muốn lưu trữ nhiều đối tượng trên một tệp ảnh như kiểu định dạng TIFF đòi hỏi có một định dạng khác thích hợp
Định dạng ảnh GIF do hãng ComputServer Incorporated (Mỹ) đề xuất lần đầu tiên vào năm 1990 Với định dạng GIF, những vướng mắc mà các định dạng khác gặp phải khi số màu trong ảnh tăng lên không còn nữa Khi số màu càng tăng thì ưu thế của định dạng GIF càng nổi trội Những ưu thế này có
Trang 25được là do GIF tiếp cận các thuật toán nén LZW (Lempel Ziv Weleh) Bản chất của kỹ thuật nén LZW là dựa vào sự lặp lại của một nhóm điểm chứ không phải loạt dài giống nhau Do vậy, dữ liệu càng lớn thì sự lặp lại càng nhiều Dạng ảnh GIF cho chất lượng cao, độ phân giải đồ họa cũng đạt cao, cho phép hiển thị trên hầu hết các phần cứng đồ họa Định dạng tổng quát của ảnh GIF như sau:
- Chữ ký của ảnh: có giá trị GIF87a Nó gồm sáu ký tự, ba ký tự đầu chỉ ra kiểu định dạng, ba ký tự sau chỉ ra version của ảnh
- Bộ hình hiển thị: chứa mô tả các thông số cho toàn bộ ảnh GIF
- Bản đồ màu tổng thể: mô tả bộ màu tối ưu đòi hỏi khi bit M = 1 Khi bộ màu tổng thể được thể hiện, nó sẽ xác lập ngay bộ mô tả hình hiển thị Số lượng thực thể bản đồ màu lấy theo bộ mô tả hình hiển thị ở trên và bằng 2 , với m
là lượng bit trên một pixel khi mỗi thực thể chứa đựng ba byte (biểu diễn cường độ màu cơ bản Red-Green-Blue)
Bộ mô tả ảnh: định nghĩa vị trí thực tế và phần mở rộng của ảnh trong phạm vi không gian ảnh đã có trong phần mô tả hình hiển thị Nếu ảnh biểu diễn theo ánh xạ bản đồ màu cục bộ thì cờ định nghĩa phải được thiết lập Mỗi
bộ mô tả ảnh được chỉ ra bởi ký tự kết nối ảnh Ký tự này chỉ được dùng khi định dạng GIF có từ hai ảnh trở lên Ký tự này có giá trị 0x2c (ký tự dấu phẩy)
Bản đồ màu cục bộ: chỉ được chọn khi bit M của byte thứ 10 là 1 Khi bản đồ màu được chọn, bản đồ màu sẽ chiếu theo bộ mô tả ảnh mà lấy vào cho đúng Tại phần cuối ảnh, bản đồ màu sẽ lấy lại phần xác lập sau bộ mô tả hình hiển thị Lưu ý đây là trường “pixel” của byte thứ 10 chỉ được dùng khi bản đồ màu được chỉ định Các tham số này không chỉ cho biết kích thước ảnh theo pixel mà còn chỉ ra số thực thể bản đồ màu của nó
Dữ liệu ảnh: chuỗi các giá trị có thứ tự của các pixel màu tạo nên ảnh Các pixel được xếp liên tục trên một dòng ảnh từ trái qua phải Các dòng ảnh được xếp từ trên xuống dưới
Trang 26Phần kết thúc ảnh: cung cấp tính đồng bộ cho đầu cuối của ảnh GIF, cuối của ảnh sẽ xác định bởi ký tự “;" (0x3b)
Định dạng GIF có rất nhiều ưu điểm và đã được công nhận là chuẩn để lưu trữ ảnh màu thực tế (chuẩn ISO 10918-1) Nó được mọi trình duyệt Web (Web Browser) hỗ trợ với nhiều ứng dụng hiện đại Cùng với nó có chuẩn JPEG (Joint Photograph Expert Group) GIF dùng cho ảnh chụp (Photograph)
1.3 Các vấn đề trong quá trình xử lý ảnh
1.3.1 Mục đích của việc xử lý ảnh số:
Mục đích đặt ra cho việc xử lý ảnh được chia làm hai phần:
Phần thứ nhất: liên quan đến những khả năng cải tiến các ảnh thu lại, để rồi từ đó nhận được nhiều thông tin hơn, để quan sát và đánh giá bằng mắt Phần thứ hai: nhằm nhận dạng hoặc đón nhận các ảnh một cách tự động Người ta gọi phần thứ nhất là sự biến đổi ảnh (image transformation) hay
sự tăng cường ảnh (image enhancement) và phần thứ hai là nhận dạng ảnh (pattern recognition) hay đón nhận ảnh (image understanding)
1.3.2 Kỹ thuật nâng cao chất lượng ảnh:
Nâng cao chất lượng ảnh là một bước quan trọng tạo tiền đề cho xử lý ảnh Mục đích chính là nhằm làm nổi bật một số đặc tính của ảnh như thay đổi
độ tương phản, lọc nhiễu, nổi biên, làm trơn biên ảnh, khuếch đại ảnh Tăng cường ảnh và khôi phục ảnh là hai quá trình khác nhau về mục đích Tăng cường ảnh bao gồm một loạt các phương pháp nhằm hoàn thiện trạng thái quan sát của một ảnh
Ta có thể phân loại các kỹ thuật nâng cao chất lượng ảnh làm ba loại: các
kỹ thuật tác động lên điểm ảnh (point operations), các kỹ thuật dùng bộ lọc trong miền không gian (spatial operations) và các kỹ thuật dùng bộ lọc trong miền biến đổi (transform operations)
Các kỹ thuật tác động lên điểm ảnh chủ yếu là dùng các ánh xạ nhằm biến đổi giá trị của một điểm ảnh chỉ dựa vào giá trị của chính nó mà không
Trang 27quan tâm tới các giá trị của các điểm ảnh khác Có hai cách tiếp cận trong kỹ thuật này là: các phương pháp điều chỉnh mức xám của điểm ảnh (gray scale modification) và các kỹ thuật biến đổi lược đồ xám (histogram)
Nhiệm vụ của tăng cường ảnh không phải là làm tăng cường thông tin vốn có trong ảnh mà làm nổi bật các đặc trưng đã chọn làm sao để có thể phát hiện tốt hơn, tạo thành quá trình tiền xử lí cho phân tích ảnh
1.3.3 Biến đổi lược đồ mức xám ( Histogram )
Lược đồ xám là đồ thị mô tả mối quan hệ giữa mức xám và số điểm ảnh
Trong kỹ thuật lọc tuyến tính, ảnh thu được sẽ là tổng trọng số hay
là trung bình trọng số các điểm lân cận với nhân cuộn hay mặt nạ
Người ta sử dụng nhiều kiểu mặt nạ khác nhau Mỗi kiểu mặt nạ sẽ tương ứng với một bộ lọc nhất định
1.3.3.2 Lọc phi tuyến:
Khác với lọc tuyến tính, kỹ thuật lọc phi tuyến coi một điểm ảnh kết quả không phải là tổ hợp tuyến tính của các điểm lân cận Các bộ lọc phi tuyến cũng hay được dùng trong tăng cường ảnh vì chúng có khả năng loại được nhiễu xung Người ta hay dùng bộ lọc trung vị (median
Trang 28filtering), giả trung vị (pseudo median filtering) và lọc ngoài (outline filtering)
a Lọc trung vị (median filtering)
Một trong những khó khăn chính trong các phương pháp làm trơn nhiễu là nó làm mờ các đường biên và các chi tiết sắc nét của ảnh (vì chúng tương ứng với thành phần tần số cao của ảnh, khi cho ảnh qua bộ lọc thông thấp thì không chỉ có nhiễu bị loại trừ mà thành phần tần số cao của ảnh cũng bị suy hao) Lọc trung vị có ưu điểm là lọc nhiễu nhưng không làm mờ ảnh Trong kỹ thuật này, mức xám của điểm ảnh trung tâm được thay thế bằng trung vị của một chuỗi các mức xám của các điểm ảnh lân cận thay vì là giá trị trung bình
Trung vị m của một chuỗi các giá trị là một giá trị sao cho một nửa các giá trị trong chuỗi nhỏ hơn m và một nửa lớn hơn m
b Lọc giả trung vị ( pseudo-median filter )
Để giảm khối lượng tính toán so với bộ lọc trung vị, chuỗi lấy ra không cần sắp xếp từ lớn tới nhỏ Bộ lọc này sử dụng mặt nạ chữ thập và cho kết quả tốt hơn mặt nạ vuông
Thuật toán :
- Lấy các phần tử trong cửa sổ ra mảng một chiều
- Tìm min của lần lượt từng chuỗi con rồi lấy max của các min này và gọi là m1
- Tìm max của lần lượt từng chuỗi con rồi lấy min của các max này và gọi là m2
- Gán giá trị của điểm ảnh trung tâm bằng trung bình cộng của m1 và m2
1.3.4 Kỹ thuật tăng độ sắc nét của ảnh
1.3.4.1 Khái niệm biên
Biên là một vấn đề chủ yếu trong phân tích ảnh vì các kỹ thuật ảnh chủ yếu dựa vào biên Một điểm ảnh có thể coi là biên nếu ở đó có sự
Trang 29thay đổi đột ngột về mức xám Tập hợp các điểm tạo thành biên hay đường bao của ảnh
Thí dụ: trong một ảnh nhị phân, một điểm có thể gọi là biên nếu đó
là điểm đen và có ít nhất một điểm trắng lân cận
Sự biến thiên giữa các điểm ảnh thường là nhỏ, trong khi đó biến thiên độ sáng của điểm biên lại khá lớn
1.3.4.2 Làm nổi biên :
Một lớp bộ lọc khác có thể làm rõ nét hoặc tăng cường các đường biên bên trong ảnh Đó là bộ lọc thông cao (high pass filtering) có những đặc tính ngược với bộ lọc thông thấp, nó không làm thay đổi thành phần tần số cao của tín hiệu nhưng nó làm suy giảm thành phần tần số thấp và hạn chế vùng nền có mức xám hằng
Hơn thế nữa, bộ lọc thông cao có các tính chất làm cho dữ liệu của các điểm ảnh trong vùng của đường biên vật thể được hiệu chỉnh và yếu
tố đường biên được gia tăng Sự nhận biết đường biên là yêu cầu cần thiết cho những phương pháp phân tích ảnh tiếp theo
1.3.4.3 Kỹ thuật tách biên
Tách biên là một trong những bước quan trọng của quá trình xử lý ảnh Theo định nghĩa, biên là phần chia tách nằm giữa 2 phần ảnh có sự khác biệt về mức xám (gray-scale) Biên cũng được định nghĩa là các điểm ảnh mà tại đó có sự thay đổi đột ngột về độ sáng (brightness)
Dò biên (edge detector) là tập hợp các phương pháp xử lý dùng để xác định các biến đổi về các góc cạnh (sharp) trong ảnh nhằm đưa ra biên dạng của vật thể
Có nhiều phương pháp tách biên nhưng ở đây ta sẽ xem xét chủ yếu đến 3 phương pháp là:
a Phương pháp gradient gồm có:
Phương pháp gradient
Trang 30Phương pháp gradient là phương pháp dò biên cục bộ dựa vào cực đại của đạo hàm Theo định nghĩa thì gradient là một vector có các thành phần biểu thị tốc độ thay đổi giá trị của điểm ảnh theo hai hướng x và y Các thành phần của gradient được tính bởi:
Với một ảnh liên tục f(x,y), các đạo hàm riêng của nó cho phép xác định vị trí cực đại cục bộ theo hướng của biên Thực vậy, gradient của một ảnh liên tục được biểu diễn bởi một hàm f(x,y) dọc theo r với góc , được định nghĩa bởi:
Trang 31Trong phương pháp gradient, người ta chia nhỏ thành hai kỹ thuật (do dùng hai toán tử khác nhau): kỹ thuật gradient và kỹ thuật la bàn
Kỹ thuật gradient :
Kỹ thuật gradient sử dụng một cặp mặt nạ H1 và H2 trực giao (theo hai hướng vuông góc) Nếu định nghĩa g1, g2 là gradient tương ứng theo hướng x, y, thì biên độ của gradient, ký hiệu là g, tại điểm (m,n) được tính theo công thức:
Trang 32Kỹ thuật la bàn ( Compass Operator)
Kỹ thuật la bàn chọn gradient theo một số hướng định trước Nếu
ký hiệu là gradient la bàn theo hướng = k (k = 0,1, ,7), thì ta có gradient theo tám hướng ngược chiều kim đồng hồ, mỗi hướng cách nhau 45
Có nhiều toán tử la bàn khác nhau, tuy nhiên ở đây chúng ta chỉ nêu toán tử Kirsh Toán tử này sử dụng mặt nạ 3x3:
=
Đây là mặt nạ có hướng gốc 0 Trên cơ sở định nghĩa them 7 mặt
nạ cho các hướng còn lại ( 45, 90, 135, 180, 225, 270, 315 )
Trang 33Ký hiệu ( i=1,2, ,8) là gradient thu được theo tám hướng bởi mặt nạ, biên độ gradient tại (x,y) sẽ được tính theo công thức :
(x,y) = Max ( | (x,y) |, i= 1,2, ,8)
Ngoài toán tử Kirsh, người ta còn sử dụng một số toán tử khác mà mặt nạ ở hướng 0 được định nghĩa tương ứng bởi:
Trang 34Trong Không gian rời rạc, đạo hàm bậc hai được tính như sau : = 2 f (x,y) – f ( x – 1) – f ( x + 1, y ) (1.14)
Nếu lấy đạo hàm bậc nhất ( Phương pháp gradient ) thì không đủ nhạy nếu mức xám của ảnh thay đổi chậm
Nếu lấy đạo hàm bậc hai (phương pháp Laplace) thì lại quá nhạy nhiễu (như ví dụ trên)
Sau đây ta sẽ xét phương pháp tách biên khác có tên là Canny Phương pháp này cũng dựa trên nguyên tắc lấy đạo hàm, tuy nhiên quá trình dò biên có cân nhắc đến hướng của gradient và các điểm lân cận cho nên kết quả sẽ tốt hơn hai phương pháp trên
c Phương pháp Canny :
Phương pháp này do phòng thí nghiệm MIT khởi xướng và có thể chia làm 4 bước sau:
Bước 1: Làm trơn ảnh bằng phương pháp Gauss
Bước 2: Ảnh ở bước 1 được đem đạo hàm lần lượt theo phương x
và y Bằng cách tính toán giá trị đạo hàm tại từng điểm theo phương x và
y ta tính được độ lớn và góc của gradient tương ứng
Trang 35M (x, y) = ′( , ) + ′( , ) (1.17)
Bước 3: Sau khi tính toán được giá trị của gradient, đường biên sẽ
là những điểm có giá trị gradient max cục bộ Quá trình dò biên được tiến hành bằng cách giảm dần góc gradient
Bước 4: Phân ngưỡng đường biên, phương pháp Canny không dùng ngưỡng thông thường mà sử dụng một phương pháp gọi là “hysteresis thresholding”
Phuơng pháp này sử dụng 2 ngưỡng là ngưỡng trên và ngưỡng dưới Nếu giá trị tại một pixel lớn hơn ngưỡng trên hoặc bé hơn ngưỡng dưới thì pixel sẽ được chấp nhận là thuộc lớp vật cản hoặc lớp nền ngay lập tức Những điểm nằm giữa hai giá trị này sẽ được xem xét tùy thuộc vào số điểm mà nó kết nối
Kết quả cho thấy phương pháp Canny rất hiệu quả đối với ảnh trong điều kiện thông thường về độ sáng và độ tương phản (bóng của biên dạng nếu không quá đậm cũng được loại bỏ rất tốt) Tuy nhiên về bản chất phương pháp này cũng dựa trên nguyên tắc đạo hàm nên biên dạng nhận được không phải lúc nào cũng ổn định (ổn định ở đây mang ý nghĩa là không cho ta đường biên trơn và liên tục)
Phương pháp này tuy có một vài hạn chế (như đường biên không liền nét) nhưng là một phương pháp hiệu quả đối với những ảnh có nhiễu, vì vậy vẫn được chọn làm phương pháp dò biên của chương trình minh họa Tuy vậy nếu ta dùng phương pháp này làm phương pháp duy nhất để xác định biên dạng thì có thể ta sẽ làm mất một số thông tin Vì thế song song với phương pháp này, ta sử dụng thêm kỹ thuật phân ngưỡng ở nhiều ngưỡng khác nhau và lấy hợp các biên dạng thu được từ các phương pháp này
Trang 36d)Biến đổi Radon:
Biến đổi Radon dùng để biến đổi ảnh trong không gian 2 chiều với các đường thẳng thành miền Radon, trong đó mỗi đường thẳng trên ảnh
sẽ cho một điểm trong miền Radon
Công thức toán học của biến đổi Radon:
R ( , ) = ∫ ∞ ∞ A ( cos - s sin , sin - s cos ) ds (1.18) Phương trình trên biểu diễn việc lấy tích phân dọc theo đường thẳng s trên ảnh, trong đó ρ khoảng cách của đường thẳng so với gốc tọa
độ O, θ là góc lệch so với phương ngang
Hình 1.10 Mô tả biến đổi Radon
Ứng dụng trong xử lý ảnh số
Biến đổi Radon tính toán hình chiếu của ma trận ảnh dọc theo một
số hướng xác định Hình chiếu của một hàm 2 biến f(x,y) là tập hợp các tích phân đường Hàm Radon tính toán các tích phân đường dọc theo các tia (beam) song song theo các phương khác nhau (bằng cách xoay hệ trục tọa độ xung quanh gốc O theo các giá trị khác nhau), chiều rộng các tia
là 1 pixel Hình dưới đây biểu diễn một hình chiếu đơn giản theo một giá trị của góc
Trang 37Hình 1.11 Biểu diễn hình chiếu theo một góc trong biến đổi Radon Công thức tổng quát phía trên có thể viết lại như sau:
(x’) = ∫∞ ∞ ( x’ cos ’ – y’ sin , x’ sin + y’ cos ) dy’ (1.19) Với ′
′ =
cos sin
− sin cos
Hình sau biểu diễn phép biến đổi Radon dưới dạng hình học
Hình 1.12 Biểu diễn phép biến đổi Radon dưới dạng hình học
Các bước cụ thể thực hiện phát hiện các đường thẳng trên ảnh
bằng biến đổi Radon
Trang 38Bước 1: Biến đổi ảnh về ảnh biên nhị phân
Hình 1.13 Biến đổi ảnh sang ảnh nhị phân
Bước 2 : Thực hiện biến đổi Radon trên ảnh biên với theta = 0:179
Giá trị R của biến đổi Radon được biểu diễn như hình 1.12:
Hình 1.14 Hình thể hiện miền Radon
Bước 3 : Tìm các giá trị lớn nhất của R trong ma trận biến đổi Radon
Vị trí các giá trị lớn nhất này tương ứng với vị trí của các đường thẳng trong ảnh ban đầu
Trang 39Trong hình sau, giá trị lớn nhất của R ở vị trí bằng 1 0, x’=-80
Đường thẳng vuông góc với đường thẳng có giá trị bằng 1 0, ở vị trí
x’=-80 chính là đường thẳng rõ nhất trong ảnh biên nhị phân (đường thẳng này được đánh dấu màu đỏ) Một đường thẳng khá rõ khác song song với
đường thẳng màu đỏ cũng xuất hiện ở giá trị bằng 1 0 và đường thẳng
vuông góc xuất hiện ở 91 0
Hình 1.15 Hình thể hiện sự phát hiện các đường thẳng trong biến đổi
Radon
Ở đây chúng ta cần chú ý là giá trị max ứng với R max không phải giá trị góc lệch của đường thẳng mà chỉ là góc lệch của trục Ox’ so với trục Ox ban đầu Quan sát hình vẽ sau ta sẽ thấy rõ vấn đề
Trường hợp đường thẳng lệch xuống phía dưới
Hình 1.16 Trường hợp các đường thẳng lệch về phía dưới
Trang 40Giá trị góc lệch α cần tìm là: α = 90 – θmax, ta thấy α > 0, nên ảnh xoay theo chiều ngược chiều kim đồng hồ
Trường hợp đường thẳng lệch lên phía trên
Hình 1.17 Trường hợp đường thẳng lệch về phía trên
Góc lệch α = 90 – θmax, ta thấy α < 0, nên khi ảnh xoay theo chiều kim
đồng hồ
1.3.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 có thể là cùng mức xám, cùng màu, hay cùng độ nhám,…
Nếu phân vùng dựa trên các vùng liên thông, ta gọi là kỹ thuật phân vùng dựa theo miền đồng nhất Nếu ta phân vùng dựa vào biên gọi là kỹ thuật phân vùng biên Ngoài ra còn có các kỹ thuật khác như phân vùng dựa vào biên độ, phân vùng theo kết cấu (texture segmentation)