Phương pháp thứ hai dùng các giải thuật ghép điểm ảnh, dựa vào các điểm ảnh đặc biệt mà ta lưu trong bộ nhớ, ta có thể tìm ra điểm tương tự trên áo được camera chụp về.. Trong quá trình
Trang 1CHƯƠNG 3 GIẢI THUẬT XỬ LÝ ẢNH 3.1 Giới thiệu
Khi đã tiềm hiểu về tổng quan, quy trình sản xuất, cách đo kiểm áo thun bằng thủ công, thì phần xây dựng giải thuật xử lý ảnh vô cùng quan trọng Trong chương này sẽ trình bày về giải thuật dùng để nhận dạng các điểm để tính kích thước của áo, gồm năm kích thước: Chiều dài, chiều rộng, tay áo, vai áo, đuôi áo Tác giả nhận thấy nhận dạng nách áo dễ dàng hơn cả cho nên việc xử lý được tiến hành tại đây trước tiên Hai giải thuật được đưa ra và phân tích Giải thuật thứ nhất dùng các phép biến đổi Hình thái ảnh để tìm ra nách áo Tuy nhiên, khi đã tìm được nách áo, tác giả nhận thấy các kích thước còn lại khó có thể áp dụng phương pháp này Do đó, phương pháp thứ hai ra đời Phương pháp thứ hai dùng các giải thuật ghép điểm ảnh, dựa vào các điểm ảnh đặc biệt mà ta lưu trong bộ nhớ, ta có thể tìm
ra điểm tương tự trên áo được camera chụp về Từ đó xác định được các kích thước mong muốn Trong quá trình nghiên cứu các giải thuật xử lý ảnh, tác giả sử dụng các hàm được cung cấp bởi thư viện emguCV để thực hiện các phép biến đổi ảnh thông dụng như phép biến đổi Hình thái ảnh, chuyển ảnh màu sang ảnh xám, tách biên ảnh…
3.2 Cơ sở lý thuyết
Đối tượng của đề tài là kiểm tra kích thước áo thun với kích thước chuẩn và sai số cho phép khi thành phẩm theo tiêu chuẩn xuất khẩu Do đó với tính chất đặc thù có nhiều kích thước khác nhau của áo thun Điều này gây khó khăn, tốn thời gian cho việc kiểm tra kích thước bằng thủ công Vì vậy cần phải có một hệ thống kiểm tra thông minh hơn, linh hoạt trong đo kích thước áo thun
Dựa vào các quy trình kiểm tra áo bằng thủ công chưa mang lại hiệu quả cao, thời gian kiểm tra lâu Nên trong đề tài này tác giả nghiên cứu đưa ra phương án sử dụng hệ thống kiểm tra áo thun ứng dụng xử lý ảnh
Trang 23.3 Giới thiệu về ảnh số
Khi quan sát một bức ảnh, ngoài việc cảm nhận về kích thước và màu sắc của bức ảnh thì người quan sát còn có thể tìm thấy các thông tin cần thiết qua các bức ảnh đó Ảnh của một đối tượng đóng vai trò quan trọng trong lĩnh vực trao đổi thông tin nhất định Để nhận ra những thông tin chứa trong ảnh người ta có một quá trình xử lý ảnh
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 tự động hóa 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ý ảnh để 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 ảnh được chụp từ trên không trung (bằng máy bay, vệ tinh ) nhờ hệ thống
xử lý ảnh độ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ự xảy
ra 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 phải xử lý ảnh chụp các quá trình để nhận dạng, đo lường như đo các 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 nhân nguyên tử
Có nhiều phương pháp xử lý ảnh khác nhau, nhưng ngày nay lĩnh vực xử lý ảnh số ngày càng phát triển và được sử dụng nhiều do sự tiện lợi của nó Với ảnh số thông tin của ảnh có thể được truyền đi nhanh chóng, chính xác, việc xử lý lại đơn giản hơn nhờ vào sự giúp đỡ của các máy tính số Để thực hiện đo kích thước tương đối chính xác thì chúng ta cần phài calib camera
3.4 Cân chỉnh camera
Cũng giống như các thiết bị đo, các cảm biến đo lường khác, để có thể dùng camera trong các ứng dụng đo lường thì trước hết cần phải trải qua bước calib camera để đảm bảo tính chính xác khi thực hiện các phép đo
Trang 3Trong xử lý ảnh, mô hình camera đơn giản nhưng hiệu quả được dùng phổ biến là mô hình pinhole camera Theo mô Hình này thì camera có bốn thông số đặc trưng cho các thông số Hình học của camera, bốn thông số này được gọi là các thông số nội của camera, bao gồm: fx, fy, cx, cy fx (fy) chính là tiêu cự của thấu kính trong camera, tính bằng đơn vị pixel, chính là tích của tiêu cự thật của thấu kính hội
tụ và kích thước của các phần tử cảm biến; cx, cy chính là tọa độ của điểm giao của trục quang với cảm biến trong hệ tọa độ của cảm biến
Một cách lý tưởng thì thấu kính trong camera không có sự biến dạng nào (distortion) Tuy nhiên, thấu kính thực thì không thỏa mãn điều này, nguyên nhân là
do sai số quá trình chế tạo, lắp ráp thấu kính Việc chế tạo thấu kính có bề mặt cầu
dễ hơn so với mặt parabol Quá trình lắp ráp cũng khó đảm bảo độ chính xác vị trí tương quan giữa cảm biến và thấu kính Do đó, các thông số của camera còn xuất hiện thêm các thông số khác liên quan đến sự biến dạng do chế tạo, lắp ráp gây ra
Đó là biến dạng hướng tâm (radial distortion) và biến dạng tiếp tuyến Theo tài liệu, thì có năm thông số đặc trưng cho sự sai lệch này Vậy ta có thêm năm tham số nữa đặc trưng cho camera được gọi là tham số biến dạng
Tóm lại, ta có bốn thông số nội và năm thông số biến dạng đặc trưng cho một camera Để có thể dùng camera trong việc đo lường thì việc cần làm trước tiên
là xác định các thông số này Luận văn này sử dụng các hàm trong thư viện calib camera của EmguCv và dựa trên chương trình mẫu trong tài liệu để calib camera
3.5 Hệ số cân chỉnh camera
Camera dùng trong luận văn này là camera Logitech Carl Zeiss Tessar của hãng Logitech Thực hiện cân chỉnh với bàn cờ có kích thước mỗi ô 30 x 30 (mm) như Hình 3.1 ta được các hệ số như sau:
Hình 3.1 Bàn cờ dùng để cân chỉnh camera trong luận văn
Trang 4Hệ số của camera khi cân chỉnh:
Ma trận hệ số nội của camera:
0 , 1 0
0
049835 ,
246 38379
, 1929 0
586395 ,
305 0
61206
,
1886
Vector các hệ số distortion:
[ 1,79822528 28,2098064 - 0,249643907 0,334334314]
Sau khi cân chỉnh camera, ảnh đã được chỉnh lại như trên Hình 3.2b
a Ảnh khi chưa calib b Ảnh sau khi đã calib
Hình 3.2 Ảnh trước và sau khi cân chỉnh camera
* Ma trận homography
Trong thị giác máy tính có một khái niệm là homography trong mặt phẳng (planar homography) là một phép chiếu từ mặt phẳng này sang mặt phẳng khác Trong luận văn này, các phép đo được tiến hành dựa trên mặt phẳng, do đó có thể ứng dụng phép biến đổi homography trong mặt phẳng để biến đổi các giá trị tọa độ pixel ra tọa độ thực Gọi H là ma trận homography Ma trận H thể hiện sự liên hệ giữa các điểm trên một mặt phẳng thực và điểm ảnh tương ứng trong ảnh thu được
từ camera Phương trình sau thể hiện mối quan hệ này :
dst src
stc dst H P P H P
Trang 5
=
=
1
, 1
src
src src dst
dst
x P y
x
Có thể xác định được ma trận H mà không cần biết các thông số nội của camera Thực tế, việc xác định ma trận H từ nhiều ảnh chụp cùng một đối tượng chính là cách mà Emgu CV dùng để xác định các thông số nội của wecam
Trong thư viện EmguCV có hàm được dùng để xác định ma trận H khi mà biết các điểm tương ứng trên hai mặt phẳng Để xác định được ma trận H cần ít nhất 4 điểm (không có 3 điểm nào thẳng hàng) tương ứng trên hai mặt phẳng Dùng càng nhiều cặp điểm tương ứng thì đảm bảo khả năng loại bỏ được nhiễu tốt hơn Luận văn này dùng chính bàn cờ để calib camera để thực hiện công việc này
3.6 Giải thuật xử lý ảnh
Hình 3.3 Sơ đồ khối quy trình xác định kích thước
Để phân loại áo dựa vào kích thước, luận văn dùng giải thuật xử lý ảnh có sơ
đồ như Hình 3.3 Trong đó bước quan trọng nhất chính là tìm các cặp điểm: thân áo,
ẢNH ĐẦU VÀO
CHUYỂN
TÌM CÁC ĐIỂM THÂN, NGỰC, CỔ, TAY, ĐUI ÁO
TÍNH KÍCH THƯỚC
Trang 6ngực áo,tay áo, cổ áo,vai, đuôi Phần tiếp theo sẽ trình bày sơ lược về các vấn đề
cơ bản trong xử lý ảnh nói chung Sau đó sẽ trình bày chi tiết hơn về giải thuật dung
để trích xuất các cặp điểm
3.6.1 Ảnh xám ( grayscale or grayscale digital image).
Ảnh xám là kiểu ảnh 8 bit ( 256 màu) hoặc 16 bit (65.535 màu), giá trị mỗi pixel được lưu trữ trong 1 byte Ảnh xám là một dạng của ảnh t đen rắng với giá trị
độ lớn tại mỗi pixel thay đổi từ 0 đến 255 tương ứng với sự thay đời từ đen sang trắng
Theo chuẩn của hệ thống màu NTSC (National Television System Commitee), một ảnh bậc độ xám của một ảnh màu có được bằng cách tính mỗi pixel tương ứng của ảnh bậc độ xám bằng công thức:
Y=Y R+Y G+Y B =α.R d +β.G d +δ.B d (3.3)
Trong đó:
Y là giá trị bậc độ xám của điểm ảnh.
R d , G d , B d là giá trị của các điểm ảnh màu cơ bản R(đỏ), G(xanh lá), B(xanh dương).
Trong thư viện emguCV, hàm GrayScale được dùng để chuyển đổi ảnh màu sang
ảnh mức xám với tham số code là Gray_Image, như Hình 3.4
Hình 3.4 Biểu diễn ảnh xám
Trang 73.6.2 Nhị phân hóa ảnh
Nhị phân hóa là quá trình biến một ảnh xám thành ảnh nhị phân Ảnh nhị phân chỉ chứa hai giá trị 0 hoặc 1 (hoặc 0 và 255 tùy theo quy định của cấu trúc ảnh) Theo đó, giá trị 0 sẽ là giá trị ứng với những điểm đen trên ảnh và giá trị 1 (hoặc 255) sẽ là giá trị ứng với những điểm trắng Công thức để nhị phân ảnh là đặt tất cả các giá trị của ảnh xám về 0 nếu chúng bé hơn một ngưỡng T cho trước và về 255 nếu chúng lớn hơn ngưỡng T đó Vấn đề ở đây là với ngưỡng T như thế nào thì cho
ta được tấm ảnh nhị phân như ý muốn, nghĩa là ảnh làm nổi các vùng đối tượng và nền Việc xác định giá trị T là rất khó vì chúng phụ thuộc vào từng điều kiện chiếu sáng khác nhau của môi trường Với môi trường này T nhận một giá trị, môi trường khác lại một giá trị khác
Để tránh khó khăn trong việc chọn ngưỡng T ta có thêm một sự lựa chọn là dùng ngưỡng động Thuật toán nhị phân hóa với ngưỡng động hay còn gọi là nhị phân hóa với ngưỡng thích nghi là cách để nhị phân hóa ảnh xám với những ngưỡng khác nhau trên từng vùng ảnh khác nhau của một ảnh
Hình 3.5 Mặt nạ lấy ngưỡng động
Ta sẽ lấy ngưỡng nhị phân trên một vùng cục bộ là một cửa sổ có kích thước
mxn Ngưỡng cần xác định đối với tâm của cửa sổ đó sẽ là trung bình cộng các giá
trị của các lân cận của nó Giả sử ta lấy ngưỡng động cho điểm A22 và kích thước
cửa sổ là 3x3 như trên Hình 3.4 Khi đó giá trị T sẽ là T = 1/8(A11 + A12+ A13 +
A21 + A23 + A31 + A32 + A33) Nếu A22 > T, đặt A22 về 255, nếu A22 < T, đặt A22 về 0 Ta thấy rằng để nhị phân hóa được một bức ảnh theo cách trên sẽ tốn rất nhiều thời gian, đặc biệt là đối với những cửa sổ ta chọn kích thước lớn Để tránh
Trang 8hiện tượng này, người ta sử dụng một phương pháp gọi là tích phân ảnh (Integral Image)
3 7 Trích vùng chứa áo
Có nhiều phương pháp và phép toán trong xử lý ảnh để trích vùng chứa áo Mỗi phương pháp đều có ưu, khuyết điểm, ta cần phải kết hợp các phương pháp để trích được vùng chứa áo cho kết quả tốt nhất
3.7.1 Biên của ảnh
Biên là một vấn đề chủ yếu trong phân tích ảnh 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ự thay đổ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, được thể hiện ở Hình dưới ( Hình 3.6)
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á hơn
Hình 3.6 Biên của ảnh
3 7.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, có những đặc tính ngược với bộ lọc thông thấp,
Trang 9nó không làm thay đổi các thành phần tần số cao của những tín hiệu, nhưng nó làm suy giảm những thành phần tần số thấp và hạn chế vùng nền có mức xám hằng
Mặt khác, bộ lọc thông cao có các tính chất làm cho dữ liệu các điểm ảnh trong vùng của đường biên đối tượng đượ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 kế tiếp
3.7.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 Trong đó 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 Mặt khác 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 Dò biên 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 trong ảnh nhằm đưa ra biên dạng của đối tượng
Có nhiều phương pháp tách biên nhưng ở luận văn ta sẽ xem xét chủ yếu đến
ba phương pháp là:
3.7.3.1 Phương pháp Gradient
Phươ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 gía trị của điểm ảnh theo hai hướng x và y
dx
y x f y dx x f fx x
y x
∂
∂
(3.4)
dx
y x f y dx x f fy x
y x
∂
∂
(3.5)
Với dx là khoảng cách giữa các điểm theo hướng x và tượng tự với dy Trên thực tế dx = dy =1
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 Mặt khác, gradient của lộ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 thể hiện bởi:
Trang 10f dr
dy y
f dr
dx x
f dr
∂
∂ +
∂
∂
df/dr đạt cực đại khi fxcosθ + fysinθ = 0 Do vậy ta có thể xác định hướng cực đại của chúng
2 2 1
y
x
dr
df và f
f
+
=
Hình 3.7 Hướng biên
3.7.3.2 Phương pháp Canny
Phương pháp này thể hiện qua bốn bước
Bước 1: Làm trơn ảnh bằng phương pháp Gaussian
Bước 2: Ảnh ở bước 1 được đạo hàm lần lượt theo phương x,y Sau đó tính được gía trị đạo hàm tại từng điểm theo phương x,y và tính được độ lớn của gradient tương ứng
2
2 ( , ) )
, ( )
,
Bước 3: Sau khi tính toán được gá trị của gradient, đường biên là những điểm có gía trị gradient 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 cách Threshold thông thường mà sử dụng một phương pháp gọi là “ hysteresis thresholding” Phươ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 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ó connect
Trang 11Kết quả cho thấy phương pháp canny rất nhiều hiệu quả đối với ảnh trong điều kiện thông thường về độ sáng và độ tương phản
3.8 Dò biên dựa theo Canny
Ở mỗi điểm ảnh ,ta có thể thấy được sự thay đổi đột ngột của màu sắc cũng như độ tương phản, bằng cách tính gradient , ta có thể phân biệt được những điểm ảnh trên và tách chúng ra thành một tập điểm đường biêt ý tưởng của thuật toán là làm sao để tính được gradient của mỗi điểm ảnh để từ đó ta suy ra được tập điểm nào là tập các đường biên đó Với một bức ảnh bình thường, ảnh thường bị các loại nhiễu như bị các chấm nhỏ(salt and pepper noise ) hay speckle noise hoặc các đường biên bị mờ… vì thế , trước khi xử lí tìm gradient, ta sẽ qua trước 1 bước khử nhiễu (blur ảnh) bằng phương pháp Gauss Cuối cùng ta sẽ xử dụng một số thuật toán để làm mỏng các đường biên, loại bỏ các thành phần dư thừa
Hình 3.8 Ảnh dò biên canny Luận văn này dùng giải thuật Canny để tìm biên ảnh Giải thuật Canny được thực hiện trong thư viện EmguCV thông qua hàm canny Threshold, cannyThresholdLinking thực
3.8.1 Sử dụng các ngưỡng để tìm ra đường biên
Ta có thể sử dụng 1 ngưỡng để xác định các đường biên nhưng với những bức ảnh có độ “nhiễu” cao (các vùng tối sáng không đều …), ta nên sử dụng 2 ngưỡng, 1 cao và 1 thấp để đạt được hiệu quả tối ưu