Tổng quan về xử lý ảnh

Một phần của tài liệu Thiết kế và chế tạo hệ thống nhận diện mối hàn cho robot tự động (Trang 35)

2.4.1. Giới thiệu về xử lý ảnh

Thị giác là giác quan phát triển bậc nhất của con người, điều đó không có gì đáng ngạc nhiên bởi vì hình ảnh chính là nguồn thông tin cốt yếu trong quá trình hình thành nên nhận thức của nhân loại. Khác với con người, máy tính không có khả năng tự hình thành nên nhận thức thông qua hình ảnh nếu không có các chỉ dẫn mà con người thiết lập sẵn.

Những năm trở lại đây với sự phát triển của phần cứng máy tính, xử lý ảnh và đồ hoạ qua đó cũng 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 [7].

Hình 2.23: 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 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 [7].

2.4.2. Các giai đoạn của quá trình xử lý ảnh

Sau đây, ta sẽ xét các bước cần thiết trong quá trình xử lý ảnh. Đầu tiên, ảnh tự nhiên từ thế giới bên ngoài được thu nhận qua các thiết bị đầu thu – các thiết bị có khả năng thu nhận ảnh như máy chụp ảnh (Camera). Trước đây, ảnh thu qua Camera là các ảnh tương tự (loại Camera ống kiểu CCIR). Gần đây, với sự phát triển của công

27 nghệ, ảnh màu hoặc đen trắng được lấy từ Camera đã được chuyển đổi thành ảnh số tạo sự thuận lợi cho xử lý tiếp theo. Hình 2.24 dưới đây mô tả các bước cơ bản trong xử lý ảnh [4].

Hình 2.24: Các bước cơ bản trong xử lý ảnh Sơ đồ này bao gồm các thành phần sau:

- Thu nhận ảnh (Image Acquisition): Ảnh có thể nhận qua camera màu hoặc đen trắng. Thường ảnh nhận qua camera là ảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, mỗi ảnh 25 dòng), cũng có loại camera đã số hóa (như loại CCD – Change Coupled Device) là loại photodiot tạo cường độ sáng tại mỗi điểm ảnh [4].

Camera thường dùng là loại quét dòng, ảnh tạo ra có dạng hai chiều. Chất lượng một ảnh thu nhận được phụ thuộc vào thiết bị thu và môi trường (ánh sáng, phong cảnh) [4].

- Tiền xử lý (Image Processing): Sau bộ thu nhận, ảnh có thể nhiễu, độ tương phản thấp nên cần đưa vào bộ tiền xử lý đẻ nâng cao chất lượng. Chức năng chính của bộ tiền xử lý là lọc nhiễu, nâng độ tương phản để làm ảnh rõ hơn, nét hơn [4].

- Phân đoạn ảnh (Segmentation): Phân đoạn ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễn phân tích, nhận dạng ảnh. Ví dụ: để nhận dạng chữ (hoặc mã vạch) trên phong bì thư cho mục đích phân loại bưu phẩm, cần chia các câu, chữ về địa chỉ hoặc tên người thành các từ, các chữ, các số (hoặc các vạch) riêng biệt để nhận dạng. Đây là phần phức tạp khó khăn nhất trong xử lý ảnh và cũng dễ gây

28 lỗi, làm mất độ chính xác của ảnh. Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này [4].

- Biểu diễn ảnh (Image Representation): Đầu ra của ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết với các vùng lân cận. Việc biến đổi các số liệu này thành dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính. Việc chọn các tính chất để thể hiện ảnh gọi là trích chọn đặc trưng (Feature Selection) gắn với việc tách các đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận được. Ví dụ: trong nhận dạng ký tự trên phong bì thư, chúng ta miêu tả các đặc trưng của từng ký tự giúp phân biệt ký tự này với ký tự khác [4].

- Nhận dạng và nội suy ảnh (Image Recognition and Interpretation): Nhận dạng ảnh là quá trình xác định ảnh. Quá trình này thường thu được bằng cách so sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước. Nội suy là phán đoán theo ý nghĩa trên cơ sở nhận dạng. Ví dụ: một loạt chữ số và nét gạch ngang trên phong bì thư có thể được nội suy thành mã điện thoại. Có nhiều cách phân loại ảnh khác nhau về ảnh. Theo lý thuyết về nhận dạng, các mô hình toán học về ảnh được phân theo hai loại nhận dạng ảnh cơ bản [4]:

- Nhận dạng theo tham số. - Nhận dạng theo cấu trúc.

Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng trong khoa học và công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận dạng văn bản (Text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người,…

- Cơ sở tri thức (Knowledge Base): Như đã nói ở trên, ảnh là một đối tượng khá phức tạp về đường nét, độ sáng tối, dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiễu. Trong nhiều khâu xử lý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp toán học đảm bảo tiện lợi cho xử lý, người ta mong muốn bắt chước quy trình tiếp nhận và xử lý ảnh theo cách của con người. Trong các bước

29 xử lý đó, nhiều khâu hiện nay đã xử lý theo các phương pháp trí tuệ con người. Vì vậy, ở đây các cơ sở tri thức được phát huy [4].

- Mô tả (Representation and Description): Ảnh sau khi số hoá sẽ được lưu vào bộ nhớ, hoặc chuyển sang các khâu tiếp theo để phân tích. Nếu lưu trữ ảnh trực tiếp từ các ảnh thô, đòi hỏi dung lượng bộ nhớ cực lớn và không hiệu quả theo quan điểm ứng dụng và công nghệ. Thông thường, các ảnh thô đó được đặc tả (biểu diễn) lại (hay đơn giản là mã hoá) theo các đặc điểm của ảnh được gọi là các đặc trưng ảnh (Image Features) như: biên ảnh (Boundary), vùng ảnh (Region) [4].

2.4.3. Một số khái niệm cơ bản trong xử lý ảnh

- Điểm ảnh (Pixel Element): Ảnh trong thực tế là một ảnh liên tục về không gian và về giá trị độ sáng. Để có thể xử lý ảnh bằng máy tính cần thiết phải tiến hành số hóa ảnh. Trong quá trình số hóa, người ta 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 (rời rạc hóa về không gian) và lượng hóa thành phần giá trị (rời rạc hóa biên độ giá trị) mà về nguyên tắc bằng mắt thường không phân biệt được hai mức kề nhau. Trong quá trình này, người ta sử dụng khái niệm

Pixel Element mà ta hay viết là Pixel – điểm ảnh. Mỗi điểm ảnh gồm một cặp tọa độ f(x, y) và độ xám hoặc màu nhất định của nó [1].

- Ảnh số: Một ảnh là tập hợp các điểm ảnh. Khi được số hóa, nó thường được biểu diễn bởi bảng hai chiều I(n,p): n dòng, p cột. Ta nói ảnh gồm n x p pixels.

- Mức xám: Mức xám của điểm ảnh là cường độ sáng, gán bằng một giá trị tại điểm đó. Các thang mức xám thông thường: 16, 32, 64, 128, 256. Thang mức được sử dụng thông dụng nhất là thang 256, tức là dùng 1 byte (8 bit) để biểu diễn mức xám. Trong ảnh đen trắng, mức xám 0 đại diện cho màu đen tuyệt đối và 255 đại diện cho màu trắng tuyệt đối [1].

- Ảnh đen trắng (ảnh xám): Là ảnh có hai màu đen, trắng (không chứa màu khác) với mức xám ở các điểm ảnh có thể khác nhau từ 0 đến 255.

30

Hình 2.25: Mức xám trong ảnh đen trắng

- Ảnh nhị phân: Ảnh chỉ có 2 mức đen trắng phân biệt, tức là dùng 1 bit mô tả 2 mức khác nhau. Nói cách khác: mỗi điểm ảnh của ảnh nhị phân chỉ có thể là 0 (đen) hoặc 1 (trắng).

Hình 2.26: Mức xám trong ảnh nhị phân

- Ảnh màu: Là ảnh được tạo nên bởi sự kết hợp giữa ba màu cơ bản Đỏ (Red) – Lục (Green) – Lam (Blue) để tạo nên thế giới màu, người ta thường dùng 3 byte để mô tả mức màu, khi đó các giá trị màu: 28 x 3 = 224 ≈ 16,7 triệu màu.

- Nhiễu và biện pháp khử nhiễu: Có hai loại nhiễu cơ bản trong quá trình thu nhận ảnh là nhiễu hệ thống và nhiễu ngẫu nhiên. Nhiễu hệ thống là nhiễu có quy luật, do vậy ta có thể tiến hành loại bỏ (khử nhiễu) bằng các phép biến đổi. Đối với nhiễu

31 ngẫu nhiên, chúng thường là các vết bẩn không rõ nguyên nhân, ta có thể khắc phục bằng các phép lọc [1].

2.4.4. Một số thuật toán thông dụng trong xử lý ảnh

- Điều chỉnh độ tương phản và độ sáng: Trước tiên cần làm rõ khái niệm độ tương phản. Ảnh số là tập hợp các điểm, mà mỗi điểm có giá trị độ sáng khác nhau. Ở đây, độ sáng để mắt người dễ cảm nhận ảnh song không phải là quyết định. Thực tế chỉ ra rằng hai đối tượng có cùng độ sáng nhưng đặt trên hai nền khác nhau sẽ cho cảm nhận khác nhau. Như vậy, độ tương phản biểu diễn sự thay đổi độ sáng của đối tượng so với nền. Một các nôm na, độ tương phản là độ nổi của điểm ảnh hay vùng ảnh so với nền [1].

Để điều chỉnh độ sáng cũng như độ tương phản của ảnh, ta có thể điều chỉnh giá trị độ xám của điểm ảnh trên toàn ảnh hoặc trên một vùng ảnh bằng cách nhân và cộng thêm một hằng số.

𝑔( 𝑥, 𝑦 ) = 𝛼 ⋅ 𝑓( 𝑥 , 𝑦 ) + 𝛽

Trong đó: α > 0 và β là các tham số gainbias dùng để kiểm soát độ tương phản và độ sáng tại các điểm có tọa độ (x, y).

Tăng (giảm) β sẽ cộng (trừ) một giá trị không đổi cho mỗi pixel. Các giá trị pixel nằm ngoài [0; 255] sẽ bị bão hòa (nghĩa là giá trị pixel cao hơn 255 sẽ được được điều chỉnh thành 255, nhỏ hơn 0 sẽ điều chỉnh thành 0).

Nếu 0 < α < 1, các mức màu sẽ bị co lại và kết quả là hình ảnh có độ tương phản kém hơn.

Ví dụ:

Cho ảnh ban đầu ở dạng 8 bit, giá trị được biểu diễn bằng ma trận:

[

144 245 132 54

10 62 81 84

99 106 29 7

32 Ta thực hiện tăng độ tương phản của ảnh bằng cách nhân ma trận ảnh với α = 2. Khi đó ma trận sẽ trở thành: [ 255 255 255 108 20 124 162 168 198 212 58 14 ]

- Lọc số ảnh: Là một hệ thống dùng để làm biến dạng sự phân bố tần số của các thành phần tín hiệu theo các chỉ tiêu đã cho được gọi là bộ lọc số. Lọc số ảnh (Filter) có ý nghĩa quan trọng trong việc tạo ra các hiệu ứng trong ảnh, 1 số hiệu ứng nhờ sử dụng các bộ lọc làm mờ (Blur), làm trơn (Smooth),... Nguyên tắc chung của các phương pháp lọc là cho ma trận ảnh nhân chập với 1 ma trận lọc (Kernel) hay còn được gọi là các phép tính nhân chập trên ảnh. Ma trận lọc lọc (Kernel) còn có thể được gọi là cửa số chập, cửa sổ lọc, mặt nạ,...

Công thức: Idst = M * Isrc Trong đó:

 Isrc: ảnh gốc được sử dụng để lọc số ảnh.

 Idst: ảnh ra sau khi thực hiện xong phép lọc số ảnh.  M: ma trận lọc (Mask, kernel).

Với mỗi phép lọc có những ma trận lọc (Kernel) khác nhau, không có một quy định cụ thể nào cho việc xác định M. Kích thước ma trận M là 1 số lẻ. Ví dụ: 3x3, 5x5.

Tổng Tpt các phần tử trong ma trận M thường là 1.

Tpt > 1: Ảnh sau khi thực hiện xong phép lọc số ảnh (Idst) có độ sáng lớn hơn so với ảnh ban đầu (Isrc).

Tpt < 1: Ảnh sau khi thực hiện xong phép lọc số ảnh (Idst) có độ sáng nhỏ hơn so với ảnh ban đầu (Isrc).

33 𝑀 = [ 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 ]

- Tách ngưỡng: Ngưỡng là một số nằm trong đoạn từ 0 đến 255. Giá trị ngưỡng sẽ chia tách giá trị độ xám của ảnh thành 2 miền riêng biệt. Miền thứ nhất là tập hợp các điểm ảnh có giá trị nhỏ hơn giá trị ngưỡng, những giá trị này sau khi trải qua quá trình tách ngưỡng sẽ được đặt lại giá trị là 0. Miền thứ hai là tập hợp các các điểm ảnh có giá trị lớn hơn hoặc bằng giá trị ngưỡng, những được này sẽ được đặt thành 255 sau quá trình tách ngưỡng. Đôi khi kỹ thuật này còn được gọi là nhị phân ảnh.

Hình 2.27: Tách ngưỡng cho ảnh xám

- Tách ngưỡng tự động: Ngưỡng trong kỹ thuật tách ngưỡng thường được cho bởi người sử dụng. Kỹ thuật tách ngưỡng tự động nhằm tìm ra ngưỡng một cách tự động dựa vào histogram theo nguyên lý trong vật lý là vật thể tách làm 2 phần nếu tổng độ lệch trong từng phần là tối thiểu [7].

- Biến đổi Hough cho đường thẳng: Mỗi điểm (x,y) trong mặt phẳng được biểu diễn bởi cặp (r,ϕ) trong tọa độ cực [7].

Tương tự mỗi đường thẳng trong mặt phẳng cũng có thể biểu diễn bởi một cặp (r,ϕ) trong tọa độ cực với r là khoảng cách từ gốc tọa độ tới đường thẳng đó và ϕ là

34 góc tạo bởi trục 0X với đường thẳng vuông góc với nó, hình 5.9 biểu diễn đường thẳng hough trong tọa độ Decard [7].

Ngược lại, mỗi một cặp (r,ϕ) trong toạ độ cực cũng tương ứng biểu diễn một đường thẳng trong mặt phẳng [7].

Giả sử M(x,y) là một điểm thuộc đường thẳng được biểu diễn bởi (r,ϕ), gọi H(X,Y) là hình chiếu của gốc toạ độ O trên đường thẳng ta có [7]:

X= r. cosϕ và Y= r.sinϕ Mặt khác, ta có: 𝑂𝐻⃗⃗⃗⃗⃗⃗ . 𝐻𝐴⃗⃗⃗⃗⃗⃗ = 0

Từ đó ta có mối liên hệ giữa (x,y) và (r,ϕ) như sau: x*cosϕ+y*sinϕ= r.

Xét n điểm thẳng hàng trong tọa độ Đề các có phương trình x*cosϕ0+y*sinϕ0= r0. Biến đổi Hough ánh xạ n điểm này thành n đường sin trong tọa độ cực mà các đường này đều đi qua (r0,ϕ0). Giao điểm (r0,ϕ0) của n đường sin sẽ xác định một đường thẳng trong hệ tọa độ đề các. Như vậy, những đường thẳng đi qua điểm (x,y) sẽ cho duy nhất một cặp (r,ϕ) và có bao nhiêu đường qua (x,y) sẽ có bấy nhiêu cặp giá trị (r,ϕ) [7].

35

- Tìm xương dựa trên làm mảnh (Skeletonization by thinning): Thuật toán làm mảnh ảnh số nhị phân là một trong các thuật toán quan trọng trong xử lý ảnh và nhận dạng. Xương chứa những thông tin bất biến về cấu trúc của ảnh, giúp cho quá trình nhận dạng hoặc vectơ hoá sau này [7].

Thuật toán làm mảnh là quá trình lặp duyệt và kiểm tra tất cả các điểm thuộc đối tượng. Trong mỗi lần lặp tất cả các điểm của đối tượng sẽ được kiểm tra: nếu như chúng thoả mãn điều kiện xoá nào đó tuỳ thuộc vào mỗi thuật toán thì nó sẽ bị xoá đi. Quá trình cứ lặp lại cho đến khi không còn điểm biên nào được xoá. Đối tượng được bóc dần lớp biên cho đến khi nào bị thu mảnh lại chỉ còn các điểm biên [7].

Chất lượng của thuật toán làm mảnh được đánh giá theo các tiêu chuẩn được liệt kê dưới đây nhưng không nhất thiết phải thoả mãn đồng thời tất cả các tiêu chuẩn [7].

• Bảo toàn tính liên thông của đối tượng và phần bù của đối tượng • Sự tương hợp giữa xương và cấu trúc của ảnh đối tượng

• Bảo toàn các thành phần liên thông • Bảo toàn các điểm cụt

• Xương chỉ gồm các điểm biên, càng mảnh càng tốt • Bền vững đối với nhiễu

• Xương cho phép khôi phục ảnh ban đầu của đối tượng

• Xương thu được ở chính giữa đường nét của đối tượng được làm mảnh • Xương nhận được bất biến với phép quay.

36

Hình 2.29: Lấy khung xương (skeletonization)

2.5. Tổng quan về ngôn ngữ lập trình Python và thư viện OpenCV 2.5.1. Ngôn ngữ lập trình Python 2.5.1. Ngôn ngữ lập trình Python

Python là một ngôn ngữ lập trình bậc cao được sử dụng phổ biến ngày nay từ trong môi trường học đường cho tới các dự án lớn. Ngôn ngữ phát triển nhiều loại ứng dụng, phần mềm khác nhau như các chương trình chạy trên máy tính cá nhân, máy tính nhúng, ứng dụng web,… Ngoài ra Python cũng là ngôn ngữ ưa thích trong

Một phần của tài liệu Thiết kế và chế tạo hệ thống nhận diện mối hàn cho robot tự động (Trang 35)

Tải bản đầy đủ (PDF)

(120 trang)