Mục đích của đề tài nhằm thiết kế và chế tạo mô hình nhận dạng các khối vật thể khác nhau từ Webcam .Từ đó đề tài có thể dùng để tham khảo tài liệu, bổ sung kiến thức cho các ngành học liên quan, giải quyết các tình huống thật trong sản xuất và ứng dụng nhiều vào các nghành nghề khác: nhận dạng mã vạch,vân tay, khuôn mặt…. Tạo được phần mềm xử lý ảnh có các chức năng tương đồng với bộ Blod Tools của phần mềm Spectation: là một công cụ xử lý ảnh có nhiều chức nãng đặc biệt trong qui trình kiểm tra sản phẩm của hãng Siemem.
Trang 1lý ảnh vào các công đoạn: kiểm tra, xử lý, phân loại, hay nhận dạng các vật thể xemđạt yệu cầu chưa.
Trong xu thế phát triển công nghệ thông tin mạnh mẽ, cùng với xu thế phát triểncác hệ thống hoạt động trên cơ sở nhận dạng và xử lý ảnh Ảnh ở đây nhiều thông tin
về màu sắc, hình dáng, kích thước…Với công cụ xử lý ảnh cho chúng ta các khả năngnhận biết chính xác các sự vật dựa trên các đặt tính bên ngoài của vật
Cũng chính vì lý do đó và sự gởi ý, giúp đỡ của cô ThS.Nguyễn Lê Tường và anh
Huỳnh Cao Vân chúng em đã tìm hiểu nghiên cứu và chọn đề tài “Thiết kế và chế tạo mô hình nhận dạng các vật thể có hình dạng khác nhau sử dụng công nghệ xử
lý ảnh” với mong muốn thông qua đề tài này sẽ bổ sung thêm những kiến thức mới
cũng như phục vụ cho các hoạt động sản xuất hiệu quả hơn
Trang 21.2 Ý nghĩa thực tiễn
Mảng xử lý ảnh không còn mới trên thế giới và ở Việt Nam vì nó đang được pháttriển rất mạnh mẽ trong giảng dạy và trong công nghiệp
Đồ án này nhằm tiến thêm một bước trong công nghệ xử lý ảnh mà các khóa trước
đã hình thành, khi đồ án này hoàn thành thì sẽ góp phần đáng kể trong việc nghiên cứusâu hơn về mảng xử lý ảnh để giúp cho các khóa sau có cơ sở nghiên cứu, hoàn thiệncác công cụ xử lý và tiến tới ứng dụng trong thực tế sản xuất
Còn với thực tế sản xuất, đồ án khi được hoàn thiện hơn sẽ giúp giải quyết bài toánphân loại sản phẩm theo hình dạng So với các sản phẩm phân loại tương tự thì phầnmềm này có thể rẻ hơn và đó là lợi thế của phần mềm so với các sản phẩm khác
1.3 Mục đích nghiên cứu
Mục đích của đề tài nhằm thiết kế và chế tạo mô hình nhận dạng các khối vật thểkhác nhau từ Webcam Từ đó đề tài có thể dùng để tham khảo tài liệu, bổ sung kiếnthức cho các ngành học liên quan, giải quyết các tình huống thật trong sản xuất và ứngdụng nhiều vào các nghành nghề khác: nhận dạng mã vạch,vân tay, khuôn mặt… Tạo được phần mềm xử lý ảnh có các chức năng tương đồng với bộ Blod Toolscủa phần mềm Spectation: là một công cụ xử lý ảnh có nhiều chức nãng đặc biệt trongqui trình kiểm tra sản phẩm của hãng Siemem
1.4 Giơí hạn đề tài
Mô hình chưa được tự động
Nhận dạng và phân loại vật dựa vào kích thước
Tốc độ xử lý của Webcam chậm
Trang 3mã vạch ở các sân bay, khách sạn, ngân hàng hoặc các khu vực công cộng vẫn còn bịhạn chế và cũng chính do các vật thể có hình dạng, kích thước, màu sắc khác nhau (vídụ: hình tròn, hình vuông, hình tam giác…) mà chính do con người quan sát, thực hiện
dễ gây sai sót, hạn chế, nhầm lẫn khó phân biệt bằng mắt thường
Để khắc phục những sai sót và hạn chế đó con người đã tìm ra các phương phápkiểm tra, nhận định, giám sát với các kỹ thuật hiện đại đó là công nghệ xử lý ảnh cóthể dùng Webcam hay Camera …thay thế cho mắt người với năng suất và hiệu quảcao hơn nhiều
2.2 Tổng quan và ứng dụng về xử lý ảnh
2.2.1 Xử lý ảnh là gì?
Xử lý ảnh là một ngành khoa học còn tương đối mới mẻ so với nhiều ngànhkhoa học khác Hiện nay nó đang là một trong những lĩnh lực được quan tâm và
đã trở thành môn học chuyên ngành trong các trường đại học Nhờ có công nghệ
số hoá hiện đại, ngày nay con người đã có thể xử lý tín hiệu nhiều chiều thông quanhiều hệ thống khác nhau, từ những mạch số đơn giản cho đến những máy tính
Trang 4song song cao cấp Mục tiêu của xử lý này có thể chia làm ba hướng như sau:
Xử lý ảnh ban đầu để có được ảnh mới theo một yêu cầu xác định (ví dụ nhưảnh mờ cần xử lý để được ảnh rõ hơn)
Phân tích ảnh để thu được các thông tin đặc trưng giúp cho việc phân loại,nhận biết ảnh (ví dụ phân tích ảnh vân tay để trích chọn các đặc trưng vân tay)
Hiểu ảnh đầu vào để có những mô tả về ảnh ở mức cao hơn, sâu hơn (ví dụ từảnh một tai nạn giao thông phác họa hiện trường tai nạn)
Xử lý ảnh là một trong những mảng quan trọng nhất trong kỹ thuật thị giác máytính, là tiền đề cho nhiều nghiên cứu thuộc lĩnh vực này Hai nhiệm vụ cơ bản của quátrình xử lý ảnh là nâng cao chất lượng thông tin hình ảnh và xử lý số liệu cung cấp chocác quá trình khác trong đó có việc ứng dụng thị giác vào điều khiển
Thị giác máy (Machine vision) là một ứng dụng của thị giác máy tính vào trongcộng nghiệp và trong sản xuất Nhưng ngược lại, thị giác máy tính (Computer vision)
là qui tắc chung để máy tính có thể nhìn được, thị giác máy là một qui tắc kỹ thuật,liên quan tới các thiết bị số vào/ra và mạng máy tính để điều khiển thiết bị sản xuấtkhác chẳng hạn như cánh tay robot Thị giác máy là trường phụ kỹ thuật mà có liênquan tới khoa học máy tính, quang học, kỹ thuật chế tạo máy, và tự động hóa côngnghiệp Một trong các ứng dụng của thị giác máy là kiểm tra các sản phẩm tốt nhưchíp bán dẫn, ô tô, thực phẩm và dược phẩm Cũng như các người làm việc kiểm tratrên các dây chuyền sản xuất, sử dụng thị giác để kiểm tra chất lượng của sản phẩm cótốt hay không, việc này cần ở người kiểm tra về kinh nghiệm và kỹ năng, nhưng với hệthống thị giác máy thì chỉ cần sử dụng máy ảnh số, máy ảnh thông minh và phần mềm
xử lý ảnh để thực hiện việc kiểm tra tương tự
Quá trình xử lý ảnh có thể xem như là quá trình thao tác ảnh đầu vào nhằm cho rakế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ốthơn” hoặc một kết luận :
XỬ LÝ ẢNH
Ảnh
Ảnh
“Tốt hơn”
Kết luận
Trang 5Tóm lại xử lý ảnh là quá trình chụp ảnh, phân tích nhận dạng ảnh và đưa ra các tínhiệu điều khiển hợp lý Thiết bị thu nhận (chụp ảnh) có thể là Scanner, camera,webcam,….Thực chất quá trình phân tích và nhận dạng ảnh bao gồm nhiều công đoạnnhỏ có thể hình hình dung quá trình xử lý ảnh thông qua sơ đồ khối sau :
- Camera đo diện tích tấm da trong sản xuất đồ da
- Giám sát và điều khiển tín hiệu giao thông bằng camera thời gian thực
- Ứng dụng xử lý ảnh kết hợp với mạng neural trong nhận dạng chữ viết
- Robot xử lý ảnh trong cuộc thi robocon 2007
- Robot đánh bóng bàn TOPIO của công Tosy Việt Nam
- Dây chuyền tự động nhận dạng, phân lọai gạch ốp lát granite của viện nghiêncứu kĩ thuật quân sự
Hệ quyết định
Đối sánh rút
ra kết luận Hậu
xử lý
Trang 6Hình 2.2: Robot đánh bóng bàn TOPIO
Nhóm tác giả ở Viện tự động hóa Kỹ thuật quân sự (Bộ Quốc phòng) đã thực hiệnthành công đề tài "Nghiên cứu thiết kế, chế tạo hệ thống tự động hóa nhận dạng vàphân loại sản phẩm công nghiệp"
Với ứng dụng công nghệ nhận dạng, xử lý ảnh và trí tuệ nhân tạo trên cơ sở hệthống thu thập thông tin ảnh chất lượng cao sẽ bảo đảm tốc độ và độ chính xác nhậndạng phân loại sản phẩm đạt tiêu chuẩn cao hơn hẳn bằng mắt thường hoặc cácphương pháp thủ công khác
Hệ thống có tính linh hoạt và thích nghi cao vì có thể áp dụng trong nhiều dâychuyền công nghiệp sản xuất hàng loạt sản phẩm có tiêu chuẩn phân loại cần áp dụngcông nghệ nhận dạng và xử lý ảnh Tính thích nghi của hệ thống tạo các khả năng ứngdụng cho nhiều loại sản phẩm khi cần thiết bằng sự thay đổi mềm dẻo các đặc trưngcủa mẫu sản phẩm
Trang 7b) Ngoài nước:
Thế giới đã phát triển và ứng dụng xử lý ảnh từ những năm 1960 Khởi đầu từnghiên cứu của các phòng thí nghiệm Jet Propulsion, MIT, Bell Labs, và đại họcMaryland Ban đầu được ứng dụng để phân tích ảnh từ vệ tinh Ngày nay có rấtnhiều ứng dụng dân dụng liên quan đến công nghệ xử lý ảnh như:
- Kiểm tra lỗi ổ cứng trong nhà máy sản xuất ổ cứng
- Robot Asimo của công ty Honda Nhật
- Ứng dụng chụp cắt lớp trong y học, phân tích bệnh lý qua ảnh X-quang
Trang 82.3 Sơ lược về phần mềm xử lý ảnh của Siemen
Trong thời gian gần đây xử lý ảnh công nghiệp có những bước phát triễn tươngđối lớn, các hãng chuyên về xử lý ảnh đã không ngừng đưa ra các sản phẩm để đápứng nhu cầu của khách hàng Các công cụ ngày càng hiện đại, với tốc độ xử lý cao,nhiều công cụ xử lý và có khả năng kết nối với các thiết bị công nghiệp khác
Trong mảng xử lý ảnh công nghiệp không thể không nhắc tới phần mềm xử lý
ảnh tốt nhất là Spectation của Siemen.
2.3.1 Spectation
Specatation là phần mềm xử lý ảnh của Siemen với rất nhiều tính năng đặc biệt,
hãng đã tìm hiểu và đáp cứng nhu cầu của khách hàng để phát triễn bộ công cụ xử lýảnh phù hợp gần như toàn bộ các trường hợp trong sản xuất cần kiểm phẩm
Hình 2 4: Giao diện của phần mềm Spectation
Trang 9Khi xử dụng phần mềm này thì kèm theo đó là một camera công nghiệp với tốc
độ xử lý cao, bên cạnh đó camera có thể sử dụng Ethernet và giao thức kết nối TCP/IP
và UDP/IP để giao tiếp với máy tính cho nên tốc độ truyền dữ liệu rất cao và khoảngcách rất xa
Hình 2.5: Camera VS724 của Siemen 2.3.2 Công cụ blob của Spectation
Blob trong Spectation được định nghĩa như miền kết nối điểm ảnh có mật độđồng dạng Thanh công cụ được thiết kế để tìm, tính toán (đếm), đánh dấu Blob.Thanh công công cụ Blob bao gồm hai Softsensor: chương trình tạo Blob (BlobGenerator) và bộ chọn Blob (Blob selector)
Chương trình tạo blob phân tích ảnh và tách blob dựa trên lựa chọn của ngườidùng (mức ngưỡng và loại blob để định vị trí) Một blob được định vị trí, phương án
xử lý ảnh (ăn mòn, mở rộng, ẩn hay mở) có thể dùng để loại trừ nhiễu trong ảnh
Softsensor này có sự đánhdấu ảnh đặc thù Màu xanh phù hợp cho nền Màu xámphù hợp cho blob đang được đếm Mầu đỏ phù hợp với đường bao của blob ,hay blobtiếp xúc với biên của Softsensor
Bộ chọn blob được dùng để tách blob được tạo bởi chương trình tạo blob Phầnchính sử dụng phần mềm này là hỗ trợ người dùng tìm blob mà phần mềm ứng dụngyêu cầu bởi tính toán hệ số thông số blob Mục đích chung là đánh dấu bộ phận quay
Trang 10nó đã làm, Softsensor khác có thể tham chiếu bộ chọn blob cho mốc qui chiếu vị trí.Nếu mục đích chung đơn giản để tính blob hay xác định lại hình dạng/ kích thướcđúng của chúng, Soflsensor này có thể làm tự động hóa Phần mềm này không đượcđưa ra, đơn giản nó tham chiếu cho chương trình tạo blob và sử dụng trong miền đượcđịnh giới bởi đường biên của nó Như vậy hệ quả là, nó không cài đặt ngưỡng giớihạn, đơn giản là nó đưa ra blob từ chương trình tạo blob và thực hiện tính toán dựatrên chúng Thông số mà Spectation đưa ra cho mỗi blob là: vị trí, kích thước biên, độlệch tâm, độ khích, chu vi, cường độ sáng, diện tích, và bán kính Người sử dụng cóthể tính toán một vài hay tất cả thông số này để hỗ trợ sự khác biệt giữa các blob mongmuốn và blob khác trong ảnh
Việc đánh dấu của Softsensor này khác với chương trình tạo blob Nền là màuđen, và blob là chỗ nổi bật trong màu trắng Blob loại bỏ thì trình màu sắc tối hơn.Người dùng phải thiết lập thông số Softsensor để lựa chọn một blob khi làm việc với
vị trí tham chiếu
Hình 2.6: Hình phân loại sản phẩm dựa vào vị trí của Spectation
Hình trên trình bày chỉ một blob đang được chọn và sử dụng đối với mốc thamchiếu vị trí (chỗ nổi bật trong màu trắng) Ảnh trình bày việc đánh dấu sự định hướngcủa chi tiết, đánh dấu tâm của nó Điểm mốc này bao gồm đường màu xanh bắt đầu từđiểm màu đỏ (điểm tâm blob)
Trang 11Hình 2.7: Hình phân loại sản phẩm dựa vào độ tròn của Spectation
Ảnh cuối cùng trính bày việc đánh dấu cho trương hợp khi 1 viền tròn hỏng.Viền tròn hỏng bị loại vì Softsensor chỉ tìm 3 viền tròn Trong trương hợp nàySoftsensor bị ngừng chạy dựa trên đếm blob Chú ý trong trường hợp này, vì không cómốc tham chiếu vị trí đang được dùng, Softsensor không đánh dấu tâm và phương củablob
2.4 Giới thiệu một số phần mềm xử lý ảnh khác:
2.4.1 Image Analyze
Image Analyzer là một trình chỉnh sửa hình ảnh nâng cao và được tích hợp phần mềm phân tích hình ảnh nhưng lại có dung lượng rất nhỏ Chương trình này có tính năng xử lý hình ảnh thông thường như điều chỉnh độ sáng, màu sắc, loại bỏ mắt đỏ, phóng to, thu nhỏ, cắt và xoay ảnh cùng với một số tính năng chỉnh sửa hình ảnh nâng cao.
Trang 122.4.2 Paint Star :
PaintStar là chương trình xử lý hình ảnh kỹ thuật số đa năng với các công cụchỉnh sửa và thiết kế hình ảnh, chụp màn hình, và hiển thị hình ảnh thu nhỏ hình ảnhtrong menu của Windows Explorer Phần mềm này cũng hỗ trợ làm việc với cáclayers, tích hợp các công cụ chỉnh sửa ảnh phổ biến nhất Ngoài ra, PaintStar còn có bộlọc ảnh khá tốt
Ngoài ra còn có một số phần mềm như: PhotoPlus, PhotoScape,Phantasmagoria…nhưng đa phần ít ứng dụng trong công nghiệp
Trang 13Chương 3 NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU
3.1 Chương trình xử lý ảnh
3.1.1 Nhiệm vụ của chương trình
Chương trình có nhiệm vụ đọc ảnh được truyền về từ webcam xử lý, tính toán,phân tích các đặc trưng của các khối bên trong ảnh, so sánh với các thông số yêu cầuđặc ra nhằm rút ra kết luận khối đúng hay sai
3.2 Một số khái niệm cơ bản trong xử lý ảnh
3.2.1 Ảnh và điểm ảnh:
Điểm ảnh: được xem như là dấu hiệu hay cường độ sáng tại một tọa độ
trong không gian của đối tượng
Ảnh: là một tập hợp hữu hạn các điểm ảnh kề nhau Ảnh thường được
biểu diễn bằng một ma trận hai chiều, mỗi phần tử của ma trận tương ứng với mộtđiểm ảnh
Phân loại ảnh
Ảnh nhị phân (đen trắng): là ảnh có giá trị mức xám của các điểm ảnh được
biểu diễn bằng 1 bit (giá trị 0 hoặc 1)
Ví dụ về biểu diễn ảnh nhị phân:
Trang 14(BLUE) Tất cả các màu trong tự nhiêu đều có thể được tổng hợp từ 3 thànhphần màu trên theo các tỷ lệ khác nhau.
Một số định dạng ảnh hiện nay:
Ảnh BMP (Bitmap)
Là ảnh được mô tả bởi một ma trận các giá trị số xác định màu và bảng màucủa các điểm ảnh tương ứng khi hiển thị Ưu điểm của ảnh Bitmap là tốc độ vẽ vàtốc độ xử lý nhanh Nhược điểm của nó là kích thước rất lớn
Ảnh JPEG (Joint Photographic Experts Group)
Đây là một định dạng ảnh được hỗ trợ bởi nhiều trình duyệt web Ảnh JPEGđược phát triển để nén dung lượng và lưu trữ ảnh chụp, và được sử dụng tốt nhấtcho đồ họa có nhiều màu sắc, ví dụ như là ảnh chụp được scan File Ảnh JPEG làảnh Bitmap đã được nén lại
Ảnh GIF (Graphics Interchange Format)
Ảnh GIF được phát triển dành cho những ảnh có tính chất thay đổi Nó được
sử dụng tốt nhất cho đồ họa có ít màu, ví dụ như là ảnh hoạt hình hoặc là nhữngbức vẽ với nhiều đường thẳng File ảnh GIF là những ảnh Bitmap được nén lại
Có hai sự khác nhau cơ bản giữa ảnh GIF và ảnh JPEG:
+ Ảnh GIF nén lại theo cách giữ nguyên toàn bộ dữ liệu ảnh trong khi ảnh JPEGnén lại nhưng làm mất một số dữ liệu trong ảnh
+ Ảnh GIF bị giới hạn bởi số màu nhiều nhất là 256 trong khi ảnh JPEG khônggiới hạn số màu mà chúng sử dụng
Trang 15Là một tập hợp các lệnh GDI dùng để mô tả ảnh và nội dung ảnh Có hai ưuđiểm khi sử dụng ảnh WMF: kích thước file WMF nhỏ và ít phụ thuộc vào thiết
bị hiển thị hơn so với ảnh Bitmap
3.2.2 Phần tử ảnh (pixel):
Ả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ố hoá ảnh Trong quá trình sốhoá, 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ấymẫu (rời rạc hóa về không gian) và lượng hoá thành phần giá trị mà về nguyên tắcbằng mắt thường không phân biệt được hai điểm kề nhau Trong quá trình này, người
ta sử dụng khái niệm Picture element mà ta quen gọi hay viết là Pixel - phần tử ảnh Ở
đây cũng cần phân biệt khái niệm pixel hay đề cập đến trong các hệ thống đồ hoạ máytính Để tránh nhầm lẫn ta tạm gọi khái niệm pixel này là pixel thiết bị Khái niệmpixel thiết bị có thể xem xét như sau: khi ta quan sát màn hình (trong chế độ đồ hoạ),màn hình không liên tục mà gồm nhiều điểm nhỏ, gọi là pixel Mỗi pixel gồm một cặptoạ độ x, y và màu
Như vậy một ảnh là một tập hợp các điểm ảnh Khi được số hoá, nó thườngđược biểu diễn bởi bảng hai chiều I(n,p): n hàng và p cột Ta nói ảnh gồm n x p pixels.Người ta thường kí hiệu I(x,y) để chỉ một pixel Thường giá trị của n chọn bằng p vàbằng 256
3.2.3 Mức xám:
Là kết quả của sự biến đổi tương ứng giá trị độ sáng của một điểm ảnh vớimột giá trị số nguyên dương Tùy thuộc vào số giá trị biểu diễn mức xám mà mỗiđiểm ảnh sẽ được biểu diễn trên 1, 4, 8, 24 hay 32 bit Số lượng bit biểu diễn mứcxám càng lớn thì chất lượng ảnh càng cao nhưng sẽ tốn dung lượng bộ nhớ nhiều hơn
để lưu trữ và cần một hệ thống mạnh hơn để xử lý
3.2.4 Khái niệm về biên
Trang 16Biên là một vấn đề chủ yếu trong phân tích ảnh vì các kỹ thuật phân đoạn ảnhchủ yếu dựa vào biên
Một điểm ảnh có thể coi là điểm biên nếu ở đó có sự thay đổi đột ngột về mứcxám Tập hợp các điểm biên tạo thành biên hay đường bao ảnh của ảnh (boundary).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à lân cận
1.1.1.1 Phân loại các kỹ thuật phát hiện biên
Xuất phát từ định nghĩa toán học của biên người ta thường sử dụng 2 phươngpháp phát hiện biên sau:
1.1.1.1.1 Phương pháp phát hiện biên trực tiếp:
Phương pháp này nhằm làm nổi biên dựa vào sự biến thiên về giá trị độ sáng củađiểm ảnh kỹ thuật chủ yếu dùng phát hiện biên ở đây là kỹ thuật đạo hàm Nếu lấyđạo hàm bậc nhất của ảnh ta có phương pháp Gradient; nếu lấy đạo hàm bậc hai ta có
kỹ thuật Laplace Hai phương pháp trên được gọi là phương pháp dò biên cục bộ.ngoài ra người ta còn sử dụng phương pháp “đii theo đường bao”: dựa vào nguyên lýqui hoạch hoạt động và được gọi là phương pháp dò biên tổng thể
1.1.1.1.2 Phương pháp gián tiếp:
Nếu bằng cách nào đấy , ta phân được ảnh thành các vùng thì đường phân ranhgiữa các vùng đó chính là biên việc phân vùng ảnh thường dựa vào kết cấu (texture)
bề mặt của ảnh
Cũng cần lưu ý rằng, kỹ thuật dò biên và phân vùng ảnh là hai bài toán đối ngẫucủa nhau Thực vậy, dò biên để thực hiện phân lớp đối tượng và một khi đã phân lớpxong có nghĩa là đã phân vùng được ảnh Và ngược lại, khi phân vùng, ảnh đã phânlập được thành các đối tượng, ta có thể phát hiện được biên Phương pháp dò biên trựctiếp tỏ ra khá hiệu quả vì ít chịu ảnh hưởng của nhiễu song nếu sự biến thiên độ sáng
Trang 17không đột ngột, phương pháp này lại kém hiệu quả Phương pháp dò biên gián tiếp tuy
có khó cài đặt song lại áp dụng khá tốt khi sự biến thiên độ sáng nhỏ
3.2.4 Tăng cường và khôi phục ảnh
Tăng cường ảnh là bước quan trọng, tạo tiền đề cho xử lý ảnh Nó gồm một loạtcác kỹ thuật như: Lọc độ tương phản, khử nhiễu, nổi màu, v v
Khôi phục ảnh là nhằm loại bỏ các suy giảm (degradation) trong ảnh
3.2.5 Biến đổi ảnh
Thuật ngữ biến đổi ảnh (Image Transform) 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 để biến đổi ảnh Có nhiều loại biến đổi được dùngnhư :
- Biến đổi Fourier, Sin, Cosin, Hadamard,
3.2.6 Phân tích ảnh
Là khâu quan trọng trong quá trình xử lý ảnh để tiến tới hiểu ảnh Trong phântích ảnh việc trích chọn đặc điểm là một bước quan trọng Các đặc điểm của đối tượngđược trích chọn tuỳ theo mục đích nhận dạng trong quá trình xử lý ảnh Có thể nêu ramột số đặc điểm của ảnh sau đây:
Đặc điểm không gian: Phân bố mức xám, phân bố xác suất, biên độ, điểm uốn
v.v
Trang 18Đặc điểm biến đổi: Các đặc điểm loại này được trích chọn bằng việc thực hiện
lọc vùng (zonal filtering) Các bộ vùng được gọi là “mặt nạ đặc điểm” (feature mask)thường là các khe hẹp với hình dạng khác nhau (chữ nhật, tam giác, cung tròn v.v )
Đặc điểm biên và đường biên: Đặc trưng cho đường biên của đối tượng và do
vậy rất hữu ích trong việc trích trọn các thuộc tính bất biến được dùng khi nhận dạngđối tượng Các đặc điểm này có thể được trích chọn nhờ toán tử gradient, toán tử labàn, toán tử Laplace, toán tử “chéo không” (zero crossing) …
Việc trích chọn hiệu quả các đặc điểm giúp cho việc nhận dạng các đối tượngảnh chính xác, với tốc độ tính toán cao và dung lượng nhớ lưu trữ giảm xuống
3.2.8 Nhận dạng:
Nhận dạng tự động (automatic recognition), mô tả đối tượng, phân loại và phânnhóm các mẫu là những vấn đề quan trọng trong thị giác máy, được ứng dụng trongnhiề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ạivớ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à ảnhcủ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ặcmộ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ạimẫu đó có thể:
Hoặc phân loại có mẫu (supervised classification), chẳng hạn phân tíchphân biệt (discriminant analyis), trong đó mẫu đầu vào được định danh như một thànhphần của một lớp đã xác định
Hoặc phân loại không có mẫu (unsupervised classification hayclustering) 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
Hệ thống nhận dạng tự động bao gồm ba khâu tương ứng với ba giai đoạn chủ yếu sau đây:
Thu nhận dữ liệu và tiền xử lý
Trang 19Biểu diễn dữ liệu.
Nhận dạng, ra quyết định
Bốn cách tiếp cận khác nhau trong lý thuyết nhận dạng là:
Đối sánh mẫu dựa trên các đặc trưng được trích chọn
Phân loại thống kê
Đối sánh cấu trúc
Phân loại dựa trên mạng nơ-ron nhân tạo
Trong các ứng dụng rõ ràng là không thể chỉ dùng có một cách tiếp cận đơn lẻ
để phân loại “tối ưu” do vậy cần sử dụng cùng một lúc nhiều phương pháp và cáchtiếpcận khác nhau Do vậy, các phương thức phân loại tổ hợp hay được sử dụng khinhận dạng và nay đã có những kết quả có triển vọng dựa trên thiết kế các hệ thống lai(hybrid system) bao gồm nhiều mô hình kết hợp
3.2.9 Nén ảnh
Dữ liệu ảnh cũng như các dữ liệu khác cần phải lưu trữ hay truyền đi trên mạng.Lượng thông tin để biểu diễn cho một ảnh là rất lớn Do đó làm giảm lượng thông tinhay nén dữ liệu là một nhu cầu cần thiết
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ệncủ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.Một ví dụ điển hình cho kỹ thuật mã hóa này là *.TIF
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 trongcác vùng gần nhau Ví dụ cho kỹ thuật này là mã nén *.PCX
Nén ảnh sử dụng phép biến đổi: Đây là kỹ thuật tiếp cận theo hướng nénkhông bảo toàn và do vậy, kỹ thuật thướng nến hiệu quả hơn *.JPG chính làtiếp cận theo kỹ thuật nén này
Trang 20 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.
3.2.10 Thu nhận ảnh
3.2.10.1 Thiết bị thu nhận ảnh
Thiết bị thu nhận ảnh là camera, scanner, webcam,… Các thiết bị thu nhận ảnhnày có thể cho ảnh trắng đen B/W (Black and White), ảnh xám hoặc ảnh màu Với ảnhB/W mức màu z là 0 hoặc 1 Với ảnh đa cấp xám, mức xám biến thiên từ 0 đến 255.Ảnh màu, mỗi điểm ảnh lưu trữ trong 3 bytes và do đó ta có 2 8x3 = 2 24 màu (cỡ 16, 7triệu màu)
Thiết bị ra ảnh có thể là máy in đen trắng, máy in màu hay máy vẽ (ploter) Máy
vẽ cũng có nhiều loại: loại dùng bút, loại phun mực
Nhìn chung, các hệ thống thu nhận ảnh thực hiện 2 quá trình:
Cảm biến: biến đổi năng lượng quang học (ánh sáng) thành năng lượngđiện
Tổng hợp năng lượng điện thành ảnh
3.2.10.2 Lấy mẫu và lượng tử hoá
Yêu cầu cơ bản nhất trong xử lý ảnh bằng máy tính là đưa ảnh về dạng biểudiễn số thích hợp, nghĩa là ảnh phải được biểu diễn bởi một ma trận hữu hạn tươngứng với việc lấy mẫu ảnh trên một lưới rời rạc và mỗi pixel được lượng hoá bởi một sốhữu hạn bit Ảnh số được lượng hoá có thể được xử lý hay chuyển qua bước biến đổi
số tương tự - DA (Digital to Analog) để tái hiện trên thiết bị hiện ảnh
3.2.10.3 Quét ảnh (Image scanning)
Phương pháp chung để lấy mẫu là quét ảnh theo hàng và mã hoá từng hàng Vềnguyên tắc, một đối tượng, phim hay giấy trong suốt sẽ được chiếu sáng liên tục để tạonên một ảnh điện tử trên tấm cảm quang Tuỳ theo các loại camera mà tấm cảm quangnày là chất quang dẫn hay quang truyền Hệ thống camera ống sử dụng phương pháp
Trang 21scan-out-digitalizer; còn hệ thống camera CCD (Charge Couped Device) cho ảnh ma
trận
3.2.11 Xử lý và 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ươngphản, lọc nhiễu, nổi biên, làm trơn biên ảnh, khuyếch đại ảnh Tăng cường ảnh vàkhôi phục ảnh là 2 quá trình khác nhau về mục đích Tăng cường ảnh bao gồm mộtloạ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 Tập hợp các
kỹ thuật này tạo nên giai đoạn tiền xử lý ảnh Trong khi đó, khôi phục ảnh nhằm khôiphục ảnh gần với ảnh thực nhất trước khi nó bị biến dạng do nhiều nguyên nhân khácnhau Sau đây ta tìm hiểu một số kỹ thuật tăng cường ảnh
3.2.11.1 Các kỹ thuật tăng cường ảnh
Nhiệm vụ của tăng cường ảnh không phải là làm tăng lượ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
3.2.11.1.1 Tăng độ tương phản
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 ảnhsong không phải là quyết định Thực tế chỉ ra rằng hai đối tượng có cùng độ sángnhư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ảnbiểu diễn sự thay đổi độ sáng của đối tượng so với nền Một cách nôm na, độ tươngphản là độ nổi của điểm ảnh hay vùng ảnh so với nền Với định nghĩa này, nếu ảnh của
ta có độ tương phản kém, ta có thể thay đổi tuỳ ý theo ý muốn
Ảnh với độ tương phản thấp có thể do điều kiện sáng không đủ hay không đều,hoặc do tính không tuyến tính hay biến động nhỏ của bộ cảm nhận ảnh Để điều chỉnhlại độ tương phản của ảnh, ta điều chỉnh lại biên độ trên toàn dải hay trên dải có giới
Trang 22hạn bằng cách biến đổi tuyến tính biên độ đầu vào (dùng hàm biến đổi là hàm tuyếntính) hay phi tuyến (hàm mũ hay hàm lôgarít).
3.2.11.1.2 Tách nhiễu
Tách nhiễu là trường hợp đặc biệt của dãn độ tương phản khi hệ số góc = =0.Tách nhiễu được ứng dụng một cách hữu hiệu để giảm nhiễu khi biết tín hiệu vào nằmtrên khoảng [a,b]
Giả sử ta có I ~ kích thước m × n và số nguyên c
Khi đó, kỹ thuật tăng, giảm độc sáng được thể hiện
Trang 233.2.11.1.5 Một số kỹ thuật cải thiện ảnh nhị phân
Với ảnh nhị phân, mức xám chỉ có 2 giá trị là 0 hay 1 Do vậy, ta coi một phần
tử ảnh như một phần tử lô gíc và có thể áp dụng các toán tử hình học (morphologyoperators) dựa trên khái niệm biến đổi hình học của một ảnh bởi một phần tử cấu trúc(structural element)
Phần tử cấu trúc là một mặt nạ dạng bất kỳ mà các phần tử của nó tạo nên mộtmô-típ Người ta tiến hành rê mặt nạ đi khắp ảnh và tính giá trị điểm ảnh bởi các điểmlân cận với mô-típ của mặt nạ theo cách lấy hội hay lấy tuyển Hình dưới đây , chỉ ramột phần tử cấu trúc và cách lấy hội hay tuyển:
Trang 24b ) Co ảnh
Co ảnh là thao tác đối ngẫu của giãn ảnh nhằm loại bỏ điểm trắng bị vây bởicác điểm đen Trong kỹ thuật này, một cửa sổ (N+1) x (N+1) được rê đi khắp ảnh vàthực hiện sánh một pixel của ảnh với (N+1)2 -1 điểm lân cận Sánh ở đây thực hiện bởiphép hội lôgíc
Áp dụng: Ngưòi ta thường vận dụng kỹ thuật này cho các ảnh nhị phân như vân tay,
chữ viết Để không làm ảnh hưởng đến kích thước của đối tượng trong ảnh, người tatiến hành n lần dãn và n lần co
3.2.11.1.6 Tính toán các thông số của khối
Khối (blob): là một vùng trên ảnh gồm các pixel có cùng cường độ sánghoặc tối nằm liền kề nhau
Các khối có thể phân biệt dựa trên 9 thông số của khối:
Angle Góc của khối được
đo từ vị trí 3 giờtheo chiều kimđồng hồ
Position
Vị trí tâm của khối
so với góc trên bêntrái của khối đó
Area Số lượng pixel của
khối
Bounding box Hình chữ nhật nhỏ
nhất có thể baoquanh một khối
Trang 25Eccentricity Độ lệch tâm, cho
biết độ đối xứngcủa một khối
Compactness Mật độ pixel trong
khối
Perimeter Tổng chiều dài tất
cả các cạnh của mộtkhối, bao gồm cạnhtrong và cạnh ngoài
Average
Intensity
Giá trị cường độsáng trung bình củatất cả các pixeltrong khối
Radius Bán kính của khối
hình dạng tròn
Radius không có ýnghĩa nhiều đối vớicác khối khong códạng tròn
Bảng 2.2: Các thông số của khối
Chúng ta có thể dựa vào 9 thông số đặc trưng của khối để chọn ra một hoặc nhiều khối trong ảnh
3.3 Các phương pháp chiếu sáng trong công nghiệp
3.3.1 Chiếu sáng khuếch tán trước đối tượng
Trang 26Chiếu sáng khuếch tán phía trước, như tên gọi của nó cho thấy, bao gồm mộtnguồn sáng có vị trí cùng phía các vật so với camera Ánh sáng không có hướng xácđáng, kết quả có bóng được loại bỏ và tác động của sự phản xạ (do độ bóng của vậtđược giảm.
Hình 3.1: Phương pháp chiếu sáng khuếh tán trước đối tượng
Chiếu sáng khuếch tán đạt được bằng cách đặt các nguồn sáng phía sau một bềmặt bán mờ hoặc sử dụng ánh sáng gián tiếp ánh xạ từ các màn hình màu trắng
3.3.2 Chiếu sáng trực tiếp vào đối tượng
Chiếu sáng trực tiếp thông thường có haivùng ánh sáng, vùng sáng và vùng chiếu sángtối Tham khảo sơ đồ bên trái, vùng sáng làkhu vực trong đó có ánh sáng phản chiếutrong trường nhìn (field of view) của camera.Ngược lại là vùng tối là khu vực trong đó ánhsáng phản chiếu từ mặt gương sẽ nằm ngoàitrường nhìn của camera
Sơ đồ này thực sự mô tả một vòng đèn chỉvận hành trong vùng sáng Vùng chiếu sángtối thường được sử dụng để làm nổi bật cácchỗ lồi lõm hay không hoàn hảo trên bề mặtcủa vật
Hình 3.2: Phương pháp chiếu sáng trực tiếp vào đối tượng
3.3.3 Chiếu sáng đồng trục
Trang 27Ý tưởng của chiếu sáng đồng trục là đưa ánhsáng dọc theo trục quang học của camera.Cách phổ biến nhất để làm được như vậy là
sử dụng bộ tách chùm tia Cao hơn trên trục
hệ thống chiếu sáng kết hợp một buồng phản
xạ và chỉ cung cấp ánh sáng gián tiếp đến cácđối tượng kiểm tra Các thiết bị như vậy là lýtưởng để chiếu sáng bề mặt kết cấu nhưPCBs với các thành phần hàn hoặc nếp nhăncủa giấy
Hình 3.3: Phương pháp chiếu sáng đồng trục
3.3.4 Chiếu sáng theo cấu trúc
Chiếu sáng theo cấu trúc là chỉ rõ phép chiếu dùng đường rõ nét, lưới hoặcvòng tròn và thường được thực hiện bằng cách sử dụng laser
Trong sơ đồ bên phải, laser được dùng đểchiếu đường mỏng lên một đối tượng có bakích thước khác nhau Khi dùng với bộ lọcdải giữa kết quả ảnh đưa ra cho ta thấy chiềucao của các đối tượng
Hình 3.4: Phương pháp chiếu sáng theo cấu trúc
3.3.5 Chiếu sáng phía sau
Trang 28Chiếu sáng khuếch tán phía sau thực hiệnđược bằng cách sử dụng nguồn sáng phát ratrên một bề mặt rộng lớn như đèn huỳnhquang hoặc bóng đèn hologen được phủ nhựabán trong suốt hoặc ống thủy tinh khuếch tán.Các vật cần kiểm tra được đặt ở giữa nguồnsáng và camera Camera sẽ thấy vật như mộtcái bóng.
Hình 3.5: Phương pháp chiếu sáng phía sau
3.4 Sơ lược về Webcam
Webcam, còn gọi là Webcamera hay PC video cameras, là một loại máy quayphim kỹ thuật số được chế tạo riêng cho các máy tính cá nhân nhằm giúp người sửdụng có thể hội thoại thấy hình (video conferencing), gửi thư bằng hình ảnh (videomail) hoặc gửi liên tục những hình ảnh của mình lên một Website cho mọi người cùngxem (Web casting) Và có cấu tạo chung:ống kính, cảm biến hình ảnh và một số thiết
bị hỗ trở khác
Hình 3.6: Webcam
Để ghi được hình ảnh, Webcam sử dụng một thiết bị cảm nhận hình ảnh,thường là CCD (charge-coupled device) hoặc CMOS (complementary metal-oxidesemiconductor) Thiết bị cảm nhận hình ảnh này là một con chip bằng silicon gồm
Trang 2975.000 đến 300.000 điểm ảnh ánh sáng truyền tới những điểm ảnh này tạo ra nhữngdòng điện Những dòng điện này sau đó được chuyển thành dữ liệu số hoá, được nénlại và truyền tới máy tính thông qua dây dẫn được cắm vào cổng USB của máy tính.Phần mềm điều khiển Webcam trên máy tính sẽ giải nén dữ liệu chuyển dữ liệu này tớinhững phần mềm có nhu cầu sử dụng như Yahoo Messenger, MSN, Media MovieMaker,
Thông thường, Webcam tạo ra hình ảnh với độ phân giải 640 x 480 pixel (trongkhi máy ảnh số hoặc camera số chuyên nghiệp tạo được hình ảnh có độ phân giải lêntới 2.048 x 2.048 pixel), và phát đi hình ảnh tới phần mềm điều khiển với tốc độ 30khuôn hình trong một giây (30fps) Một trong những công dụng phổ biến nhất củaWebcam là hội thoại thấy hình (video conferencing), qua sử dụng các phần mềm gửitin nhanh (Instant Messenger) có hỗ trợ hội thoại bằng âm thanh và hình ảnh động quamạng Internet như Yahoo Messenger hoặc MSN Messenger, Webcam ngoài chứcnăng lưu giữ hình ảnh như một máy quay phim còn cho phép bạn chớp được nhữngkhuôn hình mà bạn muốn và lưu chúng dưới dạng file ngay trên máy tính Bạn cần lưu
ý rằng có hai loại Webcam: loại có thể tách rời và loại không thể tách rời khỏi máytính Loại có thể tách rời khỏi máy tính phải có pin để cung cấp năng lượng và thẻ nhớ
(memory card) để lưu giữ hình ảnh được chụp, hoặc theo dõi an ninh…
3.5 Khái quát về thư viện Open CV
OpenCV (Open Computer Vision library) do Intel phát triển, được giới thiệunăm 1999 và hoàn thiện thành phiên bản 1.0 năm 2006 Thư viện OpenCV - gồmkhoảng 500 hàm – được viết bằng ngôn ngữ lập trình C và tương thích với các hệ điềuhành Windows, Linux, Mac OS đóng vai trò xác lập chuẩn giao tiếp, dữ liệu, thuậttoán cho lĩnh vực CV và tạo điều kiện cho mọi người tham gia nghiên cứu và pháttriển ứng dụng
Trang 30Hình 2.6:Nhận dạng khuôn mặt với Haar classifier trong OpenCV (nguồn: Intel)
Trước OpenCV không có một công cụ chuẩn nào cho lĩnh vực CV Các đoạncode đơn lẻ do các nhà nghiên cứu tự viết thường không thống nhất và không ổn định.Các bộ công cụ thương mại như Matlab, Simulink, Halcon, v.v lại có giá cao chỉthích hợp cho các công ty phát triển các ứng dụng lớn Ngoài ra còn có các giải phápkèm theo thiết bị phần cứng mà phần lớn là mã đóng và được thiết kế riêng cho từngthiết bị, rất khó khăn cho việc mở rộng ứng dụng.Vì vậy OpenCV là công cụ hữu íchcho các bạn bước đầu làm quen với CV vì các ưu điểm sau:
- OpenCV là công cụ chuyên dụng được Intel phát triển theo hướng tối ưu hóa cho
các ứng dụng xử lí và phân tích ảnh, với cấu trúc dữ liệu, thư viện tạo giao diện, truyxuất thiết bị phần cứng được tích hợp sẵn OpenCV thích hợp để phát triển nhanh ứngdụng
- OpenCV là công cụ mã nguồn mở không chỉ là công cụ miễn phí (với BSD license),việc được xây dựng trên mã nguồn mở giúp OpenCV trở thành công cụ thích hợp chonghiên cứu và phát triển, với khả năng thay đổi và mở rộng các mô hình, thuật toán
Trang 313.6 Tính toán các thông số của khối
max = System.Math.Max(imagedata[i], max);
min = System.Math.Min(imagedata[i], min);
}
Ngưỡng
Ngưỡng được lấy nằm trong khoảng từ 0 đến 255 Ngưỡng có thể được chọn tự
do dựa vào histogram của ảnh đầu vào bất kì cũng có thể lấy là những giá trị: là giá trịtrung bình của cường độ sáng, là giá trị trung điểm của cường độ sáng, hay lấy theo kỹthuật tách ngưỡng tự động
Giá trị trung bình
Giá trị trung bình (GTTB) được tính bằng cách lấy tổng giá cường độ sáng của
số pixel (S) của ảnh đã khoanh vùng chia cho kích thước của ảnh đã khoanh vùng đó
GTTB = S / imagedata.Length;
Các thông số của công cụ xử lý lựa chọn
Ảnh nhị phân I có kích thước (x,y) được định nghĩa như sau:
là vị trí của đối tượng
là nền của ảnh
0 1 )
, (x y I
Trang 32Tâm
A
y x I
) , (
A
y x I
) , (
o Chu vi
Để tính được chu vi của vật ta phải lấy được biên của ảnh nhờ sử dụng hàmcannny trong thư viện Open CV, sau đó ta tính tổng số pixel có cường độ sáng khác 0,thì đó chính là chu vi Giả sử ta có ảnh đầu vào image1, ảnh sau khi lấy biên làimage2, dữ liệu của ảnh là imagedata, và chu vi là CV ta có:
cv.CvCanny (image1, image2, 0, 0, 3);
Ta sử dụng hàm cv.CvBoundingRect của Open CV để tìm hình chữ nhật nhỏnhất với chiều rộng là CR, chiều cao là CC
CvRect rectrect= cv.CvBoundingRect(image, 1)
CR = rect.width
CC = rect.height
Độ lệch tâm(LT)